mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-11 05:07:56 +02:00
IDE: Update component list to match the layout of component palette, triggered when window is activated.
git-svn-id: trunk@47231 -
This commit is contained in:
parent
30724bdc59
commit
4d92d2ec5b
@ -181,6 +181,7 @@ type
|
||||
FHideControls: boolean;
|
||||
FUpdateLock: integer;
|
||||
fChanged: boolean;
|
||||
fChangeStamp: integer;
|
||||
procedure AddHandler(HandlerType: TComponentPaletteHandlerType;
|
||||
const AMethod: TMethod; AsLast: boolean = false);
|
||||
procedure RemoveHandler(HandlerType: TComponentPaletteHandlerType;
|
||||
@ -217,6 +218,7 @@ type
|
||||
procedure BeginUpdate(Change: boolean);
|
||||
procedure EndUpdate;
|
||||
function IsUpdateLocked: boolean;
|
||||
function IncChangeStamp: integer;
|
||||
procedure DoAfterComponentAdded; virtual;
|
||||
function IndexOfPageName(const APageName: string): integer;
|
||||
function IndexOfPageWithName(const APageName: string): integer;
|
||||
@ -244,15 +246,16 @@ type
|
||||
public
|
||||
property Pages: TBaseComponentPageList read fPages;
|
||||
property Comps: TRegisteredComponentList read fComps;
|
||||
property OrigPagePriorities: TPagePriorityList read fOrigPagePriorities;
|
||||
property BaseComponentPageClass: TBaseComponentPageClass read FBaseComponentPageClass;
|
||||
property RegisteredComponentClass: TRegisteredComponentClass
|
||||
read FRegisteredComponentClass;
|
||||
property UpdateLock: integer read FUpdateLock;
|
||||
property ChangeStamp: integer read fChangeStamp;
|
||||
property OnBeginUpdate: TNotifyEvent read FOnBeginUpdate write FOnBeginUpdate;
|
||||
property OnEndUpdate: TEndUpdatePaletteEvent read FOnEndUpdate write FOnEndUpdate;
|
||||
property HideControls: boolean read FHideControls write FHideControls;
|
||||
property Selected: TRegisteredComponent read GetSelected write SetSelected;
|
||||
property OrigPagePriorities: TPagePriorityList read fOrigPagePriorities;
|
||||
end;
|
||||
|
||||
|
||||
@ -720,6 +723,11 @@ begin
|
||||
Result:=FUpdateLock>0;
|
||||
end;
|
||||
|
||||
function TBaseComponentPalette.IncChangeStamp: integer;
|
||||
begin
|
||||
Inc(fChangeStamp);
|
||||
end;
|
||||
|
||||
procedure TBaseComponentPalette.DoAfterComponentAdded;
|
||||
var
|
||||
i: Integer;
|
||||
|
@ -7,6 +7,7 @@ object ComponentListForm: TComponentListForm
|
||||
ClientHeight = 467
|
||||
ClientWidth = 300
|
||||
KeyPreview = True
|
||||
OnActivate = FormActivate
|
||||
OnClose = FormClose
|
||||
OnKeyDown = FormKeyDown
|
||||
OnShow = FormShow
|
||||
|
@ -58,6 +58,7 @@ type
|
||||
InheritanceTree: TTreeView;
|
||||
PalletteTree: TTreeView;
|
||||
TreeFilterEd: TTreeFilterEdit;
|
||||
procedure FormActivate(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure OKButtonClick(Sender: TObject);
|
||||
procedure ComponentsDblClick(Sender: TObject);
|
||||
@ -73,6 +74,7 @@ type
|
||||
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||
private
|
||||
PrevPageIndex: Integer;
|
||||
PrevChangeStamp: Integer;
|
||||
// List for Component inheritence view
|
||||
FClassList: TStringList;
|
||||
FKeepSelected: Boolean;
|
||||
@ -114,11 +116,14 @@ begin
|
||||
PalletteTree.Images:=ListTree.Images;
|
||||
PrevPageIndex := -1;
|
||||
PageControl.ActivePage := TabSheetList;
|
||||
UpdateComponentSelection;
|
||||
with ListTree do
|
||||
Selected := Items.GetFirstNode;
|
||||
TreeFilterEd.InvalidateFilter;
|
||||
IDEComponentPalette.AddHandlerComponentAdded(@ComponentWasAdded);
|
||||
if Assigned(IDEComponentPalette) then
|
||||
begin
|
||||
UpdateComponentSelection;
|
||||
with ListTree do
|
||||
Selected := Items.GetFirstNode;
|
||||
TreeFilterEd.InvalidateFilter;
|
||||
IDEComponentPalette.AddHandlerComponentAdded(@ComponentWasAdded);
|
||||
end;
|
||||
end;
|
||||
|
||||
destructor TComponentListForm.Destroy;
|
||||
@ -146,6 +151,12 @@ begin
|
||||
PageControl.AnchorSideBottom.Side := asrBottom;
|
||||
end;
|
||||
|
||||
procedure TComponentListForm.FormActivate(Sender: TObject);
|
||||
begin
|
||||
if Assigned(IDEComponentPalette) and (IDEComponentPalette.ChangeStamp<>PrevChangeStamp) then
|
||||
UpdateComponentSelection;
|
||||
end;
|
||||
|
||||
procedure TComponentListForm.ClearSelection;
|
||||
begin
|
||||
ListTree.Selected := Nil;
|
||||
@ -278,6 +289,7 @@ begin
|
||||
PalletteTree.FullExpand;
|
||||
InheritanceTree.AlphaSort;
|
||||
InheritanceTree.FullExpand;
|
||||
PrevChangeStamp := IDEComponentPalette.ChangeStamp;
|
||||
finally
|
||||
FClassList.Free;
|
||||
InheritanceTree.Items.EndUpdate;
|
||||
|
@ -204,6 +204,7 @@ procedure TCompPaletteOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
||||
begin
|
||||
if not fConfigChanged then Exit;
|
||||
ActualWriteSettings((AOptions as TEnvironmentOptions).ComponentPaletteOptions);
|
||||
IDEComponentPalette.IncChangeStamp;
|
||||
end;
|
||||
|
||||
procedure TCompPaletteOptionsFrame.ActualWriteSettings(cpo: TCompPaletteOptions);
|
||||
|
Loading…
Reference in New Issue
Block a user