fixed unhiding components

git-svn-id: trunk@4239 -
This commit is contained in:
mattias 2003-06-06 08:34:18 +00:00
parent c588bcfeb8
commit 58b51dbc7b
3 changed files with 32 additions and 11 deletions

View File

@ -72,7 +72,8 @@ type
procedure DoEndUpdate(Changed: boolean); override; procedure DoEndUpdate(Changed: boolean); override;
procedure OnPageAddedComponent(Component: TRegisteredComponent); override; procedure OnPageAddedComponent(Component: TRegisteredComponent); override;
procedure OnPageRemovedComponent(Page: TBaseComponentPage; procedure OnPageRemovedComponent(Page: TBaseComponentPage;
Component: TRegisteredComponent); override; Component: TRegisteredComponent); override;
procedure Update; override;
public public
constructor Create; constructor Create;
destructor Destroy; override; destructor Destroy; override;
@ -244,7 +245,7 @@ end;
procedure TComponentPalette.DoEndUpdate(Changed: boolean); procedure TComponentPalette.DoEndUpdate(Changed: boolean);
begin begin
if Changed then UpdateNoteBookButtons; if Changed or fNoteBookNeedsUpdate then UpdateNoteBookButtons;
inherited DoEndUpdate(Changed); inherited DoEndUpdate(Changed);
end; end;
@ -262,6 +263,12 @@ begin
inherited OnPageRemovedComponent(Page, Component); inherited OnPageRemovedComponent(Page, Component);
end; end;
procedure TComponentPalette.Update;
begin
inherited Update;
UpdateNoteBookButtons;
end;
constructor TComponentPalette.Create; constructor TComponentPalette.Create;
begin begin
inherited Create; inherited Create;
@ -346,6 +353,7 @@ begin
fNoteBookNeedsUpdate:=false; fNoteBookNeedsUpdate:=false;
exit; exit;
end; end;
//writeln('TComponentPalette.UpdateNoteBookButtons A');
fUpdatingNotebook:=true; fUpdatingNotebook:=true;
OldActivePage:=FNoteBook.ActivePage; OldActivePage:=FNoteBook.ActivePage;
// remove every page in the notebook without a visible page // remove every page in the notebook without a visible page
@ -417,14 +425,16 @@ begin
OnClick := @ComponentBtnClick; OnClick := @ComponentBtnClick;
Hint := CurComponent.ComponentClass.ClassName; Hint := CurComponent.ComponentClass.ClassName;
SetBounds(ButtonX,0,ComponentPaletteBtnWidth,ComponentPaletteBtnHeight); SetBounds(ButtonX,0,ComponentPaletteBtnWidth,ComponentPaletteBtnHeight);
inc(ButtonX,ComponentPaletteBtnWidth+2);
CurBtn.PopupMenu:=Self.PopupMenu; CurBtn.PopupMenu:=Self.PopupMenu;
end; end;
//writeln('TComponentPalette.UpdateNoteBookButtons Created Button: ',CurComponent.ComponentClass.ClassName,' ',CurComponent.Button.Name);
end; end;
end else if CurComponent.Button<>nil then begin end else if CurComponent.Button<>nil then begin
//writeln('TComponentPalette.UpdateNoteBookButtons Destroy Button: ',CurComponent.ComponentClass.ClassName,' ',CurComponent.Button.Name);
CurComponent.Button.Free; CurComponent.Button.Free;
CurComponent.Button:=nil; CurComponent.Button:=nil;
end; end;
inc(ButtonX,ComponentPaletteBtnWidth+2);
end; end;
end; end;
// restore active page // restore active page
@ -437,6 +447,7 @@ begin
// unlock // unlock
fUpdatingNotebook:=false; fUpdatingNotebook:=false;
fNoteBookNeedsUpdate:=false; fNoteBookNeedsUpdate:=false;
//writeln('TComponentPalette.UpdateNoteBookButtons END');
end; end;
procedure TComponentPalette.OnGetNonVisualCompIconCanvas(Sender: TObject; procedure TComponentPalette.OnGetNonVisualCompIconCanvas(Sender: TObject;

View File

@ -154,6 +154,7 @@ type
procedure OnPageRemovedComponent(Page: TBaseComponentPage; procedure OnPageRemovedComponent(Page: TBaseComponentPage;
Component: TRegisteredComponent); virtual; Component: TRegisteredComponent); virtual;
procedure OnComponentVisibleChanged(AComponent: TRegisteredComponent); virtual; procedure OnComponentVisibleChanged(AComponent: TRegisteredComponent); virtual;
procedure Update; virtual;
public public
constructor Create; constructor Create;
destructor Destroy; override; destructor Destroy; override;
@ -405,7 +406,10 @@ end;
procedure TBaseComponentPalette.DoChange; procedure TBaseComponentPalette.DoChange;
begin begin
if FUpdateLock>0 then fChanged:=true; if FUpdateLock>0 then
fChanged:=true
else
Update;
end; end;
procedure TBaseComponentPalette.DoEndUpdate(Changed: boolean); procedure TBaseComponentPalette.DoEndUpdate(Changed: boolean);
@ -431,6 +435,11 @@ begin
DoChange; DoChange;
end; end;
procedure TBaseComponentPalette.Update;
begin
end;
constructor TBaseComponentPalette.Create; constructor TBaseComponentPalette.Create;
begin begin
FItems:=TList.Create; FItems:=TList.Create;

View File

@ -1387,11 +1387,14 @@ end;
procedure TPkgManager.LoadInstalledPackages; procedure TPkgManager.LoadInstalledPackages;
begin begin
IDEComponentPalette.BeginUpdate(true); IDEComponentPalette.BeginUpdate(true);
LoadStaticBasePackages; try
LoadStaticCustomPackages; LoadStaticBasePackages;
IDEComponentPalette.EndUpdate; LoadStaticCustomPackages;
LoadAutoInstallPackages; LoadAutoInstallPackages;
finally
IDEComponentPalette.EndUpdate;
end;
end; end;
procedure TPkgManager.UnloadInstalledPackages; procedure TPkgManager.UnloadInstalledPackages;
@ -1409,10 +1412,8 @@ end;
procedure TPkgManager.UpdateVisibleComponentPalette; procedure TPkgManager.UpdateVisibleComponentPalette;
begin begin
{$IFNDEF DisablePkgs}
TComponentPalette(IDEComponentPalette).NoteBook:=MainIDE.ComponentNotebook; TComponentPalette(IDEComponentPalette).NoteBook:=MainIDE.ComponentNotebook;
TComponentPalette(IDEComponentPalette).UpdateNoteBookButtons; TComponentPalette(IDEComponentPalette).UpdateNoteBookButtons;
{$ENDIF}
end; end;
function TPkgManager.AddPackageToGraph(APackage: TLazPackage; function TPkgManager.AddPackageToGraph(APackage: TLazPackage;