mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-08 07:55:59 +02:00
fixed access violation in menu editor (bug #201)
git-svn-id: trunk@5257 -
This commit is contained in:
parent
ea77de264a
commit
8b612aeaa3
@ -95,7 +95,7 @@ type
|
|||||||
fSelectedDesignerMenuItem: string;
|
fSelectedDesignerMenuItem: string;
|
||||||
fMenu:TMenu;
|
fMenu:TMenu;
|
||||||
fDefaultComponentEditor: TDefaultComponentEditor;
|
fDefaultComponentEditor: TDefaultComponentEditor;
|
||||||
DesignerPopupMenu: TPopupMenu;
|
fDesignerPopupMenu: TPopupMenu;
|
||||||
TemplateMenuForm: TTemplateMenuForm;
|
TemplateMenuForm: TTemplateMenuForm;
|
||||||
function GetDesigner: TComponentEditorDesigner;
|
function GetDesigner: TComponentEditorDesigner;
|
||||||
public
|
public
|
||||||
@ -109,7 +109,6 @@ type
|
|||||||
property DesignerMenuItemIdent: Integer read FDesignerMenuItemIdent write FDesignerMenuItemIdent;
|
property DesignerMenuItemIdent: Integer read FDesignerMenuItemIdent write FDesignerMenuItemIdent;
|
||||||
property SelectedDesignerMenuItem: string read FSelectedDesignerMenuItem write FSelectedDesignerMenuItem;
|
property SelectedDesignerMenuItem: string read FSelectedDesignerMenuItem write FSelectedDesignerMenuItem;
|
||||||
property ParentCanvas: TCanvas read FParentCanvas write FParentCanvas;
|
property ParentCanvas: TCanvas read FParentCanvas write FParentCanvas;
|
||||||
property MainPopupMenu: TPopupMenu read DesignerPopupMenu;
|
|
||||||
property Menu: TMenu read fMenu;
|
property Menu: TMenu read fMenu;
|
||||||
|
|
||||||
// Loading menu functions and initialization function
|
// Loading menu functions and initialization function
|
||||||
@ -210,72 +209,72 @@ begin
|
|||||||
XMLConfig:=TXMLConfig.Create(SetDirSeparators(GetPrimaryConfigPath + '/' + MenuTemplatesFile));
|
XMLConfig:=TXMLConfig.Create(SetDirSeparators(GetPrimaryConfigPath + '/' + MenuTemplatesFile));
|
||||||
|
|
||||||
// creates PopupMenu for and its items the menu editor
|
// creates PopupMenu for and its items the menu editor
|
||||||
DesignerPopupMenu:=TPopupMenu.Create(aOwner);
|
fDesignerPopupMenu:=TPopupMenu.Create(aOwner);
|
||||||
PopupMenuItem:=TMenuItem.Create(aOwner);
|
PopupMenuItem:=TMenuItem.Create(aOwner);
|
||||||
PopupMenuItem.Caption:=lisMenuEditorInsertNewItemAfter;
|
PopupMenuItem.Caption:=lisMenuEditorInsertNewItemAfter;
|
||||||
PopupMenuItem.OnClick:=@AddNewItemAfterClick;
|
PopupMenuItem.OnClick:=@AddNewItemAfterClick;
|
||||||
DesignerPopupMenu.Items.Add(PopupMenuItem);
|
fDesignerPopupMenu.Items.Add(PopupMenuItem);
|
||||||
|
|
||||||
PopupMenuItem:=TMenuItem.Create(aOwner);
|
PopupMenuItem:=TMenuItem.Create(aOwner);
|
||||||
PopupMenuItem.Caption:=lisMenuEditorInsertNewItemBefore;
|
PopupMenuItem.Caption:=lisMenuEditorInsertNewItemBefore;
|
||||||
PopupMenuItem.OnClick:=@AddNewItemBeforeClick;
|
PopupMenuItem.OnClick:=@AddNewItemBeforeClick;
|
||||||
DesignerPopupMenu.Items.Add(PopupMenuItem);
|
fDesignerPopupMenu.Items.Add(PopupMenuItem);
|
||||||
|
|
||||||
PopupMenuItem:=TMenuItem.Create(aOwner);
|
PopupMenuItem:=TMenuItem.Create(aOwner);
|
||||||
PopupMenuItem.Caption:=lisMenuEditorDeleteItem;
|
PopupMenuItem.Caption:=lisMenuEditorDeleteItem;
|
||||||
PopupMenuItem.OnClick:=@DeleteItemClick;
|
PopupMenuItem.OnClick:=@DeleteItemClick;
|
||||||
DesignerPopupMenu.Items.Add(PopupMenuItem);
|
fDesignerPopupMenu.Items.Add(PopupMenuItem);
|
||||||
|
|
||||||
PopupMenuItem:=TMenuItem.Create(aOwner);
|
PopupMenuItem:=TMenuItem.Create(aOwner);
|
||||||
PopupMenuItem.Caption:='-';
|
PopupMenuItem.Caption:='-';
|
||||||
DesignerPopupMenu.Items.Add(PopupMenuItem);
|
fDesignerPopupMenu.Items.Add(PopupMenuItem);
|
||||||
|
|
||||||
PopupMenuItem:=TMenuItem.Create(aOwner);
|
PopupMenuItem:=TMenuItem.Create(aOwner);
|
||||||
PopupMenuItem.Caption:=lisMenuEditorCreateSubMenu;
|
PopupMenuItem.Caption:=lisMenuEditorCreateSubMenu;
|
||||||
PopupMenuItem.OnClick:=@AddSubMenuClick;
|
PopupMenuItem.OnClick:=@AddSubMenuClick;
|
||||||
DesignerPopupMenu.Items.Add(PopupMenuItem);
|
fDesignerPopupMenu.Items.Add(PopupMenuItem);
|
||||||
|
|
||||||
PopupMenuItem:=TMenuItem.Create(aOwner);
|
PopupMenuItem:=TMenuItem.Create(aOwner);
|
||||||
PopupMenuItem.Caption:='-';
|
PopupMenuItem.Caption:='-';
|
||||||
DesignerPopupMenu.Items.Add(PopupMenuItem);
|
fDesignerPopupMenu.Items.Add(PopupMenuItem);
|
||||||
|
|
||||||
PopupMenuItem:=TMenuItem.Create(aOwner);
|
PopupMenuItem:=TMenuItem.Create(aOwner);
|
||||||
PopupMenuItem.Caption:=lisMenuEditorHandleOnClickEvent;
|
PopupMenuItem.Caption:=lisMenuEditorHandleOnClickEvent;
|
||||||
PopupMenuItem.OnClick:=@HandleOnCLickEventClick;
|
PopupMenuItem.OnClick:=@HandleOnCLickEventClick;
|
||||||
DesignerPopupMenu.Items.Add(PopupMenuItem);
|
fDesignerPopupMenu.Items.Add(PopupMenuItem);
|
||||||
|
|
||||||
PopupMenuItem:=TMenuItem.Create(aOwner);
|
PopupMenuItem:=TMenuItem.Create(aOwner);
|
||||||
PopupMenuItem.Caption:='-';
|
PopupMenuItem.Caption:='-';
|
||||||
DesignerPopupMenu.Items.Add(PopupMenuItem);
|
fDesignerPopupMenu.Items.Add(PopupMenuItem);
|
||||||
|
|
||||||
PopupMenuItem:=TMenuItem.Create(aOwner);
|
PopupMenuItem:=TMenuItem.Create(aOwner);
|
||||||
PopupMenuItem.Caption:=lisMenuEditorMoveUp;
|
PopupMenuItem.Caption:=lisMenuEditorMoveUp;
|
||||||
PopupMenuItem.OnClick:=@MoveUpClick;
|
PopupMenuItem.OnClick:=@MoveUpClick;
|
||||||
DesignerPopupMenu.Items.Add(PopupMenuItem);
|
fDesignerPopupMenu.Items.Add(PopupMenuItem);
|
||||||
|
|
||||||
PopupMenuItem:=TMenuItem.Create(aOwner);
|
PopupMenuItem:=TMenuItem.Create(aOwner);
|
||||||
PopupMenuItem.Caption:=lisMenuEditorMoveDown;
|
PopupMenuItem.Caption:=lisMenuEditorMoveDown;
|
||||||
PopupMenuItem.OnClick:=@MoveDownClick;
|
PopupMenuItem.OnClick:=@MoveDownClick;
|
||||||
DesignerPopupMenu.Items.Add(PopupMenuItem);
|
fDesignerPopupMenu.Items.Add(PopupMenuItem);
|
||||||
|
|
||||||
PopupMenuItem:=TMenuItem.Create(aOwner);
|
PopupMenuItem:=TMenuItem.Create(aOwner);
|
||||||
PopupMenuItem.Caption:='-';
|
PopupMenuItem.Caption:='-';
|
||||||
DesignerPopupMenu.Items.Add(PopupMenuItem);
|
fDesignerPopupMenu.Items.Add(PopupMenuItem);
|
||||||
|
|
||||||
PopupMenuItem:=TMenuItem.Create(aOwner);
|
PopupMenuItem:=TMenuItem.Create(aOwner);
|
||||||
PopupMenuItem.Caption:=lisMenuEditorInsertFromTemplate;
|
PopupMenuItem.Caption:=lisMenuEditorInsertFromTemplate;
|
||||||
PopupMenuItem.OnClick:=@InsertFromTemplateClick;
|
PopupMenuItem.OnClick:=@InsertFromTemplateClick;
|
||||||
DesignerPopupMenu.Items.Add(PopupMenuItem);
|
fDesignerPopupMenu.Items.Add(PopupMenuItem);
|
||||||
|
|
||||||
PopupMenuItem:=TMenuItem.Create(aOwner);
|
PopupMenuItem:=TMenuItem.Create(aOwner);
|
||||||
PopupMenuItem.Caption:=lisMenuEditorSaveAsTemplate;
|
PopupMenuItem.Caption:=lisMenuEditorSaveAsTemplate;
|
||||||
PopupMenuItem.OnClick:=@SaveAsTemplateClick;
|
PopupMenuItem.OnClick:=@SaveAsTemplateClick;
|
||||||
DesignerPopupMenu.Items.Add(PopupMenuItem);
|
fDesignerPopupMenu.Items.Add(PopupMenuItem);
|
||||||
|
|
||||||
PopupMenuItem:=TMenuItem.Create(aOwner);
|
PopupMenuItem:=TMenuItem.Create(aOwner);
|
||||||
PopupMenuItem.Caption:=lisMenuEditorDeleteFromTemplate;
|
PopupMenuItem.Caption:=lisMenuEditorDeleteFromTemplate;
|
||||||
PopupMenuItem.OnClick:=@DeleteFromTemplateClick;
|
PopupMenuItem.OnClick:=@DeleteFromTemplateClick;
|
||||||
DesignerPopupMenu.Items.Add(PopupMenuItem);
|
fDesignerPopupMenu.Items.Add(PopupMenuItem);
|
||||||
|
|
||||||
//Handler for renaming a caption in the OI for some menuitem to rename also a
|
//Handler for renaming a caption in the OI for some menuitem to rename also a
|
||||||
// designermenuitem
|
// designermenuitem
|
||||||
@ -329,6 +328,7 @@ begin
|
|||||||
MenuItem^.SelfPanel.Height:=DESIGNER_MENU_ITEM_HEIGHT;
|
MenuItem^.SelfPanel.Height:=DESIGNER_MENU_ITEM_HEIGHT;
|
||||||
Menuitem^.SelfPanel.OnMouseDown:=@MenuItemMouseDown;
|
Menuitem^.SelfPanel.OnMouseDown:=@MenuItemMouseDown;
|
||||||
Menuitem^.SelfPanel.OnDblClick:=@MenuItemDblClick;
|
Menuitem^.SelfPanel.OnDblClick:=@MenuItemDblClick;
|
||||||
|
MenuItem^.SelfPanel.PopupMenu := fDesignerPopupMenu;
|
||||||
|
|
||||||
MenuItem^.CaptionLabel:=TLabel.Create(self);
|
MenuItem^.CaptionLabel:=TLabel.Create(self);
|
||||||
MenuItem^.CaptionLabel.Name:='CaptionLabel_' + MenuItem^.ID;
|
MenuItem^.CaptionLabel.Name:='CaptionLabel_' + MenuItem^.ID;
|
||||||
|
@ -142,8 +142,6 @@ begin
|
|||||||
SetCoordinates(10,10,0,DesignerMainMenu.Root);
|
SetCoordinates(10,10,0,DesignerMainMenu.Root);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
PopupMenu:=DesignerMainMenu.MainPopupMenu;
|
|
||||||
|
|
||||||
Invalidate;
|
Invalidate;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user