IDE: fpdoc editor: see also

git-svn-id: trunk@21084 -
This commit is contained in:
mattias 2009-08-03 09:42:00 +00:00
parent 0403cc0cba
commit 47ab093dfb
3 changed files with 128 additions and 367 deletions

View File

@ -1,7 +1,7 @@
object FPDocEditor: TFPDocEditor object FPDocEditor: TFPDocEditor
Left = 303 Left = 313
Height = 126 Height = 126
Top = 548 Top = 596
Width = 753 Width = 753
ActiveControl = LeftBtnPanel ActiveControl = LeftBtnPanel
Caption = 'FPDoc editor' Caption = 'FPDoc editor'
@ -16,17 +16,17 @@ object FPDocEditor: TFPDocEditor
Height = 126 Height = 126
Top = 0 Top = 0
Width = 713 Width = 713
ActivePage = ShortTabSheet ActivePage = SeeAlsoTabSheet
Align = alClient Align = alClient
TabIndex = 0 TabIndex = 4
TabOrder = 0 TabOrder = 0
TabPosition = tpBottom TabPosition = tpBottom
OnChange = PageControlChange OnChange = PageControlChange
OnPageChanged = PageControlChange OnPageChanged = PageControlChange
object ShortTabSheet: TTabSheet object ShortTabSheet: TTabSheet
Caption = 'ShortTabSheet' Caption = 'ShortTabSheet'
ClientHeight = 99 ClientHeight = 95
ClientWidth = 711 ClientWidth = 709
object LinkLabel: TLabel object LinkLabel: TLabel
AnchorSideTop.Control = LinkEdit AnchorSideTop.Control = LinkEdit
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
@ -58,7 +58,7 @@ object FPDocEditor: TFPDocEditor
Left = 82 Left = 82
Height = 27 Height = 27
Top = 0 Top = 0
Width = 627 Width = 625
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Right = 2 BorderSpacing.Right = 2
@ -104,7 +104,7 @@ object FPDocEditor: TFPDocEditor
Left = 72 Left = 72
Height = 27 Height = 27
Top = 29 Top = 29
Width = 637 Width = 635
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 2 BorderSpacing.Top = 2
@ -117,13 +117,13 @@ object FPDocEditor: TFPDocEditor
end end
object InheritedTabSheet: TTabSheet object InheritedTabSheet: TTabSheet
Caption = 'InheritedTabSheet' Caption = 'InheritedTabSheet'
ClientHeight = 99 ClientHeight = 95
ClientWidth = 711 ClientWidth = 709
object InheritedShortLabel: TLabel object InheritedShortLabel: TLabel
Left = 0 Left = 0
Height = 14 Height = 14
Top = 2 Top = 2
Width = 711 Width = 709
Align = alTop Align = alTop
BorderSpacing.Top = 2 BorderSpacing.Top = 2
Caption = 'InheritedShortLabel' Caption = 'InheritedShortLabel'
@ -138,7 +138,7 @@ object FPDocEditor: TFPDocEditor
Left = 0 Left = 0
Height = 27 Height = 27
Top = 18 Top = 18
Width = 711 Width = 709
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 2 BorderSpacing.Top = 2
ReadOnly = True ReadOnly = True
@ -190,13 +190,13 @@ object FPDocEditor: TFPDocEditor
end end
object DescrTabSheet: TTabSheet object DescrTabSheet: TTabSheet
Caption = 'DescrTabSheet' Caption = 'DescrTabSheet'
ClientHeight = 99 ClientHeight = 95
ClientWidth = 711 ClientWidth = 709
object DescrMemo: TMemo object DescrMemo: TMemo
Left = 0 Left = 0
Height = 95 Height = 91
Top = 0 Top = 0
Width = 709 Width = 707
Align = alClient Align = alClient
BorderSpacing.Right = 2 BorderSpacing.Right = 2
BorderSpacing.Bottom = 4 BorderSpacing.Bottom = 4
@ -209,13 +209,13 @@ object FPDocEditor: TFPDocEditor
end end
object ErrorsTabSheet: TTabSheet object ErrorsTabSheet: TTabSheet
Caption = 'ErrorsTabSheet' Caption = 'ErrorsTabSheet'
ClientHeight = 99 ClientHeight = 95
ClientWidth = 711 ClientWidth = 709
object ErrorsMemo: TMemo object ErrorsMemo: TMemo
Left = 0 Left = 0
Height = 95 Height = 91
Top = 0 Top = 0
Width = 709 Width = 707
Align = alClient Align = alClient
BorderSpacing.Right = 2 BorderSpacing.Right = 2
BorderSpacing.Bottom = 4 BorderSpacing.Bottom = 4
@ -228,87 +228,30 @@ object FPDocEditor: TFPDocEditor
end end
object SeeAlsoTabSheet: TTabSheet object SeeAlsoTabSheet: TTabSheet
Caption = 'SeeAlsoTabSheet' Caption = 'SeeAlsoTabSheet'
ClientHeight = 99 ClientHeight = 95
ClientWidth = 711 ClientWidth = 709
object LinkListBox: TListBox object SeeAlsoMemo: TMemo
AnchorSideTop.Control = AddLinkButton
AnchorSideTop.Side = asrBottom
Left = 0 Left = 0
Height = 68 Height = 95
Top = 27 Top = 0
Width = 709 Width = 709
Align = alBottom Align = alClient
Anchors = [akTop, akLeft, akRight, akBottom] Lines.Strings = (
BorderSpacing.Top = 4 'SeeAlsoMemo'
BorderSpacing.Right = 2 )
BorderSpacing.Bottom = 4 OnEditingDone = SeeAlsoMemoEditingDone
ItemHeight = 0
OnClick = LinkListBoxClick
TabOrder = 0 TabOrder = 0
TopIndex = -1
end
object AddLinkButton: TButton
AnchorSideRight.Control = DeleteLinkButton
Left = 501
Height = 23
Top = 0
Width = 95
Anchors = [akTop, akRight]
AutoSize = True
BorderSpacing.Right = 6
Caption = 'AddLinkButton'
OnClick = AddLinkButtonClick
TabOrder = 1
end
object DeleteLinkButton: TButton
AnchorSideRight.Control = SeeAlsoTabSheet
AnchorSideRight.Side = asrBottom
Left = 602
Height = 23
Top = 0
Width = 107
Anchors = [akTop, akRight]
AutoSize = True
BorderSpacing.Right = 2
Caption = 'DeleteLinkButton'
OnClick = DeleteLinkButtonClick
TabOrder = 2
end
object LinkTextEdit: TEdit
AnchorSideLeft.Control = LinkIdComboBox
AnchorSideLeft.Side = asrBottom
AnchorSideRight.Control = AddLinkButton
Left = 229
Height = 27
Top = 1
Width = 268
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 4
BorderSpacing.Right = 4
OnChange = LinkChange
TabOrder = 3
Text = 'LinkTextEdit'
end
object LinkIdComboBox: TComboBox
Left = 0
Height = 21
Top = 1
Width = 225
ItemHeight = 0
OnChange = LinkChange
TabOrder = 4
Text = 'LinkIdComboBox'
end end
end end
object ExampleTabSheet: TTabSheet object ExampleTabSheet: TTabSheet
Caption = 'ExampleTabSheet' Caption = 'ExampleTabSheet'
ClientHeight = 99 ClientHeight = 95
ClientWidth = 711 ClientWidth = 709
object ExampleEdit: TEdit object ExampleEdit: TEdit
Left = 0 Left = 0
Height = 27 Height = 27
Top = 0 Top = 0
Width = 709 Width = 707
Align = alTop Align = alTop
BorderSpacing.Right = 2 BorderSpacing.Right = 2
OnChange = ExampleEditChange OnChange = ExampleEditChange
@ -320,7 +263,7 @@ object FPDocEditor: TFPDocEditor
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = ExampleTabSheet AnchorSideRight.Control = ExampleTabSheet
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 572 Left = 570
Height = 23 Height = 23
Top = 33 Top = 33
Width = 133 Width = 133

