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

View File

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

View File

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