doc editor: several improvements from Wanderlan Santos dos Anjos (issue #10256)

git-svn-id: trunk@12994 -
This commit is contained in:
vincents 2007-11-24 08:13:13 +00:00
parent ff1fde0a01
commit 31f743105d
14 changed files with 3373 additions and 2485 deletions

View File

@ -137,7 +137,7 @@ Type
implementation
uses frmexample,frmLink;
uses frmexample,frmLink, StrUtils;
{ TCustomElementEditor }
@ -211,6 +211,7 @@ begin
With L do
begin
L.Parent:=P0;
Top := 15;
L.Align:=alTop;
L.Caption:=SShortDescription;
end;
@ -218,6 +219,7 @@ begin
With FShortEntry do
begin
Parent:=P0;
Top := 35;
Align:=alTop;
height:=24;
OnEnter:=@OnEnterControl;
@ -235,6 +237,7 @@ begin
With FDescrMemo do
begin
Parent:=Self;
Top := 80;
Align:=alTop;
OnEnter:=@OnEnterControl;
OnChange:=@OnTextModified;
@ -244,12 +247,14 @@ begin
With FSplit1 do
begin
Parent:=Self;
Top := 85;
Align:=alTop;
end;
P1:=TPanel.Create(Self);
With P1 do
begin
Parent:=Self;
Top := 90;
Align:=alClient;
BevelOuter:=bvNone;
end;
@ -265,6 +270,7 @@ begin
With FErrorsMemo do
begin
Parent:=P1;
Top := 15;
Align:=alTop;
Height:=50;
OnEnter:=@OnEnterControl;
@ -274,6 +280,7 @@ begin
With FSplit2 do
begin
Parent:=P1;
Top := 70;
Align:=alTop;
end;
// See Also
@ -281,6 +288,7 @@ begin
With P2 do
begin
Parent:=P1;
Top := 75;
Align:=alClient;
BevelOuter:=bvNone;
end;
@ -344,6 +352,7 @@ begin
With FSplit3 do
begin
Parent:=P2;
Top := 55;
Align:=alTop;
end;
// Examples.
@ -436,6 +445,35 @@ end;
Procedure TElementEditor.Refresh;
function RemoveLFAfterTags(S : String) : String;
function RemoveLF(S, Tag : string; LenTag : integer) : string;
var
Remove : Integer;
begin
Remove := pos(Tag, S);
while Remove <> 0 do begin
inc(Remove, LenTag);
while S[Remove] in [#10, #13] do
delete(S, Remove, 1);
Remove := PosEx(Tag, S, Remove);
end;
Result := S;
end;
const
Link = '</link>' + LineEnding;
LenLink = length(Link) - length(LineEnding);
Parag = '<p/>' + LineEnding;
LenParag = length(Parag);
Bold = '</b>' + LineEnding;
LenBold = length(Bold);
begin
Result := RemoveLF(S, Link, LenLink);
Result := RemoveLF(Result, Parag, LenParag);
Result := RemoveLF(Result, Bold, LenBold);
end;
Var
S : TSTringStream;
@ -457,7 +495,7 @@ Var
WriteXml(N,S);
N:=N.NextSibling;
end;
Result:=S.Datastring;
Result:=RemoveLFAfterTags(S.Datastring);
end;
end;
@ -910,3 +948,4 @@ initialization
end.

View File

@ -1,80 +1,78 @@
object LinkForm: TLinkForm
Caption = 'LinkForm'
ClientHeight = 81
ClientWidth = 395
PixelsPerInch = 90
Position = poScreenCenter
HorzScrollBar.Page = 394
Left = 333
Height = 81
Top = 149
Width = 395
HorzScrollBar.Page = 394
ActiveControl = CBTarget
Caption = 'LinkForm'
ClientHeight = 81
ClientWidth = 395
Position = poScreenCenter
object LLinkTarget: TLabel
BorderSpacing.OnChange = nil
Caption = '&Link target'
Color = clNone
FocusControl = CBTarget
Layout = tlCenter
AnchorSideTop.Control = CBTarget
AnchorSideTop.Side = asrCenter
Left = 8
Height = 12
Top = 13
Width = 67
Height = 14
Top = 11
Width = 52
Caption = '&Link target'
FocusControl = CBTarget
Layout = tlCenter
ParentColor = False
end
object LELinkText: TLabel
BorderSpacing.OnChange = nil
Caption = 'LELinkText'
Color = clNone
Layout = tlCenter
AnchorSideTop.Control = ELinkText
AnchorSideTop.Side = asrCenter
Left = 8
Height = 12
Top = 45
Width = 61
Height = 14
Top = 44
Width = 52
Caption = 'LELinkText'
Layout = tlCenter
ParentColor = False
end
object CBTarget: TComboBox
Anchors = [akTop, akLeft, akRight]
BorderSpacing.OnChange = nil
MaxLength = 0
TabOrder = 0
Left = 96
Height = 23
Height = 21
Top = 8
Width = 183
Anchors = [akTop, akLeft, akRight]
AutoComplete = True
AutoCompleteText = [cbactEnabled, cbactEndOfLineComplete, cbactSearchAscending]
ItemHeight = 13
MaxLength = 0
Sorted = True
TabOrder = 0
end
object BOK: TButton
Left = 291
Height = 25
Top = 8
Width = 96
Anchors = [akTop, akRight]
BorderSpacing.OnChange = nil
Caption = '&OK'
Default = True
ModalResult = 1
TabOrder = 1
Left = 291
Height = 25
Top = 8
Width = 96
end
object BCancel: TButton
Left = 291
Height = 25
Top = 40
Width = 96
Anchors = [akTop, akRight]
BorderSpacing.OnChange = nil
Cancel = True
Caption = '&Cancel'
ModalResult = 2
TabOrder = 3
Left = 291
Height = 25
Top = 40
Width = 96
end
object ELinkText: TEdit
Anchors = [akTop, akLeft, akRight]
BorderSpacing.OnChange = nil
TabOrder = 2
Left = 96
Height = 23
Top = 40
Width = 183
Anchors = [akTop, akLeft, akRight]
TabOrder = 2
end
end

View File

@ -1,24 +1,25 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TLinkForm','FORMDATA',[
'TPF0'#9'TLinkForm'#8'LinkForm'#7'Caption'#6#8'LinkForm'#12'ClientHeight'#2'Q'
+#11'ClientWidth'#3#139#1#13'PixelsPerInch'#2'Z'#8'Position'#7#14'poScreenCen'
+'ter'#18'HorzScrollBar.Page'#3#138#1#4'Left'#3'M'#1#6'Height'#2'Q'#3'Top'#3
+#149#0#5'Width'#3#139#1#0#6'TLabel'#11'LLinkTarget'#22'BorderSpacing.OnChang'
+'e'#13#7'Caption'#6#12'&Link target'#5'Color'#7#6'clNone'#12'FocusControl'#7
+#8'CBTarget'#6'Layout'#7#8'tlCenter'#21'AnchorSideTop.Control'#7#8'CBTarget'
+#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2#8#6'Height'#2#12#3'Top'#2#13
+#5'Width'#2'C'#0#0#6'TLabel'#10'LELinkText'#22'BorderSpacing.OnChange'#13#7
+'Caption'#6#10'LELinkText'#5'Color'#7#6'clNone'#6'Layout'#7#8'tlCenter'#21'A'
+'nchorSideTop.Control'#7#9'ELinkText'#18'AnchorSideTop.Side'#7#9'asrCenter'#4
+'Left'#2#8#6'Height'#2#12#3'Top'#2'-'#5'Width'#2'='#0#0#9'TComboBox'#8'CBTar'
+'get'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#22'BorderSpacing.OnChang'
+'e'#13#9'MaxLength'#2#0#8'TabOrder'#2#0#4'Left'#2'`'#6'Height'#2#23#3'Top'#2
+#8#5'Width'#3#183#0#0#0#7'TButton'#3'BOK'#7'Anchors'#11#5'akTop'#7'akRight'#0
+#22'BorderSpacing.OnChange'#13#7'Caption'#6#3'&OK'#7'Default'#9#11'ModalResu'
+'lt'#2#1#8'TabOrder'#2#1#4'Left'#3'#'#1#6'Height'#2#25#3'Top'#2#8#5'Width'#2
+'`'#0#0#7'TButton'#7'BCancel'#7'Anchors'#11#5'akTop'#7'akRight'#0#22'BorderS'
+'pacing.OnChange'#13#6'Cancel'#9#7'Caption'#6#7'&Cancel'#11'ModalResult'#2#2
+#8'TabOrder'#2#3#4'Left'#3'#'#1#6'Height'#2#25#3'Top'#2'('#5'Width'#2'`'#0#0
+#5'TEdit'#9'ELinkText'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#22'Bord'
+'erSpacing.OnChange'#13#8'TabOrder'#2#2#4'Left'#2'`'#6'Height'#2#23#3'Top'#2
+'('#5'Width'#3#183#0#0#0#0
'TPF0'#9'TLinkForm'#8'LinkForm'#4'Left'#3'M'#1#6'Height'#2'Q'#3'Top'#3#149#0#5
+'Width'#3#139#1#18'HorzScrollBar.Page'#3#138#1#13'ActiveControl'#7#8'CBTarge'
+'t'#7'Caption'#6#8'LinkForm'#12'ClientHeight'#2'Q'#11'ClientWidth'#3#139#1#8
+'Position'#7#14'poScreenCenter'#0#6'TLabel'#11'LLinkTarget'#21'AnchorSideTop'
+'.Control'#7#8'CBTarget'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2#8#6
+'Height'#2#14#3'Top'#2#11#5'Width'#2'4'#7'Caption'#6#12'&Link target'#12'Foc'
+'usControl'#7#8'CBTarget'#6'Layout'#7#8'tlCenter'#11'ParentColor'#8#0#0#6'TL'
+'abel'#10'LELinkText'#21'AnchorSideTop.Control'#7#9'ELinkText'#18'AnchorSide'
+'Top.Side'#7#9'asrCenter'#4'Left'#2#8#6'Height'#2#14#3'Top'#2','#5'Width'#2
+'4'#7'Caption'#6#10'LELinkText'#6'Layout'#7#8'tlCenter'#11'ParentColor'#8#0#0
+#9'TComboBox'#8'CBTarget'#4'Left'#2'`'#6'Height'#2#21#3'Top'#2#8#5'Width'#3
+#183#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#12'AutoComplete'#9#16'A'
+'utoCompleteText'#11#12'cbactEnabled'#22'cbactEndOfLineComplete'#20'cbactSea'
+'rchAscending'#0#10'ItemHeight'#2#13#9'MaxLength'#2#0#6'Sorted'#9#8'TabOrder'
+#2#0#0#0#7'TButton'#3'BOK'#4'Left'#3'#'#1#6'Height'#2#25#3'Top'#2#8#5'Width'
+#2'`'#7'Anchors'#11#5'akTop'#7'akRight'#0#7'Caption'#6#3'&OK'#7'Default'#9#11
+'ModalResult'#2#1#8'TabOrder'#2#1#0#0#7'TButton'#7'BCancel'#4'Left'#3'#'#1#6
+'Height'#2#25#3'Top'#2'('#5'Width'#2'`'#7'Anchors'#11#5'akTop'#7'akRight'#0#6
+'Cancel'#9#7'Caption'#6#7'&Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#3#0#0#5
+'TEdit'#9'ELinkText'#4'Left'#2'`'#6'Height'#2#23#3'Top'#2'('#5'Width'#3#183#0
+#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#2#0#0#0
]);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -64,6 +64,7 @@ type
ILMain: TImageList;
LIBuild: TMenuItem;
MenuItem1: TMenuItem;
QuickLink: TMenuItem;
MISeparate: TMenuItem;
MISaveAs: TMenuItem;
MISave: TMenuItem;
@ -136,6 +137,7 @@ type
procedure MainFormCloseQuery(Sender: TObject; var CanClose: boolean);
procedure MainFormCreate(Sender: TObject);
procedure MainFormDestroy(Sender: TObject);
procedure QuickLinkClick(Sender: TObject);
private
FRecent : TStringList;
FRecentBuildSettingsFile: String;
@ -225,6 +227,10 @@ begin
LoadCommandLine;
LoadOptions;
LoadRecent;
if StartMaximized then
WindowState := wsMaximized;
if ReopenLast and (FRecent.Count>0) then
OpenFile(FRecent[0]);
ApplyOptions;
end;
@ -427,6 +433,18 @@ begin
FreeAndNil(FRecent);
end;
procedure TMainForm.QuickLinkClick(Sender: TObject);
var
Selection : string;
begin
if Assigned(CurrentEditor) then begin
Selection := CurrentEditor.CurrentSelection;
if Selection <> '' then
CurrentEditor.InsertLink(CurrentEditor.CurrentElement['name'] + '.' + Selection, Selection)
else
ShowMessage('Select some text');
end;
end;
procedure TMainForm.BuildReopenList;
@ -799,7 +817,7 @@ begin
CBTarget.Items.EndUpdate;
end;
If ShowModal=mrOK Then
CurrentEditor.InsertLink(CBTarget.Text,ELinkText.Text);
CurrentEditor.InsertLink(CBTarget.Text, ELinkText.Text);
Finally
free;
end;
@ -893,3 +911,4 @@ initialization
end.

