diff --git a/doceditor/frmmain.lfm b/doceditor/frmmain.lfm index debe141725..eca6ca7bc9 100644 --- a/doceditor/frmmain.lfm +++ b/doceditor/frmmain.lfm @@ -7,7 +7,7 @@ object MainForm: TMainForm VertScrollBar.Page = 523 ActiveControl = Splitter1 Caption = 'MainForm' - ClientHeight = 523 + ClientHeight = 517 ClientWidth = 602 Menu = MMain OnCloseQuery = MainFormCloseQuery @@ -130,20 +130,20 @@ object MainForm: TMainForm end object StatusBar1: TStatusBar Left = 0 - Height = 20 - Top = 503 + Height = 22 + Top = 495 Width = 602 Panels = <> end object Splitter1: TSplitter Left = 0 - Height = 473 + Height = 465 Top = 30 Width = 5 end object PCFiles: TPageControl Left = 5 - Height = 473 + Height = 465 Top = 30 Width = 597 Align = alClient @@ -1157,7 +1157,7 @@ object MainForm: TMainForm Hint = 'Insert a new module' ImageIndex = 4 OnExecute = InsertStructure - OnUpdate = HaveEditor + OnUpdate = HaveEditorAndPackage end object AInsertElement: TAction Tag = 3 @@ -1166,7 +1166,7 @@ object MainForm: TMainForm Hint = 'Insert a new element' ImageIndex = 6 OnExecute = InsertStructure - OnUpdate = HaveEditor + OnUpdate = HaveEditorAndModule end object AInsertTopic: TAction Tag = 4 @@ -1175,7 +1175,7 @@ object MainForm: TMainForm Hint = 'Insert a new topic' ImageIndex = 5 OnExecute = InsertStructure - OnUpdate = HaveEditor + OnUpdate = HaveEditorAndTopicOrSomething end object AInsertLink: TAction Category = 'Insert' diff --git a/doceditor/frmmain.pp b/doceditor/frmmain.pp index d0b4ae986c..cd115b8dd4 100644 --- a/doceditor/frmmain.pp +++ b/doceditor/frmmain.pp @@ -163,6 +163,9 @@ type procedure ASaveExecute(Sender: TObject); procedure DoFormat(Sender: TObject); procedure HaveEditor(Sender: TObject); + procedure HaveEditorAndModule(Sender: TObject); + procedure HaveEditorAndPackage(Sender: TObject); + procedure HaveEditorAndTopicOrSomething(Sender: TObject); procedure InsertStructure(Sender: TObject); procedure MainFormCloseQuery(Sender: TObject; var CanClose: boolean); procedure MainFormCreate(Sender: TObject); @@ -425,6 +428,26 @@ begin (Sender as TAction).Enabled:=(CurrentEditor <> nil); end; +procedure TMainForm.HaveEditorAndModule(Sender: TObject); +begin + (Sender as TAction).Enabled:=(CurrentEditor <> nil) and + (Currenteditor.CurrentModule <> nil); +end; + +procedure TMainForm.HaveEditorAndPackage(Sender: TObject); +begin + (Sender as TAction).Enabled:=(CurrentEditor <> nil) and + (Currenteditor.CurrentPackage <> nil); +end; + +procedure TMainForm.HaveEditorAndTopicOrSomething(Sender: TObject); +begin + (Sender as TAction).Enabled:=(CurrentEditor <> nil) and + ( (Currenteditor.CurrentTopic <> nil) + or (Currenteditor.CurrentModule <> nil) + or (Currenteditor.CurrentPackage <> nil) ); +end; + procedure TMainForm.InsertStructure(Sender: TObject); begin InsertNode(TNodeType((Sender as TAction).Tag)); diff --git a/doceditor/pgeditor.pp b/doceditor/pgeditor.pp index 969265b23a..602be87ce2 100644 --- a/doceditor/pgeditor.pp +++ b/doceditor/pgeditor.pp @@ -470,11 +470,9 @@ begin if (CurrentTopic<>Nil) then begin M:=CurrentTopic.ParentNode as TDomElement; - If M.NodeName='module' then + If (M.NodeName='module') or (M.NodeName='topic') then P:=M - else if M.NodeName='topic' then - P:=M - else + else P:=CurrentTopic; end else if (CurrentModule<>Nil) then