mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-26 21:00:34 +02:00
IDE: Allow to register extra entries in component palette pages dropdown
git-svn-id: trunk@61147 -
This commit is contained in:
parent
efe5909dac
commit
6ce19f4c88
@ -411,6 +411,9 @@ var
|
||||
PkgEditMenuSectionDirectory: TIDEMenuSection; // e.g. change all properties of all files in a directory and ub directories moved ..
|
||||
PkgEditMenuSectionDependency: TIDEMenuSection; // e.g. open package, remove dependency
|
||||
|
||||
// Component Palette, pages drop down. (no submenus allowed / only top level / must have OnClick(Proc))
|
||||
ComponentPalettePageDropDownExtraEntries: TIDEMenuSection = nil;
|
||||
|
||||
function RegisterIDEMenuRoot(const Name: string; MenuItem: TMenuItem = nil
|
||||
): TIDEMenuSection;
|
||||
function RegisterIDEMenuSection(Parent: TIDEMenuSection;
|
||||
@ -1933,5 +1936,9 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
initialization
|
||||
ComponentPalettePageDropDownExtraEntries := TIDEMenuSection.Create('');
|
||||
finalization
|
||||
ComponentPalettePageDropDownExtraEntries.Free;
|
||||
end.
|
||||
|
||||
|
@ -36,8 +36,8 @@ interface
|
||||
uses
|
||||
Classes, SysUtils, math, FileUtil, LazLoggerBase, Forms, Controls, Graphics,
|
||||
LMessages, Dialogs, ComCtrls, ExtCtrls, Buttons, LCLIntf, LCLType,
|
||||
IDEImagesIntf, LazarusIDEStrConsts, MainBar, ComponentPalette_Options,
|
||||
MainBase;
|
||||
IDEImagesIntf, MenuIntf, LazarusIDEStrConsts, MainBar,
|
||||
ComponentPalette_Options, MainBase;
|
||||
|
||||
type
|
||||
|
||||
@ -181,9 +181,17 @@ procedure TDlgCompPagesPopup.TreeView1Click(Sender: TObject);
|
||||
var
|
||||
i: integer;
|
||||
SelNode: TTreeNode;
|
||||
e: TIDEMenuItem;
|
||||
begin
|
||||
SelNode:=TreeView1.Selected;
|
||||
if (SelNode=nil) or (SelNode.ImageIndex=1) then exit;
|
||||
if (SelNode.Data <> nil) then begin
|
||||
e := TIDEMenuItem(SelNode.Data);
|
||||
Close;
|
||||
e.DoOnClick;
|
||||
exit;
|
||||
end;
|
||||
|
||||
if SelNode=fViewAllNode then
|
||||
MainIDE.DoShowComponentList
|
||||
else if SelNode=fOptionsNode then
|
||||
@ -270,6 +278,8 @@ end;
|
||||
procedure TDlgCompPagesPopup.BuildList;
|
||||
var
|
||||
i: integer;
|
||||
e: TIDEMenuItem;
|
||||
n: TTreeNode;
|
||||
begin
|
||||
TreeView1.BeginUpdate;
|
||||
TreeView1.Items.Clear;
|
||||
@ -294,6 +304,12 @@ begin
|
||||
fViewAllNode.ImageIndex:=IDEImages.GetImageIndex('item_package');
|
||||
fViewAllNode.SelectedIndex:=fViewAllNode.ImageIndex;
|
||||
|
||||
for i := 0 to ComponentPalettePageDropDownExtraEntries.Count - 1 do begin
|
||||
e := ComponentPalettePageDropDownExtraEntries.Items[i];
|
||||
n := TreeView1.Items.AddChildObject(nil, e.Caption, Pointer(e));
|
||||
n.ImageIndex := e.ImageIndex;
|
||||
end;
|
||||
|
||||
// add 'Options'
|
||||
fOptionsNode:=TreeView1.Items.AddChild(nil, lisOptions);
|
||||
fOptionsNode.ImageIndex:=IDEImages.LoadImage('menu_environment_options');
|
||||
|
Loading…
Reference in New Issue
Block a user