View File

@ -1,209 +1,212 @@
object OptionsForm: TOptionsForm
Left = 350
Height = 337
Top = 262
Width = 398
HorzScrollBar.Page = 397
VertScrollBar.Page = 336
ActiveControl = CBConfirmDelete
BorderStyle = bsDialog
Caption = 'Options'
ClientHeight = 337
ClientWidth = 398
OnShow = OptionsFormShow
PixelsPerInch = 75
HorzScrollBar.Page = 397
VertScrollBar.Page = 336
Left = 253
Height = 337
Top = 60
Width = 398
object PageControl1: TPageControl
ActivePage = tabGeneral
Align = alClient
BorderSpacing.OnChange = nil
TabIndex = 0
TabOrder = 0
Height = 287
Width = 398
ActivePage = tabGeneral
Align = alClient
TabIndex = 0
TabOrder = 0
object tabGeneral: TTabSheet
Caption = 'General'
ClientHeight = 257
ClientWidth = 394
Left = 2
Height = 257
Top = 28
Width = 394
ClientHeight = 261
ClientWidth = 390
object LEBackupExtension: TLabel
Left = 6
Height = 14
Top = 130
Width = 85
Alignment = taRightJustify
Caption = 'Backup extension'
FocusControl = EBackupExtension
Layout = tlCenter
ParentColor = True
Left = 6
Height = 19
Top = 130
Width = 105
ParentColor = False
end
object LEMaxMRU: TLabel
Left = 6
Height = 14
Top = 153
Width = 85
Alignment = taRightJustify
Caption = 'Max. recent used'
Layout = tlCenter
ParentColor = True
Left = 6
Height = 23
Top = 153
Width = 105
ParentColor = False
end
object LEDefaultExtension: TLabel
Left = 6
Height = 14
Top = 104
Width = 86
Alignment = taRightJustify
Caption = 'Default extension'
Layout = tlCenter
ParentColor = True
Left = 6
Height = 17
Top = 104
Width = 104
ParentColor = False
end
object LFEMakeskel: TLabel
Left = 6
Height = 14
Top = 186
Width = 87
Alignment = taRightJustify
Caption = 'makeskel program'
Color = clNone
FocusControl = FEMakeSkel
Layout = tlCenter
Left = 8
Height = 23
Top = 186
Width = 103
ParentColor = False
end
object LFEfpdoc: TLabel
Left = 6
Height = 14
Top = 220
Width = 71
Alignment = taRightJustify
Caption = 'fpdoc program'
Color = clNone
Layout = tlCenter
Left = 9
Height = 23
Top = 220
Width = 102
ParentColor = False
end
object CBConfirmDelete: TCheckBox
Left = 6
Height = 19
Top = 6
Width = 98
AllowGrayed = True
Caption = 'C&onfirm deletes'
TabOrder = 0
Left = 14
Height = 23
Top = 6
Width = 136
end
object CBCreateBackup: TCheckBox
Left = 6
Height = 19
Top = 34
Width = 101
AllowGrayed = True
Caption = 'Create &backups'
TabOrder = 1
Left = 14
Height = 23
Top = 34
Width = 134
end
object CBSkipEmptyNodes: TCheckBox
Left = 6
Height = 19
Top = 66
Width = 173
AllowGrayed = True
Caption = '&Skip empty nodes when saving'
TabOrder = 2
Left = 14
Height = 23
Top = 66
Width = 227
end
object EBackupExtension: TEdit
TabOrder = 3
Left = 120
Height = 23
Top = 130
Width = 80
TabOrder = 3
end
object SEMaxRecentUsed: TSpinEdit
MaxValue = 100
TabOrder = 4
Left = 120
Height = 20
Top = 154
Width = 81
TabOrder = 4
end
object EDefaultExtension: TEdit
TabOrder = 7
Left = 120
Height = 23
Top = 104
Width = 80
TabOrder = 7
end
object FEMakeSkel: TFileNameEdit
Left = 120
Height = 23
Top = 186
Width = 244
DialogTitle = 'Select skeleton generator'
ButtonWidth = 23
NumGlyphs = 1
Anchors = [akTop, akLeft, akRight]
ParentColor = False
TabOrder = 5
Anchors = [akTop, akLeft, akRight]
TabOrder = 5
Left = 120
Height = 23
Top = 186
Width = 248
end
object FEfpdoc: TFileNameEdit
Left = 120
Height = 23
Top = 212
Width = 244
DialogTitle = 'Select documentation generator'
ButtonWidth = 23
NumGlyphs = 1
Anchors = [akTop, akLeft, akRight]
ParentColor = False
TabOrder = 6
Anchors = [akTop, akLeft, akRight]
TabOrder = 6
Left = 120
Height = 23
Top = 212
Width = 248
end
object CBStartMaximized: TCheckBox
Left = 200
Height = 19
Top = 6
Width = 99
Caption = 'Start maximized'
TabOrder = 8
end
object CBReopenLast: TCheckBox
Left = 200
Height = 19
Top = 34
Width = 149
Caption = 'Reopen last file on startup'
TabOrder = 9
end
end
object tabDesktop: TTabSheet
Caption = 'Desktop'
ClientHeight = 257
ClientWidth = 394
Left = 2
Height = 257
Top = 28
Width = 394
ClientHeight = 261
ClientWidth = 390
object CBShowHints: TCheckBox
BorderSpacing.OnChange = nil
Left = 14
Height = 19
Top = 12
Width = 80
Caption = 'Show Hints'
TabOrder = 0
Left = 14
Height = 23
Top = 12
Width = 144
end
end
end
object Panel1: TPanel
Height = 50
Top = 287
Width = 398
Align = alBottom
ClientHeight = 50
ClientWidth = 398
FullRepaint = False
TabOrder = 1
Height = 50
Top = 287
Width = 398
object BOK: TButton
Left = 198
Height = 25
Top = 12
Width = 88
Caption = '&OK'
Default = True
ModalResult = 1
OnClick = BOKClick
TabOrder = 0
Left = 198
Height = 25
Top = 12
Width = 88
end
object BCancel: TButton
Cancel = True
Caption = '&Cancel'
ModalResult = 2
TabOrder = 1
Cursor = crAppStart
Left = 294
Height = 25
Top = 12
Width = 88
Cancel = True
Caption = '&Cancel'
ModalResult = 2
TabOrder = 1
end
end
end

