You've already forked lazarus-ccr
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:
@@ -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;
|
||||||
|
@@ -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
|
||||||
|
@@ -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;
|
||||||
{=====}
|
{=====}
|
||||||
|
Reference in New Issue
Block a user