View File

@ -1,16 +1,16 @@
{ This is an automatically generated lazarus resource file } { This is an automatically generated lazarus resource file }
LazarusResources.Add('TFPDocEditor','FORMDATA',[ LazarusResources.Add('TFPDocEditor','FORMDATA',[
'TPF0'#12'TFPDocEditor'#11'FPDocEditor'#4'Left'#3'/'#1#6'Height'#2'~'#3'Top'#3 'TPF0'#12'TFPDocEditor'#11'FPDocEditor'#4'Left'#3'9'#1#6'Height'#2'~'#3'Top'#3
+'$'#2#5'Width'#3#241#2#13'ActiveControl'#7#12'LeftBtnPanel'#7'Caption'#6#12 +'T'#2#5'Width'#3#241#2#13'ActiveControl'#7#12'LeftBtnPanel'#7'Caption'#6#12
+'FPDoc editor'#12'ClientHeight'#2'~'#11'ClientWidth'#3#241#2#8'OnCreate'#7#10 +'FPDoc editor'#12'ClientHeight'#2'~'#11'ClientWidth'#3#241#2#8'OnCreate'#7#10
+'FormCreate'#9'OnDestroy'#7#11'FormDestroy'#8'OnResize'#7#10'FormResize'#10 +'FormCreate'#9'OnDestroy'#7#11'FormDestroy'#8'OnResize'#7#10'FormResize'#10
+'LCLVersion'#6#6'0.9.27'#0#12'TPageControl'#11'PageControl'#4'Left'#2'('#6'H' +'LCLVersion'#6#6'0.9.27'#0#12'TPageControl'#11'PageControl'#4'Left'#2'('#6'H'
+'eight'#2'~'#3'Top'#2#0#5'Width'#3#201#2#10'ActivePage'#7#13'ShortTabSheet'#5 +'eight'#2'~'#3'Top'#2#0#5'Width'#3#201#2#10'ActivePage'#7#15'SeeAlsoTabSheet'
+'Align'#7#8'alClient'#8'TabIndex'#2#0#8'TabOrder'#2#0#11'TabPosition'#7#8'tp' +#5'Align'#7#8'alClient'#8'TabIndex'#2#4#8'TabOrder'#2#0#11'TabPosition'#7#8
+'Bottom'#8'OnChange'#7#17'PageControlChange'#13'OnPageChanged'#7#17'PageCont' +'tpBottom'#8'OnChange'#7#17'PageControlChange'#13'OnPageChanged'#7#17'PageCo'
+'rolChange'#0#9'TTabSheet'#13'ShortTabSheet'#7'Caption'#6#13'ShortTabSheet' +'ntrolChange'#0#9'TTabSheet'#13'ShortTabSheet'#7'Caption'#6#13'ShortTabSheet'
+#12'ClientHeight'#2'c'#11'ClientWidth'#3#199#2#0#6'TLabel'#9'LinkLabel'#21'A' +#12'ClientHeight'#2'_'#11'ClientWidth'#3#197#2#0#6'TLabel'#9'LinkLabel'#21'A'
+'nchorSideTop.Control'#7#8'LinkEdit'#18'AnchorSideTop.Side'#7#9'asrCenter'#4 +'nchorSideTop.Control'#7#8'LinkEdit'#18'AnchorSideTop.Side'#7#9'asrCenter'#4
+'Left'#2#6#6'Height'#2#18#3'Top'#2'!'#5'Width'#2'<'#17'BorderSpacing.Top'#2#6 +'Left'#2#6#6'Height'#2#18#3'Top'#2'!'#5'Width'#2'<'#17'BorderSpacing.Top'#2#6
+#7'Caption'#6#9'LinkLabel'#11'ParentColor'#8#0#0#6'TLabel'#10'ShortLabel'#22 +#7'Caption'#6#9'LinkLabel'#11'ParentColor'#8#0#0#6'TLabel'#10'ShortLabel'#22
@ -20,7 +20,7 @@ LazarusResources.Add('TFPDocEditor','FORMDATA',[
+'l'#11'ParentColor'#8#0#0#5'TEdit'#9'ShortEdit'#22'AnchorSideLeft.Control'#7 +'l'#11'ParentColor'#8#0#0#5'TEdit'#9'ShortEdit'#22'AnchorSideLeft.Control'#7
+#10'ShortLabel'#19'AnchorSideLeft.Side'#7#9'asrBottom'#23'AnchorSideRight.Co' +#10'ShortLabel'#19'AnchorSideLeft.Side'#7#9'asrBottom'#23'AnchorSideRight.Co'
+'ntrol'#7#13'ShortTabSheet'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2 +'ntrol'#7#13'ShortTabSheet'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2
+'R'#6'Height'#2#27#3'Top'#2#0#5'Width'#3's'#2#7'Anchors'#11#5'akTop'#6'akLef' +'R'#6'Height'#2#27#3'Top'#2#0#5'Width'#3'q'#2#7'Anchors'#11#5'akTop'#6'akLef'
+'t'#7'akRight'#0#18'BorderSpacing.Left'#2#6#19'BorderSpacing.Right'#2#2#8'On' +'t'#7'akRight'#0#18'BorderSpacing.Left'#2#6#19'BorderSpacing.Right'#2#2#8'On'
+'Change'#7#20'ShortEditEditingDone'#13'OnEditingDone'#7#20'ShortEditEditingD' +'Change'#7#20'ShortEditEditingDone'#13'OnEditingDone'#7#20'ShortEditEditingD'
+'one'#8'TabOrder'#2#0#4'Text'#6#9'ShortEdit'#0#0#7'TButton'#12'CreateButton' +'one'#8'TabOrder'#2#0#4'Text'#6#9'ShortEdit'#0#0#7'TButton'#12'CreateButton'
@ -36,18 +36,18 @@ LazarusResources.Add('TFPDocEditor','FORMDATA',[
+#7#9'asrBottom'#21'AnchorSideTop.Control'#7#9'ShortEdit'#18'AnchorSideTop.Si' +#7#9'asrBottom'#21'AnchorSideTop.Control'#7#9'ShortEdit'#18'AnchorSideTop.Si'
+'de'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#13'ShortTabSheet'#20'Ancho' +'de'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#13'ShortTabSheet'#20'Ancho'
+'rSideRight.Side'#7#9'asrBottom'#4'Left'#2'H'#6'Height'#2#27#3'Top'#2#29#5'W' +'rSideRight.Side'#7#9'asrBottom'#4'Left'#2'H'#6'Height'#2#27#3'Top'#2#29#5'W'
+'idth'#3'}'#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing' +'idth'#3'{'#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing'
+'.Left'#2#6#17'BorderSpacing.Top'#2#2#19'BorderSpacing.Right'#2#2#8'OnChange' +'.Left'#2#6#17'BorderSpacing.Top'#2#2#19'BorderSpacing.Right'#2#2#8'OnChange'
+#7#19'LinkEditEditingDone'#13'OnEditingDone'#7#19'LinkEditEditingDone'#8'Tab' +#7#19'LinkEditEditingDone'#13'OnEditingDone'#7#19'LinkEditEditingDone'#8'Tab'
+'Order'#2#3#4'Text'#6#8'LinkEdit'#0#0#0#9'TTabSheet'#17'InheritedTabSheet'#7 +'Order'#2#3#4'Text'#6#8'LinkEdit'#0#0#0#9'TTabSheet'#17'InheritedTabSheet'#7
+'Caption'#6#17'InheritedTabSheet'#12'ClientHeight'#2'c'#11'ClientWidth'#3#199 +'Caption'#6#17'InheritedTabSheet'#12'ClientHeight'#2'_'#11'ClientWidth'#3#197
+#2#0#6'TLabel'#19'InheritedShortLabel'#4'Left'#2#0#6'Height'#2#14#3'Top'#2#2 +#2#0#6'TLabel'#19'InheritedShortLabel'#4'Left'#2#0#6'Height'#2#14#3'Top'#2#2
+#5'Width'#3#199#2#5'Align'#7#5'alTop'#17'BorderSpacing.Top'#2#2#7'Caption'#6 +#5'Width'#3#197#2#5'Align'#7#5'alTop'#17'BorderSpacing.Top'#2#2#7'Caption'#6
+#19'InheritedShortLabel'#11'ParentColor'#8#0#0#5'TEdit'#18'InheritedShortEdi' +#19'InheritedShortLabel'#11'ParentColor'#8#0#0#5'TEdit'#18'InheritedShortEdi'
+'t'#22'AnchorSideLeft.Control'#7#17'InheritedTabSheet'#21'AnchorSideTop.Cont' +'t'#22'AnchorSideLeft.Control'#7#17'InheritedTabSheet'#21'AnchorSideTop.Cont'
+'rol'#7#19'InheritedShortLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'Anc' +'rol'#7#19'InheritedShortLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'Anc'
+'horSideRight.Control'#7#17'InheritedTabSheet'#20'AnchorSideRight.Side'#7#9 +'horSideRight.Control'#7#17'InheritedTabSheet'#20'AnchorSideRight.Side'#7#9
+'asrBottom'#4'Left'#2#0#6'Height'#2#27#3'Top'#2#18#5'Width'#3#199#2#7'Anchor' +'asrBottom'#4'Left'#2#0#6'Height'#2#27#3'Top'#2#18#5'Width'#3#197#2#7'Anchor'
+'s'#11#5'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2#2#8'ReadOnly' +'s'#11#5'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2#2#8'ReadOnly'
+#9#8'TabOrder'#2#0#4'Text'#6#18'InheritedShortEdit'#0#0#7'TButton'#21'MoveTo' +#9#8'TabOrder'#2#0#4'Text'#6#18'InheritedShortEdit'#0#0#7'TButton'#21'MoveTo'
+'InheritedButton'#21'AnchorSideTop.Control'#7#18'InheritedShortEdit'#18'Anch' +'InheritedButton'#21'AnchorSideTop.Control'#7#18'InheritedShortEdit'#18'Anch'
@ -66,56 +66,37 @@ LazarusResources.Add('TFPDocEditor','FORMDATA',[
+'th'#3#151#0#8'AutoSize'#9#18'BorderSpacing.Left'#2#10#7'Caption'#6#24'AddLi' +'th'#3#151#0#8'AutoSize'#9#18'BorderSpacing.Left'#2#10#7'Caption'#6#24'AddLi'
+'nkToInheritedButton'#7'OnClick'#7#29'AddLinkToInheritedButtonClick'#8'TabOr' +'nkToInheritedButton'#7'OnClick'#7#29'AddLinkToInheritedButtonClick'#8'TabOr'
,'der'#2#3#0#0#0#9'TTabSheet'#13'DescrTabSheet'#7'Caption'#6#13'DescrTabSheet' ,'der'#2#3#0#0#0#9'TTabSheet'#13'DescrTabSheet'#7'Caption'#6#13'DescrTabSheet'
+#12'ClientHeight'#2'c'#11'ClientWidth'#3#199#2#0#5'TMemo'#9'DescrMemo'#4'Lef' +#12'ClientHeight'#2'_'#11'ClientWidth'#3#197#2#0#5'TMemo'#9'DescrMemo'#4'Lef'
+'t'#2#0#6'Height'#2'_'#3'Top'#2#0#5'Width'#3#197#2#5'Align'#7#8'alClient'#19 +'t'#2#0#6'Height'#2'['#3'Top'#2#0#5'Width'#3#195#2#5'Align'#7#8'alClient'#19
+'BorderSpacing.Right'#2#2#20'BorderSpacing.Bottom'#2#4#13'Lines.Strings'#1#6 +'BorderSpacing.Right'#2#2#20'BorderSpacing.Bottom'#2#4#13'Lines.Strings'#1#6
+#9'DescrMemo'#0#8'OnChange'#7#15'DescrMemoChange'#8'TabOrder'#2#0#0#0#0#9'TT' +#9'DescrMemo'#0#8'OnChange'#7#15'DescrMemoChange'#8'TabOrder'#2#0#0#0#0#9'TT'
+'abSheet'#14'ErrorsTabSheet'#7'Caption'#6#14'ErrorsTabSheet'#12'ClientHeight' +'abSheet'#14'ErrorsTabSheet'#7'Caption'#6#14'ErrorsTabSheet'#12'ClientHeight'
+#2'c'#11'ClientWidth'#3#199#2#0#5'TMemo'#10'ErrorsMemo'#4'Left'#2#0#6'Height' +#2'_'#11'ClientWidth'#3#197#2#0#5'TMemo'#10'ErrorsMemo'#4'Left'#2#0#6'Height'
+#2'_'#3'Top'#2#0#5'Width'#3#197#2#5'Align'#7#8'alClient'#19'BorderSpacing.Ri' +#2'['#3'Top'#2#0#5'Width'#3#195#2#5'Align'#7#8'alClient'#19'BorderSpacing.Ri'
+'ght'#2#2#20'BorderSpacing.Bottom'#2#4#13'Lines.Strings'#1#6#10'ErrorsMemo'#0 +'ght'#2#2#20'BorderSpacing.Bottom'#2#4#13'Lines.Strings'#1#6#10'ErrorsMemo'#0
+#8'OnChange'#7#16'ErrorsMemoChange'#8'TabOrder'#2#0#0#0#0#9'TTabSheet'#15'Se' +#8'OnChange'#7#16'ErrorsMemoChange'#8'TabOrder'#2#0#0#0#0#9'TTabSheet'#15'Se'
+'eAlsoTabSheet'#7'Caption'#6#15'SeeAlsoTabSheet'#12'ClientHeight'#2'c'#11'Cl' +'eAlsoTabSheet'#7'Caption'#6#15'SeeAlsoTabSheet'#12'ClientHeight'#2'_'#11'Cl'
+'ientWidth'#3#199#2#0#8'TListBox'#11'LinkListBox'#21'AnchorSideTop.Control'#7 +'ientWidth'#3#197#2#0#5'TMemo'#11'SeeAlsoMemo'#4'Left'#2#0#6'Height'#2'_'#3
+#13'AddLinkButton'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#0#6'Heigh' +'Top'#2#0#5'Width'#3#197#2#5'Align'#7#8'alClient'#13'Lines.Strings'#1#6#11'S'
+'t'#2'D'#3'Top'#2#27#5'Width'#3#197#2#5'Align'#7#8'alBottom'#7'Anchors'#11#5 +'eeAlsoMemo'#0#13'OnEditingDone'#7#22'SeeAlsoMemoEditingDone'#8'TabOrder'#2#0
+'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#17'BorderSpacing.Top'#2#4#19'Bord' +#0#0#0#9'TTabSheet'#15'ExampleTabSheet'#7'Caption'#6#15'ExampleTabSheet'#12
+'erSpacing.Right'#2#2#20'BorderSpacing.Bottom'#2#4#10'ItemHeight'#2#0#7'OnCl' +'ClientHeight'#2'_'#11'ClientWidth'#3#197#2#0#5'TEdit'#11'ExampleEdit'#4'Lef'
+'ick'#7#16'LinkListBoxClick'#8'TabOrder'#2#0#8'TopIndex'#2#255#0#0#7'TButton' +'t'#2#0#6'Height'#2#27#3'Top'#2#0#5'Width'#3#195#2#5'Align'#7#5'alTop'#19'Bo'
+#13'AddLinkButton'#23'AnchorSideRight.Control'#7#16'DeleteLinkButton'#4'Left' +'rderSpacing.Right'#2#2#8'OnChange'#7#17'ExampleEditChange'#8'TabOrder'#2#0#4
+#3#245#1#6'Height'#2#23#3'Top'#2#0#5'Width'#2'_'#7'Anchors'#11#5'akTop'#7'ak' +'Text'#6#11'ExampleEdit'#0#0#7'TButton'#19'BrowseExampleButton'#21'AnchorSid'
+'Right'#0#8'AutoSize'#9#19'BorderSpacing.Right'#2#6#7'Caption'#6#13'AddLinkB' +'eTop.Control'#7#11'ExampleEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'An'
+'utton'#7'OnClick'#7#18'AddLinkButtonClick'#8'TabOrder'#2#1#0#0#7'TButton'#16 +'chorSideRight.Control'#7#15'ExampleTabSheet'#20'AnchorSideRight.Side'#7#9'a'
+'DeleteLinkButton'#23'AnchorSideRight.Control'#7#15'SeeAlsoTabSheet'#20'Anch' +'srBottom'#4'Left'#3':'#2#6'Height'#2#23#3'Top'#2'!'#5'Width'#3#133#0#7'Anch'
+'orSideRight.Side'#7#9'asrBottom'#4'Left'#3'Z'#2#6'Height'#2#23#3'Top'#2#0#5 +'ors'#11#5'akTop'#7'akRight'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7
+'Width'#2'k'#7'Anchors'#11#5'akTop'#7'akRight'#0#8'AutoSize'#9#19'BorderSpac' +'Caption'#6#19'BrowseExampleButton'#7'OnClick'#7#24'BrowseExampleButtonClick'
+'ing.Right'#2#2#7'Caption'#6#16'DeleteLinkButton'#7'OnClick'#7#21'DeleteLink' +#8'TabOrder'#2#1#0#0#0#0#6'TPanel'#12'LeftBtnPanel'#4'Left'#2#0#6'Height'#2
+'ButtonClick'#8'TabOrder'#2#2#0#0#5'TEdit'#12'LinkTextEdit'#22'AnchorSideLef' +'~'#3'Top'#2#0#5'Width'#2#20#5'Align'#7#6'alLeft'#10'BevelOuter'#7#6'bvNone'
+'t.Control'#7#14'LinkIdComboBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#23'A' +#12'ClientHeight'#2'~'#11'ClientWidth'#2#20#11'FullRepaint'#8#14'ParentShowH'
+'nchorSideRight.Control'#7#13'AddLinkButton'#4'Left'#3#229#0#6'Height'#2#27#3 +'int'#8#8'ShowHint'#9#8'TabOrder'#2#1#0#12'TSpeedButton'#16'BoldFormatButton'
+'Top'#2#1#5'Width'#3#12#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'B' +#4'Left'#2#0#6'Height'#2#23#3'Top'#2#0#5'Width'#2#20#5'Align'#7#5'alTop'#5'C'
+'orderSpacing.Left'#2#4#19'BorderSpacing.Right'#2#4#8'OnChange'#7#10'LinkCha' +'olor'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7#17'FormatButtonClick'#0#0
+'nge'#8'TabOrder'#2#3#4'Text'#6#12'LinkTextEdit'#0#0#9'TComboBox'#14'LinkIdC' +#12'TSpeedButton'#18'ItalicFormatButton'#3'Tag'#2#1#4'Left'#2#0#6'Height'#2
+'omboBox'#4'Left'#2#0#6'Height'#2#21#3'Top'#2#1#5'Width'#3#225#0#10'ItemHeig' +#23#3'Top'#2'.'#5'Width'#2#20#5'Align'#7#5'alTop'#5'Color'#7#9'clBtnFace'#9
+'ht'#2#0#8'OnChange'#7#10'LinkChange'#8'TabOrder'#2#4#4'Text'#6#14'LinkIdCom'
+'boBox'#0#0#0#9'TTabSheet'#15'ExampleTabSheet'#7'Caption'#6#15'ExampleTabShe'
+'et'#12'ClientHeight'#2'c'#11'ClientWidth'#3#199#2#0#5'TEdit'#11'ExampleEdit'
+#4'Left'#2#0#6'Height'#2#27#3'Top'#2#0#5'Width'#3#197#2#5'Align'#7#5'alTop'
+#19'BorderSpacing.Right'#2#2#8'OnChange'#7#17'ExampleEditChange'#8'TabOrder'
+#2#0#4'Text'#6#11'ExampleEdit'#0#0#7'TButton'#19'BrowseExampleButton'#21'Anc'
+'horSideTop.Control'#7#11'ExampleEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'
+#23'AnchorSideRight.Control'#7#15'ExampleTabSheet'#20'AnchorSideRight.Side'#7
+#9'asrBottom'#4'Left'#3'<'#2#6'Height'#2#23#3'Top'#2'!'#5'Width'#3#133#0#7'A'
+'nchors'#11#5'akTop'#7'akRight'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6
+#7'Caption'#6#19'BrowseExampleButton'#7'OnClick'#7#24'BrowseExampleButtonCli'
+'ck'#8'TabOrder'#2#1#0#0#0#0#6'TPanel'#12'LeftBtnPanel'#4'Left'#2#0#6'Height'
+#2'~'#3'Top'#2#0#5'Width'#2#20#5'Align'#7#6'alLeft'#10'BevelOuter'#7#6'bvNon'
+'e'#12'ClientHeight'#2'~'#11'ClientWidth'#2#20#11'FullRepaint'#8#14'ParentSh'
+'owHint'#8#8'ShowHint'#9#8'TabOrder'#2#1#0#12'TSpeedButton'#16'BoldFormatBut'
+'ton'#4'Left'#2#0#6'Height'#2#23#3'Top'#2#0#5'Width'#2#20#5'Align'#7#5'alTop'
+#5'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7#17'FormatButtonClick'
+#0#0#12'TSpeedButton'#18'ItalicFormatButton'#3'Tag'#2#1#4'Left'#2#0#6'Height'
+#2#23#3'Top'#2'.'#5'Width'#2#20#5'Align'#7#5'alTop'#5'Color'#7#9'clBtnFace'#9
+'NumGlyphs'#2#0#7'OnClick'#7#17'FormatButtonClick'#0#0#12'TSpeedButton'#21'U' +'NumGlyphs'#2#0#7'OnClick'#7#17'FormatButtonClick'#0#0#12'TSpeedButton'#21'U'
+'nderlineFormatButton'#3'Tag'#2#2#4'Left'#2#0#6'Height'#2#23#3'Top'#2#23#5'W' +'nderlineFormatButton'#3'Tag'#2#2#4'Left'#2#0#6'Height'#2#23#3'Top'#2#23#5'W'
+'idth'#2#20#5'Align'#7#5'alTop'#5'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'O' +'idth'#2#20#5'Align'#7#5'alTop'#5'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'O'
@ -129,7 +110,7 @@ LazarusResources.Add('TFPDocEditor','FORMDATA',[
+'Top'#2#0#5'Width'#2#20#5'Align'#7#6'alLeft'#10'BevelOuter'#7#6'bvNone'#12'C' +'Top'#2#0#5'Width'#2#20#5'Align'#7#6'alLeft'#10'BevelOuter'#7#6'bvNone'#12'C'
+'lientHeight'#2'~'#11'ClientWidth'#2#20#8'TabOrder'#2#2#0#12'TSpeedButton'#21 +'lientHeight'#2'~'#11'ClientWidth'#2#20#8'TabOrder'#2#2#0#12'TSpeedButton'#21
+'InsertLinkSpeedButton'#4'Left'#2#0#6'Height'#2#23#3'Top'#2#0#5'Width'#2#20#5 +'InsertLinkSpeedButton'#4'Left'#2#0#6'Height'#2#23#3'Top'#2#0#5'Width'#2#20#5
,'Align'#7#5'alTop'#7'Caption'#6#2'Li'#5'Color'#7#9'clBtnFace'#7'Enabled'#8#9 +'Align'#7#5'alTop'#7'Caption'#6#2'Li'#5'Color'#7#9'clBtnFace'#7'Enabled'#8#9
+'NumGlyphs'#2#0#7'OnClick'#7#26'InsertLinkSpeedButtonClick'#8'ShowHint'#9#14 +'NumGlyphs'#2#0#7'OnClick'#7#26'InsertLinkSpeedButtonClick'#8'ShowHint'#9#14
+'ParentShowHint'#8#0#0#12'TSpeedButton'#19'InsertCodeTagButton'#3'Tag'#2#3#4 +'ParentShowHint'#8#0#0#12'TSpeedButton'#19'InsertCodeTagButton'#3'Tag'#2#3#4
+'Left'#2#0#6'Height'#2#23#3'Top'#2#23#5'Width'#2#20#5'Align'#7#5'alTop'#5'Co' +'Left'#2#0#6'Height'#2#23#3'Top'#2#23#5'Width'#2#20#5'Align'#7#5'alTop'#5'Co'

View File

@ -38,14 +38,13 @@ uses
// Synedit // Synedit
SynEdit, SynEdit,
// codetools // codetools
FileProcs, CodeAtom, CodeCache, CodeToolManager, BasicCodeTools, FileProcs, CodeAtom, CodeCache, CodeToolManager,
Laz_DOM, Laz_XMLRead, Laz_XMLWrite, Laz_DOM, Laz_XMLRead, Laz_XMLWrite,
// IDEIntf // IDEIntf
ProjectIntf, LazIDEIntf, IDEHelpIntf, LazHelpIntf, ProjectIntf, LazIDEIntf, IDEHelpIntf, LazHelpIntf,
// IDE // IDE
IDEOptionDefs, EnvironmentOpts, IDEOptionDefs, EnvironmentOpts, PackageSystem, IDEProcs, LazarusIDEStrConsts,
IDEProcs, LazarusIDEStrConsts, FPDocSelectInherited, FPDocSelectLink, FPDocSelectInherited, FPDocSelectLink, CodeHelp;
PackageSystem, CodeHelp;
type type
TFPDocEditorFlag = ( TFPDocEditorFlag = (
@ -54,74 +53,66 @@ type
fpdefChainNeedsUpdate, fpdefChainNeedsUpdate,
fpdefCaptionNeedsUpdate, fpdefCaptionNeedsUpdate,
fpdefValueControlsNeedsUpdate, fpdefValueControlsNeedsUpdate,
fpdefInheritedControlsNeedsUpdate, fpdefInheritedControlsNeedsUpdate
fpdefLinkIDComboNeedsUpdate
); );
TFPDocEditorFlags = set of TFPDocEditorFlag; TFPDocEditorFlags = set of TFPDocEditorFlag;
{ TFPDocEditor } { TFPDocEditor }
TFPDocEditor = class(TForm) TFPDocEditor = class(TForm)
AddLinkButton: TButton;
BrowseExampleButton: TButton;
ShortLabel: TLabel;
LinkEdit: TEdit;
LinkLabel: TLabel;
AddLinkToInheritedButton: TButton; AddLinkToInheritedButton: TButton;
RightBtnPanel: TPanel;
SaveButton: TButton;
CreateButton: TButton;
CopyFromInheritedButton: TButton;
MoveToInheritedButton: TButton;
InheritedShortEdit: TEdit;
ExampleEdit: TEdit;
InheritedShortLabel: TLabel;
LinkIdComboBox: TComboBox;
DeleteLinkButton: TButton;
DescrMemo: TMemo;
LinkTextEdit: TEdit;
LinkListBox: TListBox;
OpenDialog: TOpenDialog;
LeftBtnPanel: TPanel;
ShortEdit: TEdit;
ErrorsMemo: TMemo;
PageControl: TPageControl;
DescrTabSheet: TTabSheet;
ErrorsTabSheet: TTabSheet;
ShortTabSheet: TTabSheet;
BoldFormatButton: TSpeedButton; BoldFormatButton: TSpeedButton;
ItalicFormatButton: TSpeedButton; BrowseExampleButton: TButton;
ControlDocker: TLazControlDocker;
CopyFromInheritedButton: TButton;
CreateButton: TButton;
DescrMemo: TMemo;
DescrTabSheet: TTabSheet;
ErrorsMemo: TMemo;
ErrorsTabSheet: TTabSheet;
ExampleEdit: TEdit;
ExampleTabSheet: TTabSheet;
InheritedShortEdit: TEdit;
InheritedShortLabel: TLabel;
InheritedTabSheet: TTabSheet;
InsertCodeTagButton: TSpeedButton; InsertCodeTagButton: TSpeedButton;
InsertLinkSpeedButton: TSpeedButton;
InsertParagraphSpeedButton: TSpeedButton;
InsertRemarkButton: TSpeedButton; InsertRemarkButton: TSpeedButton;
InsertVarTagButton: TSpeedButton; InsertVarTagButton: TSpeedButton;
ExampleTabSheet: TTabSheet; ItalicFormatButton: TSpeedButton;
InheritedTabSheet: TTabSheet; LeftBtnPanel: TPanel;
InsertParagraphSpeedButton: TSpeedButton; LinkEdit: TEdit;
InsertLinkSpeedButton: TSpeedButton; LinkLabel: TLabel;
UnderlineFormatButton: TSpeedButton; SeeAlsoMemo: TMemo;
MoveToInheritedButton: TButton;
OpenDialog: TOpenDialog;
PageControl: TPageControl;
RightBtnPanel: TPanel;
SaveButton: TButton;
SeeAlsoTabSheet: TTabSheet; SeeAlsoTabSheet: TTabSheet;
ControlDocker: TLazControlDocker; ShortEdit: TEdit;
procedure AddLinkButtonClick(Sender: TObject); ShortLabel: TLabel;
procedure LinkEditEditingDone(Sender: TObject); ShortTabSheet: TTabSheet;
UnderlineFormatButton: TSpeedButton;
procedure AddLinkToInheritedButtonClick(Sender: TObject); procedure AddLinkToInheritedButtonClick(Sender: TObject);
procedure ApplicationIdle(Sender: TObject; var Done: Boolean);
procedure BrowseExampleButtonClick(Sender: TObject); procedure BrowseExampleButtonClick(Sender: TObject);
procedure CopyFromInheritedButtonClick(Sender: TObject); procedure CopyFromInheritedButtonClick(Sender: TObject);
procedure CreateButtonClick(Sender: TObject); procedure CreateButtonClick(Sender: TObject);
procedure DeleteLinkButtonClick(Sender: TObject);
procedure DescrMemoChange(Sender: TObject); procedure DescrMemoChange(Sender: TObject);
procedure ErrorsMemoChange(Sender: TObject); procedure ErrorsMemoChange(Sender: TObject);
procedure ExampleEditChange(Sender: TObject); procedure ExampleEditChange(Sender: TObject);
procedure FormatButtonClick(Sender: TObject);
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject); procedure FormDestroy(Sender: TObject);
procedure FormResize(Sender: TObject); procedure FormResize(Sender: TObject);
procedure FormatButtonClick(Sender: TObject);
procedure InsertLinkSpeedButtonClick(Sender: TObject); procedure InsertLinkSpeedButtonClick(Sender: TObject);
procedure LinkChange(Sender: TObject); procedure LinkEditEditingDone(Sender: TObject);
procedure LinkListBoxClick(Sender: TObject);
procedure ApplicationIdle(Sender: TObject; var Done: Boolean);
procedure MoveToInheritedButtonClick(Sender: TObject); procedure MoveToInheritedButtonClick(Sender: TObject);
procedure PageControlChange(Sender: TObject); procedure PageControlChange(Sender: TObject);
procedure SaveButtonClick(Sender: TObject); procedure SaveButtonClick(Sender: TObject);
procedure SeeAlsoMemoEditingDone(Sender: TObject);
procedure ShortEditEditingDone(Sender: TObject); procedure ShortEditEditingDone(Sender: TObject);
private private
FCaretXY: TPoint; FCaretXY: TPoint;
@ -139,7 +130,6 @@ type
function GetContextTitle(Element: TCodeHelpElement): string; function GetContextTitle(Element: TCodeHelpElement): string;
function MakeLink: String;
function FindInheritedIndex: integer; function FindInheritedIndex: integer;
procedure Save; procedure Save;
function GetGUIValues: TFPDocElementValues; function GetGUIValues: TFPDocElementValues;
@ -149,15 +139,12 @@ type
procedure UpdateCodeCache; procedure UpdateCodeCache;
procedure UpdateChain; procedure UpdateChain;
procedure UpdateCaption; procedure UpdateCaption;
procedure UpdateLinkIdComboBox;
procedure UpdateValueControls; procedure UpdateValueControls;
procedure UpdateInheritedControls; procedure UpdateInheritedControls;
procedure OnLazDocChanging(Sender: TObject; LazDocFPFile: TLazFPDocFile); procedure OnLazDocChanging(Sender: TObject; LazDocFPFile: TLazFPDocFile);
procedure OnLazDocChanged(Sender: TObject; LazDocFPFile: TLazFPDocFile); procedure OnLazDocChanged(Sender: TObject; LazDocFPFile: TLazFPDocFile);
procedure LoadGUIValues(Element: TCodeHelpElement); procedure LoadGUIValues(Element: TCodeHelpElement);
procedure MoveToInherited(Element: TCodeHelpElement); procedure MoveToInherited(Element: TCodeHelpElement);
procedure AddSeeAlsoLink(Link, LinkTitle: string);
function FindSeeAlsoLink(Link: string): integer;
function ExtractIDFromLinkTag(const LinkTag: string; out ID, Title: string): boolean; function ExtractIDFromLinkTag(const LinkTag: string; out ID, Title: string): boolean;
function CreateElement(Element: TCodeHelpElement): Boolean; function CreateElement(Element: TCodeHelpElement): Boolean;
procedure UpdateButtons; procedure UpdateButtons;
@ -208,39 +195,6 @@ begin
Result:=CurDocFile.GetFirstElement; Result:=CurDocFile.GetFirstElement;
end; end;
procedure TFPDocEditor.UpdateLinkIdComboBox;
// fills LinkIdComboBox.Items
var
sl: TStringList;
Node: TDOMNode;
begin
if fUpdateLock>0 then begin
Include(FFlags,fpdefLinkIDComboNeedsUpdate);
exit;
end;
Exclude(FFlags,fpdefLinkIDComboNeedsUpdate);
{$IFDEF VerboseCodeHelp}
DebugLn(['TFPDocEditForm.UpdateLinkIdComboBox START']);
{$ENDIF}
LinkIdComboBox.Clear;
if Doc=nil then exit;
Node:=DocFile.GetElementWithName('seealso',false);
if Node=nil then exit;
Node:=Node.FirstChild;
if Node=nil then exit;
sl:=TStringList.Create;
// element nodes
while Node<>nil do begin
if (Node.NodeName='link') and (Node is TDomElement) then
sl.Add(TDomElement(Node)['name']);
Node := Node.NextSibling;
end;
LinkIdComboBox.Items.Assign(sl);
sl.Free;
end;
procedure TFPDocEditor.FormCreate(Sender: TObject); procedure TFPDocEditor.FormCreate(Sender: TObject);
begin begin
Caption := lisCodeHelpMainFormCaption; Caption := lisCodeHelpMainFormCaption;
@ -270,9 +224,6 @@ begin
SaveButton.Caption := lisCodeHelpSaveButton; SaveButton.Caption := lisCodeHelpSaveButton;
SaveButton.Enabled:=false; SaveButton.Enabled:=false;
AddLinkButton.Caption := lisCodeHelpAddLinkButton;
DeleteLinkButton.Caption := lisCodeHelpDeleteLinkButton;
BrowseExampleButton.Caption := lisCodeHelpBrowseExampleButton; BrowseExampleButton.Caption := lisCodeHelpBrowseExampleButton;
MoveToInheritedButton.Caption:=lisLDMoveEntriesToInherited; MoveToInheritedButton.Caption:=lisLDMoveEntriesToInherited;
@ -312,7 +263,7 @@ end;
procedure TFPDocEditor.FormResize(Sender: TObject); procedure TFPDocEditor.FormResize(Sender: TObject);
begin begin
LinkIdComboBox.Width := (AddLinkButton.Left - LinkIdComboBox.Left - 8) div 2;
end; end;
procedure TFPDocEditor.FormatButtonClick(Sender: TObject); procedure TFPDocEditor.FormatButtonClick(Sender: TObject);
@ -371,39 +322,11 @@ begin
ShortEdit.SelText := LinkSrc; ShortEdit.SelText := LinkSrc;
if PageControl.ActivePage = DescrTabSheet then if PageControl.ActivePage = DescrTabSheet then
DescrMemo.SelText := LinkSrc; DescrMemo.SelText := LinkSrc;
if PageControl.ActivePage = SeeAlsoTabSheet then
SeeAlsoMemo.SelText := LinkSrc;
if PageControl.ActivePage = ErrorsTabSheet then if PageControl.ActivePage = ErrorsTabSheet then
ErrorsMemo.SelText := LinkSrc; ErrorsMemo.SelText := LinkSrc;
end; Modified:=true;
procedure TFPDocEditor.LinkChange(Sender: TObject);
var
NewLink: String;
OldLink: string;
begin
if LinkListBox.ItemIndex<0 then
Exit;
NewLink:=MakeLink;
OldLink:=LinkListBox.Items[LinkListBox.ItemIndex];
if NewLink<>OldLink then begin
LinkListBox.Items[LinkListBox.ItemIndex] := NewLink;
Modified:=true;
end;
end;
procedure TFPDocEditor.LinkListBoxClick(Sender: TObject);
var
LinkIndex: LongInt;
LinkTag: string;
ID: string;
Title: string;
begin
LinkIndex := LinkListBox.ItemIndex;
if LinkIndex = -1 then
Exit;
LinkTag:=LinkListBox.Items[LinkIndex];
ExtractIDFromLinkTag(LinkTag,ID,Title);
LinkIdComboBox.Text := ID;
LinkTextEdit.Text := Title;
end; end;
procedure TFPDocEditor.ApplicationIdle(Sender: TObject; var Done: Boolean); procedure TFPDocEditor.ApplicationIdle(Sender: TObject; var Done: Boolean);
@ -424,8 +347,6 @@ begin
UpdateValueControls UpdateValueControls
else if fpdefInheritedControlsNeedsUpdate in FFlags then else if fpdefInheritedControlsNeedsUpdate in FFlags then
UpdateInheritedControls UpdateInheritedControls
else if fpdefLinkIDComboNeedsUpdate in FFlags then
UpdateLinkIdComboBox
else else
Done:=true; Done:=true;
end; end;
@ -504,6 +425,12 @@ begin
Save; Save;
end; end;
procedure TFPDocEditor.SeeAlsoMemoEditingDone(Sender: TObject);
begin
if SeeAlsoMemo.Text<>FOldVisualValues[fpdiSeeAlso] then
Modified:=true;
end;
procedure TFPDocEditor.ShortEditEditingDone(Sender: TObject); procedure TFPDocEditor.ShortEditEditingDone(Sender: TObject);
begin begin
if ShortEdit.Text<>FOldVisualValues[fpdiShort] then if ShortEdit.Text<>FOldVisualValues[fpdiShort] then
@ -720,9 +647,6 @@ begin
FOldVisualValues[fpdiSeeAlso]:=ConvertLineEndings(FOldValues[fpdiSeeAlso]); FOldVisualValues[fpdiSeeAlso]:=ConvertLineEndings(FOldValues[fpdiSeeAlso]);
FOldVisualValues[fpdiExample]:=ConvertLineEndings(FOldValues[fpdiExample]); FOldVisualValues[fpdiExample]:=ConvertLineEndings(FOldValues[fpdiExample]);
DebugLn(['TFPDocEditor.LoadGUIValues Short="',dbgstr(FOldValues[fpdiShort]),'"']); DebugLn(['TFPDocEditor.LoadGUIValues Short="',dbgstr(FOldValues[fpdiShort]),'"']);
LinkListBox.Items.Text := FOldVisualValues[fpdiSeeAlso];
LinkIdComboBox.Text := '';
LinkTextEdit.Clear;
end end
else else
begin begin
@ -732,25 +656,19 @@ begin
FOldVisualValues[fpdiErrors]:=lisCodeHelpNoDocumentation; FOldVisualValues[fpdiErrors]:=lisCodeHelpNoDocumentation;
FOldVisualValues[fpdiSeeAlso]:=lisCodeHelpNoDocumentation; FOldVisualValues[fpdiSeeAlso]:=lisCodeHelpNoDocumentation;
FOldVisualValues[fpdiExample]:=lisCodeHelpNoDocumentation; FOldVisualValues[fpdiExample]:=lisCodeHelpNoDocumentation;
LinkIdComboBox.Text := lisCodeHelpNoDocumentation;
LinkTextEdit.Text := lisCodeHelpNoDocumentation;
LinkListBox.Clear;
end; end;
ShortEdit.Text := FOldVisualValues[fpdiShort]; ShortEdit.Text := FOldVisualValues[fpdiShort];
LinkEdit.Text := FOldVisualValues[fpdiElementLink]; LinkEdit.Text := FOldVisualValues[fpdiElementLink];
DescrMemo.Lines.Text := FOldVisualValues[fpdiDescription]; DescrMemo.Lines.Text := FOldVisualValues[fpdiDescription];
SeeAlsoMemo.Text := FOldVisualValues[fpdiSeeAlso];
ErrorsMemo.Lines.Text := FOldVisualValues[fpdiErrors]; ErrorsMemo.Lines.Text := FOldVisualValues[fpdiErrors];
ExampleEdit.Text := FOldVisualValues[fpdiExample]; ExampleEdit.Text := FOldVisualValues[fpdiExample];
ShortEdit.Enabled := EnabledState; ShortEdit.Enabled := EnabledState;
LinkEdit.Enabled := EnabledState; LinkEdit.Enabled := EnabledState;
DescrMemo.Enabled := EnabledState; DescrMemo.Enabled := EnabledState;
SeeAlsoMemo.Enabled := EnabledState;
ErrorsMemo.Enabled := EnabledState; ErrorsMemo.Enabled := EnabledState;
LinkIdComboBox.Enabled := EnabledState;
LinkTextEdit.Enabled := EnabledState;
LinkListBox.Enabled := EnabledState;
AddLinkButton.Enabled := EnabledState;
DeleteLinkButton.Enabled := EnabledState;
ExampleEdit.Enabled := EnabledState; ExampleEdit.Enabled := EnabledState;
BrowseExampleButton.Enabled := EnabledState; BrowseExampleButton.Enabled := EnabledState;
@ -765,59 +683,6 @@ begin
WriteNode(Element,Values,true); WriteNode(Element,Values,true);
end; end;
procedure TFPDocEditor.AddSeeAlsoLink(Link, LinkTitle: string);
var
s: String;
begin
DebugLn(['TFPDocEditor.AddSeeAlsoLink Link="',Link,'" LinkTitle="',LinkTitle,'"']);
if FindSeeAlsoLink(Link)>=0 then exit;
s:='<link id="'+Link+'"';
if LinkTitle<>'' then begin
s:=s+'>'+LinkTitle+'</link';
end else begin
s:=s+'/>';
end;
DebugLn(['TFPDocEditor.AddSeeAlsoLink Adding: ',s]);
LinkListBox.Items.Add(s);
Modified:=true;
end;
function TFPDocEditor.FindSeeAlsoLink(Link: string): integer;
var
LinkTag: string;
ID: string;
Element: TCodeHelpElement;
ExpandedLink: String;
ExpandedID: String;
Title: string;
begin
ExpandedLink:='';
Result:=LinkListBox.Items.Count-1;
while (Result>=0) do begin
LinkTag:=LinkListBox.Items[Result];
if ExtractIDFromLinkTag(LinkTag,ID,Title) then begin
// check absolute: ID=Link
if SysUtils.CompareText(ID,Link)=0 then
exit;
// check relative
if (System.Pos(Link,'.')>0) and (ID<>'') then begin
if (fChain<>nil) and (fChain.Count>0) then begin
Element:=fChain[0];
if (ExpandedLink='') then begin
ExpandedLink:=CodeHelpBoss.ExpandFPDocLinkID(Link,
Element.ElementUnitName,Element.ElementOwnerName);
end;
ExpandedID:=CodeHelpBoss.ExpandFPDocLinkID(ID,
Element.ElementUnitName,Element.ElementOwnerName);
if SysUtils.CompareText(ExpandedID,ExpandedLink)=0 then
exit;
end;
end;
end;
dec(Result);
end;
end;
function TFPDocEditor.ExtractIDFromLinkTag(const LinkTag: string; out ID, Title: string function TFPDocEditor.ExtractIDFromLinkTag(const LinkTag: string; out ID, Title: string
): boolean; ): boolean;
// extract id and title from example: // extract id and title from example:
@ -882,6 +747,7 @@ var
begin begin
HasEdit:=(PageControl.ActivePage = ShortTabSheet) HasEdit:=(PageControl.ActivePage = ShortTabSheet)
or (PageControl.ActivePage = DescrTabSheet) or (PageControl.ActivePage = DescrTabSheet)
or (PageControl.ActivePage = SeeAlsoTabSheet)
or (PageControl.ActivePage = ErrorsTabSheet); or (PageControl.ActivePage = ErrorsTabSheet);
BoldFormatButton.Enabled:=HasEdit; BoldFormatButton.Enabled:=HasEdit;
ItalicFormatButton.Enabled:=HasEdit; ItalicFormatButton.Enabled:=HasEdit;
@ -917,10 +783,8 @@ begin
ShortEdit.Clear; ShortEdit.Clear;
LinkEdit.Clear; LinkEdit.Clear;
DescrMemo.Clear; DescrMemo.Clear;
SeeAlsoMemo.Clear;
ErrorsMemo.Clear; ErrorsMemo.Clear;
LinkIdComboBox.Text := '';
LinkTextEdit.Clear;
LinkListBox.Clear;
ExampleEdit.Clear; ExampleEdit.Clear;
Modified := False; Modified := False;
@ -932,7 +796,7 @@ begin
FreeAndNil(fChain); FreeAndNil(fChain);
FFlags:=FFlags+[fpdefCodeCacheNeedsUpdate,fpdefChainNeedsUpdate, FFlags:=FFlags+[fpdefCodeCacheNeedsUpdate,fpdefChainNeedsUpdate,
fpdefCaptionNeedsUpdate,fpdefValueControlsNeedsUpdate, fpdefCaptionNeedsUpdate,fpdefValueControlsNeedsUpdate,
fpdefInheritedControlsNeedsUpdate,fpdefLinkIDComboNeedsUpdate]; fpdefInheritedControlsNeedsUpdate];
end; end;
procedure TFPDocEditor.UpdateFPDocEditor(const SrcFilename: string; procedure TFPDocEditor.UpdateFPDocEditor(const SrcFilename: string;
@ -977,8 +841,8 @@ begin
Modified:=true; Modified:=true;
ShortEdit.Text:=''; ShortEdit.Text:='';
DescrMemo.Text:=''; DescrMemo.Text:='';
SeeAlsoMemo.Text:='';
ErrorsMemo.Text:=''; ErrorsMemo.Text:='';
LinkListBox.Items.Clear;
ExampleEdit.Text:=''; ExampleEdit.Text:='';
if DoSave then Save; if DoSave then Save;
end; end;
@ -1007,11 +871,11 @@ begin
Result[fpdiShort]:=ShortEdit.Text; Result[fpdiShort]:=ShortEdit.Text;
Result[fpdiDescription]:=DescrMemo.Text; Result[fpdiDescription]:=DescrMemo.Text;
Result[fpdiErrors]:=ErrorsMemo.Text; Result[fpdiErrors]:=ErrorsMemo.Text;
Result[fpdiSeeAlso]:=LinkListBox.Items.Text; Result[fpdiSeeAlso]:=SeeAlsoMemo.Text;
Result[fpdiExample]:=ExampleEdit.Text; Result[fpdiExample]:=ExampleEdit.Text;
Result[fpdiElementLink]:=LinkEdit.Text; Result[fpdiElementLink]:=LinkEdit.Text;
for i:=Low(TFPDocItem) to High(TFPDocItem) do for i:=Low(TFPDocItem) to High(TFPDocItem) do
if Result[i]=lisCodeHelpNoDocumentation then if Trim(Result[i])=lisCodeHelpNoDocumentation then
Result[i]:=''; Result[i]:='';
end; end;
@ -1115,15 +979,6 @@ begin
Modified:=true; Modified:=true;
end; end;
function TFPDocEditor.MakeLink: String;
begin
if Trim(LinkTextEdit.Text) = '' then
Result := '<link id="' + Trim(LinkIdComboBox.Text) + '"/>'
else
Result := '<link id="' + Trim(LinkIdComboBox.Text) + '">' +
LinkTextEdit.Text + '</link>';
end;
function TFPDocEditor.FindInheritedIndex: integer; function TFPDocEditor.FindInheritedIndex: integer;
// returns Index in chain of an overriden Element with a short description // returns Index in chain of an overriden Element with a short description
// returns -1 if not found // returns -1 if not found
@ -1144,15 +999,6 @@ begin
Result:=-1; Result:=-1;
end; end;
procedure TFPDocEditor.AddLinkButtonClick(Sender: TObject);
begin
if Trim(LinkIdComboBox.Text) <> '' then
begin
LinkListBox.Items.Add(MakeLink);
Modified := True;
end;
end;
procedure TFPDocEditor.LinkEditEditingDone(Sender: TObject); procedure TFPDocEditor.LinkEditEditingDone(Sender: TObject);
begin begin
if LinkEdit.Text<>FOldVisualValues[fpdiElementLink] then if LinkEdit.Text<>FOldVisualValues[fpdiElementLink] then
@ -1212,15 +1058,6 @@ begin
CreateElement(fChain[0]); CreateElement(fChain[0]);
end; end;
procedure TFPDocEditor.DeleteLinkButtonClick(Sender: TObject);
begin
if LinkListBox.ItemIndex >= 0 then begin
LinkListBox.Items.Delete(LinkListBox.ItemIndex);
DebugLn(['TFPDocEditForm.DeleteLinkButtonClick ']);
Modified := True;
end;
end;
procedure TFPDocEditor.DescrMemoChange(Sender: TObject); procedure TFPDocEditor.DescrMemoChange(Sender: TObject);
begin begin
if DescrMemo.Text<>FOldVisualValues[fpdiDescription] then if DescrMemo.Text<>FOldVisualValues[fpdiDescription] then