View File

@ -1,56 +1,58 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TOptionsForm','FORMDATA',[
'TPF0'#12'TOptionsForm'#11'OptionsForm'#11'BorderStyle'#7#8'bsDialog'#7'Capti'
+'on'#6#7'Options'#12'ClientHeight'#3'Q'#1#11'ClientWidth'#3#142#1#6'OnShow'#7
+#15'OptionsFormShow'#13'PixelsPerInch'#2'K'#18'HorzScrollBar.Page'#3#141#1#18
+'VertScrollBar.Page'#3'P'#1#4'Left'#3#253#0#6'Height'#3'Q'#1#3'Top'#2'<'#5'W'
+'idth'#3#142#1#0#12'TPageControl'#12'PageControl1'#10'ActivePage'#7#10'tabGe'
+'neral'#5'Align'#7#8'alClient'#22'BorderSpacing.OnChange'#13#8'TabIndex'#2#0
+#8'TabOrder'#2#0#6'Height'#3#31#1#5'Width'#3#142#1#0#9'TTabSheet'#10'tabGene'
+'ral'#7'Caption'#6#7'General'#12'ClientHeight'#3#1#1#11'ClientWidth'#3#138#1
+#4'Left'#2#2#6'Height'#3#1#1#3'Top'#2#28#5'Width'#3#138#1#0#6'TLabel'#17'LEB'
+'ackupExtension'#9'Alignment'#7#14'taRightJustify'#7'Caption'#6#16'Backup ex'
+'tension'#12'FocusControl'#7#16'EBackupExtension'#6'Layout'#7#8'tlCenter'#11
+'ParentColor'#9#4'Left'#2#6#6'Height'#2#19#3'Top'#3#130#0#5'Width'#2'i'#0#0#6
+'TLabel'#8'LEMaxMRU'#9'Alignment'#7#14'taRightJustify'#7'Caption'#6#16'Max. '
+'recent used'#6'Layout'#7#8'tlCenter'#11'ParentColor'#9#4'Left'#2#6#6'Height'
+#2#23#3'Top'#3#153#0#5'Width'#2'i'#0#0#6'TLabel'#18'LEDefaultExtension'#9'Al'
+'ignment'#7#14'taRightJustify'#7'Caption'#6#17'Default extension'#6'Layout'#7
+#8'tlCenter'#11'ParentColor'#9#4'Left'#2#6#6'Height'#2#17#3'Top'#2'h'#5'Widt'
+'h'#2'h'#0#0#6'TLabel'#11'LFEMakeskel'#9'Alignment'#7#14'taRightJustify'#7'C'
+'aption'#6#16'makeskel program'#5'Color'#7#6'clNone'#12'FocusControl'#7#10'F'
+'EMakeSkel'#6'Layout'#7#8'tlCenter'#4'Left'#2#8#6'Height'#2#23#3'Top'#3#186#0
+#5'Width'#2'g'#0#0#6'TLabel'#8'LFEfpdoc'#9'Alignment'#7#14'taRightJustify'#7
+'Caption'#6#13'fpdoc program'#5'Color'#7#6'clNone'#6'Layout'#7#8'tlCenter'#4
+'Left'#2#9#6'Height'#2#23#3'Top'#3#220#0#5'Width'#2'f'#0#0#9'TCheckBox'#15'C'
+'BConfirmDelete'#11'AllowGrayed'#9#7'Caption'#6#16'C&onfirm deletes'#8'TabOr'
+'der'#2#0#4'Left'#2#14#6'Height'#2#23#3'Top'#2#6#5'Width'#3#136#0#0#0#9'TChe'
+'ckBox'#14'CBCreateBackup'#11'AllowGrayed'#9#7'Caption'#6#15'Create &backups'
+#8'TabOrder'#2#1#4'Left'#2#14#6'Height'#2#23#3'Top'#2'"'#5'Width'#3#134#0#0#0
+#9'TCheckBox'#16'CBSkipEmptyNodes'#11'AllowGrayed'#9#7'Caption'#6#29'&Skip e'
+'mpty nodes when saving'#8'TabOrder'#2#2#4'Left'#2#14#6'Height'#2#23#3'Top'#2
+'B'#5'Width'#3#227#0#0#0#5'TEdit'#16'EBackupExtension'#8'TabOrder'#2#3#4'Lef'
+'t'#2'x'#6'Height'#2#23#3'Top'#3#130#0#5'Width'#2'P'#0#0#9'TSpinEdit'#15'SEM'
+'axRecentUsed'#8'MaxValue'#2'd'#8'TabOrder'#2#4#4'Left'#2'x'#6'Height'#2#20#3
+'Top'#3#154#0#5'Width'#2'Q'#0#0#5'TEdit'#17'EDefaultExtension'#8'TabOrder'#2
+#7#4'Left'#2'x'#6'Height'#2#23#3'Top'#2'h'#5'Width'#2'P'#0#0#13'TFileNameEdi'
+'t'#10'FEMakeSkel'#11'DialogTitle'#6#25'Select skeleton generator'#11'Button'
+'Width'#2#23#9'NumGlyphs'#2#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8
+'TabOrder'#2#5#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#5
+#4'Left'#2'x'#6'Height'#2#23#3'Top'#3#186#0#5'Width'#3#248#0#0#0#13'TFileNam'
+'eEdit'#7'FEfpdoc'#11'DialogTitle'#6#30'Select documentation generator'#11'B'
+'uttonWidth'#2#23#9'NumGlyphs'#2#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRigh'
+'t'#0#8'TabOrder'#2#6#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrd'
+'er'#2#6#4'Left'#2'x'#6'Height'#2#23#3'Top'#3#212#0#5'Width'#3#248#0#0#0#0#9
+'TTabSheet'#10'tabDesktop'#7'Caption'#6#7'Desktop'#12'ClientHeight'#3#1#1#11
+'ClientWidth'#3#138#1#4'Left'#2#2#6'Height'#3#1#1#3'Top'#2#28#5'Width'#3#138
+#1#0#9'TCheckBox'#11'CBShowHints'#22'BorderSpacing.OnChange'#13#7'Caption'#6
+#10'Show Hints'#8'TabOrder'#2#0#4'Left'#2#14#6'Height'#2#23#3'Top'#2#12#5'Wi'
+'dth'#3#144#0#0#0#0#0#6'TPanel'#6'Panel1'#5'Align'#7#8'alBottom'#12'ClientHe'
+'ight'#2'2'#11'ClientWidth'#3#142#1#11'FullRepaint'#8#8'TabOrder'#2#1#6'Heig'
+'ht'#2'2'#3'Top'#3#31#1#5'Width'#3#142#1#0#7'TButton'#3'BOK'#7'Caption'#6#3
+'&OK'#7'Default'#9#11'ModalResult'#2#1#7'OnClick'#7#8'BOKClick'#8'TabOrder'#2
+#0#4'Left'#3#198#0#6'Height'#2#25#3'Top'#2#12#5'Width'#2'X'#0#0#7'TButton'#7
+'BCancel'#6'Cancel'#9#7'Caption'#6#7'&Cancel'#11'ModalResult'#2#2#8'TabOrder'
+#2#1#6'Cursor'#7#10'crAppStart'#4'Left'#3'&'#1#6'Height'#2#25#3'Top'#2#12#5
+'Width'#2'X'#0#0#0#0
'TPF0'#12'TOptionsForm'#11'OptionsForm'#4'Left'#3'^'#1#6'Height'#3'Q'#1#3'Top'
+#3#6#1#5'Width'#3#142#1#18'HorzScrollBar.Page'#3#141#1#18'VertScrollBar.Page'
+#3'P'#1#13'ActiveControl'#7#15'CBConfirmDelete'#11'BorderStyle'#7#8'bsDialog'
+#7'Caption'#6#7'Options'#12'ClientHeight'#3'Q'#1#11'ClientWidth'#3#142#1#6'O'
+'nShow'#7#15'OptionsFormShow'#0#12'TPageControl'#12'PageControl1'#6'Height'#3
+#31#1#5'Width'#3#142#1#10'ActivePage'#7#10'tabGeneral'#5'Align'#7#8'alClient'
+#8'TabIndex'#2#0#8'TabOrder'#2#0#0#9'TTabSheet'#10'tabGeneral'#7'Caption'#6#7
+'General'#12'ClientHeight'#3#5#1#11'ClientWidth'#3#134#1#0#6'TLabel'#17'LEBa'
+'ckupExtension'#4'Left'#2#6#6'Height'#2#14#3'Top'#3#130#0#5'Width'#2'U'#9'Al'
+'ignment'#7#14'taRightJustify'#7'Caption'#6#16'Backup extension'#12'FocusCon'
+'trol'#7#16'EBackupExtension'#6'Layout'#7#8'tlCenter'#11'ParentColor'#8#0#0#6
+'TLabel'#8'LEMaxMRU'#4'Left'#2#6#6'Height'#2#14#3'Top'#3#153#0#5'Width'#2'U'
+#9'Alignment'#7#14'taRightJustify'#7'Caption'#6#16'Max. recent used'#6'Layou'
+'t'#7#8'tlCenter'#11'ParentColor'#8#0#0#6'TLabel'#18'LEDefaultExtension'#4'L'
+'eft'#2#6#6'Height'#2#14#3'Top'#2'h'#5'Width'#2'V'#9'Alignment'#7#14'taRight'
+'Justify'#7'Caption'#6#17'Default extension'#6'Layout'#7#8'tlCenter'#11'Pare'
+'ntColor'#8#0#0#6'TLabel'#11'LFEMakeskel'#4'Left'#2#6#6'Height'#2#14#3'Top'#3
+#186#0#5'Width'#2'W'#9'Alignment'#7#14'taRightJustify'#7'Caption'#6#16'makes'
+'kel program'#12'FocusControl'#7#10'FEMakeSkel'#6'Layout'#7#8'tlCenter'#11'P'
+'arentColor'#8#0#0#6'TLabel'#8'LFEfpdoc'#4'Left'#2#6#6'Height'#2#14#3'Top'#3
+#220#0#5'Width'#2'G'#9'Alignment'#7#14'taRightJustify'#7'Caption'#6#13'fpdoc'
+' program'#6'Layout'#7#8'tlCenter'#11'ParentColor'#8#0#0#9'TCheckBox'#15'CBC'
+'onfirmDelete'#4'Left'#2#6#6'Height'#2#19#3'Top'#2#6#5'Width'#2'b'#11'AllowG'
+'rayed'#9#7'Caption'#6#16'C&onfirm deletes'#8'TabOrder'#2#0#0#0#9'TCheckBox'
+#14'CBCreateBackup'#4'Left'#2#6#6'Height'#2#19#3'Top'#2'"'#5'Width'#2'e'#11
+'AllowGrayed'#9#7'Caption'#6#15'Create &backups'#8'TabOrder'#2#1#0#0#9'TChec'
+'kBox'#16'CBSkipEmptyNodes'#4'Left'#2#6#6'Height'#2#19#3'Top'#2'B'#5'Width'#3
+#173#0#11'AllowGrayed'#9#7'Caption'#6#29'&Skip empty nodes when saving'#8'Ta'
+'bOrder'#2#2#0#0#5'TEdit'#16'EBackupExtension'#4'Left'#2'x'#6'Height'#2#23#3
+'Top'#3#130#0#5'Width'#2'P'#8'TabOrder'#2#3#0#0#9'TSpinEdit'#15'SEMaxRecentU'
+'sed'#4'Left'#2'x'#6'Height'#2#20#3'Top'#3#154#0#5'Width'#2'Q'#8'TabOrder'#2
+#4#0#0#5'TEdit'#17'EDefaultExtension'#4'Left'#2'x'#6'Height'#2#23#3'Top'#2'h'
+#5'Width'#2'P'#8'TabOrder'#2#7#0#0#13'TFileNameEdit'#10'FEMakeSkel'#4'Left'#2
+'x'#6'Height'#2#23#3'Top'#3#186#0#5'Width'#3#244#0#11'DialogTitle'#6#25'Sele'
+'ct skeleton generator'#11'ButtonWidth'#2#23#9'NumGlyphs'#2#1#7'Anchors'#11#5
+'akTop'#6'akLeft'#7'akRight'#0#11'ParentColor'#8#8'TabOrder'#2#5#0#0#13'TFil'
+'eNameEdit'#7'FEfpdoc'#4'Left'#2'x'#6'Height'#2#23#3'Top'#3#212#0#5'Width'#3
+#244#0#11'DialogTitle'#6#30'Select documentation generator'#11'ButtonWidth'#2
+#23#9'NumGlyphs'#2#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#11'Parent'
+'Color'#8#8'TabOrder'#2#6#0#0#9'TCheckBox'#16'CBStartMaximized'#4'Left'#3#200
+#0#6'Height'#2#19#3'Top'#2#6#5'Width'#2'c'#7'Caption'#6#15'Start maximized'#8
+'TabOrder'#2#8#0#0#9'TCheckBox'#12'CBReopenLast'#4'Left'#3#200#0#6'Height'#2
+#19#3'Top'#2'"'#5'Width'#3#149#0#7'Caption'#6#27'Reopen last file on startup'
+#8'TabOrder'#2#9#0#0#0#9'TTabSheet'#10'tabDesktop'#7'Caption'#6#7'Desktop'#12
+'ClientHeight'#3#5#1#11'ClientWidth'#3#134#1#0#9'TCheckBox'#11'CBShowHints'#4
+'Left'#2#14#6'Height'#2#19#3'Top'#2#12#5'Width'#2'P'#7'Caption'#6#10'Show Hi'
+'nts'#8'TabOrder'#2#0#0#0#0#0#6'TPanel'#6'Panel1'#6'Height'#2'2'#3'Top'#3#31
+#1#5'Width'#3#142#1#5'Align'#7#8'alBottom'#12'ClientHeight'#2'2'#11'ClientWi'
+'dth'#3#142#1#11'FullRepaint'#8#8'TabOrder'#2#1#0#7'TButton'#3'BOK'#4'Left'#3
+#198#0#6'Height'#2#25#3'Top'#2#12#5'Width'#2'X'#7'Caption'#6#3'&OK'#7'Defaul'
+'t'#9#11'ModalResult'#2#1#7'OnClick'#7#8'BOKClick'#8'TabOrder'#2#0#0#0#7'TBu'
+'tton'#7'BCancel'#6'Cursor'#7#10'crAppStart'#4'Left'#3'&'#1#6'Height'#2#25#3
+'Top'#2#12#5'Width'#2'X'#6'Cancel'#9#7'Caption'#6#7'&Cancel'#11'ModalResult'
+#2#2#8'TabOrder'#2#1#0#0#0#0
]);

