Made SaveToXML more dynamic, can now mare more root-elements.. (Like Settings/Scripts/Extensions/LastConfig)

This commit is contained in:
Raymond 2010-03-25 11:57:55 +01:00
parent a8c0ac8cf8
commit edf0d61fb8
3 changed files with 15 additions and 15 deletions

View File

@ -918,7 +918,7 @@ begin
CreateSetting('Settings/MainForm/NormalSize','739:555');
CreateSetting('Settings/FunctionList/ShowOnStart','True');
CreateSetting('Settings/Updater/RemoteVersion',
CreateSetting('Settings/Updater/RemoteLink',
{$IFDEF WINDOWS}
{$IFDEF CPUI386}
'http://simba.villavu.com/bin/Windows/x86/Stable/Simba.exe'

View File

@ -179,7 +179,7 @@ implementation
uses
colour_conv,dtmutil,
{$ifdef mswindows}windows, MMSystem,{$endif}//MMSystem -> Sounds
uPSC_std, uPSC_controls,uPSC_classes,uPSC_graphics,uPSC_stdctrls,uPSC_forms,
uPSC_std, uPSC_controls,uPSC_classes,uPSC_graphics,uPSC_stdctrls,uPSC_forms, uPSC_menus,
uPSC_extctrls, //Compile-libs
uPSUtils,
fontloader,
@ -187,6 +187,7 @@ uses
IniFiles,//Silly INI files
stringutil, //String st00f
uPSR_std, uPSR_controls,uPSR_classes,uPSR_graphics,uPSR_stdctrls,uPSR_forms,
uPSR_menus,
uPSR_extctrls, //Runtime-libs
Graphics, //For Graphics types
math, //Maths!
@ -652,6 +653,7 @@ begin
SIRegister_stdctrls(x);
SIRegister_Forms(x);
SIRegister_ExtCtrls(x);
SIRegister_Menus(x);
SIRegister_Mufasa(x);
with x.AddFunction('procedure writeln;').decl do
with AddParam do
@ -690,6 +692,7 @@ begin
RIRegister_stdctrls(x);
RIRegister_Forms(x);
RIRegister_ExtCtrls(x);
RIRegister_Menus(x);
RIRegister_Mufasa(x);
se.RegisterFunctionName('WRITELN',@Writeln_,nil,nil);
se.RegisterFunctionName('TOSTR',@ToStr_,nil,nil);

View File

@ -562,29 +562,26 @@ end;
procedure TMMLSettings.SaveToXML(fileName: String);
var
XMLDoc: TXMLDocument;
Simba,Settings,LastConfig: TDOMNode;
SettingsTreeNode,LastConfigTreeNode : TTreeNode;
Simba,DOMNode: TDOMNode;
TreeNode : TTreeNode;
C: Integer;
begin
XMLDoc := TXMLDocument.Create;
C := 0;
SettingsTreeNode := WalkToNode('Settings');
LastConfigTreeNode := WalkToNode('LastConfig');
Simba := XMLDoc.CreateElement('Simba');
Simba := XMLDoc.AppendChild(Simba);
Settings := XMLDoc.CreateElement('Settings');
LastConfig := XMLDoc.CreateElement('LastConfig');
Simba.AppendChild(Settings);
Simba.AppendChild(LastConfig);
TreeNode := Nodes.GetFirstNode;
while TreeNode <> nil do
begin;
DOMNode := XMLDoc.CreateElement(TreeNode.Text);
Simba.AppendChild(DOMNode);
WalkTree(TreeNode, DOMNode, XMLDoc, C);
TreeNode := TreeNode.GetNextSibling;
end;
if SettingsTreeNode <> nil then
WalkTree(SettingsTreeNode, Settings, XMLDoc, C);
if LastConfigTreeNode <> nil then
WalkTree(LastConfigTreeNode, LastConfig, XMLDoc, C);
try
WriteXMLFile(XMLDoc, fileName);
except