tvplanit: Fix missing update of object inspector/component tree when new folders/items are added by VpNavBar component editor.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6375 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2018-05-03 22:12:30 +00:00
parent 166dae1e7f
commit 6542115d09
3 changed files with 28 additions and 23 deletions

View File

@@ -154,25 +154,11 @@ uses
const const
ITEMS_MARGIN = 2; ITEMS_MARGIN = 2;
IMG_MARGIN = 4; IMG_MARGIN = 4;
(*
procedure EditNavBar(ADesigner: TComponentEditorDesigner; ABar: TVpNavBar);
var
editor: TObject;
begin
editor := FindEditorForm(ABar);
if editor = nil then begin
DebugLn('EditorForm not found');
editor := TfrmNavBarEd.Create(Application, ABar, ADesigner);
RegisterEditorForm(editor, ABar);
end;
if editor <> nil then
with TfrmNavBarEd(editor) do begin
ShowOnTop;
end;
end;
*)
{*** TVpNavBarEditor ***}
{-------------------------------------------------------------------------------
TVpNavBarEditor
-------------------------------------------------------------------------------}
procedure TVpNavBarEditor.ExecuteVerb(Index : Integer); procedure TVpNavBarEditor.ExecuteVerb(Index : Integer);
var var
@@ -205,7 +191,9 @@ begin
end; end;
{*** TfrmNavBarEd ***} {-------------------------------------------------------------------------------
TfrmNavBarEd
-------------------------------------------------------------------------------}
constructor TfrmNavBarEd.Create(AOwner: TComponent; ABar: TVpNavBar; constructor TfrmNavBarEd.Create(AOwner: TComponent; ABar: TVpNavBar;
ADesigner: TComponentEditorDesigner); ADesigner: TComponentEditorDesigner);
@@ -316,6 +304,7 @@ begin
pnlImages.Height := Bar.Images.Height + GetScrollbarHeight + 2*IMG_MARGIN + pnlImages.Height := Bar.Images.Height + GetScrollbarHeight + 2*IMG_MARGIN +
Panel8.Height + pnlImages.BorderSpacing.Top + pnlImages.BorderSpacing.Bottom; Panel8.Height + pnlImages.BorderSpacing.Top + pnlImages.BorderSpacing.Bottom;
end; end;
lbFolders.SetFocus;
end; end;
function TfrmNavBarEd.FindFolderIndex(APersistent: TPersistent): Integer; function TfrmNavBarEd.FindFolderIndex(APersistent: TPersistent): Integer;
@@ -740,20 +729,36 @@ begin
end; end;
procedure TfrmNavBarEd.btnFolderAddClick(Sender: TObject); procedure TfrmNavBarEd.btnFolderAddClick(Sender: TObject);
var
folder: TVpNavFolder;
begin begin
Bar.FolderCollection.Add; folder := TVpNavFolder(FBar.FolderCollection.Add);
// folder.Name := Designer.CreateUniqueComponentName('TVpNavFolder');
GlobalDesignHook.PersistentAdded(folder, true);
(*
PopulateFolderList; PopulateFolderList;
lbFolders.ItemIndex := lbFolders.Items.Count - 1; lbFolders.ItemIndex := lbFolders.Items.Count - 1;
SelectionChanged(true); SelectionChanged(true);
if Assigned(Designer) then if Assigned(Designer) then
Designer.Modified; Designer.Modified;
lbFoldersClick(Self); lbFoldersClick(Self);
UpdateBtnStates; *)
lbFoldersClick(self);
// UpdateBtnStates;
end; end;
procedure TfrmNavBarEd.btnItemAddClick(Sender: TObject); procedure TfrmNavBarEd.btnItemAddClick(Sender: TObject);
var
folder: TVpNavFolder;
item: TVpNavBtnItem;
begin begin
if (lbFolders.ItemIndex <> -1) then begin if (lbFolders.ItemIndex <> -1) then begin
folder := TVpNavFolder(lbFolders.Items.Objects[lbFolders.ItemIndex]);
item := TVpNavBtnItem(folder.ItemCollection.Add);
// item.Name := Designer.CreateUniqueComponentName('TVpNavBtnItem');
GlobalDesignHook.PersistentAdded(item, true);
(*
TVpNavFolder( TVpNavFolder(
lbFolders.Items.Objects[lbFolders.ItemIndex]).ItemCollection.Add; lbFolders.Items.Objects[lbFolders.ItemIndex]).ItemCollection.Add;
lbItems.ItemIndex := -1; lbItems.ItemIndex := -1;
@@ -762,6 +767,7 @@ begin
SelectionChanged(true); SelectionChanged(true);
if assigned(Designer) then if assigned(Designer) then
Designer.Modified; Designer.Modified;
*)
end; end;
UpdateBtnStates; UpdateBtnStates;
end; end;

View File

@@ -1036,7 +1036,6 @@ begin
Result := GetSystemMetrics(SM_CXVSCROLL); Result := GetSystemMetrics(SM_CXVSCROLL);
end; end;
{$PUSH}{$HINTS OFF} {$PUSH}{$HINTS OFF}
procedure Unused(const A1); procedure Unused(const A1);
begin begin

View File

@@ -756,7 +756,7 @@ begin
inherited Create(Collection); inherited Create(Collection);
FFolder := TVpNavFolder((TVpCollection(Collection)).GetOwner); FFolder := TVpNavFolder((TVpCollection(Collection)).GetOwner);
FIconIndex := -1; FIconIndex := -1;
Name := Format('Item%d-%d', [FFolder.Index, Index]); Name := Format('Item%d_%d', [FFolder.Index, Index]);
FFolder.FNavBar.Invalidate; FFolder.FNavBar.Invalidate;
end; end;
{=====} {=====}