View File

@ -41,6 +41,8 @@ type
CBCreateBackup: TCheckBox;
CBSkipEmptyNodes: TCheckBox;
CBShowHints: TCheckBox;
CBStartMaximized: TCheckBox;
CBReopenLast: TCheckBox;
EBackupExtension: TEdit;
EDefaultExtension: TEdit;
FEMakeSkel: TFileNameEdit;
@ -97,6 +99,8 @@ begin
FEMakeskel.Text:=cmdMakeSkel;
FEFPDoc.Text:=cmdfpdoc;
CBShowHints.Checked:=ShowHelpHints;
CBStartMaximized.Checked := StartMaximized;
CBReopenLast.Checked := ReopenLast;
end;
procedure TOptionsForm.FormToOptions;
@ -110,6 +114,8 @@ begin
cmdMakeSkel:=FEMakeskel.Text;
cmdfpdoc:=FEFPDoc.Text;
ShowHelpHints:=CBShowHints.Checked;
StartMaximized := CBStartMaximized.Checked;
ReopenLast := CBReopenLast.Checked;
SaveOptions;
end;
@ -118,3 +124,4 @@ initialization
end.

View File

@ -1,21 +1,21 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<PathDelim Value="/"/>
<PathDelim Value="\"/>
<Version Value="6"/>
<General>
<SessionStorage Value="InIDEConfig"/>
<MainUnit Value="0"/>
<IconPath Value="./"/>
<IconPath Value=".\"/>
<TargetFileExt Value=""/>
<ActiveEditorIndexAtStart Value="1"/>
<UseXPManifest Value="True"/>
</General>
<VersionInfo>
<ProjectVersion Value=""/>
<Language Value=""/>
<CharSet Value=""/>
</VersionInfo>
<PublishOptions>
<Version Value="2"/>
<DestinationDirectory Value="$(TestDir)\publishedproject\"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
@ -23,7 +23,7 @@
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<RequiredPackages Count="1">
@ -31,38 +31,28 @@
<PackageName Value="LCL"/>
</Item1>
</RequiredPackages>
<Units Count="19">
<Units Count="18">
<Unit0>
<Filename Value="lazde.lpr"/>
<IsPartOfProject Value="True"/>
<CursorPos X="65" Y="9"/>
<TopLine Value="1"/>
<EditorIndex Value="0"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="eleditor.pp"/>
<IsPartOfProject Value="True"/>
<UnitName Value="eleditor"/>
<UsageCount Value="20"/>
<SyntaxHighlighter Value="Text"/>
<UnitName Value="ElEditor"/>
</Unit1>
<Unit2>
<Filename Value="fmmakeskel.pp"/>
<ComponentName Value="MakeSkelForm"/>
<HasResources Value="True"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="fmmakeskel.lrs"/>
<UnitName Value="fmmakeskel"/>
<UsageCount Value="20"/>
<SyntaxHighlighter Value="Text"/>
<UnitName Value="fmMakeskel"/>
</Unit2>
<Unit3>
<Filename Value="fpdeutil.pp"/>
<IsPartOfProject Value="True"/>
<UnitName Value="fpdeutil"/>
<UsageCount Value="20"/>
<SyntaxHighlighter Value="Text"/>
<UnitName Value="FPDEUtil"/>
</Unit3>
<Unit4>
<Filename Value="frmabout.pp"/>
@ -70,144 +60,108 @@
<IsPartOfProject Value="True"/>
<ResourceFilename Value="frmabout.lrs"/>
<UnitName Value="frmabout"/>
<UsageCount Value="20"/>
<SyntaxHighlighter Value="Text"/>
</Unit4>
<Unit5>
<Filename Value="frmbuild.pp"/>
<ComponentName Value="BuildForm"/>
<HasResources Value="True"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="frmbuild.lrs"/>
<UnitName Value="frmbuild"/>
<UsageCount Value="20"/>
<SyntaxHighlighter Value="Text"/>
<UnitName Value="frmBuild"/>
</Unit5>
<Unit6>
<Filename Value="frmexample.pp"/>
<ComponentName Value="ExampleForm"/>
<HasResources Value="True"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="frmexample.lrs"/>
<UnitName Value="frmexample"/>
<UsageCount Value="20"/>
<SyntaxHighlighter Value="Text"/>
<UnitName Value="FrmExample"/>
</Unit6>
<Unit7>
<Filename Value="frmlink.pp"/>
<ComponentName Value="LinkForm"/>
<HasResources Value="True"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="frmlink.lrs"/>
<UnitName Value="frmlink"/>
<UsageCount Value="20"/>
<SyntaxHighlighter Value="Text"/>
<UnitName Value="FrmLink"/>
</Unit7>
<Unit8>
<Filename Value="frmmain.pp"/>
<ComponentName Value="MainForm"/>
<HasResources Value="True"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="frmmain.lrs"/>
<UnitName Value="frmmain"/>
<UsageCount Value="20"/>
<SyntaxHighlighter Value="Text"/>
<UnitName Value="FrmMain"/>
</Unit8>
<Unit9>
<Filename Value="frmmakeskel.pp"/>
<ComponentName Value="MakeSkelForm"/>
<HasResources Value="True"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="frmmakeskel.lrs"/>
<UnitName Value="frmmakeskel"/>
<UsageCount Value="20"/>
<SyntaxHighlighter Value="Text"/>
<UnitName Value="FrmMakeSkel"/>
</Unit9>
<Unit10>
<Filename Value="frmnewnode.pp"/>
<ComponentName Value="NewNodeForm"/>
<HasResources Value="True"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="frmnewnode.lrs"/>
<UnitName Value="frmnewnode"/>
<UsageCount Value="20"/>
<SyntaxHighlighter Value="Text"/>
<UnitName Value="frmNewNode"/>
</Unit10>
<Unit11>
<Filename Value="frmoptions.pp"/>
<ComponentName Value="OptionsForm"/>
<HasResources Value="True"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="frmoptions.lrs"/>
<UnitName Value="frmoptions"/>
<UsageCount Value="20"/>
<SyntaxHighlighter Value="Text"/>
<UnitName Value="frmOptions"/>
</Unit11>
<Unit12>
<Filename Value="frmsource.pas"/>
<ComponentName Value="SourceForm"/>
<HasResources Value="True"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="frmsource.lrs"/>
<UnitName Value="frmsource"/>
<UsageCount Value="20"/>
<SyntaxHighlighter Value="Text"/>
<UnitName Value="frmSource"/>
</Unit12>
<Unit13>
<Filename Value="frmtable.pp"/>
<ComponentName Value="TableForm"/>
<HasResources Value="True"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="frmtable.lrs"/>
<UnitName Value="frmtable"/>
<UsageCount Value="20"/>
<SyntaxHighlighter Value="Text"/>
<UnitName Value="frmTable"/>
</Unit13>
<Unit14>
<Filename Value="lazdemsg.pp"/>
<IsPartOfProject Value="True"/>
<UnitName Value="lazdemsg"/>
<UsageCount Value="20"/>
<SyntaxHighlighter Value="Text"/>
</Unit14>
<Unit15>
<Filename Value="lazdeopts.pp"/>
<IsPartOfProject Value="True"/>
<UnitName Value="lazdeopts"/>
<UsageCount Value="20"/>
<SyntaxHighlighter Value="Text"/>
<UnitName Value="LazDEOpts"/>
</Unit15>
<Unit16>
<Filename Value="pgeditor.pp"/>
<IsPartOfProject Value="True"/>
<UnitName Value="pgeditor"/>
<UsageCount Value="20"/>
<SyntaxHighlighter Value="Text"/>
<UnitName Value="pgEditor"/>
</Unit16>
<Unit17>
<Filename Value="pkedit.pp"/>
<UnitName Value="PkEdit"/>
<CursorPos X="36" Y="30"/>
<TopLine Value="17"/>
<EditorIndex Value="1"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit17>
<Unit18>
<Filename Value="pkeditor.pp"/>
<IsPartOfProject Value="True"/>
<UnitName Value="pkeditor"/>
<UsageCount Value="20"/>
<SyntaxHighlighter Value="Text"/>
</Unit18>
<UnitName Value="PkEditor"/>
</Unit17>
</Units>
<JumpHistory Count="1" HistoryIndex="0">
<Position1>
<Filename Value="pkedit.pp"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position1>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="5"/>
<PathDelim Value="\"/>
<SearchPaths>
<OtherUnitFiles Value="$(LazarusDir)/lcl/units/$(TargetCPU)-$(TargetOS)/;$(LazarusDir)/lcl/units/$(TargetCPU)-$(TargetOS)/$(LCLWidgetType)/;$(LazarusDir)/components/codetools/units/$(TargetCPU)-$(TargetOS)/;$(LazarusDir)/components/custom/;$(LazarusDir)/packager/units/$(TargetCPU)-$(TargetOS)/"/>
<SrcPath Value="$(LazarusDir)/lcl/;$(LazarusDir)/lcl/interfaces/$(LCLWidgetType)/;$(LazarusDir)/components/synedit/;$(LazarusDir)/components/codetools/"/>
<OtherUnitFiles Value="$(LazarusDir)\lcl\units\$(TargetCPU)-$(TargetOS)\;$(LazarusDir)\lcl\units\$(TargetCPU)-$(TargetOS)\$(LCLWidgetType)\;$(LazarusDir)\components\codetools\units\$(TargetCPU)-$(TargetOS)\;$(LazarusDir)\components\custom\;$(LazarusDir)\packager\units\$(TargetCPU)-$(TargetOS)\"/>
<SrcPath Value="$(LazarusDir)\lcl\;$(LazarusDir)\lcl\interfaces\$(LCLWidgetType)\;$(LazarusDir)\components\synedit\;$(LazarusDir)\components\codetools\"/>
</SearchPaths>
<CodeGeneration>
<Generate Value="Faster"/>
</CodeGeneration>
<Linking>
<Options>
<Win32>
@ -216,17 +170,10 @@
</Options>
</Linking>
<Other>
<ConfigFile>
<StopAfterErrCount Value="10"/>
</ConfigFile>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="2">
<Item1>
<Name Value="ECodetoolError"/>
</Item1>
<Item2>
<Name Value="EFOpenError"/>
</Item2>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -8,10 +8,12 @@ uses
frmLink, frmTable, frmabout, pkeditor, eleditor, fpdeutil, frmexample,
frmbuild, fmmakeskel, frmsource, lazdemsg, lazdeopts, pgeditor;
{$R manifest.res}
begin
Application.Title:='Lazarus Documentation Editor';
Application.Initialize;
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end.

