From 857aeb7a5ac19b90d1764683ff1f003c3b1a8e3f Mon Sep 17 00:00:00 2001 From: mattias Date: Tue, 28 Apr 2009 15:27:42 +0000 Subject: [PATCH] IDE: ide help: implemented IsRoot property for multiple wiki pages per dialog git-svn-id: trunk@19667 - --- docs/IDEWindowHelpTree.xml | 52 ++++++++++++++--------------- ide/idecontexthelpedit.lfm | 66 ++++++++++++++++++++++++------------- ide/idecontexthelpedit.lrs | 58 +++++++++++++++++--------------- ide/idecontexthelpedit.pas | 38 ++++++++++++++++----- ide/idewindowhelp.pas | 23 +++++++++++-- ide/lazarusidestrconsts.pas | 1 + 6 files changed, 152 insertions(+), 86 deletions(-) diff --git a/docs/IDEWindowHelpTree.xml b/docs/IDEWindowHelpTree.xml index 64050b00d1..a3d18468d3 100644 --- a/docs/IDEWindowHelpTree.xml +++ b/docs/IDEWindowHelpTree.xml @@ -97,32 +97,32 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ide/idecontexthelpedit.lfm b/ide/idecontexthelpedit.lfm index 12959f0042..561fc44766 100644 --- a/ide/idecontexthelpedit.lfm +++ b/ide/idecontexthelpedit.lfm @@ -18,23 +18,23 @@ object ContextHelpEditorDlg: TContextHelpEditorDlg LCLVersion = '0.9.27' object WindowControlsGroupBox: TGroupBox Left = 6 - Height = 466 + Height = 456 Top = 6 Width = 305 Align = alLeft BorderSpacing.Around = 6 Caption = 'WindowControlsGroupBox' - ClientHeight = 448 + ClientHeight = 437 ClientWidth = 301 TabOrder = 0 object ControlsTreeView: TTreeView Left = 6 - Height = 354 + Height = 343 Top = 6 Width = 289 Align = alClient BorderSpacing.Around = 6 - DefaultItemHeight = 15 + DefaultItemHeight = 19 ReadOnly = True TabOrder = 0 Options = [tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips] @@ -42,7 +42,7 @@ object ContextHelpEditorDlg: TContextHelpEditorDlg object CreateHelpNodeForControlButton: TButton Left = 6 Height = 35 - Top = 366 + Top = 355 Width = 289 Align = alBottom BorderSpacing.Around = 6 @@ -53,7 +53,7 @@ object ContextHelpEditorDlg: TContextHelpEditorDlg object TestButton: TButton Left = 6 Height = 35 - Top = 407 + Top = 396 Width = 289 Align = alBottom BorderSpacing.Around = 6 @@ -64,23 +64,23 @@ object ContextHelpEditorDlg: TContextHelpEditorDlg end object NodesGroupBox: TGroupBox Left = 328 - Height = 466 + Height = 456 Top = 6 Width = 285 Align = alClient BorderSpacing.Around = 6 Caption = 'NodesGroupBox' - ClientHeight = 448 + ClientHeight = 437 ClientWidth = 281 TabOrder = 1 object HelpNodesTreeView: TTreeView Left = 6 - Height = 317 + Height = 240 Top = 6 Width = 269 Align = alClient BorderSpacing.Around = 6 - DefaultItemHeight = 15 + DefaultItemHeight = 19 ReadOnly = True TabOrder = 0 OnSelectionChanged = HelpNodesTreeViewSelectionChanged @@ -88,35 +88,35 @@ object ContextHelpEditorDlg: TContextHelpEditorDlg end object HelpNodePropertiesGroupBox: TGroupBox Left = 6 - Height = 113 - Top = 329 + Height = 179 + Top = 252 Width = 269 Align = alBottom BorderSpacing.Around = 6 Caption = 'HelpNodePropertiesGroupBox' - ClientHeight = 95 + ClientHeight = 160 ClientWidth = 265 TabOrder = 1 object NodeNameLabel: TLabel Left = 10 - Height = 14 + Height = 18 Top = 10 - Width = 32 + Width = 44 Caption = 'Name:' ParentColor = False end object NodePathLabel: TLabel Left = 10 - Height = 14 + Height = 18 Top = 40 - Width = 27 + Width = 33 Caption = 'Path:' ParentColor = False end object NodeHasHelpCheckBox: TCheckBox Left = 6 - Height = 17 - Top = 72 + Height = 22 + Top = 104 Width = 253 Align = alBottom BorderSpacing.Around = 6 @@ -150,18 +150,40 @@ object ContextHelpEditorDlg: TContextHelpEditorDlg TabOrder = 2 Text = 'NodePathEdit' end + object NodeIsRootCheckBox: TCheckBox + Left = 6 + Height = 22 + Top = 132 + Width = 253 + Align = alBottom + BorderSpacing.Around = 6 + Caption = 'NodeIsRootCheckBox' + OnEditingDone = NodeIsRootCheckBoxEditingDone + TabOrder = 3 + end + object FullPathEdit: TEdit + Left = 6 + Height = 23 + Top = 75 + Width = 253 + Align = alBottom + BorderSpacing.Around = 6 + ReadOnly = True + TabOrder = 4 + Text = 'FullPathEdit' + end end end object Splitter1: TSplitter Left = 317 - Height = 466 + Height = 456 Top = 6 Width = 5 end object ButtonPanel: TButtonPanel Left = 6 - Height = 26 - Top = 478 + Height = 36 + Top = 468 Width = 607 TabOrder = 3 ShowButtons = [pbOK, pbCancel] diff --git a/ide/idecontexthelpedit.lrs b/ide/idecontexthelpedit.lrs index 8423f5ac6a..e5c1edcd18 100644 --- a/ide/idecontexthelpedit.lrs +++ b/ide/idecontexthelpedit.lrs @@ -9,41 +9,41 @@ LazarusResources.Add('TContextHelpEditorDlg','FORMDATA',[ +'ntal'#7#14'crsScaleChilds'#12'ClientHeight'#3#254#1#11'ClientWidth'#3'k'#2#7 +'OnClose'#7#9'FormClose'#8'OnCreate'#7#10'FormCreate'#9'OnDestroy'#7#11'Form' +'Destroy'#10'LCLVersion'#6#6'0.9.27'#0#9'TGroupBox'#22'WindowControlsGroupBo' - +'x'#4'Left'#2#6#6'Height'#3#210#1#3'Top'#2#6#5'Width'#3'1'#1#5'Align'#7#6'al' + +'x'#4'Left'#2#6#6'Height'#3#200#1#3'Top'#2#6#5'Width'#3'1'#1#5'Align'#7#6'al' +'Left'#20'BorderSpacing.Around'#2#6#7'Caption'#6#22'WindowControlsGroupBox' - +#12'ClientHeight'#3#192#1#11'ClientWidth'#3'-'#1#8'TabOrder'#2#0#0#9'TTreeVi' - +'ew'#16'ControlsTreeView'#4'Left'#2#6#6'Height'#3'b'#1#3'Top'#2#6#5'Width'#3 + +#12'ClientHeight'#3#181#1#11'ClientWidth'#3'-'#1#8'TabOrder'#2#0#0#9'TTreeVi' + +'ew'#16'ControlsTreeView'#4'Left'#2#6#6'Height'#3'W'#1#3'Top'#2#6#5'Width'#3 +'!'#1#5'Align'#7#8'alClient'#20'BorderSpacing.Around'#2#6#17'DefaultItemHeig' - +'ht'#2#15#8'ReadOnly'#9#8'TabOrder'#2#0#7'Options'#11#17'tvoAutoItemHeight' + +'ht'#2#19#8'ReadOnly'#9#8'TabOrder'#2#0#7'Options'#11#17'tvoAutoItemHeight' +#16'tvoHideSelection'#21'tvoKeepCollapsedNodes'#11'tvoReadOnly'#14'tvoShowBu' +'ttons'#12'tvoShowLines'#11'tvoShowRoot'#11'tvoToolTips'#0#0#0#7'TButton'#30 - +'CreateHelpNodeForControlButton'#4'Left'#2#6#6'Height'#2'#'#3'Top'#3'n'#1#5 + +'CreateHelpNodeForControlButton'#4'Left'#2#6#6'Height'#2'#'#3'Top'#3'c'#1#5 +'Width'#3'!'#1#5'Align'#7#8'alBottom'#20'BorderSpacing.Around'#2#6#7'Caption' +#6#30'CreateHelpNodeForControlButton'#7'OnClick'#7'#CreateHelpNodeForControl' +'ButtonClick'#8'TabOrder'#2#1#0#0#7'TButton'#10'TestButton'#4'Left'#2#6#6'He' - +'ight'#2'#'#3'Top'#3#151#1#5'Width'#3'!'#1#5'Align'#7#8'alBottom'#20'BorderS' + +'ight'#2'#'#3'Top'#3#140#1#5'Width'#3'!'#1#5'Align'#7#8'alBottom'#20'BorderS' +'pacing.Around'#2#6#7'Caption'#6#10'TestButton'#7'OnClick'#7#15'TestButtonCl' +'ick'#8'TabOrder'#2#2#0#0#0#9'TGroupBox'#13'NodesGroupBox'#4'Left'#3'H'#1#6 - +'Height'#3#210#1#3'Top'#2#6#5'Width'#3#29#1#5'Align'#7#8'alClient'#20'Border' - +'Spacing.Around'#2#6#7'Caption'#6#13'NodesGroupBox'#12'ClientHeight'#3#192#1 + +'Height'#3#200#1#3'Top'#2#6#5'Width'#3#29#1#5'Align'#7#8'alClient'#20'Border' + +'Spacing.Around'#2#6#7'Caption'#6#13'NodesGroupBox'#12'ClientHeight'#3#181#1 +#11'ClientWidth'#3#25#1#8'TabOrder'#2#1#0#9'TTreeView'#17'HelpNodesTreeView' - +#4'Left'#2#6#6'Height'#3'='#1#3'Top'#2#6#5'Width'#3#13#1#5'Align'#7#8'alClie' - +'nt'#20'BorderSpacing.Around'#2#6#17'DefaultItemHeight'#2#15#8'ReadOnly'#9#8 + +#4'Left'#2#6#6'Height'#3#240#0#3'Top'#2#6#5'Width'#3#13#1#5'Align'#7#8'alCli' + +'ent'#20'BorderSpacing.Around'#2#6#17'DefaultItemHeight'#2#19#8'ReadOnly'#9#8 +'TabOrder'#2#0#18'OnSelectionChanged'#7'!HelpNodesTreeViewSelectionChanged'#7 +'Options'#11#17'tvoAutoItemHeight'#16'tvoHideSelection'#21'tvoKeepCollapsedN' +'odes'#11'tvoReadOnly'#14'tvoShowButtons'#12'tvoShowLines'#11'tvoShowRoot'#11 +'tvoToolTips'#0#0#0#9'TGroupBox'#26'HelpNodePropertiesGroupBox'#4'Left'#2#6#6 - +'Height'#2'q'#3'Top'#3'I'#1#5'Width'#3#13#1#5'Align'#7#8'alBottom'#20'Border' - +'Spacing.Around'#2#6#7'Caption'#6#26'HelpNodePropertiesGroupBox'#12'ClientHe' - +'ight'#2'_'#11'ClientWidth'#3#9#1#8'TabOrder'#2#1#0#6'TLabel'#13'NodeNameLab' - +'el'#4'Left'#2#10#6'Height'#2#14#3'Top'#2#10#5'Width'#2' '#7'Caption'#6#5'Na' - +'me:'#11'ParentColor'#8#0#0#6'TLabel'#13'NodePathLabel'#4'Left'#2#10#6'Heigh' - +'t'#2#14#3'Top'#2'('#5'Width'#2#27#7'Caption'#6#5'Path:'#11'ParentColor'#8#0 - +#0#9'TCheckBox'#19'NodeHasHelpCheckBox'#4'Left'#2#6#6'Height'#2#17#3'Top'#2 - +'H'#5'Width'#3#253#0#5'Align'#7#8'alBottom'#20'BorderSpacing.Around'#2#6#7'C' - +'aption'#6#19'NodeHasHelpCheckBox'#13'OnEditingDone'#7#30'NodeHasHelpCheckBo' - +'xEditingDone'#8'TabOrder'#2#0#0#0#5'TEdit'#12'NodeNameEdit'#23'AnchorSideRi' - +'ght.Control'#7#26'HelpNodePropertiesGroupBox'#20'AnchorSideRight.Side'#7#9 + +'Height'#3#179#0#3'Top'#3#252#0#5'Width'#3#13#1#5'Align'#7#8'alBottom'#20'Bo' + +'rderSpacing.Around'#2#6#7'Caption'#6#26'HelpNodePropertiesGroupBox'#12'Clie' + +'ntHeight'#3#160#0#11'ClientWidth'#3#9#1#8'TabOrder'#2#1#0#6'TLabel'#13'Node' + +'NameLabel'#4'Left'#2#10#6'Height'#2#18#3'Top'#2#10#5'Width'#2','#7'Caption' + +#6#5'Name:'#11'ParentColor'#8#0#0#6'TLabel'#13'NodePathLabel'#4'Left'#2#10#6 + +'Height'#2#18#3'Top'#2'('#5'Width'#2'!'#7'Caption'#6#5'Path:'#11'ParentColor' + +#8#0#0#9'TCheckBox'#19'NodeHasHelpCheckBox'#4'Left'#2#6#6'Height'#2#22#3'Top' + +#2'h'#5'Width'#3#253#0#5'Align'#7#8'alBottom'#20'BorderSpacing.Around'#2#6#7 + +'Caption'#6#19'NodeHasHelpCheckBox'#13'OnEditingDone'#7#30'NodeHasHelpCheckB' + +'oxEditingDone'#8'TabOrder'#2#0#0#0#5'TEdit'#12'NodeNameEdit'#23'AnchorSideR' + +'ight.Control'#7#26'HelpNodePropertiesGroupBox'#20'AnchorSideRight.Side'#7#9 +'asrBottom'#4'Left'#2'F'#6'Height'#2#23#3'Top'#2#5#5'Width'#3#189#0#7'Anchor' +'s'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#13'OnEdi' +'tingDone'#7#23'NodeNameEditEditingDone'#8'TabOrder'#2#1#4'Text'#6#12'NodeNa' @@ -51,9 +51,15 @@ LazarusResources.Add('TContextHelpEditorDlg','FORMDATA',[ +'NodePropertiesGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2'F' +#6'Height'#2#23#3'Top'#2'#'#5'Width'#3#189#0#7'Anchors'#11#5'akTop'#6'akLeft' +#7'akRight'#0#20'BorderSpacing.Around'#2#6#13'OnEditingDone'#7#23'NodePathEd' - +'itEditingDone'#8'TabOrder'#2#2#4'Text'#6#12'NodePathEdit'#0#0#0#0#9'TSplitt' - +'er'#9'Splitter1'#4'Left'#3'='#1#6'Height'#3#210#1#3'Top'#2#6#5'Width'#2#5#0 - +#0#12'TButtonPanel'#11'ButtonPanel'#4'Left'#2#6#6'Height'#2#26#3'Top'#3#222#1 - +#5'Width'#3'_'#2#8'TabOrder'#2#3#11'ShowButtons'#11#4'pbOK'#8'pbCancel'#0#9 - +'ShowBevel'#8#0#0#0 + +'itEditingDone'#8'TabOrder'#2#2#4'Text'#6#12'NodePathEdit'#0#0#9'TCheckBox' + +#18'NodeIsRootCheckBox'#4'Left'#2#6#6'Height'#2#22#3'Top'#3#132#0#5'Width'#3 + +#253#0#5'Align'#7#8'alBottom'#20'BorderSpacing.Around'#2#6#7'Caption'#6#18'N' + +'odeIsRootCheckBox'#13'OnEditingDone'#7#29'NodeIsRootCheckBoxEditingDone'#8 + +'TabOrder'#2#3#0#0#5'TEdit'#12'FullPathEdit'#4'Left'#2#6#6'Height'#2#23#3'To' + +'p'#2'K'#5'Width'#3#253#0#5'Align'#7#8'alBottom'#20'BorderSpacing.Around'#2#6 + +#8'ReadOnly'#9#8'TabOrder'#2#4#4'Text'#6#12'FullPathEdit'#0#0#0#0#9'TSplitte' + +'r'#9'Splitter1'#4'Left'#3'='#1#6'Height'#3#200#1#3'Top'#2#6#5'Width'#2#5#0#0 + +#12'TButtonPanel'#11'ButtonPanel'#4'Left'#2#6#6'Height'#2'$'#3'Top'#3#212#1#5 + +'Width'#3'_'#2#8'TabOrder'#2#3#11'ShowButtons'#11#4'pbOK'#8'pbCancel'#0#9'Sh' + +'owBevel'#8#0#0#0 ]); diff --git a/ide/idecontexthelpedit.pas b/ide/idecontexthelpedit.pas index e49cda2b0d..006724da75 100644 --- a/ide/idecontexthelpedit.pas +++ b/ide/idecontexthelpedit.pas @@ -43,6 +43,8 @@ type TContextHelpEditorDlg = class(TForm) ButtonPanel: TButtonPanel; + FullPathEdit: TEdit; + NodeIsRootCheckBox: TCheckBox; TestButton: TButton; CreateHelpNodeForControlButton: TButton; NodeNameEdit: TEdit; @@ -62,6 +64,7 @@ type procedure FormDestroy(Sender: TObject); procedure HelpNodesTreeViewSelectionChanged(Sender: TObject); procedure NodeHasHelpCheckBoxEditingDone(Sender: TObject); + procedure NodeIsRootCheckBoxEditingDone(Sender: TObject); procedure NodeNameEditEditingDone(Sender: TObject); procedure NodePathEditEditingDone(Sender: TObject); procedure OkBitBtnClick(Sender: TObject); @@ -70,6 +73,7 @@ type FIDEWindow: TCustomForm; FInvoker: TObject; FWorkingHelpNodes: TIWHelpTree; + fLoading: boolean; procedure SetIDEWindow(const AValue: TCustomForm); procedure SetInvoker(const AValue: TObject); procedure UpdateWindowControlsGroupBoxCaption; @@ -150,6 +154,7 @@ begin TestButton.Caption:=dlgCCOTest; CreateHelpNodeForControlButton.Caption:=lisCreateHelpNode; NodeHasHelpCheckBox.Caption:=lisHasHelp; + NodeIsRootCheckBox.Caption:=lisCEIsARootControl; NodePathLabel.Caption:=lisPath; NodeNameLabel.Caption:=lisDebugOptionsFrmName; NodesGroupBox.Caption:=lisHelpEntries; @@ -180,6 +185,11 @@ begin SaveHelpNodeProperties; end; +procedure TContextHelpEditorDlg.NodeIsRootCheckBoxEditingDone(Sender: TObject); +begin + SaveHelpNodeProperties; +end; + procedure TContextHelpEditorDlg.NodeNameEditEditingDone(Sender: TObject); begin SaveHelpNodeProperties; @@ -287,15 +297,22 @@ var begin if (csDestroying in ComponentState) then exit; HelpNode:=GetCurrentHelpNode; - if HelpNode<>nil then begin - HelpNodePropertiesGroupBox.Caption:=HelpNode.Name; - NodeNameEdit.Text:=HelpNode.Name; - NodePathEdit.Text:=HelpNode.Path; - NodeHasHelpCheckBox.Checked:=HelpNode.HasHelp; - HelpNodePropertiesGroupBox.Enabled:=true; - end else begin - HelpNodePropertiesGroupBox.Caption:=lisNoNodeSelected; - HelpNodePropertiesGroupBox.Enabled:=false; + fLoading:=true; + try + if HelpNode<>nil then begin + HelpNodePropertiesGroupBox.Caption:=HelpNode.Name; + NodeNameEdit.Text:=HelpNode.Name; + NodePathEdit.Text:=HelpNode.Path; + NodeHasHelpCheckBox.Checked:=HelpNode.HasHelp; + NodeIsRootCheckBox.Checked:=HelpNode.IsRoot; + HelpNodePropertiesGroupBox.Enabled:=true; + FullPathEdit.Text:=HelpNode.GetFullPath; + end else begin + HelpNodePropertiesGroupBox.Caption:=lisNoNodeSelected; + HelpNodePropertiesGroupBox.Enabled:=false; + end; + finally + fLoading:=false; end; end; @@ -384,11 +401,14 @@ procedure TContextHelpEditorDlg.SaveHelpNodeProperties; var HelpNode: TIWHelpNode; begin + if fLoading then exit; HelpNode:=GetCurrentHelpNode; if HelpNode=nil then exit; HelpNode.Name:=NodeNameEdit.Text; HelpNode.Path:=NodePathEdit.Text; HelpNode.HasHelp:=NodeHasHelpCheckBox.Checked; + HelpNode.IsRoot:=NodeIsRootCheckBox.Checked; + FullPathEdit.Text:=HelpNode.GetFullPath; end; procedure TContextHelpEditorDlg.SetIDEWindow(const AValue: TCustomForm); diff --git a/ide/idewindowhelp.pas b/ide/idewindowhelp.pas index 154f9ba2b8..18fc7ba301 100644 --- a/ide/idewindowhelp.pas +++ b/ide/idewindowhelp.pas @@ -39,6 +39,7 @@ type TIWHelpNode = class private + FIsRoot: boolean; FItems: TFPList;// list of TIWHelpNode FHasHelp: Boolean; FName: string; @@ -47,6 +48,7 @@ type function GetChilds(Index: integer): TIWHelpNode; function GetCount: integer; procedure SetHasHelp(const AValue: Boolean); + procedure SetIsRoot(const AValue: boolean); procedure SetName(const AValue: string); procedure SetPath(const AValue: string); procedure DoRemove(AChild: TIWHelpNode); @@ -64,6 +66,7 @@ type function GetFullPath: string; public property HasHelp: Boolean read FHasHelp write SetHasHelp; + property IsRoot: boolean read FIsRoot write SetIsRoot;// skip parent paths, except path of the top node property Name: string read FName write SetName; property Path: string read FPath write SetPath; property Parent: TIWHelpNode read FParent; @@ -168,6 +171,12 @@ begin FHasHelp:=AValue; end; +procedure TIWHelpNode.SetIsRoot(const AValue: boolean); +begin + if FIsRoot=AValue then exit; + FIsRoot:=AValue; +end; + procedure TIWHelpNode.SetName(const AValue: string); begin if FName=AValue then exit; @@ -238,6 +247,7 @@ begin Name:=Source.Name; Path:=Source.Path; HasHelp:=Source.HasHelp; + IsRoot:=Source.IsRoot; for i:=0 to Source.Count-1 do begin SrcNode:=Source[i]; NewNode:=AddChild; @@ -270,6 +280,7 @@ begin Name:=NewName; Path:=Config.GetValue(CfgPath+'Path',''); HasHelp:=Config.GetValue(CfgPath+'HasHelp',false); + IsRoot:=Config.GetValue(CfgPath+'IsRoot',false); NewChildCount:=Config.GetValue(CfgPath+'ChildCount',0); for i:=0 to NewChildCount-1 do begin NewChild:=AddChild(''); @@ -284,6 +295,7 @@ begin Config.SetDeleteValue(CfgPath+'Name',Name,''); Config.SetDeleteValue(CfgPath+'Path',Path,''); Config.SetDeleteValue(CfgPath+'HasHelp',HasHelp,false); + Config.SetDeleteValue(CfgPath+'IsRoot',IsRoot,false); Config.SetDeleteValue(CfgPath+'ChildCount',Count,0); for i:=0 to Count-1 do Childs[i].Save(Config,CfgPath+'Node'+IntToStr(i+1)+'/'); @@ -316,11 +328,16 @@ end; function TIWHelpNode.GetFullPath: string; var Node: TIWHelpNode; + SkipTillRoot: Boolean; begin - Result:=Path; - Node:=Parent; + Result:=''; + Node:=Self; + SkipTillRoot:=false; while Node<>nil do begin - Result:=Node.Path+Result; + if (Node.Parent=nil) or (not SkipTillRoot) then + Result:=Node.Path+Result; + if Node.IsRoot then + SkipTillRoot:=true; Node:=Node.Parent; end; end; diff --git a/ide/lazarusidestrconsts.pas b/ide/lazarusidestrconsts.pas index 80daee20ad..1005b71984 100644 --- a/ide/lazarusidestrconsts.pas +++ b/ide/lazarusidestrconsts.pas @@ -4095,6 +4095,7 @@ resourcestring // Edit context help dialog (IDEContextHelpEdit.pas) lisHelpEntries = 'Help entries'; lisPath = 'Path'; + lisCEIsARootControl = 'Is a root control'; lisHasHelp = 'Has Help'; lisCreateHelpNode = 'Create Help node'; lisEditContextHelp = 'Edit context help';