Add "Clone" functionality to Editor

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1260 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
inoussa
2010-07-19 11:00:35 +00:00
parent a37f60260f
commit 7f8f0aade3
14 changed files with 1298 additions and 1223 deletions

View File

@ -22,13 +22,13 @@ uses
type
TEditType = ( etCreate, etUpdate, etDelete );
TEditType = ( etCreate, etUpdate, etDelete, etClone );
{ TObjectUpdater }
TObjectUpdater = class
public
class function CanHandle(AObject : TObject):Boolean;virtual;
class function CanHandle(AObject : TObject; const AEditAction : TEditType):Boolean;virtual;
class function UpdateObject(
var AObject : TPasElement;
ASymbolTable : TwstPasTreeContainer
@ -37,6 +37,10 @@ type
AObject : TPasElement;
ASymbolTable : TwstPasTreeContainer
);virtual;
class function CloneObject(
AObject : TPasElement;
ASymbolTable : TwstPasTreeContainer
) : TPasElement;virtual; abstract;
end;
TObjectUpdaterClass = class of TObjectUpdater;
@ -57,7 +61,12 @@ type
function HasEditor(AObject : TPasElement):Boolean;
function HasEditor(AObject : TObject; const AEditAction : TEditType):Boolean; overload;
function HasEditor(
AObject : TObject;
const AEditAction : TEditType;
out AHandler : TObjectUpdaterClass
): Boolean; overload;
function UpdateObject(
var AObject : TPasElement;
ASymbolTable : TwstPasTreeContainer
@ -87,12 +96,12 @@ type
private
FList : TClassList;
private
function FindHanlderIndex(AObj : TObject):Integer;
function FindHanlderIndex(AObj : TObject; const AEditAction : TEditType):Integer;
public
constructor Create();
destructor Destroy();override;
procedure RegisterHandler(AHandlerClass : TObjectUpdaterClass);
function FindHandler(AObj : TObject; out AHandler : TObjectUpdaterClass) : Boolean;
function FindHandler(AObj : TObject; const AEditAction : TEditType; out AHandler : TObjectUpdaterClass) : Boolean;
end;
var UpdaterRegistryInst : TUpdaterRegistry;
@ -110,11 +119,20 @@ begin
end;
end;
function HasEditor(AObject: TPasElement): Boolean;
function HasEditor(
AObject : TObject;
const AEditAction : TEditType;
out AHandler : TObjectUpdaterClass
): Boolean;
begin
Result := UpdaterRegistryInst.FindHandler(AObject,AEditAction,AHandler) and AHandler.CanHandle(AObject,AEditAction);
end;
function HasEditor(AObject : TObject; const AEditAction : TEditType): Boolean;
var
h : TObjectUpdaterClass;
begin
Result := UpdaterRegistryInst.FindHandler(AObject,h);
Result := HasEditor(AObject,AEditAction,h);
end;
function UpdateObject(
@ -124,7 +142,7 @@ function UpdateObject(
var
h : TObjectUpdaterClass;
begin
if not UpdaterRegistryInst.FindHandler(AObject,h) then begin
if not UpdaterRegistryInst.FindHandler(AObject,etUpdate,h) then begin
raise Exception.Create('No handler found.');
end;
Result := h.UpdateObject(AObject,ASymbolTable);
@ -137,7 +155,7 @@ procedure DeleteObject(
var
h : TObjectUpdaterClass;
begin
if not UpdaterRegistryInst.FindHandler(AObject,h) then begin
if not UpdaterRegistryInst.FindHandler(AObject,etDelete,h) then begin
raise Exception.Create('No handler found.');
end;
h.DeleteObject(AObject,ASymbolTable);
@ -148,7 +166,7 @@ type
TEnumUpdater = class(TObjectUpdater)
public
class function CanHandle(AObject : TObject):Boolean;override;
class function CanHandle(AObject : TObject; const AEditAction : TEditType):Boolean;override;
class function UpdateObject(
var AObject : TPasElement;
ASymbolTable : TwstPasTreeContainer
@ -159,18 +177,22 @@ type
TClassUpdater = class(TObjectUpdater)
public
class function CanHandle(AObject : TObject):Boolean;override;
class function CanHandle(AObject : TObject; const AEditAction : TEditType):Boolean;override;
class function UpdateObject(
var AObject : TPasElement;
ASymbolTable : TwstPasTreeContainer
):Boolean;override;
class function CloneObject(
AObject : TPasElement;
ASymbolTable : TwstPasTreeContainer
) : TPasElement; override;
end;
{ TRecordUpdater }
TRecordUpdater = class(TObjectUpdater)
public
class function CanHandle(AObject : TObject):Boolean;override;
class function CanHandle(AObject : TObject; const AEditAction : TEditType):Boolean;override;
class function UpdateObject(
var AObject : TPasElement;
ASymbolTable : TwstPasTreeContainer
@ -181,7 +203,7 @@ type
TTypeAliasUpdater = class(TObjectUpdater)
public
class function CanHandle(AObject : TObject):Boolean;override;
class function CanHandle(AObject : TObject; const AEditAction : TEditType):Boolean;override;
class function UpdateObject(
var AObject : TPasElement;
ASymbolTable : TwstPasTreeContainer
@ -192,7 +214,7 @@ type
TArrayUpdater = class(TObjectUpdater)
public
class function CanHandle(AObject : TObject):Boolean;override;
class function CanHandle(AObject : TObject; const AEditAction : TEditType):Boolean;override;
class function UpdateObject(
var AObject : TPasElement;
ASymbolTable : TwstPasTreeContainer
@ -203,7 +225,7 @@ type
TInterfaceUpdater = class(TObjectUpdater)
public
class function CanHandle(AObject : TObject):Boolean;override;
class function CanHandle(AObject : TObject; const AEditAction : TEditType):Boolean;override;
class function UpdateObject(
var AObject : TPasElement;
ASymbolTable : TwstPasTreeContainer
@ -214,7 +236,7 @@ type
TMethodUpdater = class(TObjectUpdater)
public
class function CanHandle(AObject : TObject):Boolean;override;
class function CanHandle(AObject : TObject; const AEditAction : TEditType):Boolean;override;
class function UpdateObject(
var AObject : TPasElement;
ASymbolTable : TwstPasTreeContainer
@ -225,7 +247,7 @@ type
TArgumentUpdater = class(TObjectUpdater)
public
class function CanHandle(AObject : TObject):Boolean;override;
class function CanHandle(AObject : TObject; const AEditAction : TEditType):Boolean;override;
class function UpdateObject(
var AObject : TPasElement;
ASymbolTable : TwstPasTreeContainer
@ -236,7 +258,7 @@ type
TModuleUpdater = class(TObjectUpdater)
public
class function CanHandle(AObject : TObject):Boolean;override;
class function CanHandle(AObject : TObject; const AEditAction : TEditType):Boolean;override;
class function UpdateObject(
var AObject : TPasElement;
ASymbolTable : TwstPasTreeContainer
@ -247,7 +269,7 @@ type
TBindingUpdater = class(TObjectUpdater)
public
class function CanHandle(AObject : TObject):Boolean;override;
class function CanHandle(AObject : TObject; const AEditAction : TEditType):Boolean;override;
class function UpdateObject(
var AObject : TPasElement;
ASymbolTable : TwstPasTreeContainer
@ -256,9 +278,9 @@ type
{ TRecordUpdater }
class function TRecordUpdater.CanHandle(AObject : TObject) : Boolean;
class function TRecordUpdater.CanHandle(AObject : TObject; const AEditAction : TEditType) : Boolean;
begin
Result := ( inherited CanHandle(AObject) ) and AObject.InheritsFrom(TPasRecordType) ;
Result := ( inherited CanHandle(AObject,AEditAction) ) and AObject.InheritsFrom(TPasRecordType) ;
end;
class function TRecordUpdater.UpdateObject(
@ -281,9 +303,9 @@ end;
{ TTypeAliasUpdater }
class function TTypeAliasUpdater.CanHandle(AObject : TObject) : Boolean;
class function TTypeAliasUpdater.CanHandle(AObject : TObject; const AEditAction : TEditType) : Boolean;
begin
Result := ( inherited CanHandle(AObject) ) and AObject.InheritsFrom(TPasAliasType);
Result := ( inherited CanHandle(AObject,AEditAction) ) and AObject.InheritsFrom(TPasAliasType);
end;
class function TTypeAliasUpdater.UpdateObject(
@ -306,9 +328,9 @@ end;
{ TArrayUpdater }
class function TArrayUpdater.CanHandle(AObject : TObject) : Boolean;
class function TArrayUpdater.CanHandle(AObject : TObject; const AEditAction : TEditType) : Boolean;
begin
Result := ( inherited CanHandle(AObject) ) and AObject.InheritsFrom(TPasArrayType);
Result := ( inherited CanHandle(AObject,AEditAction) ) and AObject.InheritsFrom(TPasArrayType);
end;
class function TArrayUpdater.UpdateObject(
@ -331,9 +353,9 @@ end;
{ TBindingUpdater }
class function TBindingUpdater.CanHandle(AObject: TObject): Boolean;
class function TBindingUpdater.CanHandle(AObject : TObject; const AEditAction : TEditType): Boolean;
begin
Result := ( inherited CanHandle(AObject) ) and AObject.InheritsFrom(TwstBinding);
Result := ( inherited CanHandle(AObject,AEditAction) ) and AObject.InheritsFrom(TwstBinding);
end;
class function TBindingUpdater.UpdateObject(
@ -356,9 +378,9 @@ end;
{ TModuleUpdater }
class function TModuleUpdater.CanHandle(AObject: TObject): Boolean;
class function TModuleUpdater.CanHandle(AObject : TObject; const AEditAction : TEditType): Boolean;
begin
Result := ( inherited CanHandle(AObject) ) and AObject.InheritsFrom(TPasModule);
Result := ( inherited CanHandle(AObject,AEditAction) ) and AObject.InheritsFrom(TPasModule);
end;
class function TModuleUpdater.UpdateObject(
@ -381,9 +403,9 @@ end;
{ TArgumentUpdater }
class function TArgumentUpdater.CanHandle(AObject: TObject): Boolean;
class function TArgumentUpdater.CanHandle(AObject : TObject; const AEditAction : TEditType): Boolean;
begin
Result := ( inherited CanHandle(AObject) ) and AObject.InheritsFrom(TPasArgument);
Result := ( inherited CanHandle(AObject,AEditAction) ) and AObject.InheritsFrom(TPasArgument);
end;
class function TArgumentUpdater.UpdateObject(
@ -406,9 +428,9 @@ end;
{ TMethodUpdater }
class function TMethodUpdater.CanHandle(AObject: TObject): Boolean;
class function TMethodUpdater.CanHandle(AObject : TObject; const AEditAction : TEditType): Boolean;
begin
Result := ( inherited CanHandle(AObject) ) and AObject.InheritsFrom(TPasProcedure);
Result := ( inherited CanHandle(AObject,AEditAction) ) and AObject.InheritsFrom(TPasProcedure);
end;
class function TMethodUpdater.UpdateObject(
@ -431,9 +453,9 @@ end;
{ TInterfaceUpdater }
class function TInterfaceUpdater.CanHandle(AObject: TObject): Boolean;
class function TInterfaceUpdater.CanHandle(AObject : TObject; const AEditAction : TEditType): Boolean;
begin
Result := ( inherited CanHandle(AObject) ) and
Result := ( inherited CanHandle(AObject,AEditAction) ) and
( AObject.InheritsFrom(TPasClassType) and ( TPasClassType(AObject).ObjKind = okInterface ) );
end;
@ -457,9 +479,9 @@ end;
{ TClassUpdater }
class function TClassUpdater.CanHandle(AObject: TObject): Boolean;
class function TClassUpdater.CanHandle(AObject : TObject; const AEditAction : TEditType): Boolean;
begin
Result := ( inherited CanHandle(AObject) ) and
Result := ( AObject <> nil ) and
( AObject.InheritsFrom(TPasClassType) and ( TPasClassType(AObject).ObjKind = okClass ) );
end;
@ -481,14 +503,87 @@ begin
end;
end;
class function TClassUpdater.CloneObject(
AObject : TPasElement;
ASymbolTable : TwstPasTreeContainer
) : TPasElement;
function MakeNewName(const ABase : string) : string;
var
k : Integer;
begin
k := 1;
while True do begin
Result := Format('%s_%d',[ABase,k]);
if ( ASymbolTable.FindElement(Result) = nil ) then
Break;
Inc(k);
end;
end;
procedure CloneProperties(ASource, ADest : TPasClassType);
var
ls : TList;
k : Integer;
locSource, locDest : TPasProperty;
begin
ls := ASource.Members;
if ( ls.Count > 0 ) then begin
for k := 0 to Pred(ls.Count) do begin
if TObject(ls[k]).InheritsFrom(TPasProperty) then begin
locSource := TPasProperty(ls[k]);
locDest := TPasProperty(ASymbolTable.CreateElement(TPasProperty,locSource.Name,ADest,visPublished,'',0));
ADest.Members.Add(locDest);
if ( locSource.VarType <> nil ) then begin
locDest.VarType := locSource.VarType;
locDest.VarType.AddRef();
locDest.StoredAccessorName := locSource.StoredAccessorName;
locDest.ReadAccessorName := locSource.ReadAccessorName;
locDest.WriteAccessorName := locSource.WriteAccessorName;
ASymbolTable.RegisterExternalAlias(locDest,ASymbolTable.GetExternalName(locSource));
ASymbolTable.SetPropertyAsAttribute(locDest,ASymbolTable.IsAttributeProperty(locSource));
end;
end;
end;
end;
end;
var
locSource, locRes : TPasClassType;
locNewName : string;
begin
locSource := AObject as TPasClassType;
locNewName := MakeNewName(locSource.Name);
locRes := TPasClassType(
ASymbolTable.CreateElement(
TPTreeElement(locSource.ClassType), locNewName,
ASymbolTable.CurrentModule.InterfaceSection,visDefault,'',0)
);
try
locRes.ObjKind := okClass;
ASymbolTable.CurrentModule.InterfaceSection.Declarations.Add(locRes);
ASymbolTable.CurrentModule.InterfaceSection.Types.Add(locRes);
ASymbolTable.CurrentModule.InterfaceSection.Classes.Add(locRes);
if ( locSource.AncestorType <> nil ) then begin
locRes.AncestorType := locSource.AncestorType;
locRes.AncestorType.AddRef();
end;
CloneProperties(locSource,locRes);
except
locRes.Free();
raise;
end;
Result := locRes;
end;
{ TUpdaterRegistry }
function TUpdaterRegistry.FindHanlderIndex(AObj : TObject): Integer;
function TUpdaterRegistry.FindHanlderIndex(AObj : TObject; const AEditAction : TEditType): Integer;
var
i : Integer;
begin
for i := 0 to Pred(FList.Count) do begin
if TObjectUpdaterClass(FList[i]).CanHandle(AObj) then begin
if TObjectUpdaterClass(FList[i]).CanHandle(AObj,AEditAction) then begin
Result := i;
Exit;
end;
@ -515,14 +610,15 @@ begin
end;
function TUpdaterRegistry.FindHandler(
AObj : TObject;
out AHandler : TObjectUpdaterClass
AObj : TObject;
const AEditAction : TEditType;
out AHandler : TObjectUpdaterClass
): Boolean;
var
i : Integer;
begin
AHandler := nil;
i := FindHanlderIndex(AObj);
i := FindHanlderIndex(AObj,AEditAction);
Result := ( i >= 0 );
if Result then begin
AHandler := TObjectUpdaterClass(FList[i]);
@ -531,9 +627,9 @@ end;
{ TEnumUpdater }
class function TEnumUpdater.CanHandle(AObject: TObject): Boolean;
class function TEnumUpdater.CanHandle(AObject : TObject; const AEditAction : TEditType): Boolean;
begin
Result := ( inherited CanHandle(AObject) ) and AObject.InheritsFrom(TPasEnumType);
Result := ( inherited CanHandle(AObject,AEditAction) ) and AObject.InheritsFrom(TPasEnumType);
end;
class function TEnumUpdater.UpdateObject(
@ -656,9 +752,12 @@ end;
{ TObjectUpdater }
class function TObjectUpdater.CanHandle(AObject: TObject): Boolean;
class function TObjectUpdater.CanHandle(
AObject : TObject;
const AEditAction : TEditType
) : Boolean;
begin
Result := Assigned(AObject);
Result := Assigned(AObject) and ( AEditAction <> etClone );
end;
class procedure TObjectUpdater.DeleteObject (

View File

@ -12,7 +12,7 @@
<TargetFileExt Value=".exe"/>
</General>
<VersionInfo>
<ProjectVersion Value=""/>
<StringTable Comments="" CompanyName="" FileDescription="" FileVersion="0.0.0.0" InternalName="" LegalCopyright="" LegalTrademarks="" OriginalFilename="" ProductName="" ProductVersion="0.0.0.0"/>
</VersionInfo>
<PublishOptions>
<Version Value="2"/>
@ -207,7 +207,7 @@
</Parsing>
<Linking>
<Debugging>
<GenerateDebugInfo Value="True"/>
<UseLineInfoUnit Value="False"/>
<StripSymbols Value="True"/>
</Debugging>
<LinkSmart Value="True"/>
@ -218,6 +218,9 @@
</Options>
</Linking>
<Other>
<CompilerMessages>
<UseMsgFile Value="True"/>
</CompilerMessages>
<CustomOptions Value="-dWST_HANDLE_DOC
"/>
<CompilerPath Value="$(CompPath)"/>

View File

@ -1,16 +1,16 @@
object fArgEdit: TfArgEdit
Left = 755
Left = 809
Height = 393
Top = 180
Top = 203
Width = 400
ActiveControl = Button1
BorderStyle = bsSizeToolWin
Caption = 'fArgEdit'
ClientHeight = 393
ClientWidth = 400
Position = poMainFormCenter
LCLVersion = '0.9.26.2'
LCLVersion = '0.9.29'
object Panel1: TPanel
Left = 0
Height = 50
Top = 343
Width = 400
@ -43,7 +43,9 @@ object fArgEdit: TfArgEdit
end
end
object PageControl1: TPageControl
Left = 0
Height = 343
Top = 0
Width = 400
ActivePage = TabSheet1
Align = alClient
@ -71,7 +73,7 @@ object fArgEdit: TfArgEdit
end
object edtName: TEdit
Left = 20
Height = 23
Height = 21
Top = 47
Width = 352
Anchors = [akTop, akLeft, akRight]
@ -122,7 +124,6 @@ object fArgEdit: TfArgEdit
top = 213
object actOK: TAction
Caption = 'OK'
DisableIfNoHandler = True
OnExecute = actOKExecute
OnUpdate = actOKUpdate
end

View File

@ -1,28 +1,28 @@
{ Ceci est un fichier ressource généré automatiquement par Lazarus }
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TfArgEdit','FORMDATA',[
'TPF0'#9'TfArgEdit'#8'fArgEdit'#4'Left'#3#243#2#6'Height'#3#137#1#3'Top'#3#180
+#0#5'Width'#3#144#1#13'ActiveControl'#7#7'Button1'#11'BorderStyle'#7#13'bsSi'
+'zeToolWin'#7'Caption'#6#8'fArgEdit'#12'ClientHeight'#3#137#1#11'ClientWidth'
+#3#144#1#8'Position'#7#16'poMainFormCenter'#10'LCLVersion'#6#8'0.9.26.2'#0#6
+'TPanel'#6'Panel1'#6'Height'#2'2'#3'Top'#3'W'#1#5'Width'#3#144#1#5'Align'#7#8
+'alBottom'#12'ClientHeight'#2'2'#11'ClientWidth'#3#144#1#8'TabOrder'#2#0#0#7
+'TButton'#7'Button1'#4'Left'#3#224#0#6'Height'#2#25#3'Top'#2#11#5'Width'#2'K'
+#6'Action'#7#5'actOK'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.I'
+'nnerBorder'#2#4#7'Default'#9#8'TabOrder'#2#0#0#0#7'TButton'#7'Button2'#4'Le'
+'ft'#3'8'#1#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'#7'Anchors'#11#5'akTop'#7
+'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6#6'Can'
+'cel'#11'ModalResult'#2#2#8'TabOrder'#2#1#0#0#0#12'TPageControl'#12'PageCont'
+'rol1'#6'Height'#3'W'#1#5'Width'#3#144#1#10'ActivePage'#7#9'TabSheet1'#5'Ali'
+'gn'#7#8'alClient'#8'TabIndex'#2#0#8'TabOrder'#2#1#0#9'TTabSheet'#9'TabSheet'
+'1'#7'Caption'#6#8'Argument'#12'ClientHeight'#3'='#1#11'ClientWidth'#3#136#1
+#0#6'TLabel'#6'Label1'#4'Left'#2#20#6'Height'#2#14#3'Top'#2#26#5'Width'#2#28
+#7'Caption'#6#4'Name'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#20
+#6'Height'#2#14#3'Top'#2'_'#5'Width'#2#25#7'Caption'#6#4'Type'#11'ParentColo'
+'r'#8#0#0#5'TEdit'#7'edtName'#4'Left'#2#20#6'Height'#2#23#3'Top'#2'/'#5'Widt'
+'h'#3'`'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0#4'T'
+'ext'#6#7'edtName'#0#0#9'TComboBox'#7'edtType'#4'Left'#2#20#6'Height'#2#21#3
+'Top'#2'r'#5'Width'#3'`'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#10
'TPF0'#9'TfArgEdit'#8'fArgEdit'#4'Left'#3')'#3#6'Height'#3#137#1#3'Top'#3#203
+#0#5'Width'#3#144#1#11'BorderStyle'#7#13'bsSizeToolWin'#7'Caption'#6#8'fArgE'
+'dit'#12'ClientHeight'#3#137#1#11'ClientWidth'#3#144#1#8'Position'#7#16'poMa'
+'inFormCenter'#10'LCLVersion'#6#6'0.9.29'#0#6'TPanel'#6'Panel1'#4'Left'#2#0#6
+'Height'#2'2'#3'Top'#3'W'#1#5'Width'#3#144#1#5'Align'#7#8'alBottom'#12'Clien'
+'tHeight'#2'2'#11'ClientWidth'#3#144#1#8'TabOrder'#2#0#0#7'TButton'#7'Button'
+'1'#4'Left'#3#224#0#6'Height'#2#25#3'Top'#2#11#5'Width'#2'K'#6'Action'#7#5'a'
+'ctOK'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4
+#7'Default'#9#8'TabOrder'#2#0#0#0#7'TButton'#7'Button2'#4'Left'#3'8'#1#6'Hei'
+'ght'#2#25#3'Top'#2#10#5'Width'#2'K'#7'Anchors'#11#5'akTop'#7'akRight'#0#25
+'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6#6'Cancel'#11'ModalR'
+'esult'#2#2#8'TabOrder'#2#1#0#0#0#12'TPageControl'#12'PageControl1'#4'Left'#2
+#0#6'Height'#3'W'#1#3'Top'#2#0#5'Width'#3#144#1#10'ActivePage'#7#9'TabSheet1'
+#5'Align'#7#8'alClient'#8'TabIndex'#2#0#8'TabOrder'#2#1#0#9'TTabSheet'#9'Tab'
+'Sheet1'#7'Caption'#6#8'Argument'#12'ClientHeight'#3'='#1#11'ClientWidth'#3
+#136#1#0#6'TLabel'#6'Label1'#4'Left'#2#20#6'Height'#2#14#3'Top'#2#26#5'Width'
+#2#28#7'Caption'#6#4'Name'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'
+#2#20#6'Height'#2#14#3'Top'#2'_'#5'Width'#2#25#7'Caption'#6#4'Type'#11'Paren'
+'tColor'#8#0#0#5'TEdit'#7'edtName'#4'Left'#2#20#6'Height'#2#21#3'Top'#2'/'#5
+'Width'#3'`'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0
+#4'Text'#6#7'edtName'#0#0#9'TComboBox'#7'edtType'#4'Left'#2#20#6'Height'#2#21
+#3'Top'#2'r'#5'Width'#3'`'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#10
+'ItemHeight'#2#13#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#1#0#0#11'TRadi'
+'oGroup'#11'edtModifier'#4'Left'#2#20#6'Height'#3#133#0#3'Top'#3#157#0#5'Wid'
+'th'#3'`'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#8'Auto'
@ -35,6 +35,5 @@ LazarusResources.Add('TfArgEdit','FORMDATA',[
+'eight'#2's'#11'ClientWidth'#3'\'#1#7'Columns'#2#2#13'Items.Strings'#1#6#7'D'
+'efault'#6#5'Const'#6#3'Var'#6#3'Out'#0#8'TabOrder'#2#2#0#0#0#0#11'TActionLi'
+'st'#2'AL'#4'left'#3#152#0#3'top'#3#213#0#0#7'TAction'#5'actOK'#7'Caption'#6
+#2'OK'#18'DisableIfNoHandler'#9#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7
+#11'actOKUpdate'#0#0#0#0
+#2'OK'#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#0#0
]);

View File

@ -1,19 +1,18 @@
object fClassEdit: TfClassEdit
Left = 536
Height = 547
Top = 127
Left = 640
Height = 556
Top = 167
Width = 552
ActiveControl = PC
BorderStyle = bsSizeToolWin
Caption = 'fClassEdit'
ClientHeight = 547
ClientHeight = 556
ClientWidth = 552
Position = poDesktopCenter
LCLVersion = '0.9.29'
object Panel1: TPanel
Left = 0
Height = 50
Top = 497
Top = 506
Width = 552
Align = alBottom
ClientHeight = 50
@ -54,7 +53,7 @@ object fClassEdit: TfClassEdit
end
object PC: TPageControl
Left = 0
Height = 497
Height = 506
Top = 0
Width = 552
ActivePage = TabSheet1
@ -65,7 +64,7 @@ object fClassEdit: TfClassEdit
OnPageChanged = PCChange
object TabSheet1: TTabSheet
Caption = 'Compound Object'
ClientHeight = 471
ClientHeight = 480
ClientWidth = 544
object Label1: TLabel
Left = 4
@ -93,26 +92,25 @@ object fClassEdit: TfClassEdit
end
object GroupBox1: TGroupBox
Left = 4
Height = 312
Height = 305
Top = 98
Width = 529
Anchors = [akTop, akLeft, akRight, akBottom]
Caption = ' Properties '
ClientHeight = 294
ClientHeight = 287
ClientWidth = 525
TabOrder = 2
object edtProp: TListView
Left = 0
Height = 294
Height = 287
Top = 0
Width = 525
Align = alClient
BorderWidth = 2
Columns = <
item
AutoSize = True
Caption = 'Name'
Width = 210
Width = 200
end
item
Caption = 'Type'
@ -133,7 +131,7 @@ object fClassEdit: TfClassEdit
object Button3: TButton
Left = 4
Height = 25
Top = 421
Top = 413
Width = 100
Action = actPropAdd
Anchors = [akLeft, akBottom]
@ -143,7 +141,7 @@ object fClassEdit: TfClassEdit
object Button4: TButton
Left = 116
Height = 25
Top = 421
Top = 413
Width = 100
Action = actPropEdit
Anchors = [akLeft, akBottom]
@ -153,7 +151,7 @@ object fClassEdit: TfClassEdit
object Button5: TButton
Left = 228
Height = 25
Top = 421
Top = 413
Width = 100
Action = actPropDelete
Anchors = [akLeft, akBottom]
@ -173,7 +171,7 @@ object fClassEdit: TfClassEdit
object Button7: TButton
Left = 372
Height = 25
Top = 421
Top = 413
Width = 70
Action = actMoveUp
Anchors = [akRight, akBottom]
@ -183,19 +181,37 @@ object fClassEdit: TfClassEdit
object Button8: TButton
Left = 452
Height = 25
Top = 421
Top = 413
Width = 70
Action = actMoveDown
Anchors = [akRight, akBottom]
BorderSpacing.InnerBorder = 4
TabOrder = 7
end
object Button9: TButton
Left = 372
Height = 25
Top = 442
Width = 70
Action = actMoveFirst
Anchors = [akRight, akBottom]
TabOrder = 8
end
object Button10: TButton
Left = 452
Height = 25
Top = 442
Width = 70
Action = actMoveLast
Anchors = [akRight, akBottom]
TabOrder = 9
end
end
object tsSourceXSD: TTabSheet
Caption = 'XSD'
ClientHeight = 471
ClientWidth = 544
object edtSourceXSD: TSynEdit
inline edtSourceXSD: TSynEdit
Left = 12
Height = 432
Top = 18
@ -209,7 +225,6 @@ object fClassEdit: TfClassEdit
ParentFont = False
TabOrder = 0
BookMarkOptions.Xoffset = 42
BookMarkOptions.OnChange = nil
Gutter.Width = 67
Gutter.MouseActions = <
item
@ -681,113 +696,6 @@ object fClassEdit: TfClassEdit
end>
ReadOnly = True
BracketHighlightStyle = sbhsBoth
object TSynGutterPartList
object TSynGutterMarks
Width = 23
end
object TSynGutterLineNumber
Width = 27
MouseActions = <>
MarkupInfo.Background = clBtnFace
MarkupInfo.Foreground = clNone
DigitCount = 2
ShowOnlyLineNumbersMultiplesOf = 1
ZeroStart = False
LeadingZeros = False
end
object TSynGutterChanges
Width = 4
ModifiedColor = 59900
SavedColor = clGreen
end
object TSynGutterSeparator
Width = 2
end
object TSynGutterCodeFolding
MouseActions = <
item
Shift = []
ShiftMask = []
Button = mbRight
ClickCount = ccSingle
ClickDir = cdUp
Command = 16
MoveCaret = False
Option = 0
Priority = 0
end
item
Shift = []
ShiftMask = [ssShift]
Button = mbMiddle
ClickCount = ccAny
ClickDir = cdDown
Command = 14
MoveCaret = False
Option = 0
Priority = 0
end
item
Shift = [ssShift]
ShiftMask = [ssShift]
Button = mbMiddle
ClickCount = ccAny
ClickDir = cdDown
Command = 14
MoveCaret = False
Option = 1
Priority = 0
end
item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccAny
ClickDir = cdDown
Command = 0
MoveCaret = False
Option = 0
Priority = 0
end>
MarkupInfo.Background = clNone
MarkupInfo.Foreground = clGray
MouseActionsExpanded = <
item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccAny
ClickDir = cdDown
Command = 14
MoveCaret = False
Option = 0
Priority = 0
end>
MouseActionsCollapsed = <
item
Shift = [ssCtrl]
ShiftMask = [ssCtrl]
Button = mbLeft
ClickCount = ccAny
ClickDir = cdDown
Command = 15
MoveCaret = False
Option = 0
Priority = 0
end
item
Shift = []
ShiftMask = [ssCtrl]
Button = mbLeft
ClickCount = ccAny
ClickDir = cdDown
Command = 15
MoveCaret = False
Option = 1
Priority = 0
end>
end
end
end
end
object tsDependencies: TTabSheet
@ -824,8 +732,8 @@ object fClassEdit: TfClassEdit
end
end
object ActionList1: TActionList
left = 232
top = 200
left = 248
top = 232
object actOK: TAction
Caption = 'OK'
OnExecute = actOKExecute
@ -860,6 +768,16 @@ object fClassEdit: TfClassEdit
OnExecute = actMoveDownExecute
OnUpdate = actMoveDownUpdate
end
object actMoveFirst: TAction
Caption = 'Move First'
OnExecute = actMoveFirstExecute
OnUpdate = actMoveUpUpdate
end
object actMoveLast: TAction
Caption = 'Move Last'
OnExecute = actMoveLastExecute
OnUpdate = actMoveDownUpdate
end
end
object PopupMenu1: TPopupMenu
left = 105

View File

@ -1,199 +1,181 @@
LazarusResources.Add('TfClassEdit','FORMDATA',[
'TPF0'#11'TfClassEdit'#10'fClassEdit'#4'Left'#3#24#2#6'Height'#3'#'#2#3'Top'#2
+#127#5'Width'#3'('#2#13'ActiveControl'#7#2'PC'#11'BorderStyle'#7#13'bsSizeTo'
+'olWin'#7'Caption'#6#10'fClassEdit'#12'ClientHeight'#3'#'#2#11'ClientWidth'#3
+'('#2#8'Position'#7#15'poDesktopCenter'#10'LCLVersion'#6#6'0.9.29'#0#6'TPane'
+'l'#6'Panel1'#4'Left'#2#0#6'Height'#2'2'#3'Top'#3#241#1#5'Width'#3'('#2#5'Al'
+'ign'#7#8'alBottom'#12'ClientHeight'#2'2'#11'ClientWidth'#3'('#2#8'TabOrder'
+#2#0#0#7'TButton'#7'Button1'#4'Left'#3'w'#1#6'Height'#2#25#3'Top'#2#10#5'Wid'
+'th'#2'K'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2
+#4#6'Cancel'#9#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#1#0#0
+#7'TButton'#7'Button2'#4'Left'#3#31#1#6'Height'#2#25#3'Top'#2#10#5'Width'#2
+'K'#6'Action'#7#5'actOK'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacin'
+'g.InnerBorder'#2#4#7'Default'#9#8'TabOrder'#2#0#0#0#7'TButton'#7'Button6'#4
+'Left'#3#207#1#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'#6'Action'#7#8'actApp'
+'ly'#7'Anchors'#11#5'akTop'#7'akRight'#0#8'TabOrder'#2#2#0#0#0#12'TPageContr'
+'ol'#2'PC'#4'Left'#2#0#6'Height'#3#241#1#3'Top'#2#0#5'Width'#3'('#2#10'Activ'
+'ePage'#7#9'TabSheet1'#5'Align'#7#8'alClient'#8'TabIndex'#2#0#8'TabOrder'#2#1
+#8'OnChange'#7#8'PCChange'#13'OnPageChanged'#7#8'PCChange'#0#9'TTabSheet'#9
+'TabSheet1'#7'Caption'#6#15'Compound Object'#12'ClientHeight'#3#215#1#11'Cli'
+'entWidth'#3' '#2#0#6'TLabel'#6'Label1'#4'Left'#2#4#6'Height'#2#14#3'Top'#2
+#18#5'Width'#2#28#7'Caption'#6#4'Name'#11'ParentColor'#8#0#0#6'TLabel'#6'Lab'
+'el2'#4'Left'#2#4#6'Height'#2#14#3'Top'#2';'#5'Width'#2'C'#7'Caption'#6#14'I'
+'nheritts from'#11'ParentColor'#8#0#0#5'TEdit'#7'edtName'#4'Left'#2'\'#6'Hei'
+'ght'#2#21#3'Top'#2#18#5'Width'#3#184#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'a'
+'kRight'#0#8'TabOrder'#2#0#0#0#9'TGroupBox'#9'GroupBox1'#4'Left'#2#4#6'Heigh'
+'t'#3'8'#1#3'Top'#2'b'#5'Width'#3#17#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'ak'
+'Right'#8'akBottom'#0#7'Caption'#6#14' Properties '#12'ClientHeight'#3'&'#1
+#11'ClientWidth'#3#13#2#8'TabOrder'#2#2#0#9'TListView'#7'edtProp'#4'Left'#2#0
+#6'Height'#3'&'#1#3'Top'#2#0#5'Width'#3#13#2#5'Align'#7#8'alClient'#11'Borde'
+'rWidth'#2#2#7'Columns'#14#1#8'AutoSize'#9#7'Caption'#6#4'Name'#5'Width'#3
+#210#0#0#1#7'Caption'#6#4'Type'#5'Width'#3#200#0#0#1#7'Caption'#6#9'Attribut'
+'e'#5'Width'#2'<'#0#0#13'HideSelection'#8#9'PopupMenu'#7#10'PopupMenu1'#9'Ro'
+'wSelect'#9#8'TabOrder'#2#0#9'ViewStyle'#7#8'vsReport'#10'OnDblClick'#7#15'e'
+'dtPropDblClick'#0#0#0#7'TButton'#7'Button3'#4'Left'#2#4#6'Height'#2#25#3'To'
+'p'#3#165#1#5'Width'#2'd'#6'Action'#7#10'actPropAdd'#7'Anchors'#11#6'akLeft'
+#8'akBottom'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#3#0#0#7'TButt'
+'on'#7'Button4'#4'Left'#2't'#6'Height'#2#25#3'Top'#3#165#1#5'Width'#2'd'#6'A'
+'ction'#7#11'actPropEdit'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#25'BorderSpa'
+'cing.InnerBorder'#2#4#8'TabOrder'#2#4#0#0#7'TButton'#7'Button5'#4'Left'#3
+#228#0#6'Height'#2#25#3'Top'#3#165#1#5'Width'#2'd'#6'Action'#7#13'actPropDel'
+'ete'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#25'BorderSpacing.InnerBorder'#2#4
+#8'TabOrder'#2#5#0#0#9'TComboBox'#9'edtParent'#4'Left'#2'\'#6'Height'#2#21#3
+'Top'#2':'#5'Width'#3#184#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#10
+'ItemHeight'#2#13#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#1#0#0#7'TButto'
+'n'#7'Button7'#4'Left'#3't'#1#6'Height'#2#25#3'Top'#3#165#1#5'Width'#2'F'#6
+'Action'#7#9'actMoveUp'#7'Anchors'#11#7'akRight'#8'akBottom'#0#25'BorderSpac'
+'ing.InnerBorder'#2#4#8'TabOrder'#2#6#0#0#7'TButton'#7'Button8'#4'Left'#3#196
+#1#6'Height'#2#25#3'Top'#3#165#1#5'Width'#2'F'#6'Action'#7#11'actMoveDown'#7
+'Anchors'#11#7'akRight'#8'akBottom'#0#25'BorderSpacing.InnerBorder'#2#4#8'Ta'
+'bOrder'#2#7#0#0#0#9'TTabSheet'#11'tsSourceXSD'#7'Caption'#6#3'XSD'#12'Clien'
+'tHeight'#3#215#1#11'ClientWidth'#3' '#2#0#8'TSynEdit'#12'edtSourceXSD'#4'Le'
+'ft'#2#12#6'Height'#3#176#1#3'Top'#2#18#5'Width'#3#2#2#7'Anchors'#11#5'akTop'
+#6'akLeft'#7'akRight'#8'akBottom'#0#11'Font.Height'#2#236#9'Font.Name'#6#7'c'
+'ourier'#10'Font.Pitch'#7#7'fpFixed'#12'Font.Quality'#7#16'fqNonAntialiased'
+#11'ParentColor'#8#10'ParentFont'#8#8'TabOrder'#2#0#23'BookMarkOptions.Xoffs'
+'et'#2'*'#24'BookMarkOptions.OnChange'#13#12'Gutter.Width'#2'C'#19'Gutter.Mo'
+'useActions'#14#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'C'
+'lickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#13#9'MoveCaret'#8
+#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'
+#7#7'mbRight'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#4'cdUp'#7'Command'#2
+#12#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#0#11'Highlighter'#7#10'Sy'
+'nXMLSyn1'#10'Keystrokes'#14#1#7'Command'#7#4'ecUp'#8'ShortCut'#2'&'#0#1#7'C'
+'ommand'#7#7'ecSelUp'#8'ShortCut'#3'& '#0#1#7'Command'#7#10'ecScrollUp'#8'Sh'
+'ortCut'#3'&@'#0#1#7'Command'#7#6'ecDown'#8'ShortCut'#2'('#0#1#7'Command'#7#9
+'ecSelDown'#8'ShortCut'#3'( '#0#1#7'Command'#7#12'ecScrollDown'#8'ShortCut'#3
,'(@'#0#1#7'Command'#7#6'ecLeft'#8'ShortCut'#2'%'#0#1#7'Command'#7#9'ecSelLef'
+'t'#8'ShortCut'#3'% '#0#1#7'Command'#7#10'ecWordLeft'#8'ShortCut'#3'%@'#0#1#7
+'Command'#7#13'ecSelWordLeft'#8'ShortCut'#3'%`'#0#1#7'Command'#7#7'ecRight'#8
+'ShortCut'#2''''#0#1#7'Command'#7#10'ecSelRight'#8'ShortCut'#3''' '#0#1#7'Co'
+'mmand'#7#11'ecWordRight'#8'ShortCut'#3'''@'#0#1#7'Command'#7#14'ecSelWordRi'
+'ght'#8'ShortCut'#3'''`'#0#1#7'Command'#7#10'ecPageDown'#8'ShortCut'#2'"'#0#1
+#7'Command'#7#13'ecSelPageDown'#8'ShortCut'#3'" '#0#1#7'Command'#7#12'ecPage'
+'Bottom'#8'ShortCut'#3'"@'#0#1#7'Command'#7#15'ecSelPageBottom'#8'ShortCut'#3
+'"`'#0#1#7'Command'#7#8'ecPageUp'#8'ShortCut'#2'!'#0#1#7'Command'#7#11'ecSel'
+'PageUp'#8'ShortCut'#3'! '#0#1#7'Command'#7#9'ecPageTop'#8'ShortCut'#3'!@'#0
+#1#7'Command'#7#12'ecSelPageTop'#8'ShortCut'#3'!`'#0#1#7'Command'#7#11'ecLin'
+'eStart'#8'ShortCut'#2'$'#0#1#7'Command'#7#14'ecSelLineStart'#8'ShortCut'#3
+'$ '#0#1#7'Command'#7#11'ecEditorTop'#8'ShortCut'#3'$@'#0#1#7'Command'#7#14
+'ecSelEditorTop'#8'ShortCut'#3'$`'#0#1#7'Command'#7#9'ecLineEnd'#8'ShortCut'
+#2'#'#0#1#7'Command'#7#12'ecSelLineEnd'#8'ShortCut'#3'# '#0#1#7'Command'#7#14
+'ecEditorBottom'#8'ShortCut'#3'#@'#0#1#7'Command'#7#17'ecSelEditorBottom'#8
+'ShortCut'#3'#`'#0#1#7'Command'#7#12'ecToggleMode'#8'ShortCut'#2'-'#0#1#7'Co'
+'mmand'#7#6'ecCopy'#8'ShortCut'#3'-@'#0#1#7'Command'#7#7'ecPaste'#8'ShortCut'
+#3'- '#0#1#7'Command'#7#12'ecDeleteChar'#8'ShortCut'#2'.'#0#1#7'Command'#7#5
+'ecCut'#8'ShortCut'#3'. '#0#1#7'Command'#7#16'ecDeleteLastChar'#8'ShortCut'#2
+#8#0#1#7'Command'#7#16'ecDeleteLastChar'#8'ShortCut'#3#8' '#0#1#7'Command'#7
+#16'ecDeleteLastWord'#8'ShortCut'#3#8'@'#0#1#7'Command'#7#6'ecUndo'#8'ShortC'
+'ut'#4#8#128#0#0#0#1#7'Command'#7#6'ecRedo'#8'ShortCut'#4#8#160#0#0#0#1#7'Co'
+'mmand'#7#11'ecLineBreak'#8'ShortCut'#2#13#0#1#7'Command'#7#11'ecSelectAll'#8
+'ShortCut'#3'A@'#0#1#7'Command'#7#6'ecCopy'#8'ShortCut'#3'C@'#0#1#7'Command'
+#7#13'ecBlockIndent'#8'ShortCut'#3'I`'#0#1#7'Command'#7#11'ecLineBreak'#8'Sh'
+'ortCut'#3'M@'#0#1#7'Command'#7#12'ecInsertLine'#8'ShortCut'#3'N@'#0#1#7'Com'
+'mand'#7#12'ecDeleteWord'#8'ShortCut'#3'T@'#0#1#7'Command'#7#15'ecBlockUnind'
+'ent'#8'ShortCut'#3'U`'#0#1#7'Command'#7#7'ecPaste'#8'ShortCut'#3'V@'#0#1#7
+'Command'#7#5'ecCut'#8'ShortCut'#3'X@'#0#1#7'Command'#7#12'ecDeleteLine'#8'S'
+'hortCut'#3'Y@'#0#1#7'Command'#7#11'ecDeleteEOL'#8'ShortCut'#3'Y`'#0#1#7'Com'
+'mand'#7#6'ecUndo'#8'ShortCut'#3'Z@'#0#1#7'Command'#7#6'ecRedo'#8'ShortCut'#3
+'Z`'#0#1#7'Command'#7#13'ecGotoMarker0'#8'ShortCut'#3'0@'#0#1#7'Command'#7#13
+'ecGotoMarker1'#8'ShortCut'#3'1@'#0#1#7'Command'#7#13'ecGotoMarker2'#8'Short'
+'Cut'#3'2@'#0#1#7'Command'#7#13'ecGotoMarker3'#8'ShortCut'#3'3@'#0#1#7'Comma'
+'nd'#7#13'ecGotoMarker4'#8'ShortCut'#3'4@'#0#1#7'Command'#7#13'ecGotoMarker5'
+#8'ShortCut'#3'5@'#0#1#7'Command'#7#13'ecGotoMarker6'#8'ShortCut'#3'6@'#0#1#7
+'Command'#7#13'ecGotoMarker7'#8'ShortCut'#3'7@'#0#1#7'Command'#7#13'ecGotoMa'
+'rker8'#8'ShortCut'#3'8@'#0#1#7'Command'#7#13'ecGotoMarker9'#8'ShortCut'#3'9'
+'@'#0#1#7'Command'#7#12'ecSetMarker0'#8'ShortCut'#3'0`'#0#1#7'Command'#7#12
+'ecSetMarker1'#8'ShortCut'#3'1`'#0#1#7'Command'#7#12'ecSetMarker2'#8'ShortCu'
+'t'#3'2`'#0#1#7'Command'#7#12'ecSetMarker3'#8'ShortCut'#3'3`'#0#1#7'Command'
+#7#12'ecSetMarker4'#8'ShortCut'#3'4`'#0#1#7'Command'#7#12'ecSetMarker5'#8'Sh'
+'ortCut'#3'5`'#0#1#7'Command'#7#12'ecSetMarker6'#8'ShortCut'#3'6`'#0#1#7'Com'
+'mand'#7#12'ecSetMarker7'#8'ShortCut'#3'7`'#0#1#7'Command'#7#12'ecSetMarker8'
+#8'ShortCut'#3'8`'#0#1#7'Command'#7#12'ecSetMarker9'#8'ShortCut'#3'9`'#0#1#7
+'Command'#7#14'ecNormalSelect'#8'ShortCut'#3'N`'#0#1#7'Command'#7#14'ecColum'
+'nSelect'#8'ShortCut'#3'C`'#0#1#7'Command'#7#12'ecLineSelect'#8'ShortCut'#3
+'L`'#0#1#7'Command'#7#5'ecTab'#8'ShortCut'#2#9#0#1#7'Command'#7#10'ecShiftTa'
+'b'#8'ShortCut'#3#9' '#0#1#7'Command'#7#14'ecMatchBracket'#8'ShortCut'#3'B`'
+#0#0#12'MouseActions'#14#1#5'Shift'#11#0#9'ShiftMask'#11#7'ssShift'#5'ssAlt'
+#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdDown'
+#7'Command'#2#1#9'MoveCaret'#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11
+#7'ssShift'#0#9'ShiftMask'#11#7'ssShift'#5'ssAlt'#0#6'Button'#7#6'mbLeft'#10
+'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7'Command'#2#1#9'MoveCare'
+'t'#9#6'Option'#2#1#8'Priority'#2#0#0#1#5'Shift'#11#5'ssAlt'#0#9'ShiftMask'
+#11#7'ssShift'#5'ssAlt'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccSingle'
+#8'ClickDir'#7#6'cdDown'#7'Command'#2#3#9'MoveCaret'#9#6'Option'#2#0#8'Prior'
+'ity'#2#0#0#1#5'Shift'#11#7'ssShift'#5'ssAlt'#0#9'ShiftMask'#11#7'ssShift'#5
+'ssAlt'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#6
+'cdDown'#7'Command'#2#3#9'MoveCaret'#9#6'Option'#2#1#8'Priority'#2#0#0#1#5'S'
+'hift'#11#0#9'ShiftMask'#11#0#6'Button'#7#7'mbRight'#10'ClickCount'#7#8'ccSi'
+'ngle'#8'ClickDir'#7#4'cdUp'#7'Command'#2#12#9'MoveCaret'#8#6'Option'#2#0#8
+'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10
,'ClickCount'#7#8'ccDouble'#8'ClickDir'#7#6'cdDown'#7'Command'#2#6#9'MoveCare'
+'t'#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Bu'
+'tton'#7#6'mbLeft'#10'ClickCount'#7#8'ccTriple'#8'ClickDir'#7#6'cdDown'#7'Co'
+'mmand'#2#7#9'MoveCaret'#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9
+'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#6'ccQuad'#8'ClickDir'
+#7#6'cdDown'#7'Command'#2#8#9'MoveCaret'#9#6'Option'#2#0#8'Priority'#2#0#0#1
+#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#8'mbMiddle'#10'ClickCount'#7#8
+'ccSingle'#8'ClickDir'#7#6'cdDown'#7'Command'#2#10#9'MoveCaret'#9#6'Option'#2
+#0#8'Priority'#2#0#0#1#5'Shift'#11#6'ssCtrl'#0#9'ShiftMask'#11#7'ssShift'#5
+'ssAlt'#6'ssCtrl'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccSingle'#8'Cli'
+'ckDir'#7#4'cdUp'#7'Command'#2#11#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2
+#0#0#0#15'MouseSelActions'#14#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6
+'mbLeft'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7'Command'#2#9
+#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#0#8'ReadOnly'#9#21'BracketHi'
+'ghlightStyle'#7#8'sbhsBoth'#0#18'TSynGutterPartList'#0#0#15'TSynGutterMarks'
+#0#5'Width'#2#23#0#0#20'TSynGutterLineNumber'#0#5'Width'#2#27#12'MouseAction'
+'s'#14#0#21'MarkupInfo.Background'#7#9'clBtnFace'#21'MarkupInfo.Foreground'#7
+#6'clNone'#10'DigitCount'#2#2#30'ShowOnlyLineNumbersMultiplesOf'#2#1#9'ZeroS'
+'tart'#8#12'LeadingZeros'#8#0#0#17'TSynGutterChanges'#0#5'Width'#2#4#13'Modi'
+'fiedColor'#4#252#233#0#0#10'SavedColor'#7#7'clGreen'#0#0#19'TSynGutterSepar'
+'ator'#0#5'Width'#2#2#0#0#21'TSynGutterCodeFolding'#0#12'MouseActions'#14#1#5
+'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#7'mbRight'#10'ClickCount'#7#8'ccS'
+'ingle'#8'ClickDir'#7#4'cdUp'#7'Command'#2#16#9'MoveCaret'#8#6'Option'#2#0#8
+'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#7'ssShift'#0#6'Button'#7#8
+'mbMiddle'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#14
+#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#7'ssShift'#0#9
+'ShiftMask'#11#7'ssShift'#0#6'Button'#7#8'mbMiddle'#10'ClickCount'#7#5'ccAny'
+#8'ClickDir'#7#6'cdDown'#7'Command'#2#14#9'MoveCaret'#8#6'Option'#2#1#8'Prio'
+'rity'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'Clic'
+'kCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#0#9'MoveCaret'#8#6
+'Option'#2#0#8'Priority'#2#0#0#0#21'MarkupInfo.Background'#7#6'clNone'#21'Ma'
+'rkupInfo.Foreground'#7#6'clGray'#20'MouseActionsExpanded'#14#1#5'Shift'#11#0
+#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#5'ccAny'#8'ClickDi'
+'r'#7#6'cdDown'#7'Command'#2#14#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0
+#0#0#21'MouseActionsCollapsed'#14#1#5'Shift'#11#6'ssCtrl'#0#9'ShiftMask'#11#6
+'ssCtrl'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'c'
+'dDown'#7'Command'#2#15#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'S'
+'hift'#11#0#9'ShiftMask'#11#6'ssCtrl'#0#6'Button'#7#6'mbLeft'#10'ClickCount'
+#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#15#9'MoveCaret'#8#6'Option'
+#2#1#8'Priority'#2#0#0#0#0#0#0#0#0#9'TTabSheet'#14'tsDependencies'#7'Caption'
+#6#7'Used by'#12'ClientHeight'#3#215#1#11'ClientWidth'#3' '#2#0#9'TTreeView'
+#12'tvDependency'#4'Left'#2#20#6'Height'#3#177#1#3'Top'#2#18#5'Width'#3#242#1
+#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#17'DefaultItemHei'
+'ght'#2#15#8'ReadOnly'#9#16'RightClickSelect'#9#8'TabOrder'#2#0#7'Options'#11
+#17'tvoAutoItemHeight'#16'tvoHideSelection'#21'tvoKeepCollapsedNodes'#11'tvo'
+'ReadOnly'#19'tvoRightClickSelect'#14'tvoShowButtons'#12'tvoShowLines'#11'tv'
+'oShowRoot'#11'tvoToolTips'#0#0#0#0#9'TTabSheet'#15'tsDocumentation'#7'Capti'
+'on'#6#13'Documentation'#12'ClientHeight'#3#215#1#11'ClientWidth'#3' '#2#0#5
+'TMemo'#16'edtDocumentation'#4'Left'#2#12#6'Height'#3#178#1#3'Top'#2#18#5'Wi'
+'dth'#3#2#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#10'Scr'
+'ollBars'#7#10'ssAutoBoth'#8'TabOrder'#2#0#8'WordWrap'#8#0#0#0#0#11'TActionL'
+'ist'#11'ActionList1'#4'left'#3#232#0#3'top'#3#200#0#0#7'TAction'#5'actOK'#7
+'Caption'#6#2'OK'#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actOKUpda'
+'te'#0#0#7'TAction'#10'actPropAdd'#7'Caption'#6#12'New Property'#9'OnExecute'
+#7#17'actPropAddExecute'#0#0#7'TAction'#11'actPropEdit'#7'Caption'#6#13'Edit'
+' Property'#9'OnExecute'#7#18'actPropEditExecute'#8'OnUpdate'#7#17'actPropEd'
+'itUpdate'#0#0#7'TAction'#13'actPropDelete'#7'Caption'#6#15'Delete Property'
+#9'OnExecute'#7#20'actPropDeleteExecute'#8'OnUpdate'#7#17'actPropEditUpdate'
+#0#0#7'TAction'#8'actApply'#7'Caption'#6#5'Apply'#9'OnExecute'#7#15'actApply'
+'Execute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#7'TAction'#9'actMoveUp'#7'Captio'
+'n'#6#7'Move Up'#9'OnExecute'#7#16'actMoveUpExecute'#8'OnUpdate'#7#15'actMov'
+'eUpUpdate'#0#0#7'TAction'#11'actMoveDown'#7'Caption'#6#9'Move Down'#9'OnExe'
+'cute'#7#18'actMoveDownExecute'#8'OnUpdate'#7#17'actMoveDownUpdate'#0#0#0#10
+'TPopupMenu'#10'PopupMenu1'#4'left'#2'i'#3'top'#3#186#0#0#9'TMenuItem'#9'Men'
,'uItem1'#6'Action'#7#10'actPropAdd'#7'OnClick'#7#17'actPropAddExecute'#0#0#9
+'TMenuItem'#9'MenuItem2'#6'Action'#7#11'actPropEdit'#7'OnClick'#7#18'actProp'
+'EditExecute'#0#0#9'TMenuItem'#9'MenuItem3'#6'Action'#7#13'actPropDelete'#7
'TPF0'#11'TfClassEdit'#10'fClassEdit'#4'Left'#3#128#2#6'Height'#3','#2#3'Top'
+#3#167#0#5'Width'#3'('#2#11'BorderStyle'#7#13'bsSizeToolWin'#7'Caption'#6#10
+'fClassEdit'#12'ClientHeight'#3','#2#11'ClientWidth'#3'('#2#8'Position'#7#15
+'poDesktopCenter'#10'LCLVersion'#6#6'0.9.29'#0#6'TPanel'#6'Panel1'#4'Left'#2
+#0#6'Height'#2'2'#3'Top'#3#250#1#5'Width'#3'('#2#5'Align'#7#8'alBottom'#12'C'
+'lientHeight'#2'2'#11'ClientWidth'#3'('#2#8'TabOrder'#2#0#0#7'TButton'#7'But'
+'ton1'#4'Left'#3'w'#1#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'#7'Anchors'#11
+#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Capti'
+'on'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#1#0#0#7'TButton'#7'Button'
+'2'#4'Left'#3#31#1#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'#6'Action'#7#5'ac'
+'tOK'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#7
+'Default'#9#8'TabOrder'#2#0#0#0#7'TButton'#7'Button6'#4'Left'#3#207#1#6'Heig'
+'ht'#2#25#3'Top'#2#10#5'Width'#2'K'#6'Action'#7#8'actApply'#7'Anchors'#11#5
+'akTop'#7'akRight'#0#8'TabOrder'#2#2#0#0#0#12'TPageControl'#2'PC'#4'Left'#2#0
+#6'Height'#3#250#1#3'Top'#2#0#5'Width'#3'('#2#10'ActivePage'#7#9'TabSheet1'#5
+'Align'#7#8'alClient'#8'TabIndex'#2#0#8'TabOrder'#2#1#8'OnChange'#7#8'PCChan'
+'ge'#13'OnPageChanged'#7#8'PCChange'#0#9'TTabSheet'#9'TabSheet1'#7'Caption'#6
+#15'Compound Object'#12'ClientHeight'#3#224#1#11'ClientWidth'#3' '#2#0#6'TLa'
+'bel'#6'Label1'#4'Left'#2#4#6'Height'#2#14#3'Top'#2#18#5'Width'#2#28#7'Capti'
+'on'#6#4'Name'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#4#6'Heigh'
+'t'#2#14#3'Top'#2';'#5'Width'#2'C'#7'Caption'#6#14'Inheritts from'#11'Parent'
+'Color'#8#0#0#5'TEdit'#7'edtName'#4'Left'#2'\'#6'Height'#2#21#3'Top'#2#18#5
+'Width'#3#184#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0
+#0#0#9'TGroupBox'#9'GroupBox1'#4'Left'#2#4#6'Height'#3'1'#1#3'Top'#2'b'#5'Wi'
+'dth'#3#17#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#7'Cap'
+'tion'#6#14' Properties '#12'ClientHeight'#3#31#1#11'ClientWidth'#3#13#2#8
+'TabOrder'#2#2#0#9'TListView'#7'edtProp'#4'Left'#2#0#6'Height'#3#31#1#3'Top'
+#2#0#5'Width'#3#13#2#5'Align'#7#8'alClient'#11'BorderWidth'#2#2#7'Columns'#14
+#1#7'Caption'#6#4'Name'#5'Width'#3#200#0#0#1#7'Caption'#6#4'Type'#5'Width'#3
+#200#0#0#1#7'Caption'#6#9'Attribute'#5'Width'#2'<'#0#0#13'HideSelection'#8#9
+'PopupMenu'#7#10'PopupMenu1'#9'RowSelect'#9#8'TabOrder'#2#0#9'ViewStyle'#7#8
+'vsReport'#10'OnDblClick'#7#15'edtPropDblClick'#0#0#0#7'TButton'#7'Button3'#4
+'Left'#2#4#6'Height'#2#25#3'Top'#3#157#1#5'Width'#2'd'#6'Action'#7#10'actPro'
+'pAdd'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#25'BorderSpacing.InnerBorder'#2
+#4#8'TabOrder'#2#3#0#0#7'TButton'#7'Button4'#4'Left'#2't'#6'Height'#2#25#3'T'
+'op'#3#157#1#5'Width'#2'd'#6'Action'#7#11'actPropEdit'#7'Anchors'#11#6'akLef'
+'t'#8'akBottom'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#4#0#0#7'TB'
+'utton'#7'Button5'#4'Left'#3#228#0#6'Height'#2#25#3'Top'#3#157#1#5'Width'#2
+'d'#6'Action'#7#13'actPropDelete'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#25'B'
+'orderSpacing.InnerBorder'#2#4#8'TabOrder'#2#5#0#0#9'TComboBox'#9'edtParent'
+#4'Left'#2'\'#6'Height'#2#21#3'Top'#2':'#5'Width'#3#184#1#7'Anchors'#11#5'ak'
+'Top'#6'akLeft'#7'akRight'#0#10'ItemHeight'#2#13#5'Style'#7#14'csDropDownLis'
+'t'#8'TabOrder'#2#1#0#0#7'TButton'#7'Button7'#4'Left'#3't'#1#6'Height'#2#25#3
+'Top'#3#157#1#5'Width'#2'F'#6'Action'#7#9'actMoveUp'#7'Anchors'#11#7'akRight'
+#8'akBottom'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#6#0#0#7'TButt'
+'on'#7'Button8'#4'Left'#3#196#1#6'Height'#2#25#3'Top'#3#157#1#5'Width'#2'F'#6
+'Action'#7#11'actMoveDown'#7'Anchors'#11#7'akRight'#8'akBottom'#0#25'BorderS'
+'pacing.InnerBorder'#2#4#8'TabOrder'#2#7#0#0#7'TButton'#7'Button9'#4'Left'#3
+'t'#1#6'Height'#2#25#3'Top'#3#186#1#5'Width'#2'F'#6'Action'#7#12'actMoveFirs'
+'t'#7'Anchors'#11#7'akRight'#8'akBottom'#0#8'TabOrder'#2#8#0#0#7'TButton'#8
+'Button10'#4'Left'#3#196#1#6'Height'#2#25#3'Top'#3#186#1#5'Width'#2'F'#6'Act'
+'ion'#7#11'actMoveLast'#7'Anchors'#11#7'akRight'#8'akBottom'#0#8'TabOrder'#2
+#9#0#0#0#9'TTabSheet'#11'tsSourceXSD'#7'Caption'#6#3'XSD'#12'ClientHeight'#3
+#215#1#11'ClientWidth'#3' '#2#0#244#8'TSynEdit'#12'edtSourceXSD'#4'Left'#2#12
+#6'Height'#3#176#1#3'Top'#2#18#5'Width'#3#2#2#7'Anchors'#11#5'akTop'#6'akLef'
+'t'#7'akRight'#8'akBottom'#0#11'Font.Height'#2#236#9'Font.Name'#6#7'courier'
+#10'Font.Pitch'#7#7'fpFixed'#12'Font.Quality'#7#16'fqNonAntialiased'#11'Pare'
+'ntColor'#8#10'ParentFont'#8#8'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'*'
+#12'Gutter.Width'#2'C'#19'Gutter.MouseActions'#14#1#5'Shift'#11#0#9'ShiftMas'
+'k'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdD'
+'own'#7'Command'#2#13#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shi'
+'ft'#11#0#9'ShiftMask'#11#0#6'Button'#7#7'mbRight'#10'ClickCount'#7#8'ccSing'
+'le'#8'ClickDir'#7#4'cdUp'#7'Command'#2#12#9'MoveCaret'#8#6'Option'#2#0#8'Pr'
+'iority'#2#0#0#0#11'Highlighter'#7#10'SynXMLSyn1'#10'Keystrokes'#14#1#7'Comm'
,'and'#7#4'ecUp'#8'ShortCut'#2'&'#0#1#7'Command'#7#7'ecSelUp'#8'ShortCut'#3'&'
+' '#0#1#7'Command'#7#10'ecScrollUp'#8'ShortCut'#3'&@'#0#1#7'Command'#7#6'ecD'
+'own'#8'ShortCut'#2'('#0#1#7'Command'#7#9'ecSelDown'#8'ShortCut'#3'( '#0#1#7
+'Command'#7#12'ecScrollDown'#8'ShortCut'#3'(@'#0#1#7'Command'#7#6'ecLeft'#8
+'ShortCut'#2'%'#0#1#7'Command'#7#9'ecSelLeft'#8'ShortCut'#3'% '#0#1#7'Comman'
+'d'#7#10'ecWordLeft'#8'ShortCut'#3'%@'#0#1#7'Command'#7#13'ecSelWordLeft'#8
+'ShortCut'#3'%`'#0#1#7'Command'#7#7'ecRight'#8'ShortCut'#2''''#0#1#7'Command'
+#7#10'ecSelRight'#8'ShortCut'#3''' '#0#1#7'Command'#7#11'ecWordRight'#8'Shor'
+'tCut'#3'''@'#0#1#7'Command'#7#14'ecSelWordRight'#8'ShortCut'#3'''`'#0#1#7'C'
+'ommand'#7#10'ecPageDown'#8'ShortCut'#2'"'#0#1#7'Command'#7#13'ecSelPageDown'
+#8'ShortCut'#3'" '#0#1#7'Command'#7#12'ecPageBottom'#8'ShortCut'#3'"@'#0#1#7
+'Command'#7#15'ecSelPageBottom'#8'ShortCut'#3'"`'#0#1#7'Command'#7#8'ecPageU'
+'p'#8'ShortCut'#2'!'#0#1#7'Command'#7#11'ecSelPageUp'#8'ShortCut'#3'! '#0#1#7
+'Command'#7#9'ecPageTop'#8'ShortCut'#3'!@'#0#1#7'Command'#7#12'ecSelPageTop'
+#8'ShortCut'#3'!`'#0#1#7'Command'#7#11'ecLineStart'#8'ShortCut'#2'$'#0#1#7'C'
+'ommand'#7#14'ecSelLineStart'#8'ShortCut'#3'$ '#0#1#7'Command'#7#11'ecEditor'
+'Top'#8'ShortCut'#3'$@'#0#1#7'Command'#7#14'ecSelEditorTop'#8'ShortCut'#3'$`'
+#0#1#7'Command'#7#9'ecLineEnd'#8'ShortCut'#2'#'#0#1#7'Command'#7#12'ecSelLin'
+'eEnd'#8'ShortCut'#3'# '#0#1#7'Command'#7#14'ecEditorBottom'#8'ShortCut'#3'#'
+'@'#0#1#7'Command'#7#17'ecSelEditorBottom'#8'ShortCut'#3'#`'#0#1#7'Command'#7
+#12'ecToggleMode'#8'ShortCut'#2'-'#0#1#7'Command'#7#6'ecCopy'#8'ShortCut'#3
+'-@'#0#1#7'Command'#7#7'ecPaste'#8'ShortCut'#3'- '#0#1#7'Command'#7#12'ecDel'
+'eteChar'#8'ShortCut'#2'.'#0#1#7'Command'#7#5'ecCut'#8'ShortCut'#3'. '#0#1#7
+'Command'#7#16'ecDeleteLastChar'#8'ShortCut'#2#8#0#1#7'Command'#7#16'ecDelet'
+'eLastChar'#8'ShortCut'#3#8' '#0#1#7'Command'#7#16'ecDeleteLastWord'#8'Short'
+'Cut'#3#8'@'#0#1#7'Command'#7#6'ecUndo'#8'ShortCut'#4#8#128#0#0#0#1#7'Comman'
+'d'#7#6'ecRedo'#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#7#11'ecLineBreak'#8'S'
+'hortCut'#2#13#0#1#7'Command'#7#11'ecSelectAll'#8'ShortCut'#3'A@'#0#1#7'Comm'
+'and'#7#6'ecCopy'#8'ShortCut'#3'C@'#0#1#7'Command'#7#13'ecBlockIndent'#8'Sho'
+'rtCut'#3'I`'#0#1#7'Command'#7#11'ecLineBreak'#8'ShortCut'#3'M@'#0#1#7'Comma'
+'nd'#7#12'ecInsertLine'#8'ShortCut'#3'N@'#0#1#7'Command'#7#12'ecDeleteWord'#8
+'ShortCut'#3'T@'#0#1#7'Command'#7#15'ecBlockUnindent'#8'ShortCut'#3'U`'#0#1#7
+'Command'#7#7'ecPaste'#8'ShortCut'#3'V@'#0#1#7'Command'#7#5'ecCut'#8'ShortCu'
+'t'#3'X@'#0#1#7'Command'#7#12'ecDeleteLine'#8'ShortCut'#3'Y@'#0#1#7'Command'
+#7#11'ecDeleteEOL'#8'ShortCut'#3'Y`'#0#1#7'Command'#7#6'ecUndo'#8'ShortCut'#3
+'Z@'#0#1#7'Command'#7#6'ecRedo'#8'ShortCut'#3'Z`'#0#1#7'Command'#7#13'ecGoto'
+'Marker0'#8'ShortCut'#3'0@'#0#1#7'Command'#7#13'ecGotoMarker1'#8'ShortCut'#3
+'1@'#0#1#7'Command'#7#13'ecGotoMarker2'#8'ShortCut'#3'2@'#0#1#7'Command'#7#13
+'ecGotoMarker3'#8'ShortCut'#3'3@'#0#1#7'Command'#7#13'ecGotoMarker4'#8'Short'
+'Cut'#3'4@'#0#1#7'Command'#7#13'ecGotoMarker5'#8'ShortCut'#3'5@'#0#1#7'Comma'
+'nd'#7#13'ecGotoMarker6'#8'ShortCut'#3'6@'#0#1#7'Command'#7#13'ecGotoMarker7'
+#8'ShortCut'#3'7@'#0#1#7'Command'#7#13'ecGotoMarker8'#8'ShortCut'#3'8@'#0#1#7
+'Command'#7#13'ecGotoMarker9'#8'ShortCut'#3'9@'#0#1#7'Command'#7#12'ecSetMar'
+'ker0'#8'ShortCut'#3'0`'#0#1#7'Command'#7#12'ecSetMarker1'#8'ShortCut'#3'1`'
+#0#1#7'Command'#7#12'ecSetMarker2'#8'ShortCut'#3'2`'#0#1#7'Command'#7#12'ecS'
+'etMarker3'#8'ShortCut'#3'3`'#0#1#7'Command'#7#12'ecSetMarker4'#8'ShortCut'#3
+'4`'#0#1#7'Command'#7#12'ecSetMarker5'#8'ShortCut'#3'5`'#0#1#7'Command'#7#12
+'ecSetMarker6'#8'ShortCut'#3'6`'#0#1#7'Command'#7#12'ecSetMarker7'#8'ShortCu'
+'t'#3'7`'#0#1#7'Command'#7#12'ecSetMarker8'#8'ShortCut'#3'8`'#0#1#7'Command'
+#7#12'ecSetMarker9'#8'ShortCut'#3'9`'#0#1#7'Command'#7#14'ecNormalSelect'#8
+'ShortCut'#3'N`'#0#1#7'Command'#7#14'ecColumnSelect'#8'ShortCut'#3'C`'#0#1#7
+'Command'#7#12'ecLineSelect'#8'ShortCut'#3'L`'#0#1#7'Command'#7#5'ecTab'#8'S'
+'hortCut'#2#9#0#1#7'Command'#7#10'ecShiftTab'#8'ShortCut'#3#9' '#0#1#7'Comma'
+'nd'#7#14'ecMatchBracket'#8'ShortCut'#3'B`'#0#0#12'MouseActions'#14#1#5'Shif'
+'t'#11#0#9'ShiftMask'#11#7'ssShift'#5'ssAlt'#0#6'Button'#7#6'mbLeft'#10'Clic'
+'kCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7'Command'#2#1#9'MoveCaret'#9
+#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#7'ssShift'#0#9'ShiftMask'#11#7
+'ssShift'#5'ssAlt'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccSingle'#8'Cl'
+'ickDir'#7#6'cdDown'#7'Command'#2#1#9'MoveCaret'#9#6'Option'#2#1#8'Priority'
+#2#0#0#1#5'Shift'#11#5'ssAlt'#0#9'ShiftMask'#11#7'ssShift'#5'ssAlt'#0#6'Butt'
+'on'#7#6'mbLeft'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7'Comm'
+'and'#2#3#9'MoveCaret'#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#7'ssS'
+'hift'#5'ssAlt'#0#9'ShiftMask'#11#7'ssShift'#5'ssAlt'#0#6'Button'#7#6'mbLeft'
+#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7'Command'#2#3#9'MoveC'
,'aret'#9#6'Option'#2#1#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6
+'Button'#7#7'mbRight'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#4'cdUp'#7'C'
+'ommand'#2#12#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0
+#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccDouble'#8'Clic'
+'kDir'#7#6'cdDown'#7'Command'#2#6#9'MoveCaret'#9#6'Option'#2#0#8'Priority'#2
+#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7
+#8'ccTriple'#8'ClickDir'#7#6'cdDown'#7'Command'#2#7#9'MoveCaret'#9#6'Option'
+#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLef'
+'t'#10'ClickCount'#7#6'ccQuad'#8'ClickDir'#7#6'cdDown'#7'Command'#2#8#9'Move'
+'Caret'#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6
+'Button'#7#8'mbMiddle'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7
+'Command'#2#10#9'MoveCaret'#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#6
+'ssCtrl'#0#9'ShiftMask'#11#7'ssShift'#5'ssAlt'#6'ssCtrl'#0#6'Button'#7#6'mbL'
+'eft'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#4'cdUp'#7'Command'#2#11#9'M'
+'oveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#0#15'MouseSelActions'#14#1#5'Sh'
+'ift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccSing'
+'le'#8'ClickDir'#7#6'cdDown'#7'Command'#2#9#9'MoveCaret'#8#6'Option'#2#0#8'P'
+'riority'#2#0#0#0#8'ReadOnly'#9#21'BracketHighlightStyle'#7#8'sbhsBoth'#0#0#0
+#9'TTabSheet'#14'tsDependencies'#7'Caption'#6#7'Used by'#12'ClientHeight'#3
+#215#1#11'ClientWidth'#3' '#2#0#9'TTreeView'#12'tvDependency'#4'Left'#2#20#6
+'Height'#3#177#1#3'Top'#2#18#5'Width'#3#242#1#7'Anchors'#11#5'akTop'#6'akLef'
+'t'#7'akRight'#8'akBottom'#0#17'DefaultItemHeight'#2#15#8'ReadOnly'#9#16'Rig'
+'htClickSelect'#9#8'TabOrder'#2#0#7'Options'#11#17'tvoAutoItemHeight'#16'tvo'
+'HideSelection'#21'tvoKeepCollapsedNodes'#11'tvoReadOnly'#19'tvoRightClickSe'
+'lect'#14'tvoShowButtons'#12'tvoShowLines'#11'tvoShowRoot'#11'tvoToolTips'#0
+#0#0#0#9'TTabSheet'#15'tsDocumentation'#7'Caption'#6#13'Documentation'#12'Cl'
+'ientHeight'#3#215#1#11'ClientWidth'#3' '#2#0#5'TMemo'#16'edtDocumentation'#4
+'Left'#2#12#6'Height'#3#178#1#3'Top'#2#18#5'Width'#3#2#2#7'Anchors'#11#5'akT'
+'op'#6'akLeft'#7'akRight'#8'akBottom'#0#10'ScrollBars'#7#10'ssAutoBoth'#8'Ta'
+'bOrder'#2#0#8'WordWrap'#8#0#0#0#0#11'TActionList'#11'ActionList1'#4'left'#3
+#248#0#3'top'#3#232#0#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#9'OnExecute'#7
+#12'actOKExecute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#7'TAction'#10'actPropAdd'
+#7'Caption'#6#12'New Property'#9'OnExecute'#7#17'actPropAddExecute'#0#0#7'TA'
+'ction'#11'actPropEdit'#7'Caption'#6#13'Edit Property'#9'OnExecute'#7#18'act'
+'PropEditExecute'#8'OnUpdate'#7#17'actPropEditUpdate'#0#0#7'TAction'#13'actP'
+'ropDelete'#7'Caption'#6#15'Delete Property'#9'OnExecute'#7#20'actPropDelete'
+'Execute'#8'OnUpdate'#7#17'actPropEditUpdate'#0#0#7'TAction'#8'actApply'#7'C'
+'aption'#6#5'Apply'#9'OnExecute'#7#15'actApplyExecute'#8'OnUpdate'#7#11'actO'
+'KUpdate'#0#0#7'TAction'#9'actMoveUp'#7'Caption'#6#7'Move Up'#9'OnExecute'#7
+#16'actMoveUpExecute'#8'OnUpdate'#7#15'actMoveUpUpdate'#0#0#7'TAction'#11'ac'
+'tMoveDown'#7'Caption'#6#9'Move Down'#9'OnExecute'#7#18'actMoveDownExecute'#8
+'OnUpdate'#7#17'actMoveDownUpdate'#0#0#7'TAction'#12'actMoveFirst'#7'Caption'
+#6#10'Move First'#9'OnExecute'#7#19'actMoveFirstExecute'#8'OnUpdate'#7#15'ac'
+'tMoveUpUpdate'#0#0#7'TAction'#11'actMoveLast'#7'Caption'#6#9'Move Last'#9'O'
+'nExecute'#7#18'actMoveLastExecute'#8'OnUpdate'#7#17'actMoveDownUpdate'#0#0#0
+#10'TPopupMenu'#10'PopupMenu1'#4'left'#2'i'#3'top'#3#186#0#0#9'TMenuItem'#9
+'MenuItem1'#6'Action'#7#10'actPropAdd'#7'OnClick'#7#17'actPropAddExecute'#0#0
+#9'TMenuItem'#9'MenuItem2'#6'Action'#7#11'actPropEdit'#7'OnClick'#7#18'actPr'
+'opEditExecute'#0#0#9'TMenuItem'#9'MenuItem3'#6'Action'#7#13'actPropDelete'#7
+'OnClick'#7#20'actPropDeleteExecute'#0#0#9'TMenuItem'#9'MenuItem4'#7'Caption'
+#6#1'-'#0#0#9'TMenuItem'#9'MenuItem5'#6'Action'#7#9'actMoveUp'#7'OnClick'#7
+#16'actMoveUpExecute'#0#0#9'TMenuItem'#9'MenuItem6'#6'Action'#7#11'actMoveDo'

View File

@ -28,6 +28,8 @@ type
TfClassEdit = class(TForm)
actApply : TAction;
actMoveFirst : TAction;
actMoveLast : TAction;
actMoveDown: TAction;
actMoveUp: TAction;
actPropDelete: TAction;
@ -37,6 +39,7 @@ type
actOK: TAction;
actOK1: TAction;
Button1: TButton;
Button10 : TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
@ -44,6 +47,7 @@ type
Button6 : TButton;
Button7: TButton;
Button8: TButton;
Button9 : TButton;
edtParent: TComboBox;
edtName: TEdit;
GroupBox1: TGroupBox;
@ -70,6 +74,8 @@ type
procedure actApplyExecute(Sender : TObject);
procedure actMoveDownExecute(Sender: TObject);
procedure actMoveDownUpdate(Sender: TObject);
procedure actMoveFirstExecute(Sender : TObject);
procedure actMoveLastExecute(Sender : TObject);
procedure actMoveUpExecute(Sender: TObject);
procedure actMoveUpUpdate(Sender: TObject);
procedure actOKExecute(Sender: TObject);
@ -155,6 +161,16 @@ begin
TAction(Sender).Enabled := Assigned(edtProp.ItemFocused) and ( edtProp.ItemFocused.Index < Pred(edtProp.Items.Count) );
end;
procedure TfClassEdit.actMoveFirstExecute(Sender : TObject);
begin
MovePropertyItem(TPasProperty(edtProp.ItemFocused.Data),0);
end;
procedure TfClassEdit.actMoveLastExecute(Sender : TObject);
begin
MovePropertyItem(TPasProperty(edtProp.ItemFocused.Data),(edtProp.Items.Count - 1));
end;
procedure TfClassEdit.actMoveUpExecute(Sender: TObject);
begin
MovePropertyItem(TPasProperty(edtProp.ItemFocused.Data),(edtProp.ItemFocused.Index - 1));

View File

@ -1,18 +1,17 @@
object fPropEdit: TfPropEdit
Left = 832
Left = 977
Height = 326
Top = 106
Top = 144
Width = 324
HorzScrollBar.Page = 323
VertScrollBar.Page = 325
ActiveControl = edtName
BorderIcons = [biSystemMenu]
BorderStyle = bsDialog
Caption = 'fPropEdit'
ClientHeight = 326
ClientWidth = 324
Position = poDesktopCenter
LCLVersion = '0.9.28'
LCLVersion = '0.9.29'
object Panel1: TPanel
Left = 0
Height = 50

View File

@ -1,34 +1,34 @@
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TfPropEdit','FORMDATA',[
'TPF0'#10'TfPropEdit'#9'fPropEdit'#4'Left'#3'@'#3#6'Height'#3'F'#1#3'Top'#2'j'
+#5'Width'#3'D'#1#18'HorzScrollBar.Page'#3'C'#1#18'VertScrollBar.Page'#3'E'#1
+#13'ActiveControl'#7#7'edtName'#11'BorderIcons'#11#12'biSystemMenu'#0#11'Bor'
+'derStyle'#7#8'bsDialog'#7'Caption'#6#9'fPropEdit'#12'ClientHeight'#3'F'#1#11
+'ClientWidth'#3'D'#1#8'Position'#7#15'poDesktopCenter'#10'LCLVersion'#6#6'0.'
+'9.28'#0#6'TPanel'#6'Panel1'#4'Left'#2#0#6'Height'#2'2'#3'Top'#3#20#1#5'Widt'
+'h'#3'D'#1#5'Align'#7#8'alBottom'#12'ClientHeight'#2'2'#11'ClientWidth'#3'D'
+#1#8'TabOrder'#2#0#0#7'TButton'#7'Button1'#4'Left'#3#236#0#6'Height'#2#25#3
+'Top'#2#10#5'Width'#2'K'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacin'
+'g.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8
+'TabOrder'#2#0#0#0#7'TButton'#7'Button2'#4'Left'#3#146#0#6'Height'#2#25#3'To'
+'p'#2#10#5'Width'#2'K'#6'Action'#7#5'actOK'#7'Anchors'#11#5'akTop'#7'akRight'
+#0#25'BorderSpacing.InnerBorder'#2#4#7'Default'#9#8'TabOrder'#2#1#0#0#0#12'T'
+'PageControl'#12'PageControl1'#4'Left'#2#0#6'Height'#3#20#1#3'Top'#2#0#5'Wid'
+'th'#3'D'#1#10'ActivePage'#7#9'TabSheet1'#5'Align'#7#8'alClient'#8'TabIndex'
+#2#0#8'TabOrder'#2#1#0#9'TTabSheet'#9'TabSheet1'#7'Caption'#6#8'Property'#12
+'ClientHeight'#3#250#0#11'ClientWidth'#3'<'#1#0#6'TLabel'#6'Label1'#4'Left'#2
+#20#6'Height'#2#14#3'Top'#2#24#5'Width'#2#28#7'Caption'#6#4'Name'#11'ParentC'
+'olor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#20#6'Height'#2#14#3'Top'#2'b'#5'W'
+'idth'#2#25#7'Caption'#6#4'Type'#11'ParentColor'#8#0#0#5'TEdit'#7'edtName'#4
+'Left'#2#20#6'Height'#2#21#3'Top'#2'*'#5'Width'#3#16#1#8'TabOrder'#2#0#0#0#9
+'TComboBox'#7'edtType'#4'Left'#2#20#6'Height'#2#21#3'Top'#2't'#5'Width'#3#16
+#1#10'ItemHeight'#2#13#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#1#0#0#9'T'
+'CheckBox'#12'edtAttribute'#4'Left'#2#20#6'Height'#2#17#3'Top'#3#170#0#5'Wid'
+'th'#2'j'#7'Caption'#6#18'Attribute Property'#8'TabOrder'#2#2#0#0#9'TCheckBo'
+'x'#11'edtOptional'#4'Left'#2#20#6'Height'#2#17#3'Top'#3#218#0#5'Width'#2'g'
+#7'Caption'#6#17'Optional property'#10'Font.Style'#11#8'fsItalic'#0#10'Paren'
+'tFont'#8#8'TabOrder'#2#3#0#0#0#0#11'TActionList'#11'ActionList1'#4'left'#2
+'h'#3'top'#2'h'#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#9'OnExecute'#7#12'a'
+'ctOKExecute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#0#0
'TPF0'#10'TfPropEdit'#9'fPropEdit'#4'Left'#3#209#3#6'Height'#3'F'#1#3'Top'#3
+#144#0#5'Width'#3'D'#1#18'HorzScrollBar.Page'#3'C'#1#18'VertScrollBar.Page'#3
+'E'#1#11'BorderIcons'#11#12'biSystemMenu'#0#11'BorderStyle'#7#8'bsDialog'#7
+'Caption'#6#9'fPropEdit'#12'ClientHeight'#3'F'#1#11'ClientWidth'#3'D'#1#8'Po'
+'sition'#7#15'poDesktopCenter'#10'LCLVersion'#6#6'0.9.29'#0#6'TPanel'#6'Pane'
+'l1'#4'Left'#2#0#6'Height'#2'2'#3'Top'#3#20#1#5'Width'#3'D'#1#5'Align'#7#8'a'
+'lBottom'#12'ClientHeight'#2'2'#11'ClientWidth'#3'D'#1#8'TabOrder'#2#0#0#7'T'
+'Button'#7'Button1'#4'Left'#3#236#0#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'
+#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#6'Can'
+'cel'#9#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#0#0#0#7'TBu'
+'tton'#7'Button2'#4'Left'#3#146#0#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'#6
+'Action'#7#5'actOK'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.Inn'
+'erBorder'#2#4#7'Default'#9#8'TabOrder'#2#1#0#0#0#12'TPageControl'#12'PageCo'
+'ntrol1'#4'Left'#2#0#6'Height'#3#20#1#3'Top'#2#0#5'Width'#3'D'#1#10'ActivePa'
+'ge'#7#9'TabSheet1'#5'Align'#7#8'alClient'#8'TabIndex'#2#0#8'TabOrder'#2#1#0
+#9'TTabSheet'#9'TabSheet1'#7'Caption'#6#8'Property'#12'ClientHeight'#3#250#0
+#11'ClientWidth'#3'<'#1#0#6'TLabel'#6'Label1'#4'Left'#2#20#6'Height'#2#14#3
+'Top'#2#24#5'Width'#2#28#7'Caption'#6#4'Name'#11'ParentColor'#8#0#0#6'TLabel'
+#6'Label2'#4'Left'#2#20#6'Height'#2#14#3'Top'#2'b'#5'Width'#2#25#7'Caption'#6
+#4'Type'#11'ParentColor'#8#0#0#5'TEdit'#7'edtName'#4'Left'#2#20#6'Height'#2
+#21#3'Top'#2'*'#5'Width'#3#16#1#8'TabOrder'#2#0#0#0#9'TComboBox'#7'edtType'#4
+'Left'#2#20#6'Height'#2#21#3'Top'#2't'#5'Width'#3#16#1#10'ItemHeight'#2#13#5
+'Style'#7#14'csDropDownList'#8'TabOrder'#2#1#0#0#9'TCheckBox'#12'edtAttribut'
+'e'#4'Left'#2#20#6'Height'#2#17#3'Top'#3#170#0#5'Width'#2'j'#7'Caption'#6#18
+'Attribute Property'#8'TabOrder'#2#2#0#0#9'TCheckBox'#11'edtOptional'#4'Left'
+#2#20#6'Height'#2#17#3'Top'#3#218#0#5'Width'#2'g'#7'Caption'#6#17'Optional p'
+'roperty'#10'Font.Style'#11#8'fsItalic'#0#10'ParentFont'#8#8'TabOrder'#2#3#0
+#0#0#0#11'TActionList'#11'ActionList1'#4'left'#2'h'#3'top'#2'h'#0#7'TAction'
+#5'actOK'#7'Caption'#6#2'OK'#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7#11
+'actOKUpdate'#0#0#0#0
]);

View File

@ -1,9 +1,8 @@
object fProcEdit: TfProcEdit
Left = 290
Left = 329
Height = 543
Top = 118
Top = 143
Width = 522
ActiveControl = edtName
BorderStyle = bsSizeToolWin
Caption = 'fProcEdit'
ClientHeight = 543
@ -71,6 +70,7 @@ object fProcEdit: TfProcEdit
end
item
end>
ItemIndex = -1
RowSelect = True
TabOrder = 0
ViewStyle = vsReport

View File

@ -1,53 +1,53 @@
{ Ceci est un fichier ressource généré automatiquement par Lazarus }
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TfProcEdit','FORMDATA',[
'TPF0'#10'TfProcEdit'#9'fProcEdit'#4'Left'#3'"'#1#6'Height'#3#31#2#3'Top'#2'v'
+#5'Width'#3#10#2#13'ActiveControl'#7#7'edtName'#11'BorderStyle'#7#13'bsSizeT'
+'oolWin'#7'Caption'#6#9'fProcEdit'#12'ClientHeight'#3#31#2#11'ClientWidth'#3
+#10#2#8'Position'#7#16'poMainFormCenter'#10'LCLVersion'#6#6'0.9.29'#0#12'TPa'
+'geControl'#12'PageControl1'#4'Left'#2#0#6'Height'#3#237#1#3'Top'#2#0#5'Widt'
+'h'#3#10#2#10'ActivePage'#7#9'TabSheet1'#5'Align'#7#8'alClient'#8'TabIndex'#2
+#0#8'TabOrder'#2#0#0#9'TTabSheet'#9'TabSheet1'#7'Caption'#6#10'&Operation'#12
+'ClientHeight'#3#211#1#11'ClientWidth'#3#2#2#0#6'TLabel'#6'Label1'#4'Left'#2
+#12#6'Height'#2#14#3'Top'#2#26#5'Width'#2#28#7'Caption'#6#4'Name'#11'ParentC'
+'olor'#8#0#0#5'TEdit'#7'edtName'#4'Left'#2'p'#6'Height'#2#21#3'Top'#2#26#5'W'
+'idth'#3#132#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0
+#4'Text'#6#7'edtName'#0#0#9'TGroupBox'#9'GroupBox1'#4'Left'#2#11#6'Height'#3
+'0'#1#3'Top'#2'r'#5'Width'#3#233#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRigh'
+'t'#8'akBottom'#0#7'Caption'#6#15' Parametters '#12'ClientHeight'#3#30#1#11
+'ClientWidth'#3#229#1#8'TabOrder'#2#3#0#9'TListView'#9'edtParams'#4'Left'#2#0
+#6'Height'#3#30#1#3'Top'#2#0#5'Width'#3#229#1#5'Align'#7#8'alClient'#7'Colum'
+'ns'#14#1#7'Caption'#6#4'Name'#5'Width'#3#180#0#0#1#7'Caption'#6#4'Type'#5'W'
+'idth'#3#190#0#0#1#7'Caption'#6#8'Modifier'#5'Width'#2'<'#0#1#0#0#9'RowSelec'
+'t'#9#8'TabOrder'#2#0#9'ViewStyle'#7#8'vsReport'#0#0#0#9'TCheckBox'#11'edtFu'
+'nction'#4'Left'#2#12#6'Height'#2#17#3'Top'#2'J'#5'Width'#2'a'#7'Caption'#6
+#16'Function returns'#7'OnClick'#7#16'edtFunctionClick'#13'OnEditingDone'#7
+#22'edtFunctionEditingDone'#8'TabOrder'#2#1#0#0#9'TComboBox'#13'edtResultTyp'
+'e'#4'Left'#2'p'#6'Height'#2#21#3'Top'#2'J'#5'Width'#3#132#1#7'Anchors'#11#5
+'akTop'#6'akLeft'#7'akRight'#0#10'ItemHeight'#2#13#5'Style'#7#14'csDropDownL'
+'ist'#8'TabOrder'#2#2#0#0#7'TButton'#7'Button3'#4'Left'#2#12#6'Height'#2#25#3
+'Top'#3#173#1#5'Width'#2'l'#6'Action'#7#9'actNewArg'#7'Anchors'#11#6'akLeft'
+#8'akBottom'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#4#0#0#7'TButt'
+'on'#7'Button4'#4'Left'#3#132#0#6'Height'#2#25#3'Top'#3#173#1#5'Width'#2'l'#6
+'Action'#7#17'actUpdateArgument'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#25'Bo'
+'rderSpacing.InnerBorder'#2#4#8'TabOrder'#2#5#0#0#7'TButton'#7'Button5'#4'Le'
+'ft'#3#248#0#6'Height'#2#25#3'Top'#3#173#1#5'Width'#2'l'#6'Action'#7#17'actD'
+'eleteArgument'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#25'BorderSpacing.Inner'
+'Border'#2#4#8'TabOrder'#2#6#0#0#0#0#6'TPanel'#6'Panel1'#4'Left'#2#0#6'Heigh'
+'t'#2'2'#3'Top'#3#237#1#5'Width'#3#10#2#5'Align'#7#8'alBottom'#12'ClientHeig'
+'ht'#2'2'#11'ClientWidth'#3#10#2#8'TabOrder'#2#1#0#7'TButton'#7'Button1'#4'L'
+'eft'#3'X'#1#6'Height'#2#25#3'Top'#2#11#5'Width'#2'K'#6'Action'#7#5'actOk'#7
+'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#7'Defau'
+'lt'#9#8'TabOrder'#2#0#0#0#7'TButton'#7'Button2'#4'Left'#3#176#1#6'Height'#2
+#25#3'Top'#2#11#5'Width'#2'K'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderS'
+'pacing.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6#6'Cancel'#11'ModalResult'#2
+#2#8'TabOrder'#2#1#0#0#0#11'TActionList'#2'AL'#4'left'#3#198#0#3'top'#3#241#0
+#0#7'TAction'#5'actOk'#7'Caption'#6#2'OK'#9'OnExecute'#7#12'actOkExecute'#8
+'OnUpdate'#7#11'actOkUpdate'#0#0#7'TAction'#9'actNewArg'#7'Caption'#6#12'New'
+' Argument'#9'OnExecute'#7#16'actNewArgExecute'#0#0#7'TAction'#17'actUpdateA'
+'rgument'#7'Caption'#6#13'Edit Argument'#9'OnExecute'#7#24'actUpdateArgument'
+'Execute'#8'OnUpdate'#7#23'actUpdateArgumentUpdate'#0#0#7'TAction'#17'actDel'
+'eteArgument'#7'Caption'#6#15'Delete Argument'#9'OnExecute'#7#24'actDeleteAr'
+'gumentExecute'#8'OnUpdate'#7#23'actUpdateArgumentUpdate'#0#0#0#10'TPopupMen'
+'u'#10'PopupMenu1'#4'left'#2'S'#3'top'#3#217#0#0#0#0
'TPF0'#10'TfProcEdit'#9'fProcEdit'#4'Left'#3'I'#1#6'Height'#3#31#2#3'Top'#3
+#143#0#5'Width'#3#10#2#11'BorderStyle'#7#13'bsSizeToolWin'#7'Caption'#6#9'fP'
+'rocEdit'#12'ClientHeight'#3#31#2#11'ClientWidth'#3#10#2#8'Position'#7#16'po'
+'MainFormCenter'#10'LCLVersion'#6#6'0.9.29'#0#12'TPageControl'#12'PageContro'
+'l1'#4'Left'#2#0#6'Height'#3#237#1#3'Top'#2#0#5'Width'#3#10#2#10'ActivePage'
+#7#9'TabSheet1'#5'Align'#7#8'alClient'#8'TabIndex'#2#0#8'TabOrder'#2#0#0#9'T'
+'TabSheet'#9'TabSheet1'#7'Caption'#6#10'&Operation'#12'ClientHeight'#3#211#1
+#11'ClientWidth'#3#2#2#0#6'TLabel'#6'Label1'#4'Left'#2#12#6'Height'#2#14#3'T'
+'op'#2#26#5'Width'#2#28#7'Caption'#6#4'Name'#11'ParentColor'#8#0#0#5'TEdit'#7
+'edtName'#4'Left'#2'p'#6'Height'#2#21#3'Top'#2#26#5'Width'#3#132#1#7'Anchors'
+#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0#4'Text'#6#7'edtName'#0#0
+#9'TGroupBox'#9'GroupBox1'#4'Left'#2#11#6'Height'#3'0'#1#3'Top'#2'r'#5'Width'
+#3#233#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#7'Caption'
+#6#15' Parametters '#12'ClientHeight'#3#30#1#11'ClientWidth'#3#229#1#8'Tab'
+'Order'#2#3#0#9'TListView'#9'edtParams'#4'Left'#2#0#6'Height'#3#30#1#3'Top'#2
+#0#5'Width'#3#229#1#5'Align'#7#8'alClient'#7'Columns'#14#1#7'Caption'#6#4'Na'
+'me'#5'Width'#3#180#0#0#1#7'Caption'#6#4'Type'#5'Width'#3#190#0#0#1#7'Captio'
+'n'#6#8'Modifier'#5'Width'#2'<'#0#1#0#0#9'ItemIndex'#2#255#9'RowSelect'#9#8
+'TabOrder'#2#0#9'ViewStyle'#7#8'vsReport'#0#0#0#9'TCheckBox'#11'edtFunction'
+#4'Left'#2#12#6'Height'#2#17#3'Top'#2'J'#5'Width'#2'a'#7'Caption'#6#16'Funct'
+'ion returns'#7'OnClick'#7#16'edtFunctionClick'#13'OnEditingDone'#7#22'edtFu'
+'nctionEditingDone'#8'TabOrder'#2#1#0#0#9'TComboBox'#13'edtResultType'#4'Lef'
+'t'#2'p'#6'Height'#2#21#3'Top'#2'J'#5'Width'#3#132#1#7'Anchors'#11#5'akTop'#6
+'akLeft'#7'akRight'#0#10'ItemHeight'#2#13#5'Style'#7#14'csDropDownList'#8'Ta'
+'bOrder'#2#2#0#0#7'TButton'#7'Button3'#4'Left'#2#12#6'Height'#2#25#3'Top'#3
+#173#1#5'Width'#2'l'#6'Action'#7#9'actNewArg'#7'Anchors'#11#6'akLeft'#8'akBo'
+'ttom'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#4#0#0#7'TButton'#7
+'Button4'#4'Left'#3#132#0#6'Height'#2#25#3'Top'#3#173#1#5'Width'#2'l'#6'Acti'
+'on'#7#17'actUpdateArgument'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#25'Border'
+'Spacing.InnerBorder'#2#4#8'TabOrder'#2#5#0#0#7'TButton'#7'Button5'#4'Left'#3
+#248#0#6'Height'#2#25#3'Top'#3#173#1#5'Width'#2'l'#6'Action'#7#17'actDeleteA'
+'rgument'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#25'BorderSpacing.InnerBorder'
+#2#4#8'TabOrder'#2#6#0#0#0#0#6'TPanel'#6'Panel1'#4'Left'#2#0#6'Height'#2'2'#3
+'Top'#3#237#1#5'Width'#3#10#2#5'Align'#7#8'alBottom'#12'ClientHeight'#2'2'#11
+'ClientWidth'#3#10#2#8'TabOrder'#2#1#0#7'TButton'#7'Button1'#4'Left'#3'X'#1#6
+'Height'#2#25#3'Top'#2#11#5'Width'#2'K'#6'Action'#7#5'actOk'#7'Anchors'#11#5
+'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#7'Default'#9#8'TabOrd'
+'er'#2#0#0#0#7'TButton'#7'Button2'#4'Left'#3#176#1#6'Height'#2#25#3'Top'#2#11
+#5'Width'#2'K'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBor'
+'der'#2#4#6'Cancel'#9#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'
+#2#1#0#0#0#11'TActionList'#2'AL'#4'left'#3#198#0#3'top'#3#241#0#0#7'TAction'
+#5'actOk'#7'Caption'#6#2'OK'#9'OnExecute'#7#12'actOkExecute'#8'OnUpdate'#7#11
+'actOkUpdate'#0#0#7'TAction'#9'actNewArg'#7'Caption'#6#12'New Argument'#9'On'
+'Execute'#7#16'actNewArgExecute'#0#0#7'TAction'#17'actUpdateArgument'#7'Capt'
+'ion'#6#13'Edit Argument'#9'OnExecute'#7#24'actUpdateArgumentExecute'#8'OnUp'
+'date'#7#23'actUpdateArgumentUpdate'#0#0#7'TAction'#17'actDeleteArgument'#7
+'Caption'#6#15'Delete Argument'#9'OnExecute'#7#24'actDeleteArgumentExecute'#8
+'OnUpdate'#7#23'actUpdateArgumentUpdate'#0#0#0#10'TPopupMenu'#10'PopupMenu1'
+#4'left'#2'S'#3'top'#3#217#0#0#0#0
]);

View File

@ -1,9 +1,8 @@
object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
Left = 158
Left = 209
Height = 644
Top = 112
Top = 105
Width = 833
ActiveControl = trvSchema
Caption = '[Web Services Toolkit ] Type Library Editor'
ClientHeight = 624
ClientWidth = 833
@ -11,7 +10,7 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
OnClose = FormClose
OnShow = FormShow
Position = poDesktopCenter
LCLVersion = '0.9.28'
LCLVersion = '0.9.29'
object SB: TStatusBar
Left = 0
Height = 23
@ -85,7 +84,6 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
PopupMenu = PopupMenu2
TabOrder = 0
BookMarkOptions.Xoffset = 56
BookMarkOptions.OnChange = nil
Gutter.Width = 57
Gutter.MouseActions = <
item
@ -687,7 +685,6 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
PopupMenu = PopupMenu2
TabOrder = 0
BookMarkOptions.Xoffset = 34
BookMarkOptions.OnChange = nil
Gutter.Width = 57
Gutter.MouseActions = <
item
@ -1289,7 +1286,6 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
PopupMenu = PopupMenu2
TabOrder = 0
BookMarkOptions.Xoffset = 56
BookMarkOptions.OnChange = nil
Gutter.Width = 57
Gutter.MouseActions = <
item
@ -1891,7 +1887,6 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
PopupMenu = PopupMenu2
TabOrder = 0
BookMarkOptions.Xoffset = 56
BookMarkOptions.OnChange = nil
Gutter.Width = 57
Gutter.MouseActions = <
item
@ -2493,7 +2488,6 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
PopupMenu = PopupMenu2
TabOrder = 0
BookMarkOptions.Xoffset = 56
BookMarkOptions.OnChange = nil
Gutter.Width = 57
Gutter.MouseActions = <
item
@ -3137,7 +3131,6 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
ParentFont = False
TabOrder = 0
BookMarkOptions.Xoffset = -18
BookMarkOptions.OnChange = nil
Gutter.Visible = False
Gutter.Width = 0
Gutter.MouseActions = <
@ -3849,6 +3842,10 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
object MenuItem12: TMenuItem
Caption = '-'
end
object MenuItem55: TMenuItem
Action = actClone
OnClick = actCloneExecute
end
object MenuItem13: TMenuItem
Action = actUpdateObject
Caption = 'Update Object'
@ -3940,7 +3937,7 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
Caption = 'Delete'
Enabled = False
OnExecute = actDeleteExecute
OnUpdate = actUpdateObjectUpdate
OnUpdate = actDeleteUpdate
end
object actArrayCreate: TAction
Caption = 'Create Array'
@ -3972,6 +3969,11 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
Caption = 'Save as XSD file ...'
OnExecute = actSaveXSDExecute
end
object actClone: TAction
Caption = 'Clone'
OnExecute = actCloneExecute
OnUpdate = actCloneUpdate
end
end
object OD: TOpenDialog
Filter = 'WDSL files(*.WSDL)|*.wsdl|Pascal file (*.pas)|*.pas|XSD files ( *.xsd )|*.xsd'
@ -4054,6 +4056,10 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
object MenuItem22: TMenuItem
Caption = '-'
end
object MenuItem54: TMenuItem
Action = actClone
OnClick = actCloneExecute
end
object MenuItem9: TMenuItem
Action = actUpdateObject
OnClick = actUpdateObjectExecute

File diff suppressed because it is too large Load Diff

View File

@ -41,6 +41,7 @@ type
actDelete : TAction;
actArrayCreate : TAction;
actEditSearch : TAction;
actClone : TAction;
actSaveXSD : TAction;
actTreeSearch : TAction;
actRecordCreate : TAction;
@ -100,6 +101,8 @@ type
MenuItem51 : TMenuItem;
MenuItem52 : TMenuItem;
MenuItem53 : TMenuItem;
MenuItem54 : TMenuItem;
MenuItem55 : TMenuItem;
MenuItem6: TMenuItem;
MenuItem7 : TMenuItem;
MenuItem8: TMenuItem;
@ -141,8 +144,11 @@ type
trvSchema: TTreeView;
procedure actAboutExecute(Sender: TObject);
procedure actArrayCreateExecute(Sender : TObject);
procedure actCloneExecute(Sender : TObject);
procedure actCloneUpdate(Sender : TObject);
procedure actCompoundCreateExecute(Sender: TObject);
procedure actDeleteExecute (Sender : TObject );
procedure actDeleteUpdate(Sender : TObject);
procedure actEnumCreateExecute(Sender: TObject);
procedure actEnumCreateUpdate(Sender : TObject);
procedure actExitExecute(Sender: TObject);
@ -613,7 +619,7 @@ begin
nd := trvSchema.Selected;
if Assigned(nd) and Assigned(nd.Data) then begin
o := TPasElement(nd.Data);
if HasEditor(o) and UpdateObject(o,FSymbolTable) then begin
if HasEditor(o,etUpdate) and UpdateObject(o,FSymbolTable) then begin
nd_1 := nd;
locTypeNode := GetTypeNode();
trvSchema.BeginUpdate();
@ -633,7 +639,7 @@ begin
TAction(Sender).Enabled :=
Assigned(trvSchema.Selected) and
Assigned(trvSchema.Selected.Data) and
HasEditor(TPasElement(trvSchema.Selected.Data));
HasEditor(TPasElement(trvSchema.Selected.Data),etUpdate);
end;
procedure TfWstTypeLibraryEdit.FDFind(Sender : TObject);
@ -827,6 +833,43 @@ begin
end;
end;
procedure TfWstTypeLibraryEdit.actCloneExecute(Sender : TObject);
var
o : TPasElement;
nd, nd_1 : TTreeNode;
locHandler : TObjectUpdaterClass;
locNewItem : TPasElement;
begin
nd := trvSchema.Selected;
if Assigned(nd) and Assigned(nd.Data) then begin
o := TPasElement(nd.Data);
if HasEditor(o,etClone,locHandler) then begin
locNewItem := locHandler.CloneObject(o,FSymbolTable);
if ( locNewItem <> nil ) then begin
trvSchema.BeginUpdate();
try
nd_1 := FindPainter(locNewItem).Paint(FSymbolTable,locNewItem,GetTypeNode());
if ( nd_1 <> nil ) then begin
nd_1.Expand(True);
trvSchema.Selected := nd_1;
trvSchema.MakeSelectionVisible();
end;
finally
trvSchema.EndUpdate();
end;
end;
end;
end;
end;
procedure TfWstTypeLibraryEdit.actCloneUpdate(Sender : TObject);
begin
TAction(Sender).Enabled :=
Assigned(trvSchema.Selected) and
Assigned(trvSchema.Selected.Data) and
HasEditor(TPasElement(trvSchema.Selected.Data),etClone);
end;
procedure TfWstTypeLibraryEdit.actCompoundCreateExecute(Sender: TObject);
var
e : TPasClassType;
@ -845,7 +888,7 @@ begin
nd := trvSchema.Selected;
if Assigned(nd) and Assigned(nd.Data) then begin
o := TPasElement(nd.Data);
if HasEditor(o) then begin
if HasEditor(o,etDelete) then begin
if ( MessageDlg(Format('Delete this object "%s" ?',[o.Name]),mtConfirmation,mbYesNo,0) = mrYes ) then begin
DeleteObject(o,FSymbolTable);
trvSchema.BeginUpdate();
@ -859,6 +902,14 @@ begin
end;
end;
procedure TfWstTypeLibraryEdit.actDeleteUpdate(Sender : TObject);
begin
TAction(Sender).Enabled :=
Assigned(trvSchema.Selected) and
Assigned(trvSchema.Selected.Data) and
HasEditor(TPasElement(trvSchema.Selected.Data),etDelete);
end;
procedure TfWstTypeLibraryEdit.actEnumCreateExecute(Sender: TObject);
var
e : TPasEnumType;