View File

@ -33,6 +33,8 @@ Var
ConfirmDelete : Boolean;
CreateBackup : Boolean;
ShowHelpHints : Boolean;
StartMaximized : Boolean;
ReopenLast : Boolean;
MaxRecentUsed : Integer;
BackupExtension : String;
DefaultExtension : String;
@ -105,6 +107,8 @@ begin
ConfirmDelete:=ReadBool(SecPrefs,KeyConfirmDelete,ConfirmDelete);
CreateBackup:=ReadBool(SecPrefs,KeyCreateBackup,CreateBackup);
ShowHelpHints:=ReadBool(SecPrefs,KeyShowHints,ShowHelpHints);
StartMaximized := ReadBool(SecPrefs, 'StartMaximized', StartMaximized);
ReopenLast := ReadBool(SecPrefs, 'ReopenLast', ReopenLast);
BackupExtension:=ReadString(SecPrefs,KeyBackupExtension,BackupExtension);
DefaultExtension:=ReadString(SecPrefs,KeyDefaultExtension,DefaultExtension);
CmdMakeSkel:=ReadString(SecPrefs,KeyCmdMakeSkel,cmdMakeSkel);
@ -123,6 +127,8 @@ begin
WriteBool(SecPrefs,KeyConfirmDelete,ConfirmDelete);
WriteBool(SecPrefs,KeyCreateBackup,CreateBackup);
WriteBool(SecPrefs,KeyShowHints,ShowHelpHints);
WriteBool(SecPrefs, 'StartMaximized', StartMaximized);
WriteBool(SecPrefs, 'ReopenLast', ReopenLast);
WriteString(SecPrefs,KeyBackupExtension,BackupExtension);
WriteString(SecPrefs,KeyDefaultExtension,DefaultExtension);
WriteString(SecPrefs,KeyCmdMakeSkel,cmdMakeSkel);
@ -137,6 +143,8 @@ Initialization
SkipEmptyNodes := True;
ConfirmDelete := True;
CreateBackup := True;
StartMaximized := true;
ReopenLast := true;
BackupExtension := '.~xml';
DefaultExtension := '.xml';
MaxRecentUSed := 10;

