Fix compilation after adding items at design time

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2456 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
blikblum
2012-06-09 16:11:12 +00:00
parent dad2214c71
commit e1b8b548d7
2 changed files with 91 additions and 117 deletions

View File

@ -262,9 +262,8 @@ implementation
procedure TSpkToolbarEditor.DoOpenContentsEditor; procedure TSpkToolbarEditor.DoOpenContentsEditor;
var Component : TComponent; var
Toolbar : TSpkToolbar; Component : TComponent;
Designer : TIDesigner;
begin begin
Component:=self.GetComponent; Component:=self.GetComponent;
@ -272,10 +271,7 @@ Component:=self.GetComponent;
if not(Component is TSpkToolbar) then if not(Component is TSpkToolbar) then
exit; exit;
Toolbar:=TSpkToolbar(Component); EditWindow.SetData(TSpkToolbar(Component),Self);
Designer:=self.GetDesigner;
EditWindow.SetData(Toolbar,Designer);
EditWindow.Show; EditWindow.Show;
end; end;

View File

@ -7,8 +7,8 @@ interface
uses uses
LCLIntf, LCLType, LMessages, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, LCLIntf, LCLType, LMessages, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, {DesignIntf, DesignEditors,} StdCtrls, ImgList, ComCtrls, ToolWin, Dialogs, {DesignIntf, DesignEditors,} StdCtrls, ImgList, ComCtrls, ToolWin,
ActnList, Menus, ActnList, Menus, ComponentEditors, PropEdits,
SpkToolbar, spkt_Tab, spkt_Pane, spkt_BaseItem, spkt_Buttons, spkt_Types; SpkToolbar, spkt_Tab, spkt_Pane, spkt_BaseItem, spkt_Buttons, spkt_Types, spkt_Checkboxes;
type TCreateItemFunc = function(Pane : TSpkPane) : TSpkBaseItem; type TCreateItemFunc = function(Pane : TSpkPane) : TSpkBaseItem;
@ -86,14 +86,14 @@ type
private private
{ Private declarations } { Private declarations }
protected protected
FToolbar : TSpkToolbar; FToolbar: TSpkToolbar;
FDesigner : TIDesigner; FEditor: TComponentEditor;
procedure Notification(AComponent: TComponent; Operation: TOperation); override; procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure CheckActionsAvailability; procedure CheckActionsAvailability;
procedure AddItem(CreateItemFunc : TCreateItemFunc); procedure AddItem(ItemClass: TSpkBaseItemClass);
function GetItemCaption(Item : TSpkBaseItem) : string; function GetItemCaption(Item : TSpkBaseItem) : string;
procedure SetItemCaption(Item : TSpkBaseItem; const Value : String); procedure SetItemCaption(Item : TSpkBaseItem; const Value : String);
@ -110,7 +110,7 @@ type
procedure BuildTreeData; procedure BuildTreeData;
procedure RefreshNames; procedure RefreshNames;
procedure SetData(AToolbar : TSpkToolbar; ADesigner : TIDesigner); procedure SetData(AToolbar : TSpkToolbar; AEditor: TComponentEditor);
property Toolbar : TSpkToolbar read FToolbar; property Toolbar : TSpkToolbar read FToolbar;
end; end;
@ -124,19 +124,6 @@ implementation
{ TfrmEditWindow } { TfrmEditWindow }
function CreateLargeButton(Pane : TSpkPane) : TSpkBaseItem;
begin
result:=Pane.Items.AddLargeButton;
end;
procedure TfrmEditWindow.aAddLargeButtonExecute(Sender: TObject);
begin
if (FToolbar=nil) or (FDesigner=nil) then
exit;
AddItem(@CreateLargeButton);
end;
procedure TfrmEditWindow.aAddPaneExecute(Sender: TObject); procedure TfrmEditWindow.aAddPaneExecute(Sender: TObject);
var Obj : TObject; var Obj : TObject;
@ -144,10 +131,12 @@ var Obj : TObject;
NewNode : TTreeNode; NewNode : TTreeNode;
Tab : TSpkTab; Tab : TSpkTab;
Pane : TSpkPane; Pane : TSpkPane;
Hook: TPropertyEditorHook;
begin begin
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
exit; exit;
if not FEditor.GetHook(Hook) then
Exit;
Node:=tvStructure.Selected; Node:=tvStructure.Selected;
if Node = nil then if Node = nil then
@ -159,17 +148,16 @@ Obj:=TObject(Node.Data);
if Obj is TSpkTab then if Obj is TSpkTab then
begin begin
Tab:=TSpkTab(Obj); Tab:=TSpkTab(Obj);
Pane:=Tab.Panes.Add; Pane:=TSpkPane.Create(FToolbar.Owner);
Pane.Name := FDesigner.UniqueName(Pane.ClassName); Pane.Parent:=FToolbar;
Pane.Name := FEditor.Designer.CreateUniqueComponentName(Pane.ClassName);
Tab.Panes.AddItem(Pane);
NewNode:=tvStructure.Items.AddChild(Node, Pane.Caption); NewNode:=tvStructure.Items.AddChild(Node, Pane.Caption);
NewNode.Data:=Pane; NewNode.Data:=Pane;
NewNode.ImageIndex:=1; NewNode.ImageIndex:=1;
NewNode.SelectedIndex:=1; NewNode.SelectedIndex:=1;
NewNode.Selected:=true; NewNode.Selected:=true;
CheckActionsAvailability; CheckActionsAvailability;
//DesignObj:=PersistentToDesignObject(Pane);
FDesigner.SelectOnlyThisComponent(Pane);
end else end else
if Obj is TSpkPane then if Obj is TSpkPane then
begin begin
@ -177,8 +165,10 @@ if Obj is TSpkPane then
raise exception.create('TfrmEditWindow.aAddPaneExecute: Uszkodzona struktura drzewa!'); raise exception.create('TfrmEditWindow.aAddPaneExecute: Uszkodzona struktura drzewa!');
Tab:=TSpkTab(Node.Parent.Data); Tab:=TSpkTab(Node.Parent.Data);
Pane:=Tab.Panes.Add; Pane:=TSpkPane.Create(FToolbar.Owner);
Pane.Name := FDesigner.UniqueName(Pane.ClassName); Pane.Parent:=FToolbar;
Pane.Name:=FEditor.Designer.CreateUniqueComponentName(Pane.ClassName);
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;
NewNode.ImageIndex:=1; NewNode.ImageIndex:=1;
@ -186,8 +176,6 @@ if Obj is TSpkPane then
NewNode.Selected:=true; NewNode.Selected:=true;
CheckActionsAvailability; CheckActionsAvailability;
//DesignObj:=PersistentToDesignObject(Pane);
FDesigner.SelectOnlyThisComponent(Pane);
end else end else
if Obj is TSpkBaseItem then if Obj is TSpkBaseItem then
begin begin
@ -195,70 +183,58 @@ if Obj is TSpkBaseItem then
raise exception.create('TfrmEditWindow.aAddPaneExecute: Uszkodzona struktura drzewa!'); raise exception.create('TfrmEditWindow.aAddPaneExecute: Uszkodzona struktura drzewa!');
Tab:=TSpkTab(Node.Parent.Parent.Data); Tab:=TSpkTab(Node.Parent.Parent.Data);
Pane:=Tab.Panes.Add; Pane:=TSpkPane.Create(FToolbar.Owner);
Pane.Name := FDesigner.UniqueName(Pane.ClassName); Pane.Parent:=FToolbar;
Pane.Name:=FEditor.Designer.CreateUniqueComponentName(Pane.ClassName);
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;
NewNode.ImageIndex:=1; NewNode.ImageIndex:=1;
NewNode.SelectedIndex:=1; NewNode.SelectedIndex:=1;
NewNode.Selected:=true; NewNode.Selected:=true;
CheckActionsAvailability; CheckActionsAvailability;
//DesignObj:=PersistentToDesignObject(Pane);
FDesigner.SelectOnlyThisComponent(Pane);
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�!');
end; Hook.PersistentAdded(Pane,True);
FEditor.Modified;
function CreateSmallButton(Pane : TSpkPane) : TSpkBaseItem;
begin
result:=Pane.Items.AddSmallButton;
end; end;
procedure TfrmEditWindow.aAddSmallButtonExecute(Sender: TObject); procedure TfrmEditWindow.aAddSmallButtonExecute(Sender: TObject);
begin begin
if (FToolbar=nil) or (FDesigner=nil) then AddItem(TSpkSmallButton);
exit;
AddItem(@CreateSmallButton);
end; end;
function CreateCheckbox(Pane: TSpkPane): TSpkBaseItem; procedure TfrmEditWindow.aAddLargeButtonExecute(Sender: TObject);
begin begin
result := Pane.Items.AddCheckbox; AddItem(TSpkLargeButton);
end; end;
procedure TfrmEditWindow.aAddCheckboxExecute(Sender: TObject); procedure TfrmEditWindow.aAddCheckboxExecute(Sender: TObject);
begin begin
if (FToolbar = nil) or (FDesigner = nil) then AddItem(TSpkCheckbox);
exit;
AddItem(@CreateCheckbox);
end;
function CreateRadioButton(Pane: TSpkPane): TSpkBaseItem;
begin
result := Pane.Items.AddRadioButton;
end; end;
procedure TfrmEditWindow.aAddRadioButtonExecute(Sender: TObject); procedure TfrmEditWindow.aAddRadioButtonExecute(Sender: TObject);
begin begin
if (FToolbar = nil) or (FDesigner = nil) then AddItem(TSpkRadioButton);
exit;
AddItem(@CreateRadioButton);
end; end;
procedure TfrmEditWindow.aAddTabExecute(Sender: TObject); procedure TfrmEditWindow.aAddTabExecute(Sender: TObject);
var Node : TTreeNode; var Node : TTreeNode;
Tab : TSpkTab; Tab : TSpkTab;
Hook: TPropertyEditorHook;
begin begin
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
exit; exit;
if not FEditor.GetHook(Hook) then
Exit;
Tab:=FToolbar.Tabs.Add; Tab:=TSpkTab.Create(FToolbar.Owner);
Tab.Name := FDesigner.UniqueName(Tab.ClassName); Tab.Parent:=FToolbar;
FToolbar.Tabs.AddItem(Tab);
Tab.Name:=FEditor.Designer.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;
@ -266,11 +242,11 @@ Node.SelectedIndex:=0;
Node.Selected:=true; Node.Selected:=true;
CheckActionsAvailability; CheckActionsAvailability;
//DesignObj:=PersistentToDesignObject(Tab); Hook.PersistentAdded(Tab,True);
FDesigner.SelectOnlyThisComponent(Tab); FEditor.Modified;
end; end;
procedure TfrmEditWindow.AddItem(CreateItemFunc : TCreateItemFunc); procedure TfrmEditWindow.AddItem(ItemClass: TSpkBaseItemClass);
var Node : TTreeNode; var Node : TTreeNode;
Obj : TObject; Obj : TObject;
@ -278,10 +254,12 @@ var Node : TTreeNode;
Item: TSpkBaseItem; Item: TSpkBaseItem;
NewNode: TTreeNode; NewNode: TTreeNode;
s: string; s: string;
Hook: TPropertyEditorHook;
begin begin
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
exit; Exit;
if not FEditor.GetHook(Hook) then
Exit;
Node:=tvStructure.Selected; Node:=tvStructure.Selected;
if Node = nil then if Node = nil then
@ -293,8 +271,10 @@ Obj:=TObject(Node.Data);
if Obj is TSpkPane then if Obj is TSpkPane then
begin begin
Pane:=TSpkPane(Obj); Pane:=TSpkPane(Obj);
Item:=CreateItemFunc(Pane); Item:=ItemClass.Create(FToolbar.Owner);
Item.Name := FDesigner.UniqueName(Item.ClassName); Item.Parent:=FToolbar;
Pane.Items.AddItem(Item);
Item.Name:=FEditor.Designer.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;
@ -302,9 +282,6 @@ if Obj is TSpkPane then
NewNode.SelectedIndex:=2; NewNode.SelectedIndex:=2;
NewNode.Selected:=true; NewNode.Selected:=true;
CheckActionsAvailability; CheckActionsAvailability;
//DesignObj:=PersistentToDesignObject(Item);
FDesigner.SelectOnlyThisComponent(Item);
end else end else
if Obj is TSpkBaseItem then if Obj is TSpkBaseItem then
begin begin
@ -312,8 +289,10 @@ if Obj is TSpkBaseItem then
raise exception.create('TfrmEditWindow.AddItem: Uszkodzona struktura drzewa!'); raise exception.create('TfrmEditWindow.AddItem: Uszkodzona struktura drzewa!');
Pane:=TSpkPane(Node.Parent.Data); Pane:=TSpkPane(Node.Parent.Data);
Item:=CreateItemFunc(Pane); Item:=ItemClass.Create(FToolbar.Owner);
Item.Name := FDesigner.UniqueName(Item.ClassName); Item.Parent:=FToolbar;
Pane.Items.AddItem(Item);
Item.Name:=FEditor.Designer.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;
@ -321,11 +300,10 @@ if Obj is TSpkBaseItem then
NewNode.SelectedIndex:=2; NewNode.SelectedIndex:=2;
NewNode.Selected:=true; NewNode.Selected:=true;
CheckActionsAvailability; CheckActionsAvailability;
//DesignObj:=PersistentToDesignObject(Item);
FDesigner.SelectOnlyThisComponent(Item);
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);
FEditor.Modified;
end; end;
procedure TfrmEditWindow.aMoveDownExecute(Sender: TObject); procedure TfrmEditWindow.aMoveDownExecute(Sender: TObject);
@ -338,7 +316,7 @@ var Node : TTreeNode;
Item: TSpkBaseItem; Item: TSpkBaseItem;
begin begin
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
exit; exit;
Node:=tvStructure.Selected; Node:=tvStructure.Selected;
@ -421,7 +399,7 @@ var Node : TTreeNode;
Item: TSpkBaseItem; Item: TSpkBaseItem;
begin begin
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
exit; exit;
Node:=tvStructure.Selected; Node:=tvStructure.Selected;
@ -497,7 +475,7 @@ end;
procedure TfrmEditWindow.aRemoveItemExecute(Sender: TObject); procedure TfrmEditWindow.aRemoveItemExecute(Sender: TObject);
begin begin
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
exit; exit;
DoRemoveItem; DoRemoveItem;
@ -506,7 +484,7 @@ end;
procedure TfrmEditWindow.aRemovePaneExecute(Sender: TObject); procedure TfrmEditWindow.aRemovePaneExecute(Sender: TObject);
begin begin
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
exit; exit;
DoRemovePane; DoRemovePane;
@ -515,7 +493,7 @@ end;
procedure TfrmEditWindow.aRemoveTabExecute(Sender: TObject); procedure TfrmEditWindow.aRemoveTabExecute(Sender: TObject);
begin begin
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
exit; exit;
DoRemoveTab; DoRemoveTab;
@ -531,7 +509,7 @@ var Node : TTreeNode;
Item: TSpkBaseItem; Item: TSpkBaseItem;
begin begin
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
begin begin
// Brak toolbara lub designera // Brak toolbara lub designera
@ -659,7 +637,7 @@ end;
function TfrmEditWindow.CheckValidItemNode(Node: TTreeNode): boolean; function TfrmEditWindow.CheckValidItemNode(Node: TTreeNode): boolean;
begin begin
result:=false; result:=false;
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
exit; exit;
{$B-} {$B-}
@ -672,7 +650,7 @@ end;
function TfrmEditWindow.CheckValidPaneNode(Node: TTreeNode): boolean; function TfrmEditWindow.CheckValidPaneNode(Node: TTreeNode): boolean;
begin begin
result:=false; result:=false;
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
exit; exit;
{$B-} {$B-}
@ -685,7 +663,7 @@ end;
function TfrmEditWindow.CheckValidTabNode(Node: TTreeNode): boolean; function TfrmEditWindow.CheckValidTabNode(Node: TTreeNode): boolean;
begin begin
result:=false; result:=false;
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
exit; exit;
{$B-} {$B-}
@ -696,7 +674,7 @@ end;
procedure TfrmEditWindow.FormActivate(Sender: TObject); procedure TfrmEditWindow.FormActivate(Sender: TObject);
begin begin
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
exit; exit;
if not(ValidateTreeData) then if not(ValidateTreeData) then
@ -706,7 +684,7 @@ end;
procedure TfrmEditWindow.FormCreate(Sender: TObject); procedure TfrmEditWindow.FormCreate(Sender: TObject);
begin begin
FToolbar:=nil; FToolbar:=nil;
FDesigner:=nil; FEditor:=nil;
end; end;
procedure TfrmEditWindow.FormDestroy(Sender: TObject); procedure TfrmEditWindow.FormDestroy(Sender: TObject);
@ -717,7 +695,7 @@ end;
procedure TfrmEditWindow.FormShow(Sender: TObject); procedure TfrmEditWindow.FormShow(Sender: TObject);
begin begin
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
exit; exit;
BuildTreeData; BuildTreeData;
@ -725,7 +703,7 @@ end;
function TfrmEditWindow.GetItemCaption(Item: TSpkBaseItem): string; function TfrmEditWindow.GetItemCaption(Item: TSpkBaseItem): string;
begin begin
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
exit; exit;
if Item is TSpkBaseButton then if Item is TSpkBaseButton then
@ -753,21 +731,21 @@ end;
procedure TfrmEditWindow.SetItemCaption(Item: TSpkBaseItem; const Value : string); procedure TfrmEditWindow.SetItemCaption(Item: TSpkBaseItem; const Value : string);
begin begin
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=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; ADesigner: TIDesigner); procedure TfrmEditWindow.SetData(AToolbar: TSpkToolbar; AEditor: TComponentEditor);
begin begin
if FToolbar<>nil then if FToolbar<>nil then
FToolbar.RemoveFreeNotification(self); FToolbar.RemoveFreeNotification(self);
FToolbar:=AToolbar; FToolbar:=AToolbar;
FDesigner:=ADesigner; FEditor:=AEditor;
if FToolbar<>nil then if FToolbar<>nil then
FToolbar.FreeNotification(self); FToolbar.FreeNotification(self);
@ -783,7 +761,7 @@ var
Pane: TSpkPane; Pane: TSpkPane;
NextNode: TTreeNode; NextNode: TTreeNode;
begin begin
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
exit; exit;
Node := tvStructure.Selected; Node := tvStructure.Selected;
@ -814,7 +792,7 @@ var
Node: TTreeNode; Node: TTreeNode;
Tab: TSpkTab; Tab: TSpkTab;
begin begin
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
exit; exit;
Node := tvStructure.Selected; Node := tvStructure.Selected;
@ -845,7 +823,7 @@ var
NextNode: TTreeNode; NextNode: TTreeNode;
//DesignObj: IDesignObject; //DesignObj: IDesignObject;
begin begin
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
exit; exit;
Node := tvStructure.Selected; Node := tvStructure.Selected;
@ -877,7 +855,7 @@ if (FToolbar=nil) or (FDesigner=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);
FDesigner.SelectOnlyThisComponent(FToolbar); FEditor.Designer.SelectOnlyThisComponent(FToolbar);
CheckActionsAvailability; CheckActionsAvailability;
end; end;
end; end;
@ -901,7 +879,7 @@ begin
tvStructure.Items.Clear; tvStructure.Items.Clear;
tvStructure.OnDeletion := tvStructureDeletion; tvStructure.OnDeletion := tvStructureDeletion;
if (FToolbar<>nil) and (FDesigner<>nil) then if (FToolbar<>nil) and (FEditor<>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
@ -954,7 +932,7 @@ var tabnode, panenode, itemnode : TTreeNode;
s: string; s: string;
begin begin
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
exit; exit;
tabnode:=tvStructure.Items.GetFirstNode; tabnode:=tvStructure.Items.GetFirstNode;
@ -1004,7 +982,7 @@ var Obj : TObject;
index : integer; index : integer;
begin begin
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
exit; exit;
if assigned(Node) then if assigned(Node) then
@ -1018,7 +996,7 @@ if assigned(Node) then
begin begin
Tab:=Obj as TSpkTab; Tab:=Obj as TSpkTab;
//DesignObj:=PersistentToDesignObject(Tab); //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
@ -1029,7 +1007,7 @@ if assigned(Node) then
begin begin
Pane:=Obj as TSpkPane; Pane:=Obj as TSpkPane;
//DesignObj:=PersistentToDesignObject(Pane); //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!');
@ -1045,7 +1023,7 @@ if assigned(Node) then
begin begin
Item:=Obj as TSpkBaseItem; Item:=Obj as TSpkBaseItem;
//DesignObj:=PersistentToDesignObject(Item); //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!');
@ -1061,7 +1039,7 @@ if assigned(Node) then
end else end else
begin begin
//DesignObj:=PersistentToDesignObject(FToolbar); //DesignObj:=PersistentToDesignObject(FToolbar);
FDesigner.SelectOnlyThisComponent(FToolbar); FEditor.Designer.SelectOnlyThisComponent(FToolbar);
end; end;
CheckActionsAvailability; CheckActionsAvailability;
@ -1093,7 +1071,7 @@ var
Item: TSpkBaseItem; Item: TSpkBaseItem;
begin begin
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
exit; exit;
if Node.Data = nil then if Node.Data = nil then
@ -1104,21 +1082,21 @@ if TObject(Node.Data) is TSpkTab then
Tab:=TObject(Node.Data) as TSpkTab; Tab:=TObject(Node.Data) as TSpkTab;
Tab.Caption:=S; Tab.Caption:=S;
FDesigner.Modified; FEditor.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:=TObject(Node.Data) as TSpkPane;
Pane.Caption:=S; Pane.Caption:=S;
FDesigner.Modified; FEditor.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:=TObject(Node.Data) as TSpkBaseItem;
SetItemCaption(Item, S); SetItemCaption(Item, S);
FDesigner.Modified; FEditor.Modified;
end else end else
raise exception.create('TfrmEditWindow.tvStructureEdited: Uszkodzona struktura drzewa!'); raise exception.create('TfrmEditWindow.tvStructureEdited: Uszkodzona struktura drzewa!');
end; end;
@ -1126,7 +1104,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 (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
exit; exit;
if Key = VK_DELETE then if Key = VK_DELETE then
@ -1167,7 +1145,7 @@ var
begin begin
result:=false; result:=false;
if (FToolbar=nil) or (FDesigner=nil) then if (FToolbar=nil) or (FEditor=nil) then
exit; exit;
i:=0; i:=0;