mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-10 19:18:14 +02:00
Separate TBaseComponentPalette and TComponentPalette more.
git-svn-id: trunk@48311 -
This commit is contained in:
parent
1efe3b0e31
commit
ac1b44a800
@ -25,6 +25,9 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, typinfo, AVL_Tree, fgl,
|
Classes, SysUtils, typinfo, AVL_Tree, fgl,
|
||||||
|
{$IFDEF CustomIDEComps}
|
||||||
|
CustomIDEComps,
|
||||||
|
{$ENDIF}
|
||||||
Controls, Laz2_XMLCfg, LCLProc;
|
Controls, Laz2_XMLCfg, LCLProc;
|
||||||
|
|
||||||
type
|
type
|
||||||
@ -184,21 +187,6 @@ type
|
|||||||
|
|
||||||
TBaseComponentPalette = class
|
TBaseComponentPalette = class
|
||||||
private
|
private
|
||||||
FHandlers: array[TComponentPaletteHandlerType] of TMethodList;
|
|
||||||
FComponentPageClass: TBaseComponentPageClass;
|
|
||||||
FOnBeginUpdate: TNotifyEvent;
|
|
||||||
FOnEndUpdate: TEndUpdatePaletteEvent;
|
|
||||||
FHideControls: boolean;
|
|
||||||
FUpdateLock: integer;
|
|
||||||
fChanged: boolean;
|
|
||||||
fChangeStamp: integer;
|
|
||||||
// Used to find names that differ in character case only.
|
|
||||||
fOrigPageHelper: TStringList;
|
|
||||||
procedure AddHandler(HandlerType: TComponentPaletteHandlerType;
|
|
||||||
const AMethod: TMethod; AsLast: boolean = false);
|
|
||||||
procedure RemoveHandler(HandlerType: TComponentPaletteHandlerType;
|
|
||||||
const AMethod: TMethod);
|
|
||||||
protected
|
|
||||||
// List of pages, created based on user ordered and original pages.
|
// List of pages, created based on user ordered and original pages.
|
||||||
fPages: TBaseComponentPageList;
|
fPages: TBaseComponentPageList;
|
||||||
// List of all components in all pages.
|
// List of all components in all pages.
|
||||||
@ -213,15 +201,25 @@ type
|
|||||||
// Lists have page names. Object holds another StringList for component names.
|
// Lists have page names. Object holds another StringList for component names.
|
||||||
fOrigComponentPageCache: TStringList; // Original
|
fOrigComponentPageCache: TStringList; // Original
|
||||||
fUserComponentPageCache: TStringList; // User ordered
|
fUserComponentPageCache: TStringList; // User ordered
|
||||||
|
// Used to find names that differ in character case only.
|
||||||
|
fOrigPageHelper: TStringList;
|
||||||
|
fHandlers: array[TComponentPaletteHandlerType] of TMethodList;
|
||||||
|
fComponentPageClass: TBaseComponentPageClass;
|
||||||
|
fHideControls: boolean;
|
||||||
|
fUpdateLock: integer;
|
||||||
|
fChanged: boolean;
|
||||||
|
fChangeStamp: integer;
|
||||||
|
procedure AddHandler(HandlerType: TComponentPaletteHandlerType;
|
||||||
|
const AMethod: TMethod; AsLast: boolean = false);
|
||||||
|
procedure RemoveHandler(HandlerType: TComponentPaletteHandlerType;
|
||||||
|
const AMethod: TMethod);
|
||||||
procedure CacheOrigComponentPages;
|
procedure CacheOrigComponentPages;
|
||||||
function CreatePagesFromUserOrder: Boolean;
|
function CreatePagesFromUserOrder: Boolean;
|
||||||
procedure DoChange; virtual;
|
procedure DoChange;
|
||||||
procedure OnPageAddedComponent({%H-}Component: TRegisteredComponent); virtual;
|
procedure DoPageAddedComponent(Component: TRegisteredComponent);
|
||||||
procedure OnPageRemovedComponent({%H-}Page: TBaseComponentPage;
|
procedure DoPageRemovedComponent(Component: TRegisteredComponent);
|
||||||
{%H-}Component: TRegisteredComponent); virtual;
|
function VoteCompVisibility(AComponent: TRegisteredComponent): Boolean;
|
||||||
procedure OnComponentVisibleChanged({%H-}AComponent: TRegisteredComponent); virtual;
|
protected
|
||||||
procedure OnPageVisibleChanged({%H-}APage: TBaseComponentPage); virtual;
|
|
||||||
function VoteCompVisibility(AComponent: TRegisteredComponent): Boolean; virtual;
|
|
||||||
function GetSelected: TRegisteredComponent; virtual;
|
function GetSelected: TRegisteredComponent; virtual;
|
||||||
procedure SetSelected(const AValue: TRegisteredComponent); virtual; abstract;
|
procedure SetSelected(const AValue: TRegisteredComponent); virtual; abstract;
|
||||||
public
|
public
|
||||||
@ -235,7 +233,7 @@ type
|
|||||||
procedure EndUpdate;
|
procedure EndUpdate;
|
||||||
function IsUpdateLocked: boolean;
|
function IsUpdateLocked: boolean;
|
||||||
procedure IncChangeStamp;
|
procedure IncChangeStamp;
|
||||||
procedure DoAfterComponentAdded; virtual;
|
procedure DoAfterComponentAdded;
|
||||||
function IndexOfPageName(const APageName: string): integer;
|
function IndexOfPageName(const APageName: string): integer;
|
||||||
function IndexOfPageWithName(const APageName: string): integer;
|
function IndexOfPageWithName(const APageName: string): integer;
|
||||||
function GetPage(const APageName: string; aCaseSens: Boolean = False): TBaseComponentPage;
|
function GetPage(const APageName: string; aCaseSens: Boolean = False): TBaseComponentPage;
|
||||||
@ -243,12 +241,9 @@ type
|
|||||||
procedure RemoveComponent(AComponent: TRegisteredComponent);
|
procedure RemoveComponent(AComponent: TRegisteredComponent);
|
||||||
function FindComponent(const CompClassName: string): TRegisteredComponent;
|
function FindComponent(const CompClassName: string): TRegisteredComponent;
|
||||||
function CreateNewClassName(const Prefix: string): string;
|
function CreateNewClassName(const Prefix: string): string;
|
||||||
procedure Update(ForceUpdateAll: Boolean); virtual; abstract;
|
procedure Update(ForceUpdateAll: Boolean); virtual;
|
||||||
procedure IterateRegisteredClasses(Proc: TGetComponentClassEvent);
|
procedure IterateRegisteredClasses(Proc: TGetComponentClassEvent);
|
||||||
{$IFDEF CustomIDEComps}
|
// Registered handlers
|
||||||
procedure RegisterCustomIDEComponents(
|
|
||||||
const RegisterProc: RegisterUnitComponentProc); virtual; abstract;
|
|
||||||
{$ENDIF}
|
|
||||||
procedure RemoveAllHandlersOfObject(AnObject: TObject);
|
procedure RemoveAllHandlersOfObject(AnObject: TObject);
|
||||||
procedure AddHandlerUpdateVisible(
|
procedure AddHandlerUpdateVisible(
|
||||||
const OnUpdateCompVisibleEvent: TUpdateCompVisibleEvent;
|
const OnUpdateCompVisibleEvent: TUpdateCompVisibleEvent;
|
||||||
@ -259,6 +254,9 @@ type
|
|||||||
const OnComponentAddedEvent: TComponentAddedEvent);
|
const OnComponentAddedEvent: TComponentAddedEvent);
|
||||||
procedure RemoveHandlerComponentAdded(
|
procedure RemoveHandlerComponentAdded(
|
||||||
const OnComponentAddedEvent: TComponentAddedEvent);
|
const OnComponentAddedEvent: TComponentAddedEvent);
|
||||||
|
{$IFDEF CustomIDEComps}
|
||||||
|
procedure RegisterCustomIDEComponents(const RegisterProc: RegisterUnitComponentProc);
|
||||||
|
{$ENDIF}
|
||||||
public
|
public
|
||||||
property Pages: TBaseComponentPageList read fPages;
|
property Pages: TBaseComponentPageList read fPages;
|
||||||
property Comps: TRegisteredComponentList read fComps;
|
property Comps: TRegisteredComponentList read fComps;
|
||||||
@ -642,14 +640,14 @@ procedure TBaseComponentPage.SetVisible(const AValue: boolean);
|
|||||||
begin
|
begin
|
||||||
if FVisible=AValue then exit;
|
if FVisible=AValue then exit;
|
||||||
FVisible:=AValue;
|
FVisible:=AValue;
|
||||||
if (FPalette<>nil) then
|
//if (FPalette<>nil) then
|
||||||
FPalette.OnPageVisibleChanged(Self);
|
// FPalette.OnPageVisibleChanged(Self);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TBaseComponentPage.OnComponentVisibleChanged(AComponent: TRegisteredComponent);
|
procedure TBaseComponentPage.OnComponentVisibleChanged(AComponent: TRegisteredComponent);
|
||||||
begin
|
begin
|
||||||
if FPalette<>nil then
|
//if FPalette<>nil then
|
||||||
FPalette.OnComponentVisibleChanged(AComponent);
|
// FPalette.OnComponentVisibleChanged(AComponent);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TBaseComponentPalette }
|
{ TBaseComponentPalette }
|
||||||
@ -844,6 +842,11 @@ begin
|
|||||||
Result := Nil;
|
Result := Nil;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TBaseComponentPalette.GetSelected: TRegisteredComponent;
|
||||||
|
begin
|
||||||
|
result := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TBaseComponentPalette.AddHandler(HandlerType: TComponentPaletteHandlerType;
|
procedure TBaseComponentPalette.AddHandler(HandlerType: TComponentPaletteHandlerType;
|
||||||
const AMethod: TMethod; AsLast: boolean);
|
const AMethod: TMethod; AsLast: boolean);
|
||||||
begin
|
begin
|
||||||
@ -852,11 +855,6 @@ begin
|
|||||||
FHandlers[HandlerType].Add(AMethod,AsLast);
|
FHandlers[HandlerType].Add(AMethod,AsLast);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TBaseComponentPalette.GetSelected: TRegisteredComponent;
|
|
||||||
begin
|
|
||||||
result := nil;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TBaseComponentPalette.RemoveHandler(HandlerType: TComponentPaletteHandlerType;
|
procedure TBaseComponentPalette.RemoveHandler(HandlerType: TComponentPaletteHandlerType;
|
||||||
const AMethod: TMethod);
|
const AMethod: TMethod);
|
||||||
begin
|
begin
|
||||||
@ -871,27 +869,18 @@ begin
|
|||||||
Update(False);
|
Update(False);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TBaseComponentPalette.OnPageAddedComponent(Component: TRegisteredComponent);
|
procedure TBaseComponentPalette.DoPageAddedComponent(Component: TRegisteredComponent);
|
||||||
begin
|
begin
|
||||||
|
fComponentCache.Add(Component);
|
||||||
DoChange;
|
DoChange;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TBaseComponentPalette.OnPageRemovedComponent(Page: TBaseComponentPage;
|
procedure TBaseComponentPalette.DoPageRemovedComponent(Component: TRegisteredComponent);
|
||||||
Component: TRegisteredComponent);
|
|
||||||
begin
|
begin
|
||||||
|
fComponentCache.Remove(Component);
|
||||||
DoChange;
|
DoChange;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TBaseComponentPalette.OnComponentVisibleChanged(AComponent: TRegisteredComponent);
|
|
||||||
begin
|
|
||||||
;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TBaseComponentPalette.OnPageVisibleChanged(APage: TBaseComponentPage);
|
|
||||||
begin
|
|
||||||
;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TBaseComponentPalette.VoteCompVisibility(AComponent: TRegisteredComponent): Boolean;
|
function TBaseComponentPalette.VoteCompVisibility(AComponent: TRegisteredComponent): Boolean;
|
||||||
var
|
var
|
||||||
i, Vote: Integer;
|
i, Vote: Integer;
|
||||||
@ -984,7 +973,7 @@ begin
|
|||||||
and (ComparePriority(NewPriority,Comps[InsertIndex].GetPriority)<=0) do
|
and (ComparePriority(NewPriority,Comps[InsertIndex].GetPriority)<=0) do
|
||||||
inc(InsertIndex);
|
inc(InsertIndex);
|
||||||
fComps.Insert(InsertIndex,NewComponent);
|
fComps.Insert(InsertIndex,NewComponent);
|
||||||
OnPageAddedComponent(NewComponent);
|
DoPageAddedComponent(NewComponent);
|
||||||
|
|
||||||
if NewComponent.FOrigPageName = '' then Exit;
|
if NewComponent.FOrigPageName = '' then Exit;
|
||||||
|
|
||||||
@ -1011,7 +1000,7 @@ procedure TBaseComponentPalette.RemoveComponent(AComponent: TRegisteredComponent
|
|||||||
begin
|
begin
|
||||||
fComps.Remove(AComponent);
|
fComps.Remove(AComponent);
|
||||||
AComponent.RealPage:=nil;
|
AComponent.RealPage:=nil;
|
||||||
//ToDo: fix OnPageRemovedComponent(AComponent.RealPage,AComponent);
|
//ToDo: fix DoPageRemovedComponent(AComponent);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TBaseComponentPalette.FindComponent(const CompClassName: string): TRegisteredComponent;
|
function TBaseComponentPalette.FindComponent(const CompClassName: string): TRegisteredComponent;
|
||||||
@ -1041,6 +1030,14 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TBaseComponentPalette.Update(ForceUpdateAll: Boolean);
|
||||||
|
begin
|
||||||
|
fUserOrder.SortPagesAndCompsUserOrder;
|
||||||
|
CreatePagesFromUserOrder;
|
||||||
|
//for Viewer in Viewers do
|
||||||
|
// Viewer.Update(ForceUpdateAll);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TBaseComponentPalette.IterateRegisteredClasses(Proc: TGetComponentClassEvent);
|
procedure TBaseComponentPalette.IterateRegisteredClasses(Proc: TGetComponentClassEvent);
|
||||||
var
|
var
|
||||||
i: Integer;
|
i: Integer;
|
||||||
@ -1057,6 +1054,8 @@ begin
|
|||||||
FHandlers[HandlerType].RemoveAllMethodsOfObject(AnObject);
|
FHandlers[HandlerType].RemoveAllMethodsOfObject(AnObject);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
// Add / Remove handlers
|
||||||
|
|
||||||
procedure TBaseComponentPalette.AddHandlerUpdateVisible(
|
procedure TBaseComponentPalette.AddHandlerUpdateVisible(
|
||||||
const OnUpdateCompVisibleEvent: TUpdateCompVisibleEvent; AsLast: boolean);
|
const OnUpdateCompVisibleEvent: TUpdateCompVisibleEvent; AsLast: boolean);
|
||||||
begin
|
begin
|
||||||
@ -1081,5 +1080,13 @@ begin
|
|||||||
RemoveHandler(cphtComponentAdded,TMethod(OnComponentAddedEvent));
|
RemoveHandler(cphtComponentAdded,TMethod(OnComponentAddedEvent));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{$IFDEF CustomIDEComps}
|
||||||
|
procedure TBaseComponentPalette.RegisterCustomIDEComponents(
|
||||||
|
const RegisterProc: RegisterUnitComponentProc);
|
||||||
|
begin
|
||||||
|
CustomIDEComps.RegisterCustomComponents(RegisterProc);
|
||||||
|
end;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
@ -41,9 +41,6 @@ uses
|
|||||||
Classes, SysUtils, AVL_Tree, fgl,
|
Classes, SysUtils, AVL_Tree, fgl,
|
||||||
Controls, Forms, Graphics, ComCtrls, Buttons, Menus, ExtCtrls,
|
Controls, Forms, Graphics, ComCtrls, Buttons, Menus, ExtCtrls,
|
||||||
FileUtil, LazFileCache, PropEdits, LCLProc, FormEditingIntf, LazIDEIntf,
|
FileUtil, LazFileCache, PropEdits, LCLProc, FormEditingIntf, LazIDEIntf,
|
||||||
{$IFDEF CustomIDEComps}
|
|
||||||
CustomIDEComps,
|
|
||||||
{$ENDIF}
|
|
||||||
MainBase, LazarusIDEStrConsts, ComponentReg, DesignerProcs, PackageDefs, EnvironmentOpts;
|
MainBase, LazarusIDEStrConsts, ComponentReg, DesignerProcs, PackageDefs, EnvironmentOpts;
|
||||||
|
|
||||||
const
|
const
|
||||||
@ -116,10 +113,8 @@ type
|
|||||||
function FindCompByButton(Button: TSpeedButton): TRegisteredComponent;
|
function FindCompByButton(Button: TSpeedButton): TRegisteredComponent;
|
||||||
function FindPkgCompByButton(Button: TComponent): TPkgComponent;
|
function FindPkgCompByButton(Button: TComponent): TPkgComponent;
|
||||||
function IndexOfPageComponent(AComponent: TComponent): integer;
|
function IndexOfPageComponent(AComponent: TComponent): integer;
|
||||||
// Component layout :
|
|
||||||
procedure ReAlignButtons(aSheet: TCustomPage);
|
procedure ReAlignButtons(aSheet: TCustomPage);
|
||||||
procedure UpdateNoteBookButtons(ForceUpdateAll: Boolean);
|
procedure UpdateNoteBookButtons(ForceUpdateAll: Boolean);
|
||||||
|
|
||||||
procedure RemoveUnneededPage(aSheet: TCustomPage);
|
procedure RemoveUnneededPage(aSheet: TCustomPage);
|
||||||
procedure SetPageControl(const AValue: TPageControl);
|
procedure SetPageControl(const AValue: TPageControl);
|
||||||
procedure SelectionToolClick(Sender: TObject);
|
procedure SelectionToolClick(Sender: TObject);
|
||||||
@ -135,24 +130,15 @@ type
|
|||||||
function GetUnregisteredIcon: TCustomBitmap;
|
function GetUnregisteredIcon: TCustomBitmap;
|
||||||
function GetSelectButtonIcon: TCustomBitmap;
|
function GetSelectButtonIcon: TCustomBitmap;
|
||||||
function SelectAButton(Button: TSpeedButton): boolean;
|
function SelectAButton(Button: TSpeedButton): boolean;
|
||||||
protected
|
procedure ComponentWasAdded;
|
||||||
procedure OnPageAddedComponent(Component: TRegisteredComponent); override;
|
procedure CheckComponentDesignerVisible(AComponent: TComponent; var Invisible: boolean);
|
||||||
procedure OnPageRemovedComponent(Page: TBaseComponentPage;
|
|
||||||
Component: TRegisteredComponent); override;
|
|
||||||
procedure CheckComponentDesignerVisible(AComponent: TComponent;
|
|
||||||
var Invisible: boolean);
|
|
||||||
procedure SetSelected(const AValue: TRegisteredComponent); override;
|
procedure SetSelected(const AValue: TRegisteredComponent); override;
|
||||||
function GetSelected: TRegisteredComponent; override;
|
function GetSelected: TRegisteredComponent; override;
|
||||||
public
|
public
|
||||||
constructor Create;
|
constructor Create;
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
procedure DoAfterComponentAdded; override;
|
|
||||||
procedure OnGetNonVisualCompIcon(Sender: TObject;
|
procedure OnGetNonVisualCompIcon(Sender: TObject;
|
||||||
AComponent: TComponent; var Icon: TCustomBitmap);
|
AComponent: TComponent; var Icon: TCustomBitmap);
|
||||||
{$IFDEF CustomIDEComps}
|
|
||||||
procedure RegisterCustomIDEComponents(
|
|
||||||
const RegisterProc: RegisterUnitComponentProc); override;
|
|
||||||
{$ENDIF}
|
|
||||||
procedure Update(ForceUpdateAll: Boolean); override;
|
procedure Update(ForceUpdateAll: Boolean); override;
|
||||||
public
|
public
|
||||||
property PageControl: TPageControl read FPageControl write SetPageControl;
|
property PageControl: TPageControl read FPageControl write SetPageControl;
|
||||||
@ -809,21 +795,9 @@ begin
|
|||||||
Handled := True;
|
Handled := True;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TComponentPalette.OnPageAddedComponent(Component: TRegisteredComponent);
|
|
||||||
begin
|
|
||||||
fComponentCache.Add(Component);
|
|
||||||
inherited OnPageAddedComponent(Component);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TComponentPalette.OnPageRemovedComponent(Page: TBaseComponentPage;
|
|
||||||
Component: TRegisteredComponent);
|
|
||||||
begin
|
|
||||||
fComponentCache.Remove(Component);
|
|
||||||
inherited OnPageRemovedComponent(Page, Component);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TComponentPalette.Update(ForceUpdateAll: Boolean);
|
procedure TComponentPalette.Update(ForceUpdateAll: Boolean);
|
||||||
begin
|
begin
|
||||||
|
inherited Update(ForceUpdateAll);
|
||||||
{$IFDEF VerboseComponentPalette}
|
{$IFDEF VerboseComponentPalette}
|
||||||
DebugLn(['TComponentPalette.Update, calling UpdateNoteBookButtons, fUpdatingPageControl=', fUpdatingPageControl]);
|
DebugLn(['TComponentPalette.Update, calling UpdateNoteBookButtons, fUpdatingPageControl=', fUpdatingPageControl]);
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
@ -852,6 +826,8 @@ begin
|
|||||||
fComponentButtons:=TComponentButtonMap.Create;
|
fComponentButtons:=TComponentButtonMap.Create;
|
||||||
fComponentButtons.Sorted:=True;
|
fComponentButtons.Sorted:=True;
|
||||||
OnComponentIsInvisible:=@CheckComponentDesignerVisible;
|
OnComponentIsInvisible:=@CheckComponentDesignerVisible;
|
||||||
|
{IDEComponentPalette.} AddHandlerComponentAdded(@ComponentWasAdded);
|
||||||
|
ComponentPageClass := TComponentPage; // Used by CreatePagesFromUserOrder
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor TComponentPalette.Destroy;
|
destructor TComponentPalette.Destroy;
|
||||||
@ -885,13 +861,6 @@ begin
|
|||||||
FPageControl.EnableAlign;
|
FPageControl.EnableAlign;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TComponentPalette.DoAfterComponentAdded;
|
|
||||||
begin
|
|
||||||
inherited DoAfterComponentAdded;
|
|
||||||
if not (ssShift in GetKeyShiftState) and (SelectionMode = csmSingle) then
|
|
||||||
Selected := nil;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TComponentPalette.GetUnregisteredIcon: TCustomBitmap;
|
function TComponentPalette.GetUnregisteredIcon: TCustomBitmap;
|
||||||
begin
|
begin
|
||||||
if fUnregisteredIcon = nil then
|
if fUnregisteredIcon = nil then
|
||||||
@ -919,6 +888,12 @@ begin
|
|||||||
Result := (Selected = NewComponent);
|
Result := (Selected = NewComponent);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TComponentPalette.ComponentWasAdded;
|
||||||
|
begin
|
||||||
|
if not (ssShift in GetKeyShiftState) and (SelectionMode = csmSingle) then
|
||||||
|
Selected := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TComponentPalette.ReAlignButtons(aSheet: TCustomPage);
|
procedure TComponentPalette.ReAlignButtons(aSheet: TCustomPage);
|
||||||
var
|
var
|
||||||
PageInd: Integer;
|
PageInd: Integer;
|
||||||
@ -966,11 +941,7 @@ begin
|
|||||||
FPageControl.DisableAlign;
|
FPageControl.DisableAlign;
|
||||||
try
|
try
|
||||||
fOldActivePage:=FPageControl.ActivePage;
|
fOldActivePage:=FPageControl.ActivePage;
|
||||||
fUserOrder.SortPagesAndCompsUserOrder;
|
|
||||||
ComponentPageClass := TComponentPage; // Used by CreatePagesFromUserOrder
|
|
||||||
CreatePagesFromUserOrder;
|
|
||||||
CreatePopupMenu;
|
CreatePopupMenu;
|
||||||
|
|
||||||
{$IFDEF VerboseComponentPalette}
|
{$IFDEF VerboseComponentPalette}
|
||||||
DebugLn(['TComponentPalette.UpdateNoteBookButtons: FPageCount before=', FPageControl.PageCount]);
|
DebugLn(['TComponentPalette.UpdateNoteBookButtons: FPageCount before=', FPageControl.PageCount]);
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
@ -991,8 +962,8 @@ begin
|
|||||||
fVisiblePageIndex := 0;
|
fVisiblePageIndex := 0;
|
||||||
for i := 0 to Pages.Count-1 do
|
for i := 0 to Pages.Count-1 do
|
||||||
begin
|
begin
|
||||||
// fPages and fUserOrder.ComponentPages are now synchronized, same index applies.
|
// Pages and UserOrder.ComponentPages are now synchronized, same index applies.
|
||||||
Assert(Pages[i].PageName=fUserOrder.ComponentPages[i],
|
Assert(Pages[i].PageName=UserOrder.ComponentPages[i],
|
||||||
'UpdateNoteBookButtons: Page names do not match.');
|
'UpdateNoteBookButtons: Page names do not match.');
|
||||||
Pg := TComponentPage(Pages[i]);
|
Pg := TComponentPage(Pages[i]);
|
||||||
{$IFDEF LCLQt} // Qt has some problems in moving existing tabs!
|
{$IFDEF LCLQt} // Qt has some problems in moving existing tabs!
|
||||||
@ -1001,7 +972,7 @@ begin
|
|||||||
Pg.RemoveSheet;
|
Pg.RemoveSheet;
|
||||||
end;
|
end;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
Pg.InsertVisiblePage(TStringList(fUserOrder.ComponentPages.Objects[i]));
|
Pg.InsertVisiblePage(TStringList(UserOrder.ComponentPages.Objects[i]));
|
||||||
{$IFDEF VerboseComponentPalette}
|
{$IFDEF VerboseComponentPalette}
|
||||||
DebugLn(['TComponentPalette.UpdateNoteBookButtons: PageIndex=', i, ' PageName=',Pages[i].PageName]);
|
DebugLn(['TComponentPalette.UpdateNoteBookButtons: PageIndex=', i, ' PageName=',Pages[i].PageName]);
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
@ -1073,13 +1044,5 @@ begin
|
|||||||
Result := FindCompByButton(Button as TSpeedButton) as TPkgComponent;
|
Result := FindCompByButton(Button as TSpeedButton) as TPkgComponent;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$IFDEF CustomIDEComps}
|
|
||||||
procedure TComponentPalette.RegisterCustomIDEComponents(
|
|
||||||
const RegisterProc: RegisterUnitComponentProc);
|
|
||||||
begin
|
|
||||||
CustomIDEComps.RegisterCustomComponents(RegisterProc);
|
|
||||||
end;
|
|
||||||
{$ENDIF}
|
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
@ -1523,6 +1523,7 @@ begin
|
|||||||
{$IFDEF IDE_MEM_CHECK}CheckHeapWrtMemCnt('TMainIDE.Create IDE COMPONENTS');{$ENDIF}
|
{$IFDEF IDE_MEM_CHECK}CheckHeapWrtMemCnt('TMainIDE.Create IDE COMPONENTS');{$ENDIF}
|
||||||
|
|
||||||
// load installed packages
|
// load installed packages
|
||||||
|
TComponentPalette(IDEComponentPalette).PageControl:=MainIDEBar.ComponentPageControl;
|
||||||
PkgBoss.LoadInstalledPackages;
|
PkgBoss.LoadInstalledPackages;
|
||||||
|
|
||||||
EditorMacroListViewer.LoadGlobalInfo; // Must be after packages are loaded/registered.
|
EditorMacroListViewer.LoadGlobalInfo; // Must be after packages are loaded/registered.
|
||||||
@ -8575,7 +8576,7 @@ var
|
|||||||
Grid: TOICustomPropertyGrid;
|
Grid: TOICustomPropertyGrid;
|
||||||
Row: TOIPropertyGridRow;
|
Row: TOIPropertyGridRow;
|
||||||
begin
|
begin
|
||||||
TComponentPalette(IDEComponentPalette).DoAfterComponentAdded;
|
IDEComponentPalette.DoAfterComponentAdded;
|
||||||
if EnvironmentOptions.CreateComponentFocusNameProperty
|
if EnvironmentOptions.CreateComponentFocusNameProperty
|
||||||
and (ObjectInspector1<>nil) then begin
|
and (ObjectInspector1<>nil) then begin
|
||||||
if (ObjectInspector1.ShowFavorites) and (EnvironmentOptions.SwitchToFavoritesOITab) then
|
if (ObjectInspector1.ShowFavorites) and (EnvironmentOptions.SwitchToFavoritesOITab) then
|
||||||
|
@ -3078,7 +3078,6 @@ begin
|
|||||||
PackageGraph.LoadStaticBasePackages;
|
PackageGraph.LoadStaticBasePackages;
|
||||||
LoadStaticCustomPackages;
|
LoadStaticCustomPackages;
|
||||||
LoadAutoInstallPackages;
|
LoadAutoInstallPackages;
|
||||||
TComponentPalette(IDEComponentPalette).PageControl:=MainIDEBar.ComponentPageControl;
|
|
||||||
finally
|
finally
|
||||||
IDEComponentPalette.EndUpdate;
|
IDEComponentPalette.EndUpdate;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user