View File

@ -209,21 +209,12 @@ begin
end;
Procedure TEditorPage.SaveToFile(FN : String);
begin
If (not FileExists(FN)) or MakeBackup(FN) then
begin
if (FN<>FFileName) then
SetFileName(FN);
If FElement.Modified then
FElement.Save;
WriteXMLFile(FDocument,FN);
Modified:=False;
end;
MakeBackup(FN);
if FN <> FFileName then SetFileName(FN);
If FElement.Modified then FElement.Save;
WriteXMLFile(FDocument, FN);
Modified :=False;
end;
Procedure TEditorPage.DisplayDocument;

View File

@ -287,6 +287,7 @@ begin
With FModuleTree do
begin
Parent:=Self;
Top := 25;
Align:=AlTop;
Height:=150;
Images:=FImageList;
@ -297,12 +298,14 @@ begin
With FSplitter do
begin
Parent:=Self;
Top := 180;
align:=alTop;
end;
FPElements:=TPanel.Create(Self);
With FPElements do
begin
Parent:=Self;
Top := 185;
align:=AlClient;
end;
FLElements:=Tlabel.Create(Self);
@ -317,6 +320,7 @@ begin
With FElementTree do
begin
Parent:=FpElements;
Top := 25;
Align:=AlClient;
Images:=FImageList;
OnChange:=@ElementChange;
@ -1123,3 +1127,4 @@ end;
end.