Fix crash when double clicking component at design time
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2458 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
parent
e333deef99
commit
7b30784ee6
@ -271,7 +271,7 @@ Component:=self.GetComponent;
|
|||||||
if not(Component is TSpkToolbar) then
|
if not(Component is TSpkToolbar) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
EditWindow.SetData(TSpkToolbar(Component),Self);
|
EditWindow.SetData(TSpkToolbar(Component),Self.GetDesigner);
|
||||||
EditWindow.Show;
|
EditWindow.Show;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -11,7 +11,6 @@ object frmEditWindow: TfrmEditWindow
|
|||||||
Font.Height = -11
|
Font.Height = -11
|
||||||
Font.Name = 'Tahoma'
|
Font.Name = 'Tahoma'
|
||||||
OnActivate = FormActivate
|
OnActivate = FormActivate
|
||||||
OnCreate = FormCreate
|
|
||||||
OnDestroy = FormDestroy
|
OnDestroy = FormDestroy
|
||||||
OnShow = FormShow
|
OnShow = FormShow
|
||||||
LCLVersion = '1.1'
|
LCLVersion = '1.1'
|
||||||
|
@ -81,13 +81,12 @@ type
|
|||||||
procedure FormActivate(Sender: TObject);
|
procedure FormActivate(Sender: TObject);
|
||||||
procedure tvStructureEdited(Sender: TObject; Node: TTreeNode;
|
procedure tvStructureEdited(Sender: TObject; Node: TTreeNode;
|
||||||
var S: string);
|
var S: string);
|
||||||
procedure FormCreate(Sender: TObject);
|
|
||||||
procedure FormDestroy(Sender: TObject);
|
procedure FormDestroy(Sender: TObject);
|
||||||
private
|
private
|
||||||
{ Private declarations }
|
{ Private declarations }
|
||||||
protected
|
protected
|
||||||
FToolbar: TSpkToolbar;
|
FToolbar: TSpkToolbar;
|
||||||
FEditor: TComponentEditor;
|
FDesigner: TComponentEditorDesigner;
|
||||||
|
|
||||||
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
|
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
|
||||||
|
|
||||||
@ -110,7 +109,7 @@ type
|
|||||||
procedure BuildTreeData;
|
procedure BuildTreeData;
|
||||||
procedure RefreshNames;
|
procedure RefreshNames;
|
||||||
|
|
||||||
procedure SetData(AToolbar : TSpkToolbar; AEditor: TComponentEditor);
|
procedure SetData(AToolbar : TSpkToolbar; ADesigner: TComponentEditorDesigner);
|
||||||
|
|
||||||
property Toolbar : TSpkToolbar read FToolbar;
|
property Toolbar : TSpkToolbar read FToolbar;
|
||||||
end;
|
end;
|
||||||
@ -131,11 +130,10 @@ var Obj : TObject;
|
|||||||
NewNode : TTreeNode;
|
NewNode : TTreeNode;
|
||||||
Tab : TSpkTab;
|
Tab : TSpkTab;
|
||||||
Pane : TSpkPane;
|
Pane : TSpkPane;
|
||||||
Hook: TPropertyEditorHook;
|
|
||||||
begin
|
begin
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
exit;
|
exit;
|
||||||
if not FEditor.GetHook(Hook) then
|
if FDesigner.PropertyEditorHook = nil then
|
||||||
Exit;
|
Exit;
|
||||||
|
|
||||||
Node:=tvStructure.Selected;
|
Node:=tvStructure.Selected;
|
||||||
@ -150,7 +148,7 @@ if Obj is TSpkTab then
|
|||||||
Tab:=TSpkTab(Obj);
|
Tab:=TSpkTab(Obj);
|
||||||
Pane:=TSpkPane.Create(FToolbar.Owner);
|
Pane:=TSpkPane.Create(FToolbar.Owner);
|
||||||
Pane.Parent:=FToolbar;
|
Pane.Parent:=FToolbar;
|
||||||
Pane.Name := FEditor.Designer.CreateUniqueComponentName(Pane.ClassName);
|
Pane.Name := FDesigner.CreateUniqueComponentName(Pane.ClassName);
|
||||||
Tab.Panes.AddItem(Pane);
|
Tab.Panes.AddItem(Pane);
|
||||||
NewNode:=tvStructure.Items.AddChild(Node, Pane.Caption);
|
NewNode:=tvStructure.Items.AddChild(Node, Pane.Caption);
|
||||||
NewNode.Data:=Pane;
|
NewNode.Data:=Pane;
|
||||||
@ -167,7 +165,7 @@ if Obj is TSpkPane then
|
|||||||
Tab:=TSpkTab(Node.Parent.Data);
|
Tab:=TSpkTab(Node.Parent.Data);
|
||||||
Pane:=TSpkPane.Create(FToolbar.Owner);
|
Pane:=TSpkPane.Create(FToolbar.Owner);
|
||||||
Pane.Parent:=FToolbar;
|
Pane.Parent:=FToolbar;
|
||||||
Pane.Name:=FEditor.Designer.CreateUniqueComponentName(Pane.ClassName);
|
Pane.Name:=FDesigner.CreateUniqueComponentName(Pane.ClassName);
|
||||||
Tab.Panes.AddItem(Pane);
|
Tab.Panes.AddItem(Pane);
|
||||||
NewNode:=tvStructure.Items.AddChild(Node.Parent, Pane.Caption);
|
NewNode:=tvStructure.Items.AddChild(Node.Parent, Pane.Caption);
|
||||||
NewNode.Data:=Pane;
|
NewNode.Data:=Pane;
|
||||||
@ -185,7 +183,7 @@ if Obj is TSpkBaseItem then
|
|||||||
Tab:=TSpkTab(Node.Parent.Parent.Data);
|
Tab:=TSpkTab(Node.Parent.Parent.Data);
|
||||||
Pane:=TSpkPane.Create(FToolbar.Owner);
|
Pane:=TSpkPane.Create(FToolbar.Owner);
|
||||||
Pane.Parent:=FToolbar;
|
Pane.Parent:=FToolbar;
|
||||||
Pane.Name:=FEditor.Designer.CreateUniqueComponentName(Pane.ClassName);
|
Pane.Name:=FDesigner.CreateUniqueComponentName(Pane.ClassName);
|
||||||
Tab.Panes.AddItem(Pane);
|
Tab.Panes.AddItem(Pane);
|
||||||
NewNode:=tvStructure.Items.AddChild(Node.Parent.Parent, Pane.Caption);
|
NewNode:=tvStructure.Items.AddChild(Node.Parent.Parent, Pane.Caption);
|
||||||
NewNode.Data:=Pane;
|
NewNode.Data:=Pane;
|
||||||
@ -195,8 +193,8 @@ if Obj is TSpkBaseItem then
|
|||||||
CheckActionsAvailability;
|
CheckActionsAvailability;
|
||||||
end else
|
end else
|
||||||
raise exception.create('TfrmEditWindow.aAddPaneExecute: Nieprawid³owy obiekt podwieszony pod ga³êzi¹!');
|
raise exception.create('TfrmEditWindow.aAddPaneExecute: Nieprawid³owy obiekt podwieszony pod ga³êzi¹!');
|
||||||
Hook.PersistentAdded(Pane,True);
|
FDesigner.PropertyEditorHook.PersistentAdded(Pane,True);
|
||||||
FEditor.Modified;
|
FDesigner.Modified;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfrmEditWindow.aAddSmallButtonExecute(Sender: TObject);
|
procedure TfrmEditWindow.aAddSmallButtonExecute(Sender: TObject);
|
||||||
@ -223,18 +221,17 @@ procedure TfrmEditWindow.aAddTabExecute(Sender: TObject);
|
|||||||
|
|
||||||
var Node : TTreeNode;
|
var Node : TTreeNode;
|
||||||
Tab : TSpkTab;
|
Tab : TSpkTab;
|
||||||
Hook: TPropertyEditorHook;
|
|
||||||
|
|
||||||
begin
|
begin
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
exit;
|
exit;
|
||||||
if not FEditor.GetHook(Hook) then
|
if FDesigner.PropertyEditorHook = nil then
|
||||||
Exit;
|
Exit;
|
||||||
|
|
||||||
Tab:=TSpkTab.Create(FToolbar.Owner);
|
Tab:=TSpkTab.Create(FToolbar.Owner);
|
||||||
Tab.Parent:=FToolbar;
|
Tab.Parent:=FToolbar;
|
||||||
FToolbar.Tabs.AddItem(Tab);
|
FToolbar.Tabs.AddItem(Tab);
|
||||||
Tab.Name:=FEditor.Designer.CreateUniqueComponentName(Tab.ClassName);
|
Tab.Name:=FDesigner.CreateUniqueComponentName(Tab.ClassName);
|
||||||
Node:=tvStructure.Items.AddChild(nil, Tab.Caption);
|
Node:=tvStructure.Items.AddChild(nil, Tab.Caption);
|
||||||
Node.Data:=Tab;
|
Node.Data:=Tab;
|
||||||
Node.ImageIndex:=0;
|
Node.ImageIndex:=0;
|
||||||
@ -242,8 +239,8 @@ Node.SelectedIndex:=0;
|
|||||||
Node.Selected:=true;
|
Node.Selected:=true;
|
||||||
CheckActionsAvailability;
|
CheckActionsAvailability;
|
||||||
|
|
||||||
Hook.PersistentAdded(Tab,True);
|
FDesigner.PropertyEditorHook.PersistentAdded(Tab,True);
|
||||||
FEditor.Modified;
|
FDesigner.Modified;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfrmEditWindow.AddItem(ItemClass: TSpkBaseItemClass);
|
procedure TfrmEditWindow.AddItem(ItemClass: TSpkBaseItemClass);
|
||||||
@ -254,11 +251,10 @@ var Node : TTreeNode;
|
|||||||
Item: TSpkBaseItem;
|
Item: TSpkBaseItem;
|
||||||
NewNode: TTreeNode;
|
NewNode: TTreeNode;
|
||||||
s: string;
|
s: string;
|
||||||
Hook: TPropertyEditorHook;
|
|
||||||
begin
|
begin
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
Exit;
|
Exit;
|
||||||
if not FEditor.GetHook(Hook) then
|
if FDesigner.PropertyEditorHook = nil then
|
||||||
Exit;
|
Exit;
|
||||||
|
|
||||||
Node:=tvStructure.Selected;
|
Node:=tvStructure.Selected;
|
||||||
@ -274,7 +270,7 @@ if Obj is TSpkPane then
|
|||||||
Item:=ItemClass.Create(FToolbar.Owner);
|
Item:=ItemClass.Create(FToolbar.Owner);
|
||||||
Item.Parent:=FToolbar;
|
Item.Parent:=FToolbar;
|
||||||
Pane.Items.AddItem(Item);
|
Pane.Items.AddItem(Item);
|
||||||
Item.Name:=FEditor.Designer.CreateUniqueComponentName(Item.ClassName);
|
Item.Name:=FDesigner.CreateUniqueComponentName(Item.ClassName);
|
||||||
s:=GetItemCaption(Item);
|
s:=GetItemCaption(Item);
|
||||||
NewNode:=tvStructure.Items.AddChild(Node, s);
|
NewNode:=tvStructure.Items.AddChild(Node, s);
|
||||||
NewNode.Data:=Item;
|
NewNode.Data:=Item;
|
||||||
@ -292,7 +288,7 @@ if Obj is TSpkBaseItem then
|
|||||||
Item:=ItemClass.Create(FToolbar.Owner);
|
Item:=ItemClass.Create(FToolbar.Owner);
|
||||||
Item.Parent:=FToolbar;
|
Item.Parent:=FToolbar;
|
||||||
Pane.Items.AddItem(Item);
|
Pane.Items.AddItem(Item);
|
||||||
Item.Name:=FEditor.Designer.CreateUniqueComponentName(Item.ClassName);
|
Item.Name:=FDesigner.CreateUniqueComponentName(Item.ClassName);
|
||||||
s:=GetItemCaption(Item);
|
s:=GetItemCaption(Item);
|
||||||
NewNode:=tvStructure.Items.AddChild(Node.Parent, s);
|
NewNode:=tvStructure.Items.AddChild(Node.Parent, s);
|
||||||
NewNode.Data:=Item;
|
NewNode.Data:=Item;
|
||||||
@ -302,8 +298,8 @@ if Obj is TSpkBaseItem then
|
|||||||
CheckActionsAvailability;
|
CheckActionsAvailability;
|
||||||
end else
|
end else
|
||||||
raise exception.create('TfrmEditWindow.AddItem: Nieprawid³owy obiekt podwieszony pod ga³êzi¹!');
|
raise exception.create('TfrmEditWindow.AddItem: Nieprawid³owy obiekt podwieszony pod ga³êzi¹!');
|
||||||
Hook.PersistentAdded(Item,True);
|
FDesigner.PropertyEditorHook.PersistentAdded(Item,True);
|
||||||
FEditor.Modified;
|
FDesigner.Modified;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfrmEditWindow.aMoveDownExecute(Sender: TObject);
|
procedure TfrmEditWindow.aMoveDownExecute(Sender: TObject);
|
||||||
@ -316,7 +312,7 @@ var Node : TTreeNode;
|
|||||||
Item: TSpkBaseItem;
|
Item: TSpkBaseItem;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
Node:=tvStructure.Selected;
|
Node:=tvStructure.Selected;
|
||||||
@ -399,7 +395,7 @@ var Node : TTreeNode;
|
|||||||
Item: TSpkBaseItem;
|
Item: TSpkBaseItem;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
Node:=tvStructure.Selected;
|
Node:=tvStructure.Selected;
|
||||||
@ -475,7 +471,7 @@ end;
|
|||||||
procedure TfrmEditWindow.aRemoveItemExecute(Sender: TObject);
|
procedure TfrmEditWindow.aRemoveItemExecute(Sender: TObject);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
DoRemoveItem;
|
DoRemoveItem;
|
||||||
@ -484,7 +480,7 @@ end;
|
|||||||
procedure TfrmEditWindow.aRemovePaneExecute(Sender: TObject);
|
procedure TfrmEditWindow.aRemovePaneExecute(Sender: TObject);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
DoRemovePane;
|
DoRemovePane;
|
||||||
@ -493,7 +489,7 @@ end;
|
|||||||
procedure TfrmEditWindow.aRemoveTabExecute(Sender: TObject);
|
procedure TfrmEditWindow.aRemoveTabExecute(Sender: TObject);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
DoRemoveTab;
|
DoRemoveTab;
|
||||||
@ -509,7 +505,7 @@ var Node : TTreeNode;
|
|||||||
Item: TSpkBaseItem;
|
Item: TSpkBaseItem;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
begin
|
begin
|
||||||
// Brak toolbara lub designera
|
// Brak toolbara lub designera
|
||||||
|
|
||||||
@ -637,7 +633,7 @@ end;
|
|||||||
function TfrmEditWindow.CheckValidItemNode(Node: TTreeNode): boolean;
|
function TfrmEditWindow.CheckValidItemNode(Node: TTreeNode): boolean;
|
||||||
begin
|
begin
|
||||||
result:=false;
|
result:=false;
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
{$B-}
|
{$B-}
|
||||||
@ -650,7 +646,7 @@ end;
|
|||||||
function TfrmEditWindow.CheckValidPaneNode(Node: TTreeNode): boolean;
|
function TfrmEditWindow.CheckValidPaneNode(Node: TTreeNode): boolean;
|
||||||
begin
|
begin
|
||||||
result:=false;
|
result:=false;
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
{$B-}
|
{$B-}
|
||||||
@ -663,7 +659,7 @@ end;
|
|||||||
function TfrmEditWindow.CheckValidTabNode(Node: TTreeNode): boolean;
|
function TfrmEditWindow.CheckValidTabNode(Node: TTreeNode): boolean;
|
||||||
begin
|
begin
|
||||||
result:=false;
|
result:=false;
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
{$B-}
|
{$B-}
|
||||||
@ -674,19 +670,13 @@ end;
|
|||||||
|
|
||||||
procedure TfrmEditWindow.FormActivate(Sender: TObject);
|
procedure TfrmEditWindow.FormActivate(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
if not(ValidateTreeData) then
|
if not(ValidateTreeData) then
|
||||||
BuildTreeData;
|
BuildTreeData;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfrmEditWindow.FormCreate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
FToolbar:=nil;
|
|
||||||
FEditor:=nil;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrmEditWindow.FormDestroy(Sender: TObject);
|
procedure TfrmEditWindow.FormDestroy(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
if FToolbar<>nil then
|
if FToolbar<>nil then
|
||||||
@ -695,7 +685,7 @@ end;
|
|||||||
|
|
||||||
procedure TfrmEditWindow.FormShow(Sender: TObject);
|
procedure TfrmEditWindow.FormShow(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
BuildTreeData;
|
BuildTreeData;
|
||||||
@ -703,7 +693,7 @@ end;
|
|||||||
|
|
||||||
function TfrmEditWindow.GetItemCaption(Item: TSpkBaseItem): string;
|
function TfrmEditWindow.GetItemCaption(Item: TSpkBaseItem): string;
|
||||||
begin
|
begin
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
if Item is TSpkBaseButton then
|
if Item is TSpkBaseButton then
|
||||||
@ -731,21 +721,21 @@ end;
|
|||||||
|
|
||||||
procedure TfrmEditWindow.SetItemCaption(Item: TSpkBaseItem; const Value : string);
|
procedure TfrmEditWindow.SetItemCaption(Item: TSpkBaseItem; const Value : string);
|
||||||
begin
|
begin
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
if Item is TSpkBaseButton then
|
if Item is TSpkBaseButton then
|
||||||
TSpkBaseButton(Item).Caption:=Value;
|
TSpkBaseButton(Item).Caption:=Value;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfrmEditWindow.SetData(AToolbar: TSpkToolbar; AEditor: TComponentEditor);
|
procedure TfrmEditWindow.SetData(AToolbar: TSpkToolbar; ADesigner: TComponentEditorDesigner);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
if FToolbar<>nil then
|
if FToolbar<>nil then
|
||||||
FToolbar.RemoveFreeNotification(self);
|
FToolbar.RemoveFreeNotification(self);
|
||||||
|
|
||||||
FToolbar:=AToolbar;
|
FToolbar:=AToolbar;
|
||||||
FEditor:=AEditor;
|
FDesigner:=ADesigner;
|
||||||
|
|
||||||
if FToolbar<>nil then
|
if FToolbar<>nil then
|
||||||
FToolbar.FreeNotification(self);
|
FToolbar.FreeNotification(self);
|
||||||
@ -761,7 +751,7 @@ var
|
|||||||
Pane: TSpkPane;
|
Pane: TSpkPane;
|
||||||
NextNode: TTreeNode;
|
NextNode: TTreeNode;
|
||||||
begin
|
begin
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
Node := tvStructure.Selected;
|
Node := tvStructure.Selected;
|
||||||
@ -792,7 +782,7 @@ var
|
|||||||
Node: TTreeNode;
|
Node: TTreeNode;
|
||||||
Tab: TSpkTab;
|
Tab: TSpkTab;
|
||||||
begin
|
begin
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
Node := tvStructure.Selected;
|
Node := tvStructure.Selected;
|
||||||
@ -823,7 +813,7 @@ var
|
|||||||
NextNode: TTreeNode;
|
NextNode: TTreeNode;
|
||||||
//DesignObj: IDesignObject;
|
//DesignObj: IDesignObject;
|
||||||
begin
|
begin
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
Node := tvStructure.Selected;
|
Node := tvStructure.Selected;
|
||||||
@ -855,7 +845,7 @@ if (FToolbar=nil) or (FEditor=nil) then
|
|||||||
// wypadku IDE bêdzie próbowa³o wyœwietliæ w Object Inspectorze w³aœciwoœci
|
// wypadku IDE bêdzie próbowa³o wyœwietliæ w Object Inspectorze w³aœciwoœci
|
||||||
// w³aœnie zwolnionego obiektu, co skoñczy siê, powiedzmy, niezbyt mi³o)
|
// w³aœnie zwolnionego obiektu, co skoñczy siê, powiedzmy, niezbyt mi³o)
|
||||||
//DesignObj := PersistentToDesignObject(FToolbar);
|
//DesignObj := PersistentToDesignObject(FToolbar);
|
||||||
FEditor.Designer.SelectOnlyThisComponent(FToolbar);
|
FDesigner.SelectOnlyThisComponent(FToolbar);
|
||||||
CheckActionsAvailability;
|
CheckActionsAvailability;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -879,7 +869,7 @@ begin
|
|||||||
tvStructure.Items.Clear;
|
tvStructure.Items.Clear;
|
||||||
tvStructure.OnDeletion := tvStructureDeletion;
|
tvStructure.OnDeletion := tvStructureDeletion;
|
||||||
|
|
||||||
if (FToolbar<>nil) and (FEditor<>nil) then
|
if (FToolbar<>nil) and (FDesigner<>nil) then
|
||||||
begin
|
begin
|
||||||
if FToolbar.Tabs.Count > 0 then
|
if FToolbar.Tabs.Count > 0 then
|
||||||
for i := 0 to FToolbar.Tabs.Count - 1 do
|
for i := 0 to FToolbar.Tabs.Count - 1 do
|
||||||
@ -932,7 +922,7 @@ var tabnode, panenode, itemnode : TTreeNode;
|
|||||||
s: string;
|
s: string;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
tabnode:=tvStructure.Items.GetFirstNode;
|
tabnode:=tvStructure.Items.GetFirstNode;
|
||||||
@ -982,7 +972,7 @@ var Obj : TObject;
|
|||||||
index : integer;
|
index : integer;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
if assigned(Node) then
|
if assigned(Node) then
|
||||||
@ -994,10 +984,8 @@ if assigned(Node) then
|
|||||||
|
|
||||||
if Obj is TSpkTab then
|
if Obj is TSpkTab then
|
||||||
begin
|
begin
|
||||||
Tab:=Obj as TSpkTab;
|
Tab:=TSpkTab(Obj);
|
||||||
//DesignObj:=PersistentToDesignObject(Tab);
|
FDesigner.SelectOnlyThisComponent(Tab);
|
||||||
FEditor.Designer.SelectOnlyThisComponent(Tab);
|
|
||||||
|
|
||||||
index:=FToolbar.Tabs.IndexOf(Tab);
|
index:=FToolbar.Tabs.IndexOf(Tab);
|
||||||
if index=-1 then
|
if index=-1 then
|
||||||
raise exception.create('TfrmEditWindow.tvStructureChange: Uszkodzona struktura drzewa!');
|
raise exception.create('TfrmEditWindow.tvStructureChange: Uszkodzona struktura drzewa!');
|
||||||
@ -1005,9 +993,8 @@ if assigned(Node) then
|
|||||||
end else
|
end else
|
||||||
if Obj is TSpkPane then
|
if Obj is TSpkPane then
|
||||||
begin
|
begin
|
||||||
Pane:=Obj as TSpkPane;
|
Pane:=TSpkPane(Obj);
|
||||||
//DesignObj:=PersistentToDesignObject(Pane);
|
FDesigner.SelectOnlyThisComponent(Pane);
|
||||||
FEditor.Designer.SelectOnlyThisComponent(Pane);
|
|
||||||
|
|
||||||
if not(CheckValidPaneNode(Node)) then
|
if not(CheckValidPaneNode(Node)) then
|
||||||
raise exception.create('TfrmEditWindow.tvStructureChange: Uszkodzona struktura drzewa!');
|
raise exception.create('TfrmEditWindow.tvStructureChange: Uszkodzona struktura drzewa!');
|
||||||
@ -1021,9 +1008,8 @@ if assigned(Node) then
|
|||||||
end else
|
end else
|
||||||
if Obj is TSpkBaseItem then
|
if Obj is TSpkBaseItem then
|
||||||
begin
|
begin
|
||||||
Item:=Obj as TSpkBaseItem;
|
Item:=TSpkBaseItem(Obj);
|
||||||
//DesignObj:=PersistentToDesignObject(Item);
|
FDesigner.SelectOnlyThisComponent(Item);
|
||||||
FEditor.Designer.SelectOnlyThisComponent(Item);
|
|
||||||
|
|
||||||
if not(CheckValidItemNode(Node)) then
|
if not(CheckValidItemNode(Node)) then
|
||||||
raise exception.create('TfrmEditWindow.tvStructureChange: Uszkodzona struktura drzewa!');
|
raise exception.create('TfrmEditWindow.tvStructureChange: Uszkodzona struktura drzewa!');
|
||||||
@ -1038,8 +1024,7 @@ if assigned(Node) then
|
|||||||
raise exception.create('TfrmEditWindow.tvStructureChange: Nieprawid³owy obiekt podwieszony pod ga³êzi¹!');
|
raise exception.create('TfrmEditWindow.tvStructureChange: Nieprawid³owy obiekt podwieszony pod ga³êzi¹!');
|
||||||
end else
|
end else
|
||||||
begin
|
begin
|
||||||
//DesignObj:=PersistentToDesignObject(FToolbar);
|
FDesigner.SelectOnlyThisComponent(FToolbar);
|
||||||
FEditor.Designer.SelectOnlyThisComponent(FToolbar);
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
CheckActionsAvailability;
|
CheckActionsAvailability;
|
||||||
@ -1071,7 +1056,7 @@ var
|
|||||||
Item: TSpkBaseItem;
|
Item: TSpkBaseItem;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
if Node.Data = nil then
|
if Node.Data = nil then
|
||||||
@ -1079,24 +1064,24 @@ if Node.Data = nil then
|
|||||||
|
|
||||||
if TObject(Node.Data) is TSpkTab then
|
if TObject(Node.Data) is TSpkTab then
|
||||||
begin
|
begin
|
||||||
Tab:=TObject(Node.Data) as TSpkTab;
|
Tab:=TSpkTab(Node.Data);
|
||||||
Tab.Caption:=S;
|
Tab.Caption:=S;
|
||||||
|
|
||||||
FEditor.Modified;
|
FDesigner.Modified;
|
||||||
end else
|
end else
|
||||||
if TObject(Node.Data) is TSpkPane then
|
if TObject(Node.Data) is TSpkPane then
|
||||||
begin
|
begin
|
||||||
Pane:=TObject(Node.Data) as TSpkPane;
|
Pane:=TSpkPane(Node.Data);
|
||||||
Pane.Caption:=S;
|
Pane.Caption:=S;
|
||||||
|
|
||||||
FEditor.Modified;
|
FDesigner.Modified;
|
||||||
end else
|
end else
|
||||||
if TObject(Node.Data) is TSpkBaseItem then
|
if TObject(Node.Data) is TSpkBaseItem then
|
||||||
begin
|
begin
|
||||||
Item:=TObject(Node.Data) as TSpkBaseItem;
|
Item:=TSpkBaseItem(Node.Data);
|
||||||
SetItemCaption(Item, S);
|
SetItemCaption(Item, S);
|
||||||
|
|
||||||
FEditor.Modified;
|
FDesigner.Modified;
|
||||||
end else
|
end else
|
||||||
raise exception.create('TfrmEditWindow.tvStructureEdited: Uszkodzona struktura drzewa!');
|
raise exception.create('TfrmEditWindow.tvStructureEdited: Uszkodzona struktura drzewa!');
|
||||||
end;
|
end;
|
||||||
@ -1104,7 +1089,7 @@ end;
|
|||||||
procedure TfrmEditWindow.tvStructureKeyDown(Sender: TObject; var Key: Word;
|
procedure TfrmEditWindow.tvStructureKeyDown(Sender: TObject; var Key: Word;
|
||||||
Shift: TShiftState);
|
Shift: TShiftState);
|
||||||
begin
|
begin
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
if Key = VK_DELETE then
|
if Key = VK_DELETE then
|
||||||
@ -1145,7 +1130,7 @@ var
|
|||||||
|
|
||||||
begin
|
begin
|
||||||
result:=false;
|
result:=false;
|
||||||
if (FToolbar=nil) or (FEditor=nil) then
|
if (FToolbar=nil) or (FDesigner=nil) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
i:=0;
|
i:=0;
|
||||||
|
Loading…
Reference in New Issue
Block a user