You've already forked lazarus-ccr
xsd generator
wsdl generator xsd & wsdl parser test : embedded record git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@269 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -7,12 +7,9 @@
|
||||
targetNamespace="urn:wst-test">
|
||||
|
||||
<types>
|
||||
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:wst-test">
|
||||
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:wst-test" xmlns:n="urn:wst-test" >
|
||||
|
||||
<xsd:complexType name="TRecordSampleType">
|
||||
<xsd:annotation>
|
||||
<xsd:appinfo record="true"/>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType name="TRecordSampleType" wst_record="true">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="intField" type="xsd:int" />
|
||||
<xsd:element name="strField" type="xsd:string" minOccurs="1" maxOccurs="1"/>
|
||||
@ -27,10 +24,7 @@
|
||||
|
||||
<xsd:element name="TRecordSample" type="n:TRecordSampleType"/>
|
||||
|
||||
<xsd:complexType name="TRecordSampleTypeAll">
|
||||
<xsd:annotation>
|
||||
<xsd:appinfo record="true"/>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType name="TRecordSampleTypeAll" wst_record="true">
|
||||
<xsd:all>
|
||||
<xsd:element name="intField" type="xsd:int" />
|
||||
<xsd:element name="strField" type="xsd:string" minOccurs="1" maxOccurs="1"/>
|
||||
|
@ -3,8 +3,7 @@
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="urn:wst-test">
|
||||
|
||||
<xsd:complexType name="TRecordSampleType">
|
||||
<xsd:annotation><xsd:appinfo record="true"/></xsd:annotation>
|
||||
<xsd:complexType name="TRecordSampleType" wst_record="true">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="intField" type="xsd:int" />
|
||||
<xsd:element name="strField" type="xsd:string" minOccurs="1" maxOccurs="1"/>
|
||||
@ -19,8 +18,7 @@
|
||||
|
||||
<xsd:element name="TRecordSample" type="n:TRecordSampleType"/>
|
||||
|
||||
<xsd:complexType name="TRecordSampleTypeAll">
|
||||
<xsd:annotation><xsd:appinfo record="true"/></xsd:annotation>
|
||||
<xsd:complexType name="TRecordSampleTypeAll" wst_record="true">
|
||||
<xsd:all>
|
||||
<xsd:element name="intField" type="xsd:int" />
|
||||
<xsd:element name="strField" type="xsd:string" minOccurs="1" maxOccurs="1"/>
|
||||
@ -29,7 +27,7 @@
|
||||
<xsd:element name="charField" type="xsd:char" minOccurs="1"/>
|
||||
<xsd:element name="longField" type="xsd:long" minOccurs="0"/>
|
||||
</xsd:all>
|
||||
<xsd:attribute name="strAtt" type="xsd:string"/>
|
||||
<xsd:attribute name="strAtt" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="intAtt" type="xsd:int"/>
|
||||
</xsd:complexType>
|
||||
|
||||
|
@ -0,0 +1,46 @@
|
||||
<?xml version="1.0"?>
|
||||
<definitions name="wst_test"
|
||||
xmlns="http://schemas.xmlsoap.org/wsdl/"
|
||||
xmlns:tns="library1"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
|
||||
targetNamespace="urn:wst-test">
|
||||
|
||||
<types>
|
||||
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:wst-test" xmlns:n="urn:wst-test" >
|
||||
|
||||
<xsd:element name="TRecordSampleType">
|
||||
<xsd:complexType wst_record="true">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="intField" type="xsd:int" />
|
||||
<xsd:element name="strField" type="xsd:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xsd:element name="floatField" type="xsd:float" minOccurs="0" maxOccurs="1"/>
|
||||
<xsd:element name="byteField" type="xsd:byte" maxOccurs="1"/>
|
||||
<xsd:element name="charField" type="xsd:char" minOccurs="1"/>
|
||||
<xsd:element name="longField" type="xsd:long" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="strAtt" type="xsd:string"/>
|
||||
<xsd:attribute name="intAtt" type="xsd:int"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="TRecordSampleTypeAll">
|
||||
<xsd:complexType wst_record="true">
|
||||
<xsd:all>
|
||||
<xsd:element name="intField" type="xsd:int" />
|
||||
<xsd:element name="strField" type="xsd:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xsd:element name="floatField" type="xsd:float" minOccurs="0" maxOccurs="1"/>
|
||||
<xsd:element name="byteField" type="xsd:byte" maxOccurs="1"/>
|
||||
<xsd:element name="charField" type="xsd:char" minOccurs="1"/>
|
||||
<xsd:element name="longField" type="xsd:long" minOccurs="0"/>
|
||||
</xsd:all>
|
||||
<xsd:attribute name="strAtt" type="xsd:string"/>
|
||||
<xsd:attribute name="intAtt" type="xsd:int"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
</xsd:schema>
|
||||
</types>
|
||||
|
||||
|
||||
</definitions>
|
36
wst/trunk/tests/test_suite/files/complex_record_embedded.xsd
Normal file
36
wst/trunk/tests/test_suite/files/complex_record_embedded.xsd
Normal file
@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsd:schema xmlns:n="urn:wst-test"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="urn:wst-test">
|
||||
|
||||
<xsd:element name="TRecordSampleType">
|
||||
<xsd:complexType wst_record="true">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="intField" type="xsd:int" />
|
||||
<xsd:element name="strField" type="xsd:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xsd:element name="floatField" type="xsd:float" minOccurs="0" maxOccurs="1"/>
|
||||
<xsd:element name="byteField" type="xsd:byte" maxOccurs="1"/>
|
||||
<xsd:element name="charField" type="xsd:char" minOccurs="1"/>
|
||||
<xsd:element name="longField" type="xsd:long" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="strAtt" type="xsd:string"/>
|
||||
<xsd:attribute name="intAtt" type="xsd:int"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="TRecordSampleTypeAll">
|
||||
<xsd:complexType wst_record="true">
|
||||
<xsd:all>
|
||||
<xsd:element name="intField" type="xsd:int" />
|
||||
<xsd:element name="strField" type="xsd:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xsd:element name="floatField" type="xsd:float" minOccurs="0" maxOccurs="1"/>
|
||||
<xsd:element name="byteField" type="xsd:byte" maxOccurs="1"/>
|
||||
<xsd:element name="charField" type="xsd:char" minOccurs="1"/>
|
||||
<xsd:element name="longField" type="xsd:long" minOccurs="0"/>
|
||||
</xsd:all>
|
||||
<xsd:attribute name="strAtt" type="xsd:string"/>
|
||||
<xsd:attribute name="intAtt" type="xsd:int"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
</xsd:schema>
|
@ -37,6 +37,7 @@ type
|
||||
function LoadComplexType_Class_Embedded_Schema() : TwstPasTreeContainer;virtual;abstract;
|
||||
|
||||
function LoadComplexType_Record_Schema() : TwstPasTreeContainer;virtual;abstract;
|
||||
function LoadComplexType_Record_Embedded_Schema() : TwstPasTreeContainer;virtual;abstract;
|
||||
|
||||
function LoadComplexType_ArraySequence_Schema() : TwstPasTreeContainer;virtual;abstract;
|
||||
function LoadComplexType_ArraySequence_Embedded_Schema() : TwstPasTreeContainer;virtual;abstract;
|
||||
@ -50,6 +51,7 @@ type
|
||||
procedure ComplexType_Class_Embedded();
|
||||
|
||||
procedure ComplexType_Record();
|
||||
procedure ComplexType_Record_Embedded();
|
||||
|
||||
procedure ComplexType_ArraySequence();
|
||||
procedure ComplexType_ArraySequence_Embedded();
|
||||
@ -70,6 +72,7 @@ type
|
||||
function LoadComplexType_Class_Embedded_Schema() : TwstPasTreeContainer;override;
|
||||
|
||||
function LoadComplexType_Record_Schema() : TwstPasTreeContainer;override;
|
||||
function LoadComplexType_Record_Embedded_Schema() : TwstPasTreeContainer;override;
|
||||
|
||||
function LoadComplexType_ArraySequence_Schema() : TwstPasTreeContainer;override;
|
||||
function LoadComplexType_ArraySequence_Embedded_Schema() : TwstPasTreeContainer;override;
|
||||
@ -90,6 +93,7 @@ type
|
||||
function LoadComplexType_Class_Embedded_Schema() : TwstPasTreeContainer;override;
|
||||
|
||||
function LoadComplexType_Record_Schema() : TwstPasTreeContainer;override;
|
||||
function LoadComplexType_Record_Embedded_Schema() : TwstPasTreeContainer;override;
|
||||
|
||||
function LoadComplexType_ArraySequence_Schema() : TwstPasTreeContainer;override;
|
||||
function LoadComplexType_ArraySequence_Embedded_Schema() : TwstPasTreeContainer;override;
|
||||
@ -510,7 +514,7 @@ var
|
||||
CheckEquals(AName,tr.GetExternalName(prp));
|
||||
CheckNotNull(prp.VarType);
|
||||
CheckEquals(ATypeName,tr.GetExternalName(prp.VarType));
|
||||
CheckEquals(PropertyType_Att[AFieldType],tr.IsAttributeProperty(prp));
|
||||
CheckEquals(PropertyType_Att[AFieldType],tr.IsAttributeProperty(prp),Format('IsAttributeProperty("%s.%s")',[recType.Name, AName]));
|
||||
end;
|
||||
|
||||
var
|
||||
@ -588,6 +592,90 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTest_CustomXsdParser.ComplexType_Record_Embedded();
|
||||
var
|
||||
tr : TwstPasTreeContainer;
|
||||
recType : TPasRecordType;
|
||||
|
||||
procedure CheckProperty(const AName,ATypeName : string; const AFieldType : TPropertyType);
|
||||
var
|
||||
prp : TPasVariable;
|
||||
begin
|
||||
prp := FindMember(recType,AName) as TPasVariable;
|
||||
CheckNotNull(prp);
|
||||
CheckEquals(AName,prp.Name);
|
||||
CheckEquals(AName,tr.GetExternalName(prp));
|
||||
CheckNotNull(prp.VarType);
|
||||
CheckEquals(ATypeName,tr.GetExternalName(prp.VarType));
|
||||
CheckEquals(PropertyType_Att[AFieldType],tr.IsAttributeProperty(prp),Format('IsAttributeProperty("%s.%s")',[recType.Name, AName]));
|
||||
end;
|
||||
|
||||
var
|
||||
mdl : TPasModule;
|
||||
ls : TList;
|
||||
elt : TPasElement;
|
||||
aliasType : TPasAliasType;
|
||||
i : Integer;
|
||||
prpLs : TList;
|
||||
begin
|
||||
prpLs := TList.Create();
|
||||
try
|
||||
tr := LoadComplexType_Record_Embedded_Schema();
|
||||
|
||||
mdl := tr.FindModule(x_targetNamespace);
|
||||
CheckNotNull(mdl);
|
||||
CheckEquals(x_complexType_record_embedded,mdl.Name);
|
||||
CheckEquals(x_targetNamespace,tr.GetExternalName(mdl));
|
||||
ls := mdl.InterfaceSection.Declarations;
|
||||
CheckEquals(2,ls.Count);
|
||||
elt := tr.FindElement(x_complexType_SampleRecordType);
|
||||
CheckNotNull(elt,x_complexType_SampleRecordType);
|
||||
CheckEquals(x_complexType_SampleRecordType,elt.Name);
|
||||
CheckEquals(x_complexType_SampleRecordType,tr.GetExternalName(elt));
|
||||
CheckIs(elt,TPasRecordType,'Element Type');
|
||||
recType := elt as TPasRecordType;
|
||||
prpLs.Clear();
|
||||
for i := 0 to Pred(recType.Members.Count) do begin
|
||||
if TPasElement(recType.Members[i]).InheritsFrom(TPasVariable) then
|
||||
prpLs.Add(recType.Members[i]);
|
||||
end;
|
||||
CheckEquals(8,prpLs.Count);
|
||||
CheckProperty(x_intField,'int',ptField);
|
||||
CheckProperty(x_strField,'string',ptField);
|
||||
CheckProperty(x_floatField,'float',ptField);
|
||||
CheckProperty(x_byteField,'byte',ptField);
|
||||
CheckProperty(x_charField,'char',ptField);
|
||||
CheckProperty(x_longField,'long',ptField);
|
||||
CheckProperty(x_strAtt,'string',ptAttribute);
|
||||
CheckProperty(x_intAtt,'int',ptAttribute);
|
||||
|
||||
|
||||
elt := tr.FindElement(x_complexType_SampleRecordTypeAll);
|
||||
CheckNotNull(elt,x_complexType_SampleRecordTypeAll);
|
||||
CheckEquals(x_complexType_SampleRecordTypeAll,elt.Name);
|
||||
CheckEquals(x_complexType_SampleRecordTypeAll,tr.GetExternalName(elt));
|
||||
CheckIs(elt,TPasRecordType,'Element type');
|
||||
recType := elt as TPasRecordType;
|
||||
prpLs.Clear();
|
||||
for i := 0 to Pred(recType.Members.Count) do begin
|
||||
if TPasElement(recType.Members[i]).InheritsFrom(TPasVariable) then
|
||||
prpLs.Add(recType.Members[i]);
|
||||
end;
|
||||
CheckEquals(8,prpLs.Count);
|
||||
CheckProperty(x_intField,'int',ptField);
|
||||
CheckProperty(x_strField,'string',ptField);
|
||||
CheckProperty(x_floatField,'float',ptField);
|
||||
CheckProperty(x_byteField,'byte',ptField);
|
||||
CheckProperty(x_charField,'char',ptField);
|
||||
CheckProperty(x_longField,'long',ptField);
|
||||
CheckProperty(x_strAtt,'string',ptAttribute);
|
||||
CheckProperty(x_intAtt,'int',ptAttribute);
|
||||
|
||||
finally
|
||||
FreeAndNil(prpLs);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTest_CustomXsdParser.ComplexType_ArraySequence();
|
||||
var
|
||||
tr : TwstPasTreeContainer;
|
||||
@ -817,6 +905,11 @@ begin
|
||||
Result := ParseDoc(x_complexType_record);
|
||||
end;
|
||||
|
||||
function TTest_XsdParser.LoadComplexType_Record_Embedded_Schema(): TwstPasTreeContainer;
|
||||
begin
|
||||
Result := ParseDoc(x_complexType_record_embedded);
|
||||
end;
|
||||
|
||||
function TTest_XsdParser.LoadComplexType_ArraySequence_Schema(): TwstPasTreeContainer;
|
||||
begin
|
||||
Result := ParseDoc(x_complexType_array_sequence);
|
||||
@ -880,6 +973,11 @@ begin
|
||||
Result := ParseDoc(x_complexType_record);
|
||||
end;
|
||||
|
||||
function TTest_WsdlParser.LoadComplexType_Record_Embedded_Schema(): TwstPasTreeContainer;
|
||||
begin
|
||||
Result := ParseDoc(x_complexType_record_embedded);
|
||||
end;
|
||||
|
||||
function TTest_WsdlParser.LoadComplexType_ArraySequence_Schema(): TwstPasTreeContainer;
|
||||
begin
|
||||
Result := ParseDoc(x_complexType_array_sequence);
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -16,7 +16,8 @@ uses
|
||||
server_binary_formatter, metadata_repository,
|
||||
metadata_generator, parserdefs, server_service_intf, metadata_wsdl,
|
||||
test_parserdef, base_xmlrpc_formatter, wst_fpc_xml, test_utilities,
|
||||
server_service_xmlrpc, test_parsers, wsdl_generator;
|
||||
server_service_xmlrpc, test_parsers, wsdl_generator, xsd_generator,
|
||||
xsd_consts;
|
||||
|
||||
Const
|
||||
ShortOpts = 'alh';
|
||||
|
@ -7,7 +7,7 @@
|
||||
<MainUnit Value="0"/>
|
||||
<IconPath Value="./"/>
|
||||
<TargetFileExt Value=".exe"/>
|
||||
<ActiveEditorIndexAtStart Value="8"/>
|
||||
<ActiveEditorIndexAtStart Value="0"/>
|
||||
</General>
|
||||
<VersionInfo>
|
||||
<ProjectVersion Value=""/>
|
||||
@ -36,7 +36,7 @@
|
||||
<Unit0>
|
||||
<Filename Value="typ_lib_edtr.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<CursorPos X="1" Y="21"/>
|
||||
<CursorPos X="60" Y="13"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<UsageCount Value="200"/>
|
||||
@ -49,8 +49,8 @@
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="uwsttypelibraryedit.lrs"/>
|
||||
<UnitName Value="uwsttypelibraryedit"/>
|
||||
<CursorPos X="45" Y="170"/>
|
||||
<TopLine Value="151"/>
|
||||
<CursorPos X="1" Y="385"/>
|
||||
<TopLine Value="369"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="200"/>
|
||||
<Loaded Value="True"/>
|
||||
@ -688,8 +688,8 @@
|
||||
<Filename Value="..\ws_helper\wsdl_generator.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="wsdl_generator"/>
|
||||
<CursorPos X="50" Y="1031"/>
|
||||
<TopLine Value="1004"/>
|
||||
<CursorPos X="45" Y="21"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="32"/>
|
||||
<Loaded Value="True"/>
|
||||
@ -750,7 +750,20 @@
|
||||
<UsageCount Value="10"/>
|
||||
</Unit92>
|
||||
</Units>
|
||||
<JumpHistory Count="0" HistoryIndex="-1"/>
|
||||
<JumpHistory Count="3" HistoryIndex="2">
|
||||
<Position1>
|
||||
<Filename Value="uwsttypelibraryedit.pas"/>
|
||||
<Caret Line="170" Column="45" TopLine="151"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="uwsttypelibraryedit.pas"/>
|
||||
<Caret Line="378" Column="17" TopLine="364"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="uwsttypelibraryedit.pas"/>
|
||||
<Caret Line="172" Column="59" TopLine="151"/>
|
||||
</Position3>
|
||||
</JumpHistory>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="5"/>
|
||||
|
@ -78,9 +78,11 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
||||
PopupMenu = PopupMenu2
|
||||
TabOrder = 0
|
||||
BookMarkOptions.Xoffset = 81
|
||||
BookMarkOptions.OnChange = nil
|
||||
Gutter.DigitCount = 5
|
||||
Gutter.ShowLineNumbers = True
|
||||
Gutter.ShowCodeFolding = True
|
||||
Gutter.OnChange = nil
|
||||
Gutter.CodeFoldingWidth = 14
|
||||
Highlighter = SynPasSyn1
|
||||
Keystrokes = <
|
||||
@ -405,6 +407,7 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
||||
ShortCut = 24642
|
||||
end>
|
||||
ReadOnly = True
|
||||
SelectedColor.OnChange = nil
|
||||
end
|
||||
end
|
||||
object tsWSDL: TTabSheet
|
||||
@ -424,7 +427,9 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
||||
PopupMenu = PopupMenu2
|
||||
TabOrder = 0
|
||||
BookMarkOptions.Xoffset = 54
|
||||
BookMarkOptions.OnChange = nil
|
||||
Gutter.ShowLineNumbers = True
|
||||
Gutter.OnChange = nil
|
||||
Gutter.CodeFoldingWidth = 14
|
||||
Highlighter = SynXMLSyn1
|
||||
Keystrokes = <
|
||||
@ -749,6 +754,7 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
||||
ShortCut = 24642
|
||||
end>
|
||||
ReadOnly = True
|
||||
SelectedColor.OnChange = nil
|
||||
end
|
||||
end
|
||||
object tsProxy: TTabSheet
|
||||
@ -768,11 +774,9 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
||||
PopupMenu = PopupMenu2
|
||||
TabOrder = 0
|
||||
BookMarkOptions.Xoffset = 81
|
||||
BookMarkOptions.OnChange = nil
|
||||
Gutter.DigitCount = 5
|
||||
Gutter.ShowLineNumbers = True
|
||||
Gutter.ShowCodeFolding = True
|
||||
Gutter.OnChange = nil
|
||||
Gutter.CodeFoldingWidth = 14
|
||||
Highlighter = SynPasSyn1
|
||||
Keystrokes = <
|
||||
@ -1097,7 +1101,6 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
||||
ShortCut = 24642
|
||||
end>
|
||||
ReadOnly = True
|
||||
SelectedColor.OnChange = nil
|
||||
end
|
||||
end
|
||||
object tsImp: TTabSheet
|
||||
@ -1117,11 +1120,9 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
||||
PopupMenu = PopupMenu2
|
||||
TabOrder = 0
|
||||
BookMarkOptions.Xoffset = 81
|
||||
BookMarkOptions.OnChange = nil
|
||||
Gutter.DigitCount = 5
|
||||
Gutter.ShowLineNumbers = True
|
||||
Gutter.ShowCodeFolding = True
|
||||
Gutter.OnChange = nil
|
||||
Gutter.CodeFoldingWidth = 14
|
||||
Highlighter = SynPasSyn1
|
||||
Keystrokes = <
|
||||
@ -1446,7 +1447,6 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
||||
ShortCut = 24642
|
||||
end>
|
||||
ReadOnly = True
|
||||
SelectedColor.OnChange = nil
|
||||
end
|
||||
end
|
||||
object tsBinder: TTabSheet
|
||||
@ -1466,12 +1466,10 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
||||
PopupMenu = PopupMenu2
|
||||
TabOrder = 0
|
||||
BookMarkOptions.Xoffset = 81
|
||||
BookMarkOptions.OnChange = nil
|
||||
Gutter.AutoSize = True
|
||||
Gutter.DigitCount = 5
|
||||
Gutter.ShowLineNumbers = True
|
||||
Gutter.ShowCodeFolding = True
|
||||
Gutter.OnChange = nil
|
||||
Gutter.CodeFoldingWidth = 14
|
||||
Highlighter = SynPasSyn1
|
||||
Keystrokes = <
|
||||
@ -1796,7 +1794,6 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
||||
ShortCut = 24642
|
||||
end>
|
||||
ReadOnly = True
|
||||
SelectedColor.OnChange = nil
|
||||
end
|
||||
end
|
||||
object tsLog: TTabSheet
|
||||
|
@ -22,61 +22,63 @@ LazarusResources.Add('TfWstTypeLibraryEdit','FORMDATA',[
|
||||
+'='#2#5'Width'#3#245#1#5'Align'#7#8'alClient'#12'Font.CharSet'#7#12'ANSI_CHA'
|
||||
+'RSET'#10'Font.Color'#7#7'clBlack'#11'Font.Height'#2#236#9'Font.Name'#6#7'Co'
|
||||
+'urier'#10'Font.Pitch'#7#7'fpFixed'#11'ParentColor'#8#9'PopupMenu'#7#10'Popu'
|
||||
+'pMenu2'#8'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'Q'#17'Gutter.DigitCou'
|
||||
+'nt'#2#5#22'Gutter.ShowLineNumbers'#9#22'Gutter.ShowCodeFolding'#9#23'Gutter'
|
||||
+'.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'SynPasSyn1'#10'Keystrokes'#14#1
|
||||
+#7'Command'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7
|
||||
+'Command'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7
|
||||
+'Command'#2'h'#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1
|
||||
+#7'Command'#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7
|
||||
+'Command'#2#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7
|
||||
+'Command'#2#2#8'ShortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7
|
||||
+'Command'#2#6#8'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7
|
||||
+'Command'#2#10#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7
|
||||
+'Command'#2#14#8'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7
|
||||
+'Command'#2#9#8'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'C'
|
||||
+'ommand'#2#13#8'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7
|
||||
+'Command'#2#7#8'ShortCut'#2'$'#0#1#7'Command'#2'k'#8'ShortCut'#3'$ '#0#1#7'C'
|
||||
+'ommand'#2#15#8'ShortCut'#3'$@'#0#1#7'Command'#2's'#8'ShortCut'#3'$`'#0#1#7
|
||||
+'Command'#2#8#8'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'ShortCut'#3'# '#0#1#7'C'
|
||||
+'ommand'#2#16#8'ShortCut'#3'#@'#0#1#7'Command'#2't'#8'ShortCut'#3'#`'#0#1#7
|
||||
+'Command'#3#223#0#8'ShortCut'#2'-'#0#1#7'Command'#3#201#0#8'ShortCut'#3'-@'#0
|
||||
+#1#7'Command'#3'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2
|
||||
+'.'#0#1#7'Command'#3'['#2#8'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCu'
|
||||
+'t'#2#8#0#1#7'Command'#3#245#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'S'
|
||||
+'hortCut'#3#8'@'#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command'
|
||||
+#3'Z'#2#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7
|
||||
+'Command'#3#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@'
|
||||
+#0#1#7'Command'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3
|
||||
+'M@'#0#1#7'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3#247#1#8'Short'
|
||||
+'Cut'#3'T@'#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8
|
||||
+'ShortCut'#3'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251
|
||||
+#1#8'ShortCut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'
|
||||
+#3'Y'#2#8'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Comm'
|
||||
+'and'#3'-'#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7
|
||||
+'Command'#3'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0
|
||||
+#1#7'Command'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5'
|
||||
+'@'#0#1#7'Command'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'
|
||||
+#3'7@'#0#1#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1#7'Command'#3'6'#1#8'Short'
|
||||
+'Cut'#3'9@'#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8
|
||||
+'ShortCut'#3'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'
|
||||
+#1#8'ShortCut'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3
|
||||
+'d'#1#8'ShortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Comman'
|
||||
+'d'#3'f'#1#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'C'
|
||||
+'ommand'#3'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3#231#0#8'ShortCut'#3'N`'#0
|
||||
+#1#7'Command'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3
|
||||
,'L`'#0#1#7'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'
|
||||
+#3#9' '#0#1#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#8'ReadOnly'#9#0#0#0#9'T'
|
||||
+'TabSheet'#6'tsWSDL'#7'Caption'#6#5'&WSDL'#12'ClientHeight'#3'='#2#11'Client'
|
||||
+'Width'#3#245#1#0#8'TSynEdit'#7'srcWSDL'#6'Height'#3'='#2#5'Width'#3#245#1#5
|
||||
+'Align'#7#8'alClient'#12'Font.CharSet'#7#12'ANSI_CHARSET'#10'Font.Color'#7#7
|
||||
+'clBlack'#11'Font.Height'#2#233#9'Font.Name'#6#7'Courier'#10'Font.Pitch'#7#7
|
||||
+'fpFixed'#11'ParentColor'#8#9'PopupMenu'#7#10'PopupMenu2'#8'TabOrder'#2#0#23
|
||||
+'BookMarkOptions.Xoffset'#2'6'#22'Gutter.ShowLineNumbers'#9#23'Gutter.CodeFo'
|
||||
+'ldingWidth'#2#14#11'Highlighter'#7#10'SynXMLSyn1'#10'Keystrokes'#14#1#7'Com'
|
||||
+'mand'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Comm'
|
||||
+'and'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Co'
|
||||
+'mmand'#2'h'#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1#7
|
||||
+'pMenu2'#8'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'Q'#24'BookMarkOptions'
|
||||
+'.OnChange'#13#17'Gutter.DigitCount'#2#5#22'Gutter.ShowLineNumbers'#9#22'Gut'
|
||||
+'ter.ShowCodeFolding'#9#15'Gutter.OnChange'#13#23'Gutter.CodeFoldingWidth'#2
|
||||
+#14#11'Highlighter'#7#10'SynPasSyn1'#10'Keystrokes'#14#1#7'Command'#2#3#8'Sh'
|
||||
+'ortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Command'#3#211#0#8
|
||||
+'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Command'#2'h'#8'S'
|
||||
+'hortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1#7'Command'#2#1#8
|
||||
+'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7'Command'#2#5#8'S'
|
||||
+'hortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2#8'S'
|
||||
+'hortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7'Command'#2#6#8
|
||||
+'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7'Command'#2#10
|
||||
+#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7'Command'#2#14#8
|
||||
+'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7'Command'#2#9#8
|
||||
+'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'Command'#2#13#8
|
||||
+'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7'Command'#2#7#8
|
||||
+'ShortCut'#2'$'#0#1#7'Command'#2'k'#8'ShortCut'#3'$ '#0#1#7'Command'#2#15#8
|
||||
+'ShortCut'#3'$@'#0#1#7'Command'#2's'#8'ShortCut'#3'$`'#0#1#7'Command'#2#8#8
|
||||
+'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'ShortCut'#3'# '#0#1#7'Command'#2#16#8
|
||||
+'ShortCut'#3'#@'#0#1#7'Command'#2't'#8'ShortCut'#3'#`'#0#1#7'Command'#3#223#0
|
||||
+#8'ShortCut'#2'-'#0#1#7'Command'#3#201#0#8'ShortCut'#3'-@'#0#1#7'Command'#3
|
||||
+'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2'.'#0#1#7'Comman'
|
||||
+'d'#3'['#2#8'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCut'#2#8#0#1#7'Co'
|
||||
+'mmand'#3#245#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'ShortCut'#3#8'@'
|
||||
+#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command'#3'Z'#2#8'Short'
|
||||
+'Cut'#4#8#160#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7'Command'#3
|
||||
+#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@'#0#1#7'Comm'
|
||||
+'and'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3'M@'#0#1#7
|
||||
+'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3#247#1#8'ShortCut'#3'T@'
|
||||
+#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8'ShortCut'#3
|
||||
+'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251#1#8'ShortC'
|
||||
+'ut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'#3'Y'#2#8
|
||||
+'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Command'#3'-'
|
||||
+#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7'Command'#3
|
||||
+'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0#1#7'Comman'
|
||||
+'d'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'C'
|
||||
+'ommand'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'#3'7@'#0#1
|
||||
+#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1#7'Command'#3'6'#1#8'ShortCut'#3'9@'
|
||||
+#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8'ShortCut'#3
|
||||
+'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'#1#8'ShortCu'
|
||||
+'t'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3'd'#1#8'Sh'
|
||||
+'ortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Command'#3'f'#1
|
||||
+#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'Command'#3
|
||||
+'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3#231#0#8'ShortCut'#3'N`'#0#1#7'Comma'
|
||||
,'nd'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3'L`'#0#1#7
|
||||
+'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1
|
||||
+#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#8'ReadOnly'#9#22'SelectedColor.OnC'
|
||||
+'hange'#13#0#0#0#9'TTabSheet'#6'tsWSDL'#7'Caption'#6#5'&WSDL'#12'ClientHeigh'
|
||||
+'t'#3'='#2#11'ClientWidth'#3#245#1#0#8'TSynEdit'#7'srcWSDL'#6'Height'#3'='#2
|
||||
+#5'Width'#3#245#1#5'Align'#7#8'alClient'#12'Font.CharSet'#7#12'ANSI_CHARSET'
|
||||
+#10'Font.Color'#7#7'clBlack'#11'Font.Height'#2#233#9'Font.Name'#6#7'Courier'
|
||||
+#10'Font.Pitch'#7#7'fpFixed'#11'ParentColor'#8#9'PopupMenu'#7#10'PopupMenu2'
|
||||
+#8'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'6'#24'BookMarkOptions.OnChang'
|
||||
+'e'#13#22'Gutter.ShowLineNumbers'#9#15'Gutter.OnChange'#13#23'Gutter.CodeFol'
|
||||
+'dingWidth'#2#14#11'Highlighter'#7#10'SynXMLSyn1'#10'Keystrokes'#14#1#7'Comm'
|
||||
+'and'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Comma'
|
||||
+'nd'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Com'
|
||||
+'mand'#2'h'#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1#7
|
||||
+'Command'#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7'C'
|
||||
+'ommand'#2#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'C'
|
||||
+'ommand'#2#2#8'ShortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7
|
||||
@ -115,271 +117,267 @@ LazarusResources.Add('TfWstTypeLibraryEdit','FORMDATA',[
|
||||
+'ommand'#3'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3#231#0#8'ShortCut'#3'N`'#0
|
||||
+#1#7'Command'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3
|
||||
+'L`'#0#1#7'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'
|
||||
+#3#9' '#0#1#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#8'ReadOnly'#9#0#0#0#9'T'
|
||||
+'TabSheet'#7'tsProxy'#7'Caption'#6#6'&Proxy'#12'ClientHeight'#3'='#2#11'Clie'
|
||||
+'ntWidth'#3#245#1#0#8'TSynEdit'#8'srcProxy'#6'Height'#3'='#2#5'Width'#3#245#1
|
||||
+#5'Align'#7#8'alClient'#12'Font.CharSet'#7#12'ANSI_CHARSET'#10'Font.Color'#7
|
||||
+#7'clBlack'#11'Font.Height'#2#236#9'Font.Name'#6#7'Courier'#10'Font.Pitch'#7
|
||||
+#7'fpFixed'#11'ParentColor'#8#9'PopupMenu'#7#10'PopupMenu2'#8'TabOrder'#2#0
|
||||
+#23'BookMarkOptions.Xoffset'#2'Q'#24'BookMarkOptions.OnChange'#13#17'Gutter.'
|
||||
+'DigitCount'#2#5#22'Gutter.ShowLineNumbers'#9#22'Gutter.ShowCodeFolding'#9#15
|
||||
+'Gutter.OnChange'#13#23'Gutter.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'S'
|
||||
+'ynPasSyn1'#10'Keystrokes'#14#1#7'Command'#2#3#8'ShortCut'#2'&'#0#1#7'Comman'
|
||||
+'d'#2'g'#8'ShortCut'#3'& '#0#1#7'Command'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Co'
|
||||
+'mmand'#2#4#8'ShortCut'#2'('#0#1#7'Command'#2'h'#8'ShortCut'#3'( '#0#1#7'Com'
|
||||
+'mand'#3#212#0#8'ShortCut'#3'(@'#0#1#7'Command'#2#1#8'ShortCut'#2'%'#0#1#7'C'
|
||||
+'ommand'#2'e'#8'ShortCut'#3'% '#0#1#7'Command'#2#5#8'ShortCut'#3'%@'#0#1#7'C'
|
||||
,'ommand'#2'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2#8'ShortCut'#2''''#0#1#7'C'
|
||||
+'ommand'#2'f'#8'ShortCut'#3''' '#0#1#7'Command'#2#6#8'ShortCut'#3'''@'#0#1#7
|
||||
+'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7'Command'#2#10#8'ShortCut'#2'"'#0#1#7
|
||||
+'Command'#2'n'#8'ShortCut'#3'" '#0#1#7'Command'#2#14#8'ShortCut'#3'"@'#0#1#7
|
||||
+'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7'Command'#2#9#8'ShortCut'#2'!'#0#1#7'C'
|
||||
+'ommand'#2'm'#8'ShortCut'#3'! '#0#1#7'Command'#2#13#8'ShortCut'#3'!@'#0#1#7
|
||||
+'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7'Command'#2#7#8'ShortCut'#2'$'#0#1#7'C'
|
||||
+'ommand'#2'k'#8'ShortCut'#3'$ '#0#1#7'Command'#2#15#8'ShortCut'#3'$@'#0#1#7
|
||||
+'Command'#2's'#8'ShortCut'#3'$`'#0#1#7'Command'#2#8#8'ShortCut'#2'#'#0#1#7'C'
|
||||
+'ommand'#2'l'#8'ShortCut'#3'# '#0#1#7'Command'#2#16#8'ShortCut'#3'#@'#0#1#7
|
||||
+'Command'#2't'#8'ShortCut'#3'#`'#0#1#7'Command'#3#223#0#8'ShortCut'#2'-'#0#1
|
||||
+#7'Command'#3#201#0#8'ShortCut'#3'-@'#0#1#7'Command'#3'\'#2#8'ShortCut'#3'- '
|
||||
+#0#1#7'Command'#3#246#1#8'ShortCut'#2'.'#0#1#7'Command'#3'['#2#8'ShortCut'#3
|
||||
+'. '#0#1#7'Command'#3#245#1#8'ShortCut'#2#8#0#1#7'Command'#3#245#1#8'ShortCu'
|
||||
+'t'#3#8' '#0#1#7'Command'#3#248#1#8'ShortCut'#3#8'@'#0#1#7'Command'#3'Y'#2#8
|
||||
+'ShortCut'#4#8#128#0#0#0#1#7'Command'#3'Z'#2#8'ShortCut'#4#8#160#0#0#0#1#7'C'
|
||||
+'ommand'#3#253#1#8'ShortCut'#2#13#0#1#7'Command'#3#199#0#8'ShortCut'#3'A@'#0
|
||||
+#1#7'Command'#3#201#0#8'ShortCut'#3'C@'#0#1#7'Command'#3'b'#2#8'ShortCut'#3
|
||||
+'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3'M@'#0#1#7'Command'#3#254#1#8'Short'
|
||||
+'Cut'#3'N@'#0#1#7'Command'#3#247#1#8'ShortCut'#3'T@'#0#1#7'Command'#3'c'#2#8
|
||||
+'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8'ShortCut'#3'V@'#0#1#7'Command'#3'['
|
||||
+#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251#1#8'ShortCut'#3'Y@'#0#1#7'Command'
|
||||
+#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'#3'Y'#2#8'ShortCut'#3'Z@'#0#1#7'Com'
|
||||
+'mand'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Command'#3'-'#1#8'ShortCut'#3'0@'#0#1#7
|
||||
+'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7'Command'#3'/'#1#8'ShortCut'#3'2@'#0
|
||||
+#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0#1#7'Command'#3'1'#1#8'ShortCut'#3'4'
|
||||
+'@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'Command'#3'3'#1#8'ShortCut'
|
||||
+#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'#3'7@'#0#1#7'Command'#3'5'#1#8'Short'
|
||||
+'Cut'#3'8@'#0#1#7'Command'#3'6'#1#8'ShortCut'#3'9@'#0#1#7'Command'#3'_'#1#8
|
||||
+'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8'ShortCut'#3'1`'#0#1#7'Command'#3'a'
|
||||
+#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'#1#8'ShortCut'#3'3`'#0#1#7'Command'#3
|
||||
+'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3'd'#1#8'ShortCut'#3'5`'#0#1#7'Comman'
|
||||
+'d'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Command'#3'f'#1#8'ShortCut'#3'7`'#0#1#7'C'
|
||||
+'ommand'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'Command'#3'h'#1#8'ShortCut'#3'9`'#0#1
|
||||
+#7'Command'#3#231#0#8'ShortCut'#3'N`'#0#1#7'Command'#3#232#0#8'ShortCut'#3'C'
|
||||
+'`'#0#1#7'Command'#3#233#0#8'ShortCut'#3'L`'#0#1#7'Command'#3'd'#2#8'ShortCu'
|
||||
+'t'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1#7'Command'#3#250#0#8'Sh'
|
||||
+'ortCut'#3'B`'#0#0#8'ReadOnly'#9#22'SelectedColor.OnChange'#13#0#0#0#9'TTabS'
|
||||
+'heet'#5'tsImp'#7'Caption'#6#24'Im&plementation Skeleton'#12'ClientHeight'#3
|
||||
+'='#2#11'ClientWidth'#3#245#1#0#8'TSynEdit'#6'srcImp'#6'Height'#3'='#2#5'Wid'
|
||||
+'th'#3#245#1#5'Align'#7#8'alClient'#12'Font.CharSet'#7#12'ANSI_CHARSET'#10'F'
|
||||
+'ont.Color'#7#7'clBlack'#11'Font.Height'#2#236#9'Font.Name'#6#7'Courier'#10
|
||||
+'Font.Pitch'#7#7'fpFixed'#11'ParentColor'#8#9'PopupMenu'#7#10'PopupMenu2'#8
|
||||
+'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'Q'#24'BookMarkOptions.OnChange'
|
||||
+#13#17'Gutter.DigitCount'#2#5#22'Gutter.ShowLineNumbers'#9#22'Gutter.ShowCod'
|
||||
+'eFolding'#9#15'Gutter.OnChange'#13#23'Gutter.CodeFoldingWidth'#2#14#11'High'
|
||||
+'lighter'#7#10'SynPasSyn1'#10'Keystrokes'#14#1#7'Command'#2#3#8'ShortCut'#2
|
||||
+'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Command'#3#211#0#8'ShortCut'
|
||||
+#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Command'#2'h'#8'ShortCut'#3
|
||||
+'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1#7'Command'#2#1#8'ShortCut'
|
||||
+#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7'Command'#2#5#8'ShortCut'#3
|
||||
+'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2#8'ShortCut'#2
|
||||
+''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7'Command'#2#6#8'ShortCut'#3
|
||||
+'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7'Command'#2#10#8'ShortCut'
|
||||
+#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7'Command'#2#14#8'ShortCut'#3
|
||||
+'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7'Command'#2#9#8'ShortCut'#2
|
||||
+'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'Command'#2#13#8'ShortCut'#3
|
||||
+'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7'Command'#2#7#8'ShortCut'#2
|
||||
+'$'#0#1#7'Command'#2'k'#8'ShortCut'#3'$ '#0#1#7'Command'#2#15#8'ShortCut'#3
|
||||
+'$@'#0#1#7'Command'#2's'#8'ShortCut'#3'$`'#0#1#7'Command'#2#8#8'ShortCut'#2
|
||||
+'#'#0#1#7'Command'#2'l'#8'ShortCut'#3'# '#0#1#7'Command'#2#16#8'ShortCut'#3
|
||||
+'#@'#0#1#7'Command'#2't'#8'ShortCut'#3'#`'#0#1#7'Command'#3#223#0#8'ShortCut'
|
||||
+#2'-'#0#1#7'Command'#3#201#0#8'ShortCut'#3'-@'#0#1#7'Command'#3'\'#2#8'Short'
|
||||
+'Cut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2'.'#0#1#7'Command'#3'['#2#8
|
||||
,'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCut'#2#8#0#1#7'Command'#3#245
|
||||
+#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'ShortCut'#3#8'@'#0#1#7'Comman'
|
||||
+'d'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command'#3'Z'#2#8'ShortCut'#4#8#160
|
||||
+#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7'Command'#3#199#0#8'ShortC'
|
||||
+'ut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@'#0#1#7'Command'#3'b'#2#8
|
||||
+'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3'M@'#0#1#7'Command'#3
|
||||
+#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3#247#1#8'ShortCut'#3'T@'#0#1#7'Comm'
|
||||
+'and'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8'ShortCut'#3'V@'#0#1#7
|
||||
+'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251#1#8'ShortCut'#3'Y@'#0
|
||||
+#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'#3'Y'#2#8'ShortCut'#3
|
||||
+'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Command'#3'-'#1#8'ShortCu'
|
||||
+'t'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7'Command'#3'/'#1#8'Sh'
|
||||
+'ortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0#1#7'Command'#3'1'#1
|
||||
+#8'ShortCut'#3'4@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'Command'#3
|
||||
+'3'#1#8'ShortCut'#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'#3'7@'#0#1#7'Comman'
|
||||
+'d'#3'5'#1#8'ShortCut'#3'8@'#0#1#7'Command'#3'6'#1#8'ShortCut'#3'9@'#0#1#7'C'
|
||||
+'ommand'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8'ShortCut'#3'1`'#0#1
|
||||
+#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'#1#8'ShortCut'#3'3`'
|
||||
+#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3'd'#1#8'ShortCut'#3
|
||||
+'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Command'#3'f'#1#8'ShortCu'
|
||||
+'t'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'Command'#3'h'#1#8'Sh'
|
||||
+'ortCut'#3'9`'#0#1#7'Command'#3#231#0#8'ShortCut'#3'N`'#0#1#7'Command'#3#232
|
||||
+#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3'L`'#0#1#7'Command'
|
||||
+#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1#7'Comma'
|
||||
+'nd'#3#250#0#8'ShortCut'#3'B`'#0#0#8'ReadOnly'#9#22'SelectedColor.OnChange'
|
||||
+#13#0#0#0#9'TTabSheet'#8'tsBinder'#7'Caption'#6#7'&Binder'#12'ClientHeight'#3
|
||||
+'='#2#11'ClientWidth'#3#245#1#0#8'TSynEdit'#9'srcBinder'#6'Height'#3'='#2#5
|
||||
+'Width'#3#245#1#5'Align'#7#8'alClient'#12'Font.CharSet'#7#12'ANSI_CHARSET'#10
|
||||
+'Font.Color'#7#7'clBlack'#11'Font.Height'#2#236#9'Font.Name'#6#7'Courier'#10
|
||||
+'Font.Pitch'#7#7'fpFixed'#11'ParentColor'#8#9'PopupMenu'#7#10'PopupMenu2'#8
|
||||
+'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'Q'#24'BookMarkOptions.OnChange'
|
||||
+#13#15'Gutter.AutoSize'#9#17'Gutter.DigitCount'#2#5#22'Gutter.ShowLineNumber'
|
||||
+'s'#9#22'Gutter.ShowCodeFolding'#9#15'Gutter.OnChange'#13#23'Gutter.CodeFold'
|
||||
+'ingWidth'#2#14#11'Highlighter'#7#10'SynPasSyn1'#10'Keystrokes'#14#1#7'Comma'
|
||||
+'nd'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Comman'
|
||||
+'d'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Comm'
|
||||
+'and'#2'h'#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1#7
|
||||
+'Command'#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7'C'
|
||||
+'ommand'#2#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'C'
|
||||
+'ommand'#2#2#8'ShortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7
|
||||
+'Command'#2#6#8'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7
|
||||
+'Command'#2#10#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7
|
||||
+'Command'#2#14#8'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7
|
||||
+'Command'#2#9#8'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'C'
|
||||
+'ommand'#2#13#8'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7
|
||||
+'Command'#2#7#8'ShortCut'#2'$'#0#1#7'Command'#2'k'#8'ShortCut'#3'$ '#0#1#7'C'
|
||||
+'ommand'#2#15#8'ShortCut'#3'$@'#0#1#7'Command'#2's'#8'ShortCut'#3'$`'#0#1#7
|
||||
+'Command'#2#8#8'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'ShortCut'#3'# '#0#1#7'C'
|
||||
+'ommand'#2#16#8'ShortCut'#3'#@'#0#1#7'Command'#2't'#8'ShortCut'#3'#`'#0#1#7
|
||||
+'Command'#3#223#0#8'ShortCut'#2'-'#0#1#7'Command'#3#201#0#8'ShortCut'#3'-@'#0
|
||||
+#1#7'Command'#3'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2
|
||||
+'.'#0#1#7'Command'#3'['#2#8'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCu'
|
||||
+'t'#2#8#0#1#7'Command'#3#245#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'S'
|
||||
+'hortCut'#3#8'@'#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command'
|
||||
+#3'Z'#2#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7
|
||||
+'Command'#3#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@'
|
||||
+#0#1#7'Command'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3
|
||||
+'M@'#0#1#7'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3#247#1#8'Short'
|
||||
+'Cut'#3'T@'#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8
|
||||
+'ShortCut'#3'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251
|
||||
+#1#8'ShortCut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'
|
||||
+#3'Y'#2#8'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Comm'
|
||||
+'and'#3'-'#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7
|
||||
+'Command'#3'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0
|
||||
,#1#7'Command'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5'
|
||||
+'@'#0#1#7'Command'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'
|
||||
+#3'7@'#0#1#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1#7'Command'#3'6'#1#8'Short'
|
||||
+'Cut'#3'9@'#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8
|
||||
+'ShortCut'#3'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'
|
||||
+#1#8'ShortCut'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3
|
||||
+'d'#1#8'ShortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Comman'
|
||||
+'d'#3'f'#1#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'C'
|
||||
+'ommand'#3'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3#231#0#8'ShortCut'#3'N`'#0
|
||||
+#1#7'Command'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3
|
||||
+'L`'#0#1#7'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'
|
||||
+#3#9' '#0#1#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#8'ReadOnly'#9#22'Select'
|
||||
+'edColor.OnChange'#13#0#0#0#9'TTabSheet'#5'tsLog'#7'Caption'#6#4'&Log'#12'Cl'
|
||||
+'ientHeight'#3'='#2#11'ClientWidth'#3#245#1#0#5'TMemo'#6'mmoLog'#6'Height'#3
|
||||
+'='#2#5'Width'#3#245#1#5'Align'#7#8'alClient'#13'Lines.Strings'#1#6#0#0#10'S'
|
||||
+'crollBars'#7#6'ssBoth'#8'TabOrder'#2#0#0#0#0#0#0#9'TSplitter'#9'Splitter1'#4
|
||||
+'Left'#3':'#1#6'Height'#3'Y'#2#5'Width'#2#8#5'Color'#7#7'clBlack'#11'ParentC'
|
||||
+'olor'#8#0#0#9'TMainMenu'#9'MainMenu1'#4'left'#3'`'#1#3'top'#2'p'#0#9'TMenuI'
|
||||
+'tem'#9'MenuItem1'#7'Caption'#6#6'&Files'#0#9'TMenuItem'#10'MenuItem16'#6'Ac'
|
||||
+'tion'#7#10'actNewFile'#7'OnClick'#7#17'actNewFileExecute'#0#0#9'TMenuItem'#9
|
||||
+'MenuItem2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem5'#6'Action'#7#11'a'
|
||||
+'ctOpenFile'#7'OnClick'#7#18'actOpenFileExecute'#0#0#9'TMenuItem'#9'MenuItem'
|
||||
+'3'#6'Action'#7#9'actExport'#7'OnClick'#7#16'actExportExecute'#0#0#9'TMenuIt'
|
||||
+'em'#9'MenuItem7'#6'Action'#7#7'actSave'#7'OnClick'#7#14'actSaveExecute'#0#0
|
||||
+#9'TMenuItem'#10'MenuItem32'#6'Action'#7#9'actSaveAs'#7'OnClick'#7#16'actSav'
|
||||
+'eAsExecute'#0#0#9'TMenuItem'#10'MenuItem17'#7'Caption'#6#1'-'#0#0#9'TMenuIt'
|
||||
+'em'#9'MenuItem4'#6'Action'#7#7'actExit'#7'OnClick'#7#14'actExitExecute'#0#0
|
||||
+#0#9'TMenuItem'#10'MenuItem14'#7'Caption'#6#5'&View'#0#9'TMenuItem'#10'MenuI'
|
||||
+'tem15'#6'Action'#7#14'actRefreshView'#7'OnClick'#7#21'actRefreshViewExecute'
|
||||
+#0#0#9'TMenuItem'#10'MenuItem29'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#10'MenuI'
|
||||
+'tem30'#6'Action'#7#13'actFullExpand'#7'OnClick'#7#20'actFullExpandExecute'#0
|
||||
+#0#9'TMenuItem'#10'MenuItem31'#6'Action'#7#15'actFullCollapse'#7'OnClick'#7
|
||||
+#22'actFullCollapseExecute'#0#0#0#9'TMenuItem'#10'MenuItem10'#7'Caption'#6#8
|
||||
+'&Edition'#0#9'TMenuItem'#10'MenuItem11'#6'Action'#7#13'actEnumCreate'#7'OnC'
|
||||
+'lick'#7#20'actEnumCreateExecute'#0#0#9'TMenuItem'#10'MenuItem23'#6'Action'#7
|
||||
+#17'actCompoundCreate'#7'OnClick'#7#24'actCompoundCreateExecute'#0#0#9'TMenu'
|
||||
+'Item'#10'MenuItem48'#6'Action'#7#15'actRecordCreate'#7'OnClick'#7#22'actRec'
|
||||
+'ordCreateExecute'#0#0#9'TMenuItem'#10'MenuItem25'#6'Action'#7#13'actIntfCre'
|
||||
+'ate'#7'OnClick'#7#20'actIntfCreateExecute'#0#0#9'TMenuItem'#10'MenuItem35'#6
|
||||
+'Action'#7#14'actArrayCreate'#7'OnClick'#7#21'actArrayCreateExecute'#0#0#9'T'
|
||||
+'MenuItem'#10'MenuItem36'#6'Action'#7#18'actTypeALiasCreate'#7'OnClick'#7#25
|
||||
+'actTypeALiasCreateExecute'#0#0#9'TMenuItem'#10'MenuItem12'#7'Caption'#6#1'-'
|
||||
+#0#0#9'TMenuItem'#10'MenuItem13'#6'Action'#7#15'actUpdateObject'#7'Caption'#6
|
||||
+#13'Update Object'#7'OnClick'#7#22'actUpdateObjectExecute'#0#0#9'TMenuItem'
|
||||
+#10'MenuItem34'#6'Action'#7#9'actDelete'#7'OnClick'#7#16'actDeleteExecute'#0
|
||||
+#0#0#9'TMenuItem'#9'MenuItem6'#6'Action'#7#8'actAbout'#7'Caption'#6#6'&About'
|
||||
+#7'OnClick'#7#15'actAboutExecute'#0#0#0#11'TActionList'#2'AL'#4'left'#3'X'#1
|
||||
+#3'top'#2'8'#0#7'TAction'#11'actOpenFile'#7'Caption'#6#9'Open File'#18'Disab'
|
||||
+'leIfNoHandler'#9#9'OnExecute'#7#18'actOpenFileExecute'#0#0#7'TAction'#7'act'
|
||||
+'Exit'#7'Caption'#6#4'Exit'#18'DisableIfNoHandler'#9#9'OnExecute'#7#14'actEx'
|
||||
+'itExecute'#0#0#7'TAction'#9'actExport'#7'Caption'#6#24'Save generated files'
|
||||
+' ...'#18'DisableIfNoHandler'#9#9'OnExecute'#7#16'actExportExecute'#8'OnUpda'
|
||||
+'te'#7#15'actExportUpdate'#0#0#7'TAction'#8'actAbout'#7'Caption'#6#5'About'
|
||||
+#18'DisableIfNoHandler'#9#9'OnExecute'#7#15'actAboutExecute'#0#0#7'TAction'#9
|
||||
+'actSaveAs'#7'Caption'#6#11'Save As ...'#18'DisableIfNoHandler'#9#9'OnExecut'
|
||||
+'e'#7#16'actSaveAsExecute'#8'OnUpdate'#7#15'actExportUpdate'#0#0#7'TAction'
|
||||
+#13'actEnumCreate'#7'Caption'#6#18'Create Enumeration'#18'DisableIfNoHandler'
|
||||
+#9#9'OnExecute'#7#20'actEnumCreateExecute'#0#0#7'TAction'#15'actUpdateObject'
|
||||
+#7'Caption'#6#6'Update'#18'DisableIfNoHandler'#9#9'OnExecute'#7#22'actUpdate'
|
||||
+'ObjectExecute'#8'OnUpdate'#7#21'actUpdateObjectUpdate'#0#0#7'TAction'#14'ac'
|
||||
+'tRefreshView'#7'Caption'#6#14'&Refresh Views'#18'DisableIfNoHandler'#9#9'On'
|
||||
+'Execute'#7#21'actRefreshViewExecute'#0#0#7'TAction'#10'actNewFile'#7'Captio'
|
||||
+'n'#6#8'New File'#18'DisableIfNoHandler'#9#9'OnExecute'#7#17'actNewFileExecu'
|
||||
+'te'#0#0#7'TAction'#17'actCompoundCreate'#7'Caption'#6#17'Create Class Type'
|
||||
,#18'DisableIfNoHandler'#9#9'OnExecute'#7#24'actCompoundCreateExecute'#0#0#7
|
||||
+'TAction'#13'actIntfCreate'#7'Caption'#6#16'Create Interface'#18'DisableIfNo'
|
||||
+'Handler'#9#9'OnExecute'#7#20'actIntfCreateExecute'#0#0#7'TAction'#13'actFul'
|
||||
+'lExpand'#7'Caption'#6#11'Full expand'#18'DisableIfNoHandler'#9#9'OnExecute'
|
||||
+#7#20'actFullExpandExecute'#0#0#7'TAction'#15'actFullCollapse'#7'Caption'#6
|
||||
+#13'Full Collapse'#18'DisableIfNoHandler'#9#9'OnExecute'#7#22'actFullCollaps'
|
||||
+'eExecute'#0#0#7'TAction'#7'actSave'#7'Caption'#6#4'Save'#18'DisableIfNoHand'
|
||||
+'ler'#9#9'OnExecute'#7#14'actSaveExecute'#0#0#7'TAction'#9'actDelete'#7'Capt'
|
||||
+'ion'#6#6'Delete'#18'DisableIfNoHandler'#9#9'OnExecute'#7#16'actDeleteExecut'
|
||||
+'e'#8'OnUpdate'#7#21'actUpdateObjectUpdate'#0#0#7'TAction'#14'actArrayCreate'
|
||||
+#7'Caption'#6#12'Create Array'#18'DisableIfNoHandler'#9#9'OnExecute'#7#21'ac'
|
||||
+'tArrayCreateExecute'#0#0#7'TAction'#18'actTypeALiasCreate'#7'Caption'#6#17
|
||||
+'Create Type ALias'#18'DisableIfNoHandler'#9#9'OnExecute'#7#25'actTypeALiasC'
|
||||
+'reateExecute'#0#0#7'TAction'#15'actRecordCreate'#7'Caption'#6#13'Create Rec'
|
||||
+'ord'#18'DisableIfNoHandler'#9#9'OnExecute'#7#22'actRecordCreateExecute'#0#0
|
||||
+#0#11'TOpenDialog'#2'OD'#5'Title'#6#26'Ouvrir un fichier existant'#6'Filter'
|
||||
+#6'3WDSL files(*.WSDL)|*.WSDL|Pascal file (*.pas)|*.pas'#11'FilterIndex'#2#0
|
||||
+#10'InitialDir'#6#2'.\'#7'Options'#11#15'ofPathMustExist'#15'ofFileMustExist'
|
||||
+#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3#153#1#3'top'#2'X'#0#0#10'TS'
|
||||
+'ynPasSyn'#10'SynPasSyn1'#7'Enabled'#8#23'CommentAttri.Foreground'#7#6'clBlu'
|
||||
+'e'#18'CommentAttri.Style'#11#6'fsBold'#0#22'StringAttri.Foreground'#7#8'clM'
|
||||
+'aroon'#17'SymbolAttri.Style'#11#6'fsBold'#0#25'DirectiveAttri.Foreground'#7
|
||||
+#7'clGreen'#20'DirectiveAttri.Style'#11#6'fsBold'#0#14'NestedComments'#9#4'l'
|
||||
+'eft'#3#183#1#3'top'#2'h'#0#0#11'TSaveDialog'#2'SD'#5'Title'#6#27'Enregistre'
|
||||
+'r le fichier sous'#10'DefaultExt'#6#5'.WSDL'#6'Filter'#6#25'WDSL files(*.WS'
|
||||
+'DL)|*.WSDL'#11'FilterIndex'#2#0#7'Options'#11#15'ofPathMustExist'#14'ofEnab'
|
||||
+'leSizing'#12'ofViewDetail'#0#4'left'#3#242#1#3'top'#3#176#0#0#0#10'TPopupMe'
|
||||
+'nu'#10'PopupMenu1'#4'left'#3#152#0#3'top'#3#152#0#0#9'TMenuItem'#10'MenuIte'
|
||||
+'m28'#6'Action'#7#13'actFullExpand'#7'OnClick'#7#20'actFullExpandExecute'#0#0
|
||||
+#9'TMenuItem'#10'MenuItem27'#6'Action'#7#15'actFullCollapse'#7'OnClick'#7#22
|
||||
+'actFullCollapseExecute'#0#0#9'TMenuItem'#10'MenuItem39'#6'Action'#7#14'actR'
|
||||
+'efreshView'#7'OnClick'#7#21'actRefreshViewExecute'#0#0#9'TMenuItem'#10'Menu'
|
||||
+'Item26'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem8'#6'Action'#7#13'actE'
|
||||
+'numCreate'#7'OnClick'#7#20'actEnumCreateExecute'#0#0#9'TMenuItem'#10'MenuIt'
|
||||
+'em21'#6'Action'#7#17'actCompoundCreate'#7'OnClick'#7#24'actCompoundCreateEx'
|
||||
+'ecute'#0#0#9'TMenuItem'#10'MenuItem46'#6'Action'#7#15'actRecordCreate'#7'On'
|
||||
+'Click'#7#22'actRecordCreateExecute'#0#0#9'TMenuItem'#10'MenuItem24'#6'Actio'
|
||||
+'n'#7#13'actIntfCreate'#7'OnClick'#7#20'actIntfCreateExecute'#0#0#9'TMenuIte'
|
||||
+'m'#10'MenuItem37'#6'Action'#7#14'actArrayCreate'#7'OnClick'#7#21'actArrayCr'
|
||||
+'eateExecute'#0#0#9'TMenuItem'#10'MenuItem38'#6'Action'#7#18'actTypeALiasCre'
|
||||
+'ate'#7'OnClick'#7#25'actTypeALiasCreateExecute'#0#0#9'TMenuItem'#10'MenuIte'
|
||||
+'m22'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem9'#6'Action'#7#15'actUpda'
|
||||
+'teObject'#7'OnClick'#7#22'actUpdateObjectExecute'#0#0#9'TMenuItem'#10'MenuI'
|
||||
+'tem33'#6'Action'#7#9'actDelete'#7'OnClick'#7#16'actDeleteExecute'#0#0#0#10
|
||||
+'TPopupMenu'#10'PopupMenu2'#4'left'#3#16#2#3'top'#3#235#0#0#9'TMenuItem'#10
|
||||
+'MenuItem18'#6'Action'#7#14'actRefreshView'#7'OnClick'#7#21'actRefreshViewEx'
|
||||
+'ecute'#0#0#9'TMenuItem'#10'MenuItem19'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#10
|
||||
+'MenuItem20'#6'Action'#7#9'actExport'#7'OnClick'#7#16'actExportExecute'#0#0#9
|
||||
+'TMenuItem'#10'MenuItem40'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#10'MenuItem41'
|
||||
+#6'Action'#7#14'actArrayCreate'#7'OnClick'#7#21'actArrayCreateExecute'#0#0#9
|
||||
+'TMenuItem'#10'MenuItem45'#6'Action'#7#17'actCompoundCreate'#7'OnClick'#7#24
|
||||
+'actCompoundCreateExecute'#0#0#9'TMenuItem'#10'MenuItem47'#6'Action'#7#15'ac'
|
||||
+'tRecordCreate'#7'OnClick'#7#22'actRecordCreateExecute'#0#0#9'TMenuItem'#10
|
||||
+'MenuItem44'#6'Action'#7#13'actEnumCreate'#7'OnClick'#7#20'actEnumCreateExec'
|
||||
+'ute'#0#0#9'TMenuItem'#10'MenuItem43'#6'Action'#7#13'actIntfCreate'#7'OnClic'
|
||||
+'k'#7#20'actIntfCreateExecute'#0#0#9'TMenuItem'#10'MenuItem42'#6'Action'#7#18
|
||||
+'actTypeALiasCreate'#7'OnClick'#7#25'actTypeALiasCreateExecute'#0#0#0#10'TSy'
|
||||
+'nXMLSyn'#10'SynXMLSyn1'#13'DefaultFilter'#6#30'Documents WSDL (*.wsdl)|*.ws'
|
||||
+'dl'#7'Enabled'#8#23'ElementAttri.Foreground'#7#6'clNavy'#30'AttributeValueA'
|
||||
+'ttri.Foreground'#7#8'clPurple'#16'WantBracesParsed'#8#4'left'#3#210#1#3'top'
|
||||
+#3#252#0#0#0#0
|
||||
+'edColor.OnChange'#13#0#0#0#9'TTabSheet'#7'tsProxy'#7'Caption'#6#6'&Proxy'#12
|
||||
+'ClientHeight'#3'='#2#11'ClientWidth'#3#245#1#0#8'TSynEdit'#8'srcProxy'#6'He'
|
||||
+'ight'#3'='#2#5'Width'#3#245#1#5'Align'#7#8'alClient'#12'Font.CharSet'#7#12
|
||||
+'ANSI_CHARSET'#10'Font.Color'#7#7'clBlack'#11'Font.Height'#2#236#9'Font.Name'
|
||||
+#6#7'Courier'#10'Font.Pitch'#7#7'fpFixed'#11'ParentColor'#8#9'PopupMenu'#7#10
|
||||
+'PopupMenu2'#8'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'Q'#17'Gutter.Digi'
|
||||
+'tCount'#2#5#22'Gutter.ShowLineNumbers'#9#22'Gutter.ShowCodeFolding'#9#23'Gu'
|
||||
+'tter.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'SynPasSyn1'#10'Keystrokes'
|
||||
+#14#1#7'Command'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0
|
||||
+#1#7'Command'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0
|
||||
+#1#7'Command'#2'h'#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'
|
||||
,#0#1#7'Command'#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0
|
||||
+#1#7'Command'#2#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1
|
||||
+#7'Command'#2#2#8'ShortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1
|
||||
+#7'Command'#2#6#8'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1
|
||||
+#7'Command'#2#10#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7
|
||||
+'Command'#2#14#8'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7
|
||||
+'Command'#2#9#8'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'C'
|
||||
+'ommand'#2#13#8'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7
|
||||
+'Command'#2#7#8'ShortCut'#2'$'#0#1#7'Command'#2'k'#8'ShortCut'#3'$ '#0#1#7'C'
|
||||
+'ommand'#2#15#8'ShortCut'#3'$@'#0#1#7'Command'#2's'#8'ShortCut'#3'$`'#0#1#7
|
||||
+'Command'#2#8#8'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'ShortCut'#3'# '#0#1#7'C'
|
||||
+'ommand'#2#16#8'ShortCut'#3'#@'#0#1#7'Command'#2't'#8'ShortCut'#3'#`'#0#1#7
|
||||
+'Command'#3#223#0#8'ShortCut'#2'-'#0#1#7'Command'#3#201#0#8'ShortCut'#3'-@'#0
|
||||
+#1#7'Command'#3'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2
|
||||
+'.'#0#1#7'Command'#3'['#2#8'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCu'
|
||||
+'t'#2#8#0#1#7'Command'#3#245#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'S'
|
||||
+'hortCut'#3#8'@'#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command'
|
||||
+#3'Z'#2#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7
|
||||
+'Command'#3#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@'
|
||||
+#0#1#7'Command'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3
|
||||
+'M@'#0#1#7'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3#247#1#8'Short'
|
||||
+'Cut'#3'T@'#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8
|
||||
+'ShortCut'#3'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251
|
||||
+#1#8'ShortCut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'
|
||||
+#3'Y'#2#8'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Comm'
|
||||
+'and'#3'-'#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7
|
||||
+'Command'#3'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0
|
||||
+#1#7'Command'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5'
|
||||
+'@'#0#1#7'Command'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'
|
||||
+#3'7@'#0#1#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1#7'Command'#3'6'#1#8'Short'
|
||||
+'Cut'#3'9@'#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8
|
||||
+'ShortCut'#3'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'
|
||||
+#1#8'ShortCut'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3
|
||||
+'d'#1#8'ShortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Comman'
|
||||
+'d'#3'f'#1#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'C'
|
||||
+'ommand'#3'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3#231#0#8'ShortCut'#3'N`'#0
|
||||
+#1#7'Command'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3
|
||||
+'L`'#0#1#7'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'
|
||||
+#3#9' '#0#1#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#8'ReadOnly'#9#0#0#0#9'T'
|
||||
+'TabSheet'#5'tsImp'#7'Caption'#6#24'Im&plementation Skeleton'#12'ClientHeigh'
|
||||
+'t'#3'='#2#11'ClientWidth'#3#245#1#0#8'TSynEdit'#6'srcImp'#6'Height'#3'='#2#5
|
||||
+'Width'#3#245#1#5'Align'#7#8'alClient'#12'Font.CharSet'#7#12'ANSI_CHARSET'#10
|
||||
+'Font.Color'#7#7'clBlack'#11'Font.Height'#2#236#9'Font.Name'#6#7'Courier'#10
|
||||
+'Font.Pitch'#7#7'fpFixed'#11'ParentColor'#8#9'PopupMenu'#7#10'PopupMenu2'#8
|
||||
+'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'Q'#17'Gutter.DigitCount'#2#5#22
|
||||
+'Gutter.ShowLineNumbers'#9#22'Gutter.ShowCodeFolding'#9#23'Gutter.CodeFoldin'
|
||||
+'gWidth'#2#14#11'Highlighter'#7#10'SynPasSyn1'#10'Keystrokes'#14#1#7'Command'
|
||||
+#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Command'#3
|
||||
+#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Command'#2
|
||||
+'h'#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1#7'Command'
|
||||
+#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7'Command'#2
|
||||
+#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2
|
||||
+#8'ShortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7'Command'#2#6
|
||||
+#8'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7'Command'#2
|
||||
+#10#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7'Command'#2
|
||||
+#14#8'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7'Command'#2
|
||||
+#9#8'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'Command'#2#13
|
||||
+#8'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7'Command'#2#7#8
|
||||
+'ShortCut'#2'$'#0#1#7'Command'#2'k'#8'ShortCut'#3'$ '#0#1#7'Command'#2#15#8
|
||||
+'ShortCut'#3'$@'#0#1#7'Command'#2's'#8'ShortCut'#3'$`'#0#1#7'Command'#2#8#8
|
||||
+'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'ShortCut'#3'# '#0#1#7'Command'#2#16#8
|
||||
+'ShortCut'#3'#@'#0#1#7'Command'#2't'#8'ShortCut'#3'#`'#0#1#7'Command'#3#223#0
|
||||
+#8'ShortCut'#2'-'#0#1#7'Command'#3#201#0#8'ShortCut'#3'-@'#0#1#7'Command'#3
|
||||
+'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2'.'#0#1#7'Comman'
|
||||
,'d'#3'['#2#8'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCut'#2#8#0#1#7'Co'
|
||||
+'mmand'#3#245#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'ShortCut'#3#8'@'
|
||||
+#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command'#3'Z'#2#8'Short'
|
||||
+'Cut'#4#8#160#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7'Command'#3
|
||||
+#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@'#0#1#7'Comm'
|
||||
+'and'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3'M@'#0#1#7
|
||||
+'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3#247#1#8'ShortCut'#3'T@'
|
||||
+#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8'ShortCut'#3
|
||||
+'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251#1#8'ShortC'
|
||||
+'ut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'#3'Y'#2#8
|
||||
+'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Command'#3'-'
|
||||
+#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7'Command'#3
|
||||
+'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0#1#7'Comman'
|
||||
+'d'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'C'
|
||||
+'ommand'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'#3'7@'#0#1
|
||||
+#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1#7'Command'#3'6'#1#8'ShortCut'#3'9@'
|
||||
+#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8'ShortCut'#3
|
||||
+'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'#1#8'ShortCu'
|
||||
+'t'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3'd'#1#8'Sh'
|
||||
+'ortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Command'#3'f'#1
|
||||
+#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'Command'#3
|
||||
+'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3#231#0#8'ShortCut'#3'N`'#0#1#7'Comma'
|
||||
+'nd'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3'L`'#0#1#7
|
||||
+'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1
|
||||
+#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#8'ReadOnly'#9#0#0#0#9'TTabSheet'#8
|
||||
+'tsBinder'#7'Caption'#6#7'&Binder'#12'ClientHeight'#3'='#2#11'ClientWidth'#3
|
||||
+#245#1#0#8'TSynEdit'#9'srcBinder'#6'Height'#3'='#2#5'Width'#3#245#1#5'Align'
|
||||
+#7#8'alClient'#12'Font.CharSet'#7#12'ANSI_CHARSET'#10'Font.Color'#7#7'clBlac'
|
||||
+'k'#11'Font.Height'#2#236#9'Font.Name'#6#7'Courier'#10'Font.Pitch'#7#7'fpFix'
|
||||
+'ed'#11'ParentColor'#8#9'PopupMenu'#7#10'PopupMenu2'#8'TabOrder'#2#0#23'Book'
|
||||
+'MarkOptions.Xoffset'#2'Q'#15'Gutter.AutoSize'#9#17'Gutter.DigitCount'#2#5#22
|
||||
+'Gutter.ShowLineNumbers'#9#22'Gutter.ShowCodeFolding'#9#23'Gutter.CodeFoldin'
|
||||
+'gWidth'#2#14#11'Highlighter'#7#10'SynPasSyn1'#10'Keystrokes'#14#1#7'Command'
|
||||
+#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Command'#3
|
||||
+#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Command'#2
|
||||
+'h'#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1#7'Command'
|
||||
+#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7'Command'#2
|
||||
+#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2
|
||||
+#8'ShortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7'Command'#2#6
|
||||
+#8'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7'Command'#2
|
||||
+#10#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7'Command'#2
|
||||
+#14#8'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7'Command'#2
|
||||
+#9#8'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'Command'#2#13
|
||||
+#8'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7'Command'#2#7#8
|
||||
+'ShortCut'#2'$'#0#1#7'Command'#2'k'#8'ShortCut'#3'$ '#0#1#7'Command'#2#15#8
|
||||
+'ShortCut'#3'$@'#0#1#7'Command'#2's'#8'ShortCut'#3'$`'#0#1#7'Command'#2#8#8
|
||||
+'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'ShortCut'#3'# '#0#1#7'Command'#2#16#8
|
||||
+'ShortCut'#3'#@'#0#1#7'Command'#2't'#8'ShortCut'#3'#`'#0#1#7'Command'#3#223#0
|
||||
+#8'ShortCut'#2'-'#0#1#7'Command'#3#201#0#8'ShortCut'#3'-@'#0#1#7'Command'#3
|
||||
+'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2'.'#0#1#7'Comman'
|
||||
+'d'#3'['#2#8'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCut'#2#8#0#1#7'Co'
|
||||
+'mmand'#3#245#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'ShortCut'#3#8'@'
|
||||
+#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command'#3'Z'#2#8'Short'
|
||||
+'Cut'#4#8#160#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7'Command'#3
|
||||
+#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@'#0#1#7'Comm'
|
||||
+'and'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3'M@'#0#1#7
|
||||
+'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3#247#1#8'ShortCut'#3'T@'
|
||||
+#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8'ShortCut'#3
|
||||
+'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251#1#8'ShortC'
|
||||
+'ut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'#3'Y'#2#8
|
||||
+'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Command'#3'-'
|
||||
+#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7'Command'#3
|
||||
+'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0#1#7'Comman'
|
||||
+'d'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'C'
|
||||
,'ommand'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'#3'7@'#0#1
|
||||
+#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1#7'Command'#3'6'#1#8'ShortCut'#3'9@'
|
||||
+#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8'ShortCut'#3
|
||||
+'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'#1#8'ShortCu'
|
||||
+'t'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3'd'#1#8'Sh'
|
||||
+'ortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Command'#3'f'#1
|
||||
+#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'Command'#3
|
||||
+'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3#231#0#8'ShortCut'#3'N`'#0#1#7'Comma'
|
||||
+'nd'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3'L`'#0#1#7
|
||||
+'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1
|
||||
+#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#8'ReadOnly'#9#0#0#0#9'TTabSheet'#5
|
||||
+'tsLog'#7'Caption'#6#4'&Log'#12'ClientHeight'#3'='#2#11'ClientWidth'#3#245#1
|
||||
+#0#5'TMemo'#6'mmoLog'#6'Height'#3'='#2#5'Width'#3#245#1#5'Align'#7#8'alClien'
|
||||
+'t'#13'Lines.Strings'#1#6#0#0#10'ScrollBars'#7#6'ssBoth'#8'TabOrder'#2#0#0#0
|
||||
+#0#0#0#9'TSplitter'#9'Splitter1'#4'Left'#3':'#1#6'Height'#3'Y'#2#5'Width'#2#8
|
||||
+#5'Color'#7#7'clBlack'#11'ParentColor'#8#0#0#9'TMainMenu'#9'MainMenu1'#4'lef'
|
||||
+'t'#3'`'#1#3'top'#2'p'#0#9'TMenuItem'#9'MenuItem1'#7'Caption'#6#6'&Files'#0#9
|
||||
+'TMenuItem'#10'MenuItem16'#6'Action'#7#10'actNewFile'#7'OnClick'#7#17'actNew'
|
||||
+'FileExecute'#0#0#9'TMenuItem'#9'MenuItem2'#7'Caption'#6#1'-'#0#0#9'TMenuIte'
|
||||
+'m'#9'MenuItem5'#6'Action'#7#11'actOpenFile'#7'OnClick'#7#18'actOpenFileExec'
|
||||
+'ute'#0#0#9'TMenuItem'#9'MenuItem3'#6'Action'#7#9'actExport'#7'OnClick'#7#16
|
||||
+'actExportExecute'#0#0#9'TMenuItem'#9'MenuItem7'#6'Action'#7#7'actSave'#7'On'
|
||||
+'Click'#7#14'actSaveExecute'#0#0#9'TMenuItem'#10'MenuItem32'#6'Action'#7#9'a'
|
||||
+'ctSaveAs'#7'OnClick'#7#16'actSaveAsExecute'#0#0#9'TMenuItem'#10'MenuItem17'
|
||||
+#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem4'#6'Action'#7#7'actExit'#7'On'
|
||||
+'Click'#7#14'actExitExecute'#0#0#0#9'TMenuItem'#10'MenuItem14'#7'Caption'#6#5
|
||||
+'&View'#0#9'TMenuItem'#10'MenuItem15'#6'Action'#7#14'actRefreshView'#7'OnCli'
|
||||
+'ck'#7#21'actRefreshViewExecute'#0#0#9'TMenuItem'#10'MenuItem29'#7'Caption'#6
|
||||
+#1'-'#0#0#9'TMenuItem'#10'MenuItem30'#6'Action'#7#13'actFullExpand'#7'OnClic'
|
||||
+'k'#7#20'actFullExpandExecute'#0#0#9'TMenuItem'#10'MenuItem31'#6'Action'#7#15
|
||||
+'actFullCollapse'#7'OnClick'#7#22'actFullCollapseExecute'#0#0#0#9'TMenuItem'
|
||||
+#10'MenuItem10'#7'Caption'#6#8'&Edition'#0#9'TMenuItem'#10'MenuItem11'#6'Act'
|
||||
+'ion'#7#13'actEnumCreate'#7'OnClick'#7#20'actEnumCreateExecute'#0#0#9'TMenuI'
|
||||
+'tem'#10'MenuItem23'#6'Action'#7#17'actCompoundCreate'#7'OnClick'#7#24'actCo'
|
||||
+'mpoundCreateExecute'#0#0#9'TMenuItem'#10'MenuItem48'#6'Action'#7#15'actReco'
|
||||
+'rdCreate'#7'OnClick'#7#22'actRecordCreateExecute'#0#0#9'TMenuItem'#10'MenuI'
|
||||
+'tem25'#6'Action'#7#13'actIntfCreate'#7'OnClick'#7#20'actIntfCreateExecute'#0
|
||||
+#0#9'TMenuItem'#10'MenuItem35'#6'Action'#7#14'actArrayCreate'#7'OnClick'#7#21
|
||||
+'actArrayCreateExecute'#0#0#9'TMenuItem'#10'MenuItem36'#6'Action'#7#18'actTy'
|
||||
+'peALiasCreate'#7'OnClick'#7#25'actTypeALiasCreateExecute'#0#0#9'TMenuItem'
|
||||
+#10'MenuItem12'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#10'MenuItem13'#6'Action'#7
|
||||
+#15'actUpdateObject'#7'Caption'#6#13'Update Object'#7'OnClick'#7#22'actUpdat'
|
||||
+'eObjectExecute'#0#0#9'TMenuItem'#10'MenuItem34'#6'Action'#7#9'actDelete'#7
|
||||
+'OnClick'#7#16'actDeleteExecute'#0#0#0#9'TMenuItem'#9'MenuItem6'#6'Action'#7
|
||||
+#8'actAbout'#7'Caption'#6#6'&About'#7'OnClick'#7#15'actAboutExecute'#0#0#0#11
|
||||
+'TActionList'#2'AL'#4'left'#3'X'#1#3'top'#2'8'#0#7'TAction'#11'actOpenFile'#7
|
||||
+'Caption'#6#9'Open File'#18'DisableIfNoHandler'#9#9'OnExecute'#7#18'actOpenF'
|
||||
+'ileExecute'#0#0#7'TAction'#7'actExit'#7'Caption'#6#4'Exit'#18'DisableIfNoHa'
|
||||
+'ndler'#9#9'OnExecute'#7#14'actExitExecute'#0#0#7'TAction'#9'actExport'#7'Ca'
|
||||
+'ption'#6#24'Save generated files ...'#18'DisableIfNoHandler'#9#9'OnExecute'
|
||||
+#7#16'actExportExecute'#8'OnUpdate'#7#15'actExportUpdate'#0#0#7'TAction'#8'a'
|
||||
+'ctAbout'#7'Caption'#6#5'About'#18'DisableIfNoHandler'#9#9'OnExecute'#7#15'a'
|
||||
+'ctAboutExecute'#0#0#7'TAction'#9'actSaveAs'#7'Caption'#6#11'Save As ...'#18
|
||||
+'DisableIfNoHandler'#9#9'OnExecute'#7#16'actSaveAsExecute'#8'OnUpdate'#7#15
|
||||
+'actExportUpdate'#0#0#7'TAction'#13'actEnumCreate'#7'Caption'#6#18'Create En'
|
||||
+'umeration'#18'DisableIfNoHandler'#9#9'OnExecute'#7#20'actEnumCreateExecute'
|
||||
+#0#0#7'TAction'#15'actUpdateObject'#7'Caption'#6#6'Update'#18'DisableIfNoHan'
|
||||
+'dler'#9#9'OnExecute'#7#22'actUpdateObjectExecute'#8'OnUpdate'#7#21'actUpdat'
|
||||
+'eObjectUpdate'#0#0#7'TAction'#14'actRefreshView'#7'Caption'#6#14'&Refresh V'
|
||||
+'iews'#18'DisableIfNoHandler'#9#9'OnExecute'#7#21'actRefreshViewExecute'#0#0
|
||||
+#7'TAction'#10'actNewFile'#7'Caption'#6#8'New File'#18'DisableIfNoHandler'#9
|
||||
+#9'OnExecute'#7#17'actNewFileExecute'#0#0#7'TAction'#17'actCompoundCreate'#7
|
||||
+'Caption'#6#17'Create Class Type'#18'DisableIfNoHandler'#9#9'OnExecute'#7#24
|
||||
+'actCompoundCreateExecute'#0#0#7'TAction'#13'actIntfCreate'#7'Caption'#6#16
|
||||
,'Create Interface'#18'DisableIfNoHandler'#9#9'OnExecute'#7#20'actIntfCreateE'
|
||||
+'xecute'#0#0#7'TAction'#13'actFullExpand'#7'Caption'#6#11'Full expand'#18'Di'
|
||||
+'sableIfNoHandler'#9#9'OnExecute'#7#20'actFullExpandExecute'#0#0#7'TAction'
|
||||
+#15'actFullCollapse'#7'Caption'#6#13'Full Collapse'#18'DisableIfNoHandler'#9
|
||||
+#9'OnExecute'#7#22'actFullCollapseExecute'#0#0#7'TAction'#7'actSave'#7'Capti'
|
||||
+'on'#6#4'Save'#18'DisableIfNoHandler'#9#9'OnExecute'#7#14'actSaveExecute'#0#0
|
||||
+#7'TAction'#9'actDelete'#7'Caption'#6#6'Delete'#18'DisableIfNoHandler'#9#9'O'
|
||||
+'nExecute'#7#16'actDeleteExecute'#8'OnUpdate'#7#21'actUpdateObjectUpdate'#0#0
|
||||
+#7'TAction'#14'actArrayCreate'#7'Caption'#6#12'Create Array'#18'DisableIfNoH'
|
||||
+'andler'#9#9'OnExecute'#7#21'actArrayCreateExecute'#0#0#7'TAction'#18'actTyp'
|
||||
+'eALiasCreate'#7'Caption'#6#17'Create Type ALias'#18'DisableIfNoHandler'#9#9
|
||||
+'OnExecute'#7#25'actTypeALiasCreateExecute'#0#0#7'TAction'#15'actRecordCreat'
|
||||
+'e'#7'Caption'#6#13'Create Record'#18'DisableIfNoHandler'#9#9'OnExecute'#7#22
|
||||
+'actRecordCreateExecute'#0#0#0#11'TOpenDialog'#2'OD'#5'Title'#6#26'Ouvrir un'
|
||||
+' fichier existant'#6'Filter'#6'3WDSL files(*.WSDL)|*.WSDL|Pascal file (*.pa'
|
||||
+'s)|*.pas'#11'FilterIndex'#2#0#10'InitialDir'#6#2'.\'#7'Options'#11#15'ofPat'
|
||||
+'hMustExist'#15'ofFileMustExist'#14'ofEnableSizing'#12'ofViewDetail'#0#4'lef'
|
||||
+'t'#3#153#1#3'top'#2'X'#0#0#10'TSynPasSyn'#10'SynPasSyn1'#7'Enabled'#8#23'Co'
|
||||
+'mmentAttri.Foreground'#7#6'clBlue'#18'CommentAttri.Style'#11#6'fsBold'#0#22
|
||||
+'StringAttri.Foreground'#7#8'clMaroon'#17'SymbolAttri.Style'#11#6'fsBold'#0
|
||||
+#25'DirectiveAttri.Foreground'#7#7'clGreen'#20'DirectiveAttri.Style'#11#6'fs'
|
||||
+'Bold'#0#14'NestedComments'#9#4'left'#3#183#1#3'top'#2'h'#0#0#11'TSaveDialog'
|
||||
+#2'SD'#5'Title'#6#27'Enregistrer le fichier sous'#10'DefaultExt'#6#5'.WSDL'#6
|
||||
+'Filter'#6#25'WDSL files(*.WSDL)|*.WSDL'#11'FilterIndex'#2#0#7'Options'#11#15
|
||||
+'ofPathMustExist'#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3#242#1#3'to'
|
||||
+'p'#3#176#0#0#0#10'TPopupMenu'#10'PopupMenu1'#4'left'#3#152#0#3'top'#3#152#0
|
||||
+#0#9'TMenuItem'#10'MenuItem28'#6'Action'#7#13'actFullExpand'#7'OnClick'#7#20
|
||||
+'actFullExpandExecute'#0#0#9'TMenuItem'#10'MenuItem27'#6'Action'#7#15'actFul'
|
||||
+'lCollapse'#7'OnClick'#7#22'actFullCollapseExecute'#0#0#9'TMenuItem'#10'Menu'
|
||||
+'Item39'#6'Action'#7#14'actRefreshView'#7'OnClick'#7#21'actRefreshViewExecut'
|
||||
+'e'#0#0#9'TMenuItem'#10'MenuItem26'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'Men'
|
||||
+'uItem8'#6'Action'#7#13'actEnumCreate'#7'OnClick'#7#20'actEnumCreateExecute'
|
||||
+#0#0#9'TMenuItem'#10'MenuItem21'#6'Action'#7#17'actCompoundCreate'#7'OnClick'
|
||||
+#7#24'actCompoundCreateExecute'#0#0#9'TMenuItem'#10'MenuItem46'#6'Action'#7
|
||||
+#15'actRecordCreate'#7'OnClick'#7#22'actRecordCreateExecute'#0#0#9'TMenuItem'
|
||||
+#10'MenuItem24'#6'Action'#7#13'actIntfCreate'#7'OnClick'#7#20'actIntfCreateE'
|
||||
+'xecute'#0#0#9'TMenuItem'#10'MenuItem37'#6'Action'#7#14'actArrayCreate'#7'On'
|
||||
+'Click'#7#21'actArrayCreateExecute'#0#0#9'TMenuItem'#10'MenuItem38'#6'Action'
|
||||
+#7#18'actTypeALiasCreate'#7'OnClick'#7#25'actTypeALiasCreateExecute'#0#0#9'T'
|
||||
+'MenuItem'#10'MenuItem22'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem9'#6
|
||||
+'Action'#7#15'actUpdateObject'#7'OnClick'#7#22'actUpdateObjectExecute'#0#0#9
|
||||
+'TMenuItem'#10'MenuItem33'#6'Action'#7#9'actDelete'#7'OnClick'#7#16'actDelet'
|
||||
+'eExecute'#0#0#0#10'TPopupMenu'#10'PopupMenu2'#4'left'#3#16#2#3'top'#3#235#0
|
||||
+#0#9'TMenuItem'#10'MenuItem18'#6'Action'#7#14'actRefreshView'#7'OnClick'#7#21
|
||||
+'actRefreshViewExecute'#0#0#9'TMenuItem'#10'MenuItem19'#7'Caption'#6#1'-'#0#0
|
||||
+#9'TMenuItem'#10'MenuItem20'#6'Action'#7#9'actExport'#7'OnClick'#7#16'actExp'
|
||||
+'ortExecute'#0#0#9'TMenuItem'#10'MenuItem40'#7'Caption'#6#1'-'#0#0#9'TMenuIt'
|
||||
+'em'#10'MenuItem41'#6'Action'#7#14'actArrayCreate'#7'OnClick'#7#21'actArrayC'
|
||||
+'reateExecute'#0#0#9'TMenuItem'#10'MenuItem45'#6'Action'#7#17'actCompoundCre'
|
||||
+'ate'#7'OnClick'#7#24'actCompoundCreateExecute'#0#0#9'TMenuItem'#10'MenuItem'
|
||||
+'47'#6'Action'#7#15'actRecordCreate'#7'OnClick'#7#22'actRecordCreateExecute'
|
||||
+#0#0#9'TMenuItem'#10'MenuItem44'#6'Action'#7#13'actEnumCreate'#7'OnClick'#7
|
||||
+#20'actEnumCreateExecute'#0#0#9'TMenuItem'#10'MenuItem43'#6'Action'#7#13'act'
|
||||
+'IntfCreate'#7'OnClick'#7#20'actIntfCreateExecute'#0#0#9'TMenuItem'#10'MenuI'
|
||||
+'tem42'#6'Action'#7#18'actTypeALiasCreate'#7'OnClick'#7#25'actTypeALiasCreat'
|
||||
+'eExecute'#0#0#0#10'TSynXMLSyn'#10'SynXMLSyn1'#13'DefaultFilter'#6#30'Docume'
|
||||
+'nts WSDL (*.wsdl)|*.wsdl'#7'Enabled'#8#23'ElementAttri.Foreground'#7#6'clNa'
|
||||
+'vy'#30'AttributeValueAttri.Foreground'#7#8'clPurple'#16'WantBracesParsed'#8
|
||||
+#4'left'#3#210#1#3'top'#3#252#0#0#0#0
|
||||
]);
|
||||
|
@ -169,7 +169,7 @@ var
|
||||
implementation
|
||||
uses view_helper, DOM, XMLRead, XMLWrite, //HeapTrc,
|
||||
xsd_parser, wsdl_parser, source_utils, command_line_parser, generator, metadata_generator,
|
||||
binary_streamer, wst_resources_utils, wsdl_generator,
|
||||
binary_streamer, wst_resources_utils, xsd_generator, wsdl_generator,
|
||||
uabout, edit_helper, udm, ufrmsaveoption, pparser
|
||||
{$IFDEF WST_IDE},LazIDEIntf,IDEMsgIntf{$ENDIF};
|
||||
|
||||
@ -375,11 +375,13 @@ end;
|
||||
|
||||
procedure GenerateWSDL_ToStream(ASymbol : TwstPasTreeContainer; ADest : TStream);
|
||||
var
|
||||
g : IGenerator;
|
||||
doc : TXMLDocument;
|
||||
begin
|
||||
doc := TXMLDocument.Create();
|
||||
try
|
||||
GenerateWSDL(ASymbol,doc);
|
||||
g := TWsdlGenerator.Create(doc);
|
||||
g.Execute(ASymbol,ASymbol.CurrentModule.Name);
|
||||
WriteXML(doc,ADest);
|
||||
finally
|
||||
FreeAndNil(doc);
|
||||
|
@ -27,7 +27,7 @@ uses
|
||||
Type
|
||||
|
||||
TComandLineOption = (
|
||||
cloInterface, cloProxy, cloImp, cloBinder, cloWsdl,
|
||||
cloInterface, cloProxy, cloImp, cloBinder, cloWsdl, cloXsd,
|
||||
cloOutPutDirRelative, cloOutPutDirAbsolute
|
||||
);
|
||||
TComandLineOptions = set of TComandLineOption;
|
||||
@ -53,7 +53,7 @@ begin
|
||||
AAppOptions := [];
|
||||
c := #0;
|
||||
repeat
|
||||
c := GetOpt('u:pibo:a:w');
|
||||
c := GetOpt('u:pibo:a:wx');
|
||||
case c of
|
||||
'u' :
|
||||
begin
|
||||
@ -74,6 +74,7 @@ begin
|
||||
OptionsArgsMAP[cloOutPutDirAbsolute] := OptArg;
|
||||
End;
|
||||
'w' : Include(AAppOptions,cloWsdl);
|
||||
'x' : Include(AAppOptions,cloXsd);
|
||||
end;
|
||||
until ( c = EndOfOptions );
|
||||
Result := OptInd;
|
||||
|
@ -1 +1 @@
|
||||
ws_helper -uA -i -p -b -a"C:\Programmes\lazarus\wst\trunk\tests\files" "C:\Programmes\lazarus\utils\amazon\AWSECommerceService.wsdl" >test_amazon_res.txt
|
||||
ws_helper -uA -i -p -b -w -x -a"C:\Programmes\lazarus\wst\trunk\tests\files" "C:\Programmes\lazarus\utils\amazon\AWSECommerceService.wsdl" >test_amazon_res.txt
|
@ -100,7 +100,7 @@ Conditionals=
|
||||
DebugSourceDirs=C:\Programmes\lazarus\wst\trunk\fcl-units\rtl\;C:\Programmes\lazarus\wst\trunk\;C:\Programmes\lazarus\wst\trunk\fcl-units\fcl-passrc\src\
|
||||
UsePackages=0
|
||||
[Parameters]
|
||||
RunParams=-uA -i -p -b -a"C:\Programmes\lazarus\wst\trunk\tests\files" "C:\Programmes\lazarus\wst\trunk\type_lib_edtr\files\company.xsd"
|
||||
RunParams=-uA -i -p -b -x -a"C:\Programmes\lazarus\wst\trunk\tests\files" "C:\Programmes\lazarus\utils\amazon\AWSECommerceService.wsdl"
|
||||
HostApplication=
|
||||
Launcher=
|
||||
UseLauncher=0
|
||||
|
@ -41,7 +41,8 @@ uses
|
||||
logger_intf,
|
||||
xsd_parser,
|
||||
ws_parser_imp,
|
||||
wsdl_parser;
|
||||
wsdl_parser,
|
||||
xsd_generator;
|
||||
|
||||
{$INCLUDE ws_helper_prog.inc}
|
||||
|
||||
|
@ -24,71 +24,9 @@ interface
|
||||
uses
|
||||
SysUtils, Classes
|
||||
{$IFNDEF FPC}, xmldom, wst_delphi_xml{$ELSE},DOM{$ENDIF}
|
||||
, cursor_intf, dom_cursors
|
||||
, cursor_intf, dom_cursors, xsd_consts
|
||||
;
|
||||
|
||||
const
|
||||
s_address : WideString = 'address';
|
||||
s_all : WideString = 'all';
|
||||
//s_any : WideString = 'any';
|
||||
s_annotation : WideString = 'annotation';
|
||||
s_appinfo : WideString = 'appinfo';
|
||||
s_array : WideString = 'array';
|
||||
s_arrayType : WideString = 'arrayType';
|
||||
s_attribute : WideString = 'attribute';
|
||||
s_base : WideString = 'base';
|
||||
s_binding : WideString = 'binding';
|
||||
s_body : WideString = 'body';
|
||||
s_complexContent : WideString = 'complexContent';
|
||||
s_complexType : WideString = 'complexType';
|
||||
s_customAttributes : WideString = 'customAttributes';
|
||||
s_document : WideString = 'document';
|
||||
s_element : WideString = 'element';
|
||||
s_enumeration : WideString = 'enumeration';
|
||||
s_extension : WideString = 'extension';
|
||||
s_guid : WideString = 'GUID';
|
||||
s_headerBlock : WideString = 'headerBlock';
|
||||
s_input : WideString = 'input';
|
||||
s_item : WideString = 'item';
|
||||
s_location : WideString = 'location';
|
||||
s_message : WideString = 'message';
|
||||
s_maxOccurs : WideString = 'maxOccurs';
|
||||
s_minOccurs : WideString = 'minOccurs';
|
||||
s_name : WideString = 'name';
|
||||
s_operation : WideString = 'operation';
|
||||
s_optional : WideString = 'optional';
|
||||
s_output : WideString = 'output';
|
||||
s_part : WideString = 'part';
|
||||
s_port : WideString = 'port';
|
||||
s_portType : WideString = 'portType';
|
||||
s_prohibited : WideString = 'prohibited';
|
||||
s_record : WideString = 'record';
|
||||
s_ref : WideString = 'ref';
|
||||
s_required : WideString = 'required';
|
||||
s_restriction : WideString = 'restriction';
|
||||
//s_return : WideString = 'return';
|
||||
s_rpc : WideString = 'rpc';
|
||||
s_schema : WideString = 'schema';
|
||||
s_xs : WideString = 'http://www.w3.org/2001/XMLSchema';
|
||||
s_sequence : WideString = 'sequence';
|
||||
s_service : WideString = 'service';
|
||||
s_simpleContent : WideString = 'simpleContent';
|
||||
s_simpleType : WideString = 'simpleType';
|
||||
s_soap : WideString = 'http://schemas.xmlsoap.org/wsdl/soap/';
|
||||
s_soapAction : WideString = 'soapAction';
|
||||
s_soapInputEncoding : WideString = 'Input_EncodingStyle';
|
||||
s_soapOutputEncoding : WideString = 'OutputEncodingStyle';
|
||||
s_soapStyle : WideString = 'style';
|
||||
s_style : WideString = 'style';
|
||||
s_targetNamespace : WideString = 'targetNamespace';
|
||||
s_type : WideString = 'type';
|
||||
s_types : WideString = 'types';
|
||||
s_unbounded : WideString = 'unbounded';
|
||||
s_use : WideString = 'use';
|
||||
s_value : WideString = 'value';
|
||||
s_wsdl : WideString = 'http://schemas.xmlsoap.org/wsdl/';
|
||||
s_xmlns : WideString = 'xmlns';
|
||||
|
||||
type
|
||||
TNotFoundAction = ( nfaNone, nfaRaiseException );
|
||||
|
||||
@ -341,32 +279,13 @@ function wst_findCustomAttributeXsd(
|
||||
) : Boolean;
|
||||
var
|
||||
nd : TDOMNode;
|
||||
tmpCrs : IObjectCursor;
|
||||
begin
|
||||
Result := False;
|
||||
tmpCrs := CreateCursorOn(
|
||||
CreateChildrenCursor(ANode,cetRttiNode),
|
||||
ParseFilter(CreateQualifiedNameFilterStr(s_annotation,AXsdShortNames),TDOMNodeRttiExposer)
|
||||
);
|
||||
tmpCrs.Reset();
|
||||
if tmpCrs.MoveNext() then begin
|
||||
nd := (tmpCrs.GetCurrent() as TDOMNodeRttiExposer).InnerObject;
|
||||
if nd.HasChildNodes() then begin
|
||||
tmpCrs := CreateCursorOn(
|
||||
CreateChildrenCursor(nd,cetRttiNode),
|
||||
ParseFilter(Format('%s=%s',[s_NODE_NAME,QuotedStr(s_appinfo)]),TDOMNodeRttiExposer)
|
||||
);
|
||||
tmpCrs.Reset();
|
||||
if tmpCrs.MoveNext() then begin
|
||||
nd := (tmpCrs.GetCurrent() as TDOMNodeRttiExposer).InnerObject;
|
||||
if ( nd.Attributes <> nil ) then begin
|
||||
nd := nd.Attributes.GetNamedItem(AAttribute);
|
||||
if Assigned(nd) then begin
|
||||
Result := True;
|
||||
AValue := nd.NodeValue;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
if Assigned(ANode) and ( ANode.Attributes <> nil ) then begin
|
||||
nd := ANode.Attributes.GetNamedItem(AAttribute);
|
||||
if Assigned(nd) then begin
|
||||
Result := True;
|
||||
AValue := nd.NodeValue;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
@ -68,6 +68,7 @@ type
|
||||
FObjects : TObjectList;
|
||||
FProps : TObjectList;
|
||||
private
|
||||
procedure FreeList(AObject : TObject);
|
||||
public
|
||||
constructor Create();
|
||||
destructor Destroy();override;
|
||||
@ -127,6 +128,7 @@ type
|
||||
property Binding[AIndex : Integer] : TwstBinding read GetBinding;
|
||||
property Properties : TPropertyHolder read FProperties;
|
||||
|
||||
procedure FreeProperties(AObject : TPasElement);
|
||||
procedure RegisterExternalAlias(AObject : TPasElement; const AExternalName : String);
|
||||
function SameName(AObject : TPasElement; const AName : string) : Boolean;
|
||||
function GetExternalName(AObject : TPasElement) : string;
|
||||
@ -176,7 +178,7 @@ type
|
||||
function CreateWstInterfaceSymbolTable(AContainer : TwstPasTreeContainer) : TPasModule;
|
||||
|
||||
implementation
|
||||
uses parserutils;
|
||||
uses parserutils, wst_types;
|
||||
|
||||
const
|
||||
SIMPLE_TYPES_COUNT = 15;
|
||||
@ -715,6 +717,40 @@ begin
|
||||
Result := nil;
|
||||
end;
|
||||
|
||||
procedure TwstPasTreeContainer.FreeProperties(AObject: TPasElement);
|
||||
|
||||
procedure FreeClassProps(AObj : TPasClassType);
|
||||
var
|
||||
ls : TList;
|
||||
k : PtrInt;
|
||||
begin
|
||||
ls := AObj.Members;
|
||||
for k := 0 to Pred(ls.Count) do begin
|
||||
FProperties.FreeList(TPasElement(ls[k]));
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure FreeRecordFields(AObj : TPasRecordType);
|
||||
var
|
||||
ls : TList;
|
||||
k : PtrInt;
|
||||
begin
|
||||
ls := AObj.Members;
|
||||
for k := 0 to Pred(ls.Count) do begin
|
||||
FProperties.FreeList(TPasElement(ls[k]));
|
||||
end;
|
||||
end;
|
||||
|
||||
begin
|
||||
if Assigned(AObject) then begin
|
||||
FProperties.FreeList(AObject);
|
||||
if AObject.InheritsFrom(TPasClassType) then
|
||||
FreeClassProps(AObject as TPasClassType)
|
||||
else if AObject.InheritsFrom(TPasRecordType) then
|
||||
FreeRecordFields(AObject as TPasRecordType);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TwstPasTreeContainer.RegisterExternalAlias(
|
||||
AObject : TPasElement;
|
||||
const AExternalName : String
|
||||
@ -813,6 +849,17 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TPropertyHolder.FreeList(AObject: TObject);
|
||||
var
|
||||
i : PtrInt;
|
||||
begin
|
||||
i := FObjects.IndexOf(AObject);
|
||||
if ( i >= 0 ) then begin
|
||||
FObjects.Delete(i);
|
||||
FProps.Delete(i);
|
||||
end;
|
||||
end;
|
||||
|
||||
constructor TPropertyHolder.Create();
|
||||
begin
|
||||
FObjects := TObjectList.Create(False);
|
||||
|
@ -12,7 +12,7 @@
|
||||
<MainUnit Value="0"/>
|
||||
<IconPath Value=".\"/>
|
||||
<TargetFileExt Value=""/>
|
||||
<ActiveEditorIndexAtStart Value="2"/>
|
||||
<ActiveEditorIndexAtStart Value="4"/>
|
||||
</General>
|
||||
<PublishOptions>
|
||||
<Version Value="2"/>
|
||||
@ -24,7 +24,7 @@
|
||||
<RunParams>
|
||||
<local>
|
||||
<FormatVersion Value="1"/>
|
||||
<CommandLineParams Value="-uA -i -p -b -a"C:\Programmes\lazarus\wst\trunk\tests\files" "C:\Programmes\lazarus\wst\trunk\type_lib_edtr\files\iplookup.wsdl""/>
|
||||
<CommandLineParams Value="-uA -i -p -b -x -a"C:\Programmes\lazarus\wst\trunk\tests\files" "C:\Programmes\lazarus\wst\trunk\type_lib_edtr\files\DataSource.xsd""/>
|
||||
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
|
||||
</local>
|
||||
</RunParams>
|
||||
@ -33,13 +33,13 @@
|
||||
<PackageName Value="FCL"/>
|
||||
</Item1>
|
||||
</RequiredPackages>
|
||||
<Units Count="88">
|
||||
<Units Count="91">
|
||||
<Unit0>
|
||||
<Filename Value="ws_helper.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="ws_helper"/>
|
||||
<CursorPos X="38" Y="31"/>
|
||||
<TopLine Value="20"/>
|
||||
<CursorPos X="52" Y="39"/>
|
||||
<TopLine Value="21"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="200"/>
|
||||
<Loaded Value="True"/>
|
||||
@ -50,7 +50,7 @@
|
||||
<UnitName Value="ws_parser"/>
|
||||
<CursorPos X="1" Y="487"/>
|
||||
<TopLine Value="444"/>
|
||||
<EditorIndex Value="19"/>
|
||||
<EditorIndex Value="11"/>
|
||||
<UsageCount Value="200"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit1>
|
||||
@ -60,7 +60,7 @@
|
||||
<UnitName Value="generator"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="20"/>
|
||||
<EditorIndex Value="12"/>
|
||||
<UsageCount Value="200"/>
|
||||
<Bookmarks Count="3">
|
||||
<Item0 X="69" Y="935" ID="1"/>
|
||||
@ -84,9 +84,9 @@
|
||||
<Filename Value="parserutils.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="parserutils"/>
|
||||
<CursorPos X="18" Y="400"/>
|
||||
<TopLine Value="381"/>
|
||||
<EditorIndex Value="17"/>
|
||||
<CursorPos X="18" Y="357"/>
|
||||
<TopLine Value="314"/>
|
||||
<EditorIndex Value="9"/>
|
||||
<UsageCount Value="200"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit4>
|
||||
@ -96,35 +96,33 @@
|
||||
<UnitName Value="source_utils"/>
|
||||
<CursorPos X="17" Y="19"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="13"/>
|
||||
<UsageCount Value="201"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit5>
|
||||
<Unit6>
|
||||
<Filename Value="D:\lazarusClean\fpcsrc\rtl\objpas\strutils.pp"/>
|
||||
<UnitName Value="strutils"/>
|
||||
<CursorPos X="23" Y="246"/>
|
||||
<TopLine Value="246"/>
|
||||
<UsageCount Value="2"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit6>
|
||||
<Unit7>
|
||||
<Filename Value="D:\lazarusClean\fpcsrc\rtl\objpas\sysutils\sysstrh.inc"/>
|
||||
<CursorPos X="10" Y="74"/>
|
||||
<TopLine Value="70"/>
|
||||
<UsageCount Value="2"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit7>
|
||||
<Unit8>
|
||||
<Filename Value="D:\lazarusClean\fpcsrc\rtl\objpas\sysutils\sysstr.inc"/>
|
||||
<CursorPos X="3" Y="185"/>
|
||||
<TopLine Value="180"/>
|
||||
<UsageCount Value="2"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit8>
|
||||
<Unit9>
|
||||
<Filename Value="command_line_parser.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="command_line_parser"/>
|
||||
<CursorPos X="11" Y="39"/>
|
||||
<TopLine Value="19"/>
|
||||
<CursorPos X="39" Y="77"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="200"/>
|
||||
</Unit9>
|
||||
<Unit10>
|
||||
@ -133,9 +131,7 @@
|
||||
<UnitName Value="metadata_generator"/>
|
||||
<CursorPos X="20" Y="19"/>
|
||||
<TopLine Value="114"/>
|
||||
<EditorIndex Value="14"/>
|
||||
<UsageCount Value="200"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit10>
|
||||
<Unit11>
|
||||
<Filename Value="..\binary_streamer.pas"/>
|
||||
@ -166,44 +162,40 @@
|
||||
<UnitName Value="rtti_filters"/>
|
||||
<CursorPos X="36" Y="186"/>
|
||||
<TopLine Value="184"/>
|
||||
<UsageCount Value="93"/>
|
||||
<UsageCount Value="91"/>
|
||||
</Unit14>
|
||||
<Unit15>
|
||||
<Filename Value="..\wst_rtti_filter\dom_cursors.pas"/>
|
||||
<UnitName Value="dom_cursors"/>
|
||||
<CursorPos X="13" Y="353"/>
|
||||
<TopLine Value="317"/>
|
||||
<EditorIndex Value="12"/>
|
||||
<UsageCount Value="101"/>
|
||||
<Loaded Value="True"/>
|
||||
<UsageCount Value="99"/>
|
||||
</Unit15>
|
||||
<Unit16>
|
||||
<Filename Value="..\wst_rtti_filter\cursor_intf.pas"/>
|
||||
<UnitName Value="cursor_intf"/>
|
||||
<CursorPos X="1" Y="159"/>
|
||||
<TopLine Value="133"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<UsageCount Value="101"/>
|
||||
<Loaded Value="True"/>
|
||||
<UsageCount Value="99"/>
|
||||
</Unit16>
|
||||
<Unit17>
|
||||
<Filename Value="..\..\..\..\lazarusClean\fpc\2.0.4\source\rtl\objpas\sysutils\sysstrh.inc"/>
|
||||
<CursorPos X="10" Y="100"/>
|
||||
<TopLine Value="86"/>
|
||||
<UsageCount Value="3"/>
|
||||
<UsageCount Value="1"/>
|
||||
</Unit17>
|
||||
<Unit18>
|
||||
<Filename Value="..\..\..\..\lazarusClean\fpc\2.0.4\source\rtl\objpas\classes\classesh.inc"/>
|
||||
<CursorPos X="14" Y="151"/>
|
||||
<TopLine Value="137"/>
|
||||
<UsageCount Value="2"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit18>
|
||||
<Unit19>
|
||||
<Filename Value="wsdl2pas_imp.pas"/>
|
||||
<UnitName Value="wsdl2pas_imp"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="102"/>
|
||||
<UsageCount Value="100"/>
|
||||
<Bookmarks Count="2">
|
||||
<Item0 X="21" Y="763" ID="3"/>
|
||||
<Item1 X="50" Y="657" ID="5"/>
|
||||
@ -214,83 +206,83 @@
|
||||
<UnitName Value="getopts"/>
|
||||
<CursorPos X="1" Y="231"/>
|
||||
<TopLine Value="218"/>
|
||||
<UsageCount Value="10"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit20>
|
||||
<Unit21>
|
||||
<Filename Value="..\..\..\..\lazarus211\fpc\2.1.1\source\packages\fcl-xml\src\dom.pp"/>
|
||||
<UnitName Value="DOM"/>
|
||||
<CursorPos X="27" Y="41"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="6"/>
|
||||
<UsageCount Value="4"/>
|
||||
</Unit21>
|
||||
<Unit22>
|
||||
<Filename Value="..\..\..\..\lazarus211\fpc\2.1.1\source\packages\fcl-base\src\inc\avl_tree.pp"/>
|
||||
<UnitName Value="AVL_Tree"/>
|
||||
<CursorPos X="54" Y="156"/>
|
||||
<TopLine Value="332"/>
|
||||
<UsageCount Value="2"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit22>
|
||||
<Unit23>
|
||||
<Filename Value="..\..\..\..\lazarusClean\fpc\2.0.4\source\fcl\inc\contnrs.pp"/>
|
||||
<UnitName Value="contnrs"/>
|
||||
<CursorPos X="30" Y="685"/>
|
||||
<TopLine Value="683"/>
|
||||
<UsageCount Value="2"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit23>
|
||||
<Unit24>
|
||||
<Filename Value="..\..\..\..\lazarusClean\fpc\2.0.4\source\rtl\objpas\classes\lists.inc"/>
|
||||
<CursorPos X="3" Y="29"/>
|
||||
<TopLine Value="27"/>
|
||||
<UsageCount Value="2"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit24>
|
||||
<Unit25>
|
||||
<Filename Value="..\..\..\..\lazarusClean\fpc\2.0.4\source\rtl\objpas\sysutils\sysstr.inc"/>
|
||||
<CursorPos X="1" Y="689"/>
|
||||
<TopLine Value="686"/>
|
||||
<UsageCount Value="3"/>
|
||||
<UsageCount Value="1"/>
|
||||
</Unit25>
|
||||
<Unit26>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\others_package\indy\indy-10.2.0.1\lazarus\IdDsnCoreResourceStrings.pas"/>
|
||||
<UnitName Value="IdDsnCoreResourceStrings"/>
|
||||
<CursorPos X="9" Y="76"/>
|
||||
<TopLine Value="64"/>
|
||||
<UsageCount Value="2"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit26>
|
||||
<Unit27>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\others_package\indy\indy-10.2.0.1\fpc\System\IdGlobal.pas"/>
|
||||
<UnitName Value="IdGlobal"/>
|
||||
<CursorPos X="44" Y="989"/>
|
||||
<TopLine Value="981"/>
|
||||
<UsageCount Value="2"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit27>
|
||||
<Unit28>
|
||||
<Filename Value="..\..\..\fpc\packages\fcl-xml\src\xmlread.pp"/>
|
||||
<UnitName Value="XMLRead"/>
|
||||
<CursorPos X="3" Y="3270"/>
|
||||
<TopLine Value="3266"/>
|
||||
<UsageCount Value="4"/>
|
||||
<UsageCount Value="2"/>
|
||||
</Unit28>
|
||||
<Unit29>
|
||||
<Filename Value="..\..\..\fpc\rtl\unix\sysutils.pp"/>
|
||||
<UnitName Value="sysutils"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="34"/>
|
||||
<UsageCount Value="4"/>
|
||||
<UsageCount Value="2"/>
|
||||
</Unit29>
|
||||
<Unit30>
|
||||
<Filename Value="..\..\..\fpc\utils\fppkg\fcl20\contnrs.pp"/>
|
||||
<UnitName Value="contnrs"/>
|
||||
<CursorPos X="70" Y="21"/>
|
||||
<TopLine Value="34"/>
|
||||
<UsageCount Value="4"/>
|
||||
<UsageCount Value="2"/>
|
||||
</Unit30>
|
||||
<Unit31>
|
||||
<Filename Value="pascal_parser_intf.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="pascal_parser_intf"/>
|
||||
<CursorPos X="1" Y="652"/>
|
||||
<TopLine Value="637"/>
|
||||
<EditorIndex Value="16"/>
|
||||
<CursorPos X="3" Y="602"/>
|
||||
<TopLine Value="597"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<UsageCount Value="200"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit31>
|
||||
@ -299,131 +291,131 @@
|
||||
<UnitName Value="PasTree"/>
|
||||
<CursorPos X="46" Y="104"/>
|
||||
<TopLine Value="89"/>
|
||||
<UsageCount Value="22"/>
|
||||
<UsageCount Value="20"/>
|
||||
</Unit32>
|
||||
<Unit33>
|
||||
<Filename Value="..\..\..\..\lazarus_23_215\fpc\2.1.5\source\packages\fcl-passrc\src\pparser.pp"/>
|
||||
<UnitName Value="PParser"/>
|
||||
<CursorPos X="48" Y="768"/>
|
||||
<TopLine Value="750"/>
|
||||
<UsageCount Value="26"/>
|
||||
<UsageCount Value="24"/>
|
||||
</Unit33>
|
||||
<Unit34>
|
||||
<Filename Value="..\..\..\..\lazarus_23_215\fpc\2.1.5\source\packages\fcl-passrc\src\pscanner.pp"/>
|
||||
<UnitName Value="PScanner"/>
|
||||
<CursorPos X="19" Y="505"/>
|
||||
<TopLine Value="490"/>
|
||||
<UsageCount Value="25"/>
|
||||
<UsageCount Value="23"/>
|
||||
</Unit34>
|
||||
<Unit35>
|
||||
<Filename Value="..\..\..\..\lazarus_23_215\fpc\2.1.5\source\packages\fcl-base\src\inc\contnrs.pp"/>
|
||||
<UnitName Value="contnrs"/>
|
||||
<CursorPos X="113" Y="702"/>
|
||||
<TopLine Value="688"/>
|
||||
<UsageCount Value="2"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit35>
|
||||
<Unit36>
|
||||
<Filename Value="..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\win32\classes.pp"/>
|
||||
<UnitName Value="Classes"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="6"/>
|
||||
<UsageCount Value="4"/>
|
||||
</Unit36>
|
||||
<Unit37>
|
||||
<Filename Value="..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\objpas\classes\classesh.inc"/>
|
||||
<CursorPos X="14" Y="171"/>
|
||||
<TopLine Value="149"/>
|
||||
<UsageCount Value="10"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit37>
|
||||
<Unit38>
|
||||
<Filename Value="..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\objpas\classes\lists.inc"/>
|
||||
<CursorPos X="1" Y="417"/>
|
||||
<TopLine Value="402"/>
|
||||
<UsageCount Value="2"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit38>
|
||||
<Unit39>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\packages\fcl-xml\src\dom.pp"/>
|
||||
<UnitName Value="DOM"/>
|
||||
<CursorPos X="3" Y="459"/>
|
||||
<TopLine Value="441"/>
|
||||
<UsageCount Value="10"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit39>
|
||||
<Unit40>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\win32\system.pp"/>
|
||||
<UnitName Value="System"/>
|
||||
<CursorPos X="1" Y="931"/>
|
||||
<TopLine Value="916"/>
|
||||
<UsageCount Value="10"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit40>
|
||||
<Unit41>
|
||||
<Filename Value="..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\inc\wstrings.inc"/>
|
||||
<CursorPos X="1" Y="945"/>
|
||||
<TopLine Value="930"/>
|
||||
<UsageCount Value="3"/>
|
||||
<UsageCount Value="1"/>
|
||||
</Unit41>
|
||||
<Unit42>
|
||||
<Filename Value="pastree.pp"/>
|
||||
<UnitName Value="PasTree"/>
|
||||
<CursorPos X="16" Y="73"/>
|
||||
<TopLine Value="72"/>
|
||||
<UsageCount Value="45"/>
|
||||
<UsageCount Value="43"/>
|
||||
</Unit42>
|
||||
<Unit43>
|
||||
<Filename Value="..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\win32\system.pp"/>
|
||||
<UnitName Value="System"/>
|
||||
<CursorPos X="1" Y="940"/>
|
||||
<TopLine Value="925"/>
|
||||
<UsageCount Value="3"/>
|
||||
<UsageCount Value="1"/>
|
||||
</Unit43>
|
||||
<Unit44>
|
||||
<Filename Value="..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\inc\heap.inc"/>
|
||||
<CursorPos X="1" Y="817"/>
|
||||
<TopLine Value="802"/>
|
||||
<UsageCount Value="10"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit44>
|
||||
<Unit45>
|
||||
<Filename Value="pparser.pp"/>
|
||||
<UnitName Value="PParser"/>
|
||||
<CursorPos X="33" Y="426"/>
|
||||
<TopLine Value="343"/>
|
||||
<UsageCount Value="45"/>
|
||||
<UsageCount Value="43"/>
|
||||
</Unit45>
|
||||
<Unit46>
|
||||
<Filename Value="..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\inc\heaptrc.pp"/>
|
||||
<UnitName Value="heaptrc"/>
|
||||
<CursorPos X="29" Y="46"/>
|
||||
<TopLine Value="28"/>
|
||||
<UsageCount Value="11"/>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit46>
|
||||
<Unit47>
|
||||
<Filename Value="..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\objpas\sysutils\sysutilh.inc"/>
|
||||
<CursorPos X="27" Y="209"/>
|
||||
<TopLine Value="209"/>
|
||||
<UsageCount Value="10"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit47>
|
||||
<Unit48>
|
||||
<Filename Value="..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\objpas\sysutils\sysansih.inc"/>
|
||||
<CursorPos X="10" Y="24"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="2"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit48>
|
||||
<Unit49>
|
||||
<Filename Value="..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\objpas\sysutils\sysansi.inc"/>
|
||||
<CursorPos X="13" Y="51"/>
|
||||
<TopLine Value="41"/>
|
||||
<UsageCount Value="2"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit49>
|
||||
<Unit50>
|
||||
<Filename Value="..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\inc\systemh.inc"/>
|
||||
<CursorPos X="11" Y="562"/>
|
||||
<TopLine Value="558"/>
|
||||
<UsageCount Value="2"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit50>
|
||||
<Unit51>
|
||||
<Filename Value="..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\inc\astrings.inc"/>
|
||||
<CursorPos X="3" Y="744"/>
|
||||
<TopLine Value="730"/>
|
||||
<UsageCount Value="2"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit51>
|
||||
<Unit52>
|
||||
<Filename Value="logger_intf.pas"/>
|
||||
@ -431,160 +423,158 @@
|
||||
<UnitName Value="logger_intf"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="18"/>
|
||||
<UsageCount Value="115"/>
|
||||
<EditorIndex Value="10"/>
|
||||
<UsageCount Value="138"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit52>
|
||||
<Unit53>
|
||||
<Filename Value="..\wst.inc"/>
|
||||
<CursorPos X="4" Y="6"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="3"/>
|
||||
<UsageCount Value="1"/>
|
||||
</Unit53>
|
||||
<Unit54>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\packages\fcl-base\src\inc\contnrs.pp"/>
|
||||
<UnitName Value="contnrs"/>
|
||||
<CursorPos X="1" Y="755"/>
|
||||
<TopLine Value="737"/>
|
||||
<UsageCount Value="4"/>
|
||||
<UsageCount Value="2"/>
|
||||
</Unit54>
|
||||
<Unit55>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\inc\except.inc"/>
|
||||
<CursorPos X="1" Y="213"/>
|
||||
<TopLine Value="195"/>
|
||||
<UsageCount Value="4"/>
|
||||
<UsageCount Value="2"/>
|
||||
</Unit55>
|
||||
<Unit56>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\objpas\classes\stringl.inc"/>
|
||||
<CursorPos X="1" Y="1075"/>
|
||||
<TopLine Value="1057"/>
|
||||
<UsageCount Value="3"/>
|
||||
<UsageCount Value="1"/>
|
||||
</Unit56>
|
||||
<Unit57>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\i386\i386.inc"/>
|
||||
<CursorPos X="1" Y="1244"/>
|
||||
<TopLine Value="1226"/>
|
||||
<UsageCount Value="3"/>
|
||||
<UsageCount Value="1"/>
|
||||
</Unit57>
|
||||
<Unit58>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\inc\astrings.inc"/>
|
||||
<CursorPos X="1" Y="301"/>
|
||||
<TopLine Value="283"/>
|
||||
<UsageCount Value="3"/>
|
||||
<UsageCount Value="1"/>
|
||||
</Unit58>
|
||||
<Unit59>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\objpas\objpas.pp"/>
|
||||
<UnitName Value="objpas"/>
|
||||
<CursorPos X="14" Y="121"/>
|
||||
<TopLine Value="112"/>
|
||||
<UsageCount Value="7"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit59>
|
||||
<Unit60>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\inc\systemh.inc"/>
|
||||
<CursorPos X="18" Y="737"/>
|
||||
<TopLine Value="665"/>
|
||||
<UsageCount Value="7"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit60>
|
||||
<Unit61>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\win\systhrd.inc"/>
|
||||
<CursorPos X="14" Y="144"/>
|
||||
<TopLine Value="144"/>
|
||||
<UsageCount Value="7"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit61>
|
||||
<Unit62>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\win\sysos.inc"/>
|
||||
<CursorPos X="13" Y="235"/>
|
||||
<TopLine Value="235"/>
|
||||
<UsageCount Value="7"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit62>
|
||||
<Unit63>
|
||||
<Filename Value="..\wst_global.inc"/>
|
||||
<CursorPos X="25" Y="4"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="10"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit63>
|
||||
<Unit64>
|
||||
<Filename Value="wsdl_generator.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="wsdl_generator"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="116"/>
|
||||
<EditorIndex Value="15"/>
|
||||
<UsageCount Value="68"/>
|
||||
<CursorPos X="1" Y="457"/>
|
||||
<TopLine Value="429"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<UsageCount Value="91"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit64>
|
||||
<Unit65>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-xml\src\dom.pp"/>
|
||||
<UnitName Value="DOM"/>
|
||||
<CursorPos X="3" Y="459"/>
|
||||
<TopLine Value="446"/>
|
||||
<UsageCount Value="6"/>
|
||||
<CursorPos X="14" Y="341"/>
|
||||
<TopLine Value="319"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit65>
|
||||
<Unit66>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\getopts.pp"/>
|
||||
<UnitName Value="getopts"/>
|
||||
<CursorPos X="11" Y="179"/>
|
||||
<TopLine Value="157"/>
|
||||
<UsageCount Value="8"/>
|
||||
<UsageCount Value="6"/>
|
||||
</Unit66>
|
||||
<Unit67>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\trunck\rtl\win32\system.pp"/>
|
||||
<UnitName Value="system"/>
|
||||
<CursorPos X="13" Y="30"/>
|
||||
<TopLine Value="8"/>
|
||||
<UsageCount Value="7"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit67>
|
||||
<Unit68>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\trunck\rtl\win\sysutils.pp"/>
|
||||
<UnitName Value="sysutils"/>
|
||||
<CursorPos X="5" Y="33"/>
|
||||
<TopLine Value="20"/>
|
||||
<UsageCount Value="7"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit68>
|
||||
<Unit69>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\trunck\rtl\win32\classes.pp"/>
|
||||
<UnitName Value="classes"/>
|
||||
<CursorPos X="5" Y="44"/>
|
||||
<TopLine Value="31"/>
|
||||
<UsageCount Value="6"/>
|
||||
<UsageCount Value="4"/>
|
||||
</Unit69>
|
||||
<Unit70>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\win32\classes.pp"/>
|
||||
<UnitName Value="Classes"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="6"/>
|
||||
<UsageCount Value="4"/>
|
||||
</Unit70>
|
||||
<Unit71>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-xml\src\xmlread.pp"/>
|
||||
<UnitName Value="XMLRead"/>
|
||||
<CursorPos X="46" Y="3273"/>
|
||||
<TopLine Value="3266"/>
|
||||
<UsageCount Value="6"/>
|
||||
<UsageCount Value="4"/>
|
||||
</Unit71>
|
||||
<Unit72>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-xml\src\xmlwrite.pp"/>
|
||||
<UnitName Value="XMLWrite"/>
|
||||
<CursorPos X="1" Y="626"/>
|
||||
<TopLine Value="586"/>
|
||||
<UsageCount Value="17"/>
|
||||
<UsageCount Value="15"/>
|
||||
</Unit72>
|
||||
<Unit73>
|
||||
<Filename Value="..\wst_fpc_xml.pas"/>
|
||||
<UnitName Value="wst_fpc_xml"/>
|
||||
<CursorPos X="1" Y="55"/>
|
||||
<TopLine Value="43"/>
|
||||
<EditorIndex Value="11"/>
|
||||
<UsageCount Value="22"/>
|
||||
<Loaded Value="True"/>
|
||||
<UsageCount Value="21"/>
|
||||
</Unit73>
|
||||
<Unit74>
|
||||
<Filename Value="ws_helper_prog.inc"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<CursorPos X="33" Y="89"/>
|
||||
<TopLine Value="75"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<UsageCount Value="23"/>
|
||||
<CursorPos X="1" Y="144"/>
|
||||
<TopLine Value="128"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="46"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit74>
|
||||
<Unit75>
|
||||
@ -592,16 +582,16 @@
|
||||
<UnitName Value="getopts"/>
|
||||
<CursorPos X="52" Y="500"/>
|
||||
<TopLine Value="486"/>
|
||||
<UsageCount Value="15"/>
|
||||
<UsageCount Value="13"/>
|
||||
</Unit75>
|
||||
<Unit76>
|
||||
<Filename Value="xsd_parser.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="xsd_parser"/>
|
||||
<CursorPos X="16" Y="14"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="22"/>
|
||||
<CursorPos X="96" Y="86"/>
|
||||
<TopLine Value="45"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="45"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit76>
|
||||
<Unit77>
|
||||
@ -609,26 +599,26 @@
|
||||
<UnitName Value="heaptrc"/>
|
||||
<CursorPos X="29" Y="49"/>
|
||||
<TopLine Value="31"/>
|
||||
<UsageCount Value="10"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit77>
|
||||
<Unit78>
|
||||
<Filename Value="wsdl_parser.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="wsdl_parser"/>
|
||||
<CursorPos X="24" Y="178"/>
|
||||
<TopLine Value="162"/>
|
||||
<CursorPos X="41" Y="1162"/>
|
||||
<TopLine Value="1148"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="22"/>
|
||||
<UsageCount Value="45"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit78>
|
||||
<Unit79>
|
||||
<Filename Value="ws_parser_imp.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="ws_parser_imp"/>
|
||||
<CursorPos X="52" Y="1265"/>
|
||||
<TopLine Value="1242"/>
|
||||
<CursorPos X="96" Y="717"/>
|
||||
<TopLine Value="704"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="22"/>
|
||||
<UsageCount Value="45"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit79>
|
||||
<Unit80>
|
||||
@ -636,183 +626,80 @@
|
||||
<UnitName Value="heaptrc"/>
|
||||
<CursorPos X="1" Y="182"/>
|
||||
<TopLine Value="167"/>
|
||||
<UsageCount Value="10"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit80>
|
||||
<Unit81>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\i386\i386.inc"/>
|
||||
<CursorPos X="1" Y="1110"/>
|
||||
<TopLine Value="1095"/>
|
||||
<UsageCount Value="10"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit81>
|
||||
<Unit82>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\objpas\sysutils\fina.inc"/>
|
||||
<CursorPos X="1" Y="32"/>
|
||||
<TopLine Value="17"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<UsageCount Value="11"/>
|
||||
<Loaded Value="True"/>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit82>
|
||||
<Unit83>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\except.inc"/>
|
||||
<CursorPos X="1" Y="223"/>
|
||||
<TopLine Value="208"/>
|
||||
<EditorIndex Value="9"/>
|
||||
<UsageCount Value="11"/>
|
||||
<Loaded Value="True"/>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit83>
|
||||
<Unit84>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\i386\setjump.inc"/>
|
||||
<CursorPos X="1" Y="36"/>
|
||||
<TopLine Value="21"/>
|
||||
<EditorIndex Value="10"/>
|
||||
<UsageCount Value="11"/>
|
||||
<Loaded Value="True"/>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit84>
|
||||
<Unit85>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
|
||||
<CursorPos X="9" Y="759"/>
|
||||
<TopLine Value="756"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="11"/>
|
||||
<Loaded Value="True"/>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit85>
|
||||
<Unit86>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\rtti.inc"/>
|
||||
<CursorPos X="1" Y="166"/>
|
||||
<TopLine Value="151"/>
|
||||
<UsageCount Value="10"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit86>
|
||||
<Unit87>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpash.inc"/>
|
||||
<CursorPos X="23" Y="241"/>
|
||||
<TopLine Value="226"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="11"/>
|
||||
<Loaded Value="True"/>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit87>
|
||||
<Unit88>
|
||||
<Filename Value="xsd_generator.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="xsd_generator"/>
|
||||
<CursorPos X="27" Y="823"/>
|
||||
<TopLine Value="805"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<UsageCount Value="43"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit88>
|
||||
<Unit89>
|
||||
<Filename Value="xsd_consts.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="xsd_consts"/>
|
||||
<CursorPos X="45" Y="80"/>
|
||||
<TopLine Value="43"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="43"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit89>
|
||||
<Unit90>
|
||||
<Filename Value="wsdl_generator2.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="wsdl_generator2"/>
|
||||
<CursorPos X="24" Y="400"/>
|
||||
<TopLine Value="386"/>
|
||||
<UsageCount Value="38"/>
|
||||
</Unit90>
|
||||
</Units>
|
||||
<JumpHistory Count="30" HistoryIndex="29">
|
||||
<Position1>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
|
||||
<Caret Line="725" Column="1" TopLine="710"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
|
||||
<Caret Line="727" Column="1" TopLine="712"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
|
||||
<Caret Line="56" Column="1" TopLine="41"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
|
||||
<Caret Line="58" Column="1" TopLine="43"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
|
||||
<Caret Line="53" Column="1" TopLine="38"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
|
||||
<Caret Line="55" Column="1" TopLine="40"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="..\wst_rtti_filter\cursor_intf.pas"/>
|
||||
<Caret Line="159" Column="1" TopLine="133"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
|
||||
<Caret Line="723" Column="1" TopLine="708"/>
|
||||
</Position8>
|
||||
<Position9>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
|
||||
<Caret Line="724" Column="1" TopLine="709"/>
|
||||
</Position9>
|
||||
<Position10>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
|
||||
<Caret Line="725" Column="1" TopLine="710"/>
|
||||
</Position10>
|
||||
<Position11>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
|
||||
<Caret Line="726" Column="1" TopLine="711"/>
|
||||
</Position11>
|
||||
<Position12>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
|
||||
<Caret Line="144" Column="1" TopLine="129"/>
|
||||
</Position12>
|
||||
<Position13>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
|
||||
<Caret Line="740" Column="1" TopLine="725"/>
|
||||
</Position13>
|
||||
<Position14>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
|
||||
<Caret Line="742" Column="1" TopLine="727"/>
|
||||
</Position14>
|
||||
<Position15>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
|
||||
<Caret Line="145" Column="1" TopLine="130"/>
|
||||
</Position15>
|
||||
<Position16>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
|
||||
<Caret Line="221" Column="1" TopLine="206"/>
|
||||
</Position16>
|
||||
<Position17>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
|
||||
<Caret Line="222" Column="1" TopLine="207"/>
|
||||
</Position17>
|
||||
<Position18>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
|
||||
<Caret Line="549" Column="1" TopLine="546"/>
|
||||
</Position18>
|
||||
<Position19>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
|
||||
<Caret Line="550" Column="1" TopLine="535"/>
|
||||
</Position19>
|
||||
<Position20>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
|
||||
<Caret Line="551" Column="1" TopLine="536"/>
|
||||
</Position20>
|
||||
<Position21>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
|
||||
<Caret Line="555" Column="1" TopLine="564"/>
|
||||
</Position21>
|
||||
<Position22>
|
||||
<Filename Value="wsdl_parser.pas"/>
|
||||
<Caret Line="39" Column="35" TopLine="35"/>
|
||||
</Position22>
|
||||
<Position23>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpash.inc"/>
|
||||
<Caret Line="216" Column="37" TopLine="201"/>
|
||||
</Position23>
|
||||
<Position24>
|
||||
<Filename Value="wsdl_parser.pas"/>
|
||||
<Caret Line="89" Column="16" TopLine="74"/>
|
||||
</Position24>
|
||||
<Position25>
|
||||
<Filename Value="xsd_parser.pas"/>
|
||||
<Caret Line="134" Column="39" TopLine="132"/>
|
||||
</Position25>
|
||||
<Position26>
|
||||
<Filename Value="ws_helper.pas"/>
|
||||
<Caret Line="31" Column="38" TopLine="20"/>
|
||||
</Position26>
|
||||
<Position27>
|
||||
<Filename Value="wsdl_parser.pas"/>
|
||||
<Caret Line="358" Column="7" TopLine="343"/>
|
||||
</Position27>
|
||||
<Position28>
|
||||
<Filename Value="wsdl_parser.pas"/>
|
||||
<Caret Line="1140" Column="41" TopLine="1122"/>
|
||||
</Position28>
|
||||
<Position29>
|
||||
<Filename Value="wsdl_parser.pas"/>
|
||||
<Caret Line="186" Column="11" TopLine="162"/>
|
||||
</Position29>
|
||||
<Position30>
|
||||
<Filename Value="wsdl_parser.pas"/>
|
||||
<Caret Line="176" Column="12" TopLine="161"/>
|
||||
</Position30>
|
||||
</JumpHistory>
|
||||
<JumpHistory Count="0" HistoryIndex="-1"/>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="5"/>
|
||||
@ -852,11 +739,15 @@
|
||||
</Other>
|
||||
</CompilerOptions>
|
||||
<Debugging>
|
||||
<BreakPoints Count="1">
|
||||
<BreakPoints Count="2">
|
||||
<Item1>
|
||||
<Source Value="wsdl2pas_imp.pas"/>
|
||||
<Line Value="1346"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<Source Value="ws_parser_imp.pas"/>
|
||||
<Line Value="965"/>
|
||||
</Item2>
|
||||
</BreakPoints>
|
||||
<Exceptions Count="2">
|
||||
<Item1>
|
||||
|
@ -27,7 +27,6 @@ uses
|
||||
SysUtils,
|
||||
wst_resources_utils,
|
||||
generator,
|
||||
wsdl_generator,
|
||||
parserutils,
|
||||
source_utils,
|
||||
command_line_parser,
|
||||
@ -43,7 +42,8 @@ uses
|
||||
logger_intf,
|
||||
xsd_parser,
|
||||
ws_parser_imp,
|
||||
wsdl_parser;
|
||||
wsdl_parser,
|
||||
xsd_generator, wsdl_generator;
|
||||
|
||||
|
||||
{$INCLUDE ws_helper_prog.inc}
|
||||
|
@ -8,7 +8,8 @@ resourcestring
|
||||
' -i Generate service minimal implementation' + sNEW_LINE +
|
||||
' -o PATH Relative output directory' + sNEW_LINE +
|
||||
' -a PATH Absolute output directory' + sNEW_LINE +
|
||||
' -w Generate WSDL file; Can be used to get wsdl from pascal' + sNEW_LINE;
|
||||
' -w Generate WSDL file; Can be used to get wsdl from pascal' + sNEW_LINE +
|
||||
' -x Generate XSD file; Can be used to get xsd from pascal' + sNEW_LINE;
|
||||
sCOPYRIGHT = 'ws_helper, Web Service Toolkit 0.5 Copyright (c) 2006, 2007 by Inoussa OUEDRAOGO';
|
||||
|
||||
const
|
||||
@ -135,16 +136,33 @@ var
|
||||
procedure GenerateWSDLFromTree(ASymbol : TwstPasTreeContainer; ADest : TStream);
|
||||
var
|
||||
doc : TXMLDocument;
|
||||
g : IGenerator;
|
||||
begin
|
||||
doc := CreateDoc();// TXMLDocument.Create();
|
||||
doc := CreateDoc();
|
||||
try
|
||||
GenerateWSDL(ASymbol,doc);
|
||||
g := TWsdlGenerator.Create(doc);
|
||||
g.Execute(ASymbol,ASymbol.CurrentModule.Name);
|
||||
WriteXML(doc,ADest);
|
||||
finally
|
||||
ReleaseDomNode(doc);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure GenerateXsdFromTree(ASymbol : TwstPasTreeContainer; ADest : TStream);
|
||||
var
|
||||
doc : TXMLDocument;
|
||||
gnrtr : IGenerator;
|
||||
begin
|
||||
doc := CreateDoc();
|
||||
try
|
||||
gnrtr := TXsdGenerator.Create(doc);
|
||||
gnrtr.Execute(ASymbol,ASymbol.CurrentModule.Name);
|
||||
WriteXML(doc,ADest);
|
||||
finally
|
||||
ReleaseDomNode(doc);
|
||||
end;
|
||||
end;
|
||||
|
||||
function ProcessFile():Boolean;
|
||||
Var
|
||||
mtdaFS: TMemoryStream;
|
||||
@ -209,6 +227,15 @@ var
|
||||
srcMngr.CreateItem(ChangeFileExt(ExtractFileName(inFileName),'.wsdl')).Write(strStream.DataString);
|
||||
end;
|
||||
end;
|
||||
|
||||
if ( cloXsd in AppOptions ) then begin
|
||||
strStream := TStringStream.Create('');
|
||||
GenerateXsdFromTree(symtable,strStream);
|
||||
if not IsStrEmpty(strStream.DataString) then begin
|
||||
strStream.Position := 0;
|
||||
srcMngr.CreateItem(ChangeFileExt(ExtractFileName(inFileName),'.xsd')).Write(strStream.DataString);
|
||||
end;
|
||||
end;
|
||||
|
||||
Result := True;
|
||||
except
|
||||
|
@ -119,7 +119,7 @@ type
|
||||
SResolveError = 'Unable to resolve this namespace : "%s".';
|
||||
|
||||
implementation
|
||||
uses dom_cursors, parserutils, StrUtils, Contnrs;
|
||||
uses dom_cursors, parserutils, StrUtils, Contnrs, xsd_consts;
|
||||
|
||||
{ TAbstractTypeParser }
|
||||
|
||||
@ -555,19 +555,40 @@ var
|
||||
TPasEmentCrack(locType).SetName(locType.Name + '_Type');
|
||||
end;}
|
||||
|
||||
locMinOccur := 1;
|
||||
locPartCursor := CreateCursorOn(locAttCursor.Clone() as IObjectCursor,ParseFilter(Format('%s = %s',[s_NODE_NAME,QuotedStr(s_minOccurs)]),TDOMNodeRttiExposer));
|
||||
locPartCursor.Reset();
|
||||
if locPartCursor.MoveNext() then begin
|
||||
if not TryStrToInt((locPartCursor.GetCurrent() as TDOMNodeRttiExposer).NodeValue,locMinOccur) then
|
||||
raise EXsdParserException.CreateFmt('Invalid "minOccurs" value : "%s.%s".',[FTypeName,locName]);
|
||||
if ( locMinOccur < 0 ) then
|
||||
raise EXsdParserException.CreateFmt('Invalid "minOccurs" value : "%s.%s".',[FTypeName,locName]);
|
||||
if AnsiSameText(s_attribute,ExtractNameFromQName(AElement.NodeName)) then begin
|
||||
locPartCursor := CreateCursorOn(locAttCursor.Clone() as IObjectCursor,ParseFilter(Format('%s = %s',[s_NODE_NAME,QuotedStr(s_use)]),TDOMNodeRttiExposer));
|
||||
locPartCursor.Reset();
|
||||
if locPartCursor.MoveNext() then begin
|
||||
locStrBuffer := ExtractNameFromQName((locPartCursor.GetCurrent() as TDOMNodeRttiExposer).NodeValue);
|
||||
if IsStrEmpty(locStrBuffer) then
|
||||
raise EXsdInvalidDefinitionException.CreateFmt('Invalid <%s> definition : empty "use".',[s_attribute]);
|
||||
case AnsiIndexText(locStrBuffer,[s_required,s_optional,s_prohibited]) of
|
||||
0 : locMinOccur := 1;
|
||||
1 : locMinOccur := 0;
|
||||
2 : locMinOccur := -1;
|
||||
else
|
||||
raise EXsdInvalidDefinitionException.CreateFmt('Invalid <%s> definition : invalid "use" value "%s".',[s_attribute,locStrBuffer]);
|
||||
end;
|
||||
end else begin
|
||||
locMinOccur := 0;
|
||||
end;
|
||||
end else begin
|
||||
locMinOccur := 1;
|
||||
locPartCursor := CreateCursorOn(locAttCursor.Clone() as IObjectCursor,ParseFilter(Format('%s = %s',[s_NODE_NAME,QuotedStr(s_minOccurs)]),TDOMNodeRttiExposer));
|
||||
locPartCursor.Reset();
|
||||
if locPartCursor.MoveNext() then begin
|
||||
if not TryStrToInt((locPartCursor.GetCurrent() as TDOMNodeRttiExposer).NodeValue,locMinOccur) then
|
||||
raise EXsdParserException.CreateFmt('Invalid "minOccurs" value : "%s.%s".',[FTypeName,locName]);
|
||||
if ( locMinOccur < 0 ) then
|
||||
raise EXsdParserException.CreateFmt('Invalid "minOccurs" value : "%s.%s".',[FTypeName,locName]);
|
||||
end;
|
||||
end;
|
||||
locProp.ReadAccessorName := 'F' + locProp.Name;
|
||||
locProp.WriteAccessorName := 'F' + locProp.Name;
|
||||
if ( locMinOccur = 0 ) then begin
|
||||
locProp.StoredAccessorName := 'Has' + locProp.Name;
|
||||
end else if ( locMinOccur = -1 ) then begin
|
||||
locProp.StoredAccessorName := 'False';
|
||||
end else begin
|
||||
locProp.StoredAccessorName := 'True';
|
||||
end;
|
||||
@ -693,14 +714,14 @@ var
|
||||
var
|
||||
strBuffer : string;
|
||||
begin
|
||||
Result := wst_findCustomAttributeXsd(FContext.GetXsShortNames(),FTypeNode,s_headerBlock,strBuffer) and AnsiSameText('true',Trim(strBuffer));
|
||||
Result := wst_findCustomAttributeXsd(FContext.GetXsShortNames(),FTypeNode,s_WST_headerBlock,strBuffer) and AnsiSameText('true',Trim(strBuffer));
|
||||
end;
|
||||
|
||||
function IsRecordType() : Boolean;
|
||||
var
|
||||
strBuffer : string;
|
||||
begin
|
||||
Result := wst_findCustomAttributeXsd(FContext.GetXsShortNames(),FTypeNode,s_record,strBuffer) and AnsiSameText('true',Trim(strBuffer));
|
||||
Result := wst_findCustomAttributeXsd(FContext.GetXsShortNames(),FTypeNode,s_WST_record,strBuffer) and AnsiSameText('true',Trim(strBuffer));
|
||||
end;
|
||||
|
||||
procedure ParseElementsAndAttributes(AEltCrs, AEltAttCrs : IObjectCursor);
|
||||
@ -729,10 +750,11 @@ var
|
||||
i : Integer;
|
||||
recordType : TPasRecordType;
|
||||
tmpRecVar : TPasVariable;
|
||||
locStrBuffer : string;
|
||||
begin
|
||||
ExtractBaseType();
|
||||
eltCrs := ExtractElementCursor(eltAttCrs);
|
||||
|
||||
|
||||
internalName := ExtractIdentifier(ATypeName);
|
||||
hasInternalName := IsReservedKeyWord(internalName) or
|
||||
( not IsValidIdent(internalName) ) or
|
||||
@ -771,6 +793,7 @@ begin
|
||||
Result := nil;
|
||||
propTyp := arrayItems[0] as TPasProperty;
|
||||
arrayDef := FSymbols.CreateArray(internalName,propTyp.VarType,propTyp.Name,FSymbols.GetExternalName(propTyp),asScoped);
|
||||
FSymbols.FreeProperties(classDef);
|
||||
FreeAndNil(classDef);
|
||||
Result := arrayDef;
|
||||
if hasInternalName then
|
||||
@ -808,11 +831,12 @@ begin
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
FSymbols.FreeProperties(tmpClassDef);
|
||||
FreeAndNil(tmpClassDef);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
//check for record
|
||||
if ( FDerivationMode = dmNone ) and
|
||||
Result.InheritsFrom(TPasClassType) and
|
||||
@ -835,11 +859,20 @@ begin
|
||||
if FSymbols.IsAttributeProperty(propTyp) then begin
|
||||
FSymbols.SetPropertyAsAttribute(tmpRecVar,True);
|
||||
end;
|
||||
if AnsiSameText(propTyp.StoredAccessorName,'False') then
|
||||
locStrBuffer := s_prohibited
|
||||
else if AnsiSameText(Copy(propTyp.StoredAccessorName,1,3),'Has') then
|
||||
locStrBuffer := s_optional
|
||||
else
|
||||
locStrBuffer := s_required;
|
||||
FSymbols.Properties.SetValue(tmpRecVar,s_WST_storeType,locStrBuffer);
|
||||
end;
|
||||
end;
|
||||
FSymbols.FreeProperties(tmpClassDef);
|
||||
FreeAndNil(tmpClassDef);
|
||||
end;
|
||||
except
|
||||
FSymbols.FreeProperties(Result);
|
||||
FreeAndNil(Result);
|
||||
raise;
|
||||
end;
|
||||
@ -931,7 +964,7 @@ var
|
||||
if ( locStoreOptIdx < 0 ) then
|
||||
raise EXsdInvalidDefinitionException.CreateFmt('Invalid <%s> definition : invalid "use" value "%s".',[s_attribute,locStoreOpt]);
|
||||
end else begin
|
||||
locStoreOptIdx := 0;
|
||||
locStoreOptIdx := 1{optional by default!}; //0;
|
||||
end;
|
||||
|
||||
locInternalEltName := locName;
|
||||
@ -990,6 +1023,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
except
|
||||
FSymbols.FreeProperties(Result);
|
||||
FreeAndNil(Result);
|
||||
raise;
|
||||
end;
|
||||
@ -1212,6 +1246,7 @@ begin
|
||||
ParseEnumItem((locEnumCrs.GetCurrent() as TDOMNodeRttiExposer).InnerObject);
|
||||
end;
|
||||
except
|
||||
FSymbols.FreeProperties(Result);
|
||||
FreeAndNil(Result);
|
||||
raise;
|
||||
end;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -98,7 +98,7 @@ type
|
||||
end;
|
||||
|
||||
implementation
|
||||
uses ws_parser_imp, dom_cursors, parserutils, StrUtils;
|
||||
uses ws_parser_imp, dom_cursors, parserutils, StrUtils, xsd_consts;
|
||||
|
||||
type
|
||||
|
||||
|
101
wst/trunk/ws_helper/xsd_consts.pas
Normal file
101
wst/trunk/ws_helper/xsd_consts.pas
Normal file
@ -0,0 +1,101 @@
|
||||
{
|
||||
This unit is part of the Web Service Toolkit
|
||||
Copyright (c) 2006 by Inoussa OUEDRAOGO
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
}
|
||||
{$INCLUDE wst_global.inc}
|
||||
unit xsd_consts;
|
||||
|
||||
interface
|
||||
|
||||
const
|
||||
s_address : WideString = 'address';
|
||||
s_all : WideString = 'all';
|
||||
//s_any : WideString = 'any';
|
||||
s_annotation : WideString = 'annotation';
|
||||
s_appinfo : WideString = 'appinfo';
|
||||
s_array : WideString = 'array';
|
||||
s_arrayType : WideString = 'arrayType';
|
||||
s_attribute : WideString = 'attribute';
|
||||
s_base : WideString = 'base';
|
||||
s_binding : WideString = 'binding';
|
||||
s_body : WideString = 'body';
|
||||
s_complexContent : WideString = 'complexContent';
|
||||
s_complexType : WideString = 'complexType';
|
||||
s_customAttributes : WideString = 'customAttributes';
|
||||
s_definitions = 'definitions';
|
||||
s_document : WideString = 'document';
|
||||
s_element : WideString = 'element';
|
||||
s_enumeration : WideString = 'enumeration';
|
||||
s_extension : WideString = 'extension';
|
||||
s_guid : WideString = 'GUID';
|
||||
s_input : WideString = 'input';
|
||||
s_item : WideString = 'item';
|
||||
s_literal = 'literal';
|
||||
s_location : WideString = 'location';
|
||||
s_message : WideString = 'message';
|
||||
s_maxOccurs : WideString = 'maxOccurs';
|
||||
s_minOccurs : WideString = 'minOccurs';
|
||||
s_name : WideString = 'name';
|
||||
s_namespace = 'namespace';
|
||||
s_operation = 'operation';
|
||||
s_optional : WideString = 'optional';
|
||||
s_output : WideString = 'output';
|
||||
s_part : WideString = 'part';
|
||||
s_port : WideString = 'port';
|
||||
s_portType = 'portType';
|
||||
s_prohibited = 'prohibited';
|
||||
|
||||
s_ref : WideString = 'ref';
|
||||
s_required : WideString = 'required';
|
||||
s_restriction : WideString = 'restriction';
|
||||
//s_return : WideString = 'return';
|
||||
s_rpc = 'rpc';
|
||||
s_schema : WideString = 'schema';
|
||||
s_xs : WideString = 'http://www.w3.org/2001/XMLSchema';
|
||||
s_xs_short = 'xsd';
|
||||
s_sequence : WideString = 'sequence';
|
||||
s_service : WideString = 'service';
|
||||
s_simpleContent : WideString = 'simpleContent';
|
||||
s_simpleType : WideString = 'simpleType';
|
||||
s_soap : WideString = 'http://schemas.xmlsoap.org/wsdl/soap/';
|
||||
s_soap_short_name = 'soap';
|
||||
s_soapAction = 'soapAction';
|
||||
s_soapInputEncoding = 'Input_EncodingStyle';
|
||||
s_soapOutputEncoding = 'OutputEncodingStyle';
|
||||
s_soapStyle = 'style';
|
||||
s_soapTransport = 'http://schemas.xmlsoap.org/soap/http';
|
||||
s_style = 'style';
|
||||
s_targetNamespace = 'targetNamespace';
|
||||
s_tns = 'tns';
|
||||
s_transport = 'transport';
|
||||
s_type = 'type';
|
||||
s_types = 'types';
|
||||
s_unbounded = 'unbounded';
|
||||
s_use = 'use';
|
||||
s_value = 'value';
|
||||
s_wsdl = 'http://schemas.xmlsoap.org/wsdl/';
|
||||
s_xmlns = 'xmlns';
|
||||
|
||||
|
||||
s_WST_headerBlock = 'wst_headerBlock';
|
||||
s_WST_record = 'wst_record';
|
||||
s_WST_storeType = 'StoreType';
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
|
833
wst/trunk/ws_helper/xsd_generator.pas
Normal file
833
wst/trunk/ws_helper/xsd_generator.pas
Normal file
@ -0,0 +1,833 @@
|
||||
{
|
||||
This file is part of the Web Service Toolkit
|
||||
Copyright (c) 2007 by Inoussa OUEDRAOGO
|
||||
|
||||
This file is provide under modified LGPL licence
|
||||
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
}
|
||||
{$INCLUDE wst_global.inc}
|
||||
unit xsd_generator;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, TypInfo,
|
||||
{$IFNDEF FPC}xmldom, wst_delphi_xml{$ELSE}DOM, wst_fpc_xml{$ENDIF},
|
||||
pastree, pascal_parser_intf;
|
||||
|
||||
type
|
||||
|
||||
EXsdGeneratorException = class(Exception) end;
|
||||
TBaseTypeHandler = class;
|
||||
TBaseTypeHandlerClass = class of TBaseTypeHandler;
|
||||
|
||||
IGenerator = interface
|
||||
['{F69523B3-A6FF-4BFB-9ACB-D4B9F32DBCA9}']
|
||||
procedure Execute(
|
||||
ASymTable : TwstPasTreeContainer;
|
||||
AModuleName : string
|
||||
);
|
||||
end;
|
||||
|
||||
IXsdGenerator = interface(IGenerator)
|
||||
['{FBFF92BC-B72B-4B85-8D16-379F9E548DDB}']
|
||||
function GetSchemaNode(ADocument : TDOMDocument) : TDOMNode;
|
||||
end;
|
||||
|
||||
IXsdTypeHandler = interface
|
||||
['{541EA377-4F70-49B1-AFB4-FC62B24F567B}']
|
||||
procedure Generate(
|
||||
AContainer : TwstPasTreeContainer;
|
||||
const ASymbol : TPasElement;
|
||||
ADocument : TDOMDocument
|
||||
);
|
||||
function GetOwner() : IXsdGenerator;
|
||||
end;
|
||||
|
||||
IXsdTypeHandlerRegistry = interface
|
||||
['{C5666646-3426-4696-93EE-AFA8EE7CAE53}']
|
||||
function Find(
|
||||
ASymbol : TPasElement;
|
||||
Aowner : IGenerator;
|
||||
out AHandler : IXsdTypeHandler
|
||||
) : Boolean;
|
||||
procedure Register(AFactory : TBaseTypeHandlerClass);
|
||||
end;
|
||||
|
||||
{ TCustomXsdGenerator }
|
||||
|
||||
TCustomXsdGenerator = class(
|
||||
TInterfacedObject,
|
||||
IInterface,
|
||||
IGenerator,
|
||||
IXsdGenerator
|
||||
)
|
||||
private
|
||||
FDocument : TDOMDocument;
|
||||
protected
|
||||
function GetSchemaNode(ADocument : TDOMDocument) : TDOMNode;virtual;abstract;
|
||||
procedure Execute(
|
||||
ASymTable : TwstPasTreeContainer;
|
||||
AModuleName : string
|
||||
);
|
||||
|
||||
procedure Prepare(
|
||||
ASymTable : TwstPasTreeContainer;
|
||||
AModule : TPasModule
|
||||
);virtual;
|
||||
property Document : TDOMDocument read FDocument;
|
||||
public
|
||||
constructor Create(ADocument : TDOMDocument);
|
||||
end;
|
||||
|
||||
{ TXsdGenerator }
|
||||
|
||||
TXsdGenerator = class(TCustomXsdGenerator)
|
||||
private
|
||||
FSchemaNode : TDOMElement;
|
||||
protected
|
||||
function GetSchemaNode(ADocument : TDOMDocument) : TDOMNode;override;
|
||||
procedure Prepare(ASymTable : TwstPasTreeContainer; AModule : TPasModule);override;
|
||||
end;
|
||||
|
||||
{ TBaseTypeHandler }
|
||||
|
||||
TBaseTypeHandler = class(TInterfacedObject,IXsdTypeHandler)
|
||||
private
|
||||
FOwner : Pointer;
|
||||
protected
|
||||
procedure Generate(
|
||||
AContainer : TwstPasTreeContainer;
|
||||
const ASymbol : TPasElement;
|
||||
ADocument : TDOMDocument
|
||||
);virtual;abstract;
|
||||
function GetOwner() : IXsdGenerator;
|
||||
class function CanHandle(ASymbol : TObject) : Boolean;virtual;abstract;
|
||||
public
|
||||
constructor Create(AOwner : IGenerator);virtual;
|
||||
end;
|
||||
|
||||
function GetNameSpaceShortName(
|
||||
const ANameSpace : string;
|
||||
ADocument : TDOMDocument
|
||||
):string;
|
||||
|
||||
function GetXsdTypeHandlerRegistry():IXsdTypeHandlerRegistry;{$IFDEF USE_INLINE}inline;{$ENDIF}
|
||||
function CreateElement(const ANodeName : DOMString; AParent : TDOMNode; ADoc : TDOMDocument):TDOMElement;{$IFDEF USE_INLINE}inline;{$ENDIF}
|
||||
|
||||
implementation
|
||||
uses xsd_consts, Contnrs, StrUtils;
|
||||
|
||||
type
|
||||
|
||||
{ TXsdTypeHandlerRegistry }
|
||||
|
||||
TXsdTypeHandlerRegistry = class(TInterfacedObject,IInterface,IXsdTypeHandlerRegistry)
|
||||
private
|
||||
FList : TClassList;
|
||||
private
|
||||
function FindIndexOfHandler(ASymbol : TPasElement) : Integer;
|
||||
protected
|
||||
function Find(
|
||||
ASymbol : TPasElement;
|
||||
Aowner : IGenerator;
|
||||
out AHandler : IXsdTypeHandler
|
||||
) : Boolean;
|
||||
procedure Register(AFactory : TBaseTypeHandlerClass);
|
||||
public
|
||||
constructor Create();
|
||||
destructor Destroy();override;
|
||||
end;
|
||||
|
||||
{ TTypeDefinition_TypeHandler }
|
||||
|
||||
TTypeDefinition_TypeHandler = class(TBaseTypeHandler)
|
||||
protected
|
||||
procedure Generate(
|
||||
AContainer : TwstPasTreeContainer;
|
||||
const ASymbol : TPasElement;
|
||||
ADocument : TDOMDocument
|
||||
);override;
|
||||
class function CanHandle(ASymbol : TObject) : Boolean;override;
|
||||
function GetSchemaNode(ADocument : TDOMDocument) : TDOMNode;
|
||||
end;
|
||||
|
||||
{ TTypeAliasDefinition_TypeHandler }
|
||||
|
||||
TTypeAliasDefinition_TypeHandler = class(TTypeDefinition_TypeHandler)
|
||||
protected
|
||||
procedure Generate(
|
||||
AContainer : TwstPasTreeContainer;
|
||||
const ASymbol : TPasElement;
|
||||
ADocument : TDOMDocument
|
||||
);override;
|
||||
class function CanHandle(ASymbol : TObject) : Boolean;override;
|
||||
end;
|
||||
|
||||
{ TEnumTypeHandler }
|
||||
|
||||
TEnumTypeHandler = class(TTypeDefinition_TypeHandler)
|
||||
protected
|
||||
procedure Generate(
|
||||
AContainer : TwstPasTreeContainer;
|
||||
const ASymbol : TPasElement;
|
||||
ADocument : TDOMDocument
|
||||
);override;
|
||||
class function CanHandle(ASymbol : TObject) : Boolean;override;
|
||||
end;
|
||||
|
||||
{ TClassTypeDefinition_TypeHandler }
|
||||
|
||||
TClassTypeDefinition_TypeHandler = class(TTypeDefinition_TypeHandler)
|
||||
protected
|
||||
procedure Generate(
|
||||
AContainer : TwstPasTreeContainer;
|
||||
const ASymbol : TPasElement;
|
||||
ADocument : TDOMDocument
|
||||
);override;
|
||||
class function CanHandle(ASymbol : TObject) : Boolean;override;
|
||||
end;
|
||||
|
||||
{ TPasRecordType_TypeHandler }
|
||||
|
||||
TPasRecordType_TypeHandler = class(TTypeDefinition_TypeHandler)
|
||||
protected
|
||||
procedure Generate(
|
||||
AContainer : TwstPasTreeContainer;
|
||||
const ASymbol : TPasElement;
|
||||
ADocument : TDOMDocument
|
||||
);override;
|
||||
class function CanHandle(ASymbol : TObject) : Boolean;override;
|
||||
end;
|
||||
|
||||
{ TBaseArrayRemotable_TypeHandler }
|
||||
|
||||
TBaseArrayRemotable_TypeHandler = class(TTypeDefinition_TypeHandler)
|
||||
protected
|
||||
procedure Generate(
|
||||
AContainer : TwstPasTreeContainer;
|
||||
const ASymbol : TPasElement;
|
||||
ADocument : TDOMDocument
|
||||
);override;
|
||||
class function CanHandle(ASymbol : TObject) : Boolean;override;
|
||||
end;
|
||||
|
||||
var
|
||||
XsdTypeHandlerRegistryInst : IXsdTypeHandlerRegistry = nil;
|
||||
function GetXsdTypeHandlerRegistry():IXsdTypeHandlerRegistry;
|
||||
begin
|
||||
Result := XsdTypeHandlerRegistryInst;
|
||||
end;
|
||||
|
||||
procedure RegisterFondamentalTypes();
|
||||
var
|
||||
r : IXsdTypeHandlerRegistry;
|
||||
begin
|
||||
r := GetXsdTypeHandlerRegistry();
|
||||
r.Register(TEnumTypeHandler);
|
||||
r.Register(TClassTypeDefinition_TypeHandler);
|
||||
r.Register(TPasRecordType_TypeHandler);
|
||||
r.Register(TBaseArrayRemotable_TypeHandler);
|
||||
r.Register(TTypeAliasDefinition_TypeHandler);
|
||||
end;
|
||||
|
||||
function GetTypeNameSpace(
|
||||
AContainer : TwstPasTreeContainer;
|
||||
AType : TPasElement
|
||||
) : string;
|
||||
var
|
||||
locElt : TPasElement;
|
||||
begin
|
||||
Result := '';
|
||||
locElt := AType;
|
||||
if ( locElt <> nil ) then begin
|
||||
if locElt.InheritsFrom(TPasUnresolvedTypeRef) then
|
||||
locElt := AContainer.FindElement(AContainer.GetExternalName(locElt));
|
||||
if ( locElt <> nil ) and
|
||||
( not locElt.InheritsFrom(TPasUnresolvedTypeRef) ) and
|
||||
//locElt.InheritsFrom(TPasType) and
|
||||
( locElt.Parent <> nil ) and
|
||||
( locElt.Parent.Parent <> nil )
|
||||
then begin
|
||||
Result := AContainer.GetExternalName(locElt.Parent.Parent);
|
||||
end;
|
||||
end;
|
||||
Result := Trim(Result);
|
||||
if ( Length(Result) = 0 ) then
|
||||
Result := AContainer.GetExternalName(AContainer.CurrentModule);
|
||||
end;
|
||||
|
||||
function FindAttributeByValueInNode(
|
||||
const AAttValue : string;
|
||||
const ANode : TDOMNode;
|
||||
out AResAtt : string;
|
||||
const AStartIndex : Integer = 0;
|
||||
const AStartingWith : string = ''
|
||||
):boolean;
|
||||
var
|
||||
i,c : Integer;
|
||||
b : Boolean;
|
||||
begin
|
||||
AResAtt := '';
|
||||
if Assigned(ANode) and Assigned(ANode.Attributes) then begin
|
||||
b := ( Length(AStartingWith) = 0);
|
||||
c := Pred(ANode.Attributes.Length);
|
||||
if ( AStartIndex >= 0 ) then
|
||||
i := AStartIndex;
|
||||
for i := 0 to c do begin
|
||||
if AnsiSameText(AAttValue,ANode.Attributes.Item[i].NodeValue) and
|
||||
( b or ( Pos(AStartingWith,ANode.Attributes.Item[i].NodeName) = 1 ))
|
||||
then begin
|
||||
AResAtt := ANode.Attributes.Item[i].NodeName;
|
||||
Result := True;
|
||||
Exit;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
Result := False;
|
||||
end;
|
||||
|
||||
function GetNameSpaceShortName(
|
||||
const ANameSpace : string;
|
||||
ADocument : TDOMDocument
|
||||
):string;
|
||||
begin
|
||||
if FindAttributeByValueInNode(ANameSpace,ADocument.DocumentElement,Result,0, s_xmlns) then begin
|
||||
Result := Copy(Result,Length(s_xmlns+':')+1,MaxInt);
|
||||
end else begin
|
||||
Result := Format('ns%d',[GetNodeListCount(ADocument.DocumentElement.Attributes)]) ;
|
||||
ADocument.DocumentElement.SetAttribute(Format('%s:%s',[s_xmlns,Result]),ANameSpace);
|
||||
end;
|
||||
end;
|
||||
|
||||
function CreateElement(const ANodeName : DOMString; AParent : TDOMNode; ADoc : TDOMDocument):TDOMElement;//inline;
|
||||
begin
|
||||
Result := ADoc.CreateElement(ANodeName);
|
||||
AParent.AppendChild(Result);
|
||||
end;
|
||||
|
||||
{ TWsdlTypeHandlerRegistry }
|
||||
|
||||
function TXsdTypeHandlerRegistry.FindIndexOfHandler(ASymbol: TPasElement): Integer;
|
||||
Var
|
||||
i, c : Integer;
|
||||
begin
|
||||
Result := -1;
|
||||
c := FList.Count;
|
||||
for i := 0 to Pred(c) do begin
|
||||
if TBaseTypeHandlerClass(FList[i]).CanHandle(ASymbol) then begin
|
||||
Result := i;
|
||||
Break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TXsdTypeHandlerRegistry.Find(
|
||||
ASymbol : TPasElement;
|
||||
Aowner : IGenerator;
|
||||
out AHandler : IXsdTypeHandler
|
||||
) : Boolean;
|
||||
var
|
||||
fct : TBaseTypeHandlerClass;
|
||||
i : Integer;
|
||||
begin
|
||||
i := FindIndexOfHandler(ASymbol);
|
||||
Result := ( i >= 0 );
|
||||
if Result then begin
|
||||
fct := TBaseTypeHandlerClass(FList[i]);
|
||||
AHandler := fct.Create(Aowner) as IXsdTypeHandler;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TXsdTypeHandlerRegistry.Register(AFactory: TBaseTypeHandlerClass);
|
||||
begin
|
||||
if ( FList.IndexOf(AFactory) = -1 ) then begin
|
||||
FList.Add(AFactory);
|
||||
end;
|
||||
end;
|
||||
|
||||
constructor TXsdTypeHandlerRegistry.Create();
|
||||
begin
|
||||
FList := TClassList.Create();
|
||||
end;
|
||||
|
||||
destructor TXsdTypeHandlerRegistry.Destroy();
|
||||
begin
|
||||
FreeAndNil(FList);
|
||||
inherited Destroy();
|
||||
end;
|
||||
|
||||
{ TBaseTypeHandler }
|
||||
|
||||
function TBaseTypeHandler.GetOwner(): IXsdGenerator;
|
||||
begin
|
||||
Result := IXsdGenerator(FOwner);
|
||||
end;
|
||||
|
||||
constructor TBaseTypeHandler.Create(AOwner: IGenerator);
|
||||
begin
|
||||
Assert(Assigned(AOwner));
|
||||
FOwner := Pointer(AOwner);
|
||||
end;
|
||||
|
||||
{ TTypeDefinition_TypeHandler }
|
||||
|
||||
procedure TTypeDefinition_TypeHandler.Generate(
|
||||
AContainer : TwstPasTreeContainer;
|
||||
const ASymbol: TPasElement;
|
||||
ADocument: TDOMDocument
|
||||
);
|
||||
begin
|
||||
Assert(ASymbol.InheritsFrom(TPasType));
|
||||
end;
|
||||
|
||||
class function TTypeDefinition_TypeHandler.CanHandle(ASymbol: TObject): Boolean;
|
||||
begin
|
||||
Result := Assigned(ASymbol) and ASymbol.InheritsFrom(TPasType);
|
||||
end;
|
||||
|
||||
function TTypeDefinition_TypeHandler.GetSchemaNode(ADocument : TDOMDocument) : TDOMNode;
|
||||
begin
|
||||
Result := GetOwner().GetSchemaNode(ADocument);
|
||||
end;
|
||||
|
||||
{ TTypeAliasDefinition_TypeHandler }
|
||||
|
||||
procedure TTypeAliasDefinition_TypeHandler.Generate(
|
||||
AContainer : TwstPasTreeContainer;
|
||||
const ASymbol: TPasElement;
|
||||
ADocument: TDOMDocument
|
||||
);
|
||||
var
|
||||
typItm : TPasAliasType;
|
||||
ns_shortName, s : string;
|
||||
defSchemaNode, resNode : TDOMElement;
|
||||
unitExternalName, baseUnitExternalName : string;
|
||||
begin
|
||||
inherited;
|
||||
typItm := ASymbol as TPasAliasType;
|
||||
if Assigned(typItm) then begin
|
||||
unitExternalName := GetTypeNameSpace(AContainer,ASymbol);
|
||||
if FindAttributeByValueInNode(unitExternalName,ADocument.DocumentElement,ns_shortName) then begin
|
||||
ns_shortName := Copy(ns_shortName,Length(s_xmlns+':')+1,MaxInt);
|
||||
end else begin
|
||||
ns_shortName := Format('ns%d',[GetNodeListCount(ADocument.DocumentElement.Attributes)]) ;
|
||||
ADocument.DocumentElement.SetAttribute(Format('%s:%s',[s_xmlns,ns_shortName]),unitExternalName);
|
||||
end;
|
||||
defSchemaNode := GetSchemaNode(ADocument) as TDOMElement;
|
||||
|
||||
s := Format('%s:%s',[s_xs_short,s_element]);
|
||||
resNode := CreateElement(s,defSchemaNode,ADocument);
|
||||
resNode.SetAttribute(s_name, AContainer.GetExternalName(typItm)) ;
|
||||
|
||||
baseUnitExternalName := GetTypeNameSpace(AContainer,typItm.DestType);
|
||||
s := GetNameSpaceShortName(baseUnitExternalName,ADocument);
|
||||
s := Format('%s:%s',[s,AContainer.GetExternalName(typItm.DestType)]);
|
||||
resNode.SetAttribute(s_type,s) ;
|
||||
end;
|
||||
end;
|
||||
|
||||
class function TTypeAliasDefinition_TypeHandler.CanHandle(ASymbol: TObject): Boolean;
|
||||
begin
|
||||
Result := Assigned(ASymbol) and ASymbol.InheritsFrom(TPasAliasType);
|
||||
end;
|
||||
|
||||
{ TEnumTypeHandler }
|
||||
|
||||
procedure TEnumTypeHandler.Generate(
|
||||
AContainer : TwstPasTreeContainer;
|
||||
const ASymbol : TPasElement;
|
||||
ADocument : TDOMDocument
|
||||
);
|
||||
var
|
||||
typItm : TPasEnumType;
|
||||
ns_shortName, s : string;
|
||||
defSchemaNode, resNode, restrictNode : TDOMElement;
|
||||
i, c : Integer;
|
||||
unitExternalName : string;
|
||||
begin
|
||||
typItm := ASymbol as TPasEnumType;
|
||||
if Assigned(typItm) then begin
|
||||
unitExternalName := GetTypeNameSpace(AContainer,ASymbol);
|
||||
if FindAttributeByValueInNode(unitExternalName,ADocument.DocumentElement,ns_shortName) then begin
|
||||
ns_shortName := Copy(ns_shortName,Length(s_xmlns+':')+1,MaxInt);
|
||||
end else begin
|
||||
ns_shortName := Format('ns%d',[GetNodeListCount(ADocument.DocumentElement.Attributes)]) ;
|
||||
ADocument.DocumentElement.SetAttribute(Format('%s:%s',[s_xmlns,ns_shortName]),unitExternalName);
|
||||
end;
|
||||
defSchemaNode := GetSchemaNode(ADocument) as TDOMElement;
|
||||
|
||||
s := Format('%s:%s',[s_xs_short,s_simpleType]);
|
||||
resNode := CreateElement(s,defSchemaNode,ADocument);
|
||||
resNode.SetAttribute(s_name, AContainer.GetExternalName(typItm)) ;
|
||||
s := Format('%s:%s',[s_xs_short,s_restriction]);
|
||||
restrictNode := CreateElement(s,resNode,ADocument);
|
||||
restrictNode.SetAttribute(s_base,Format('%s:%s',[s_xs_short,'string'])) ;
|
||||
c := typItm.Values.Count;
|
||||
for i := 0 to pred(c) do begin
|
||||
s := Format('%s:%s',[s_xs_short,s_enumeration]);
|
||||
CreateElement(s,restrictNode,ADocument).SetAttribute(
|
||||
s_value,
|
||||
AContainer.GetExternalName(TPasEnumValue(typItm.Values[i]))
|
||||
);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
class function TEnumTypeHandler.CanHandle(ASymbol: TObject): Boolean;
|
||||
begin
|
||||
Result := inherited CanHandle(ASymbol) and ASymbol.InheritsFrom(TPasEnumType);
|
||||
end;
|
||||
|
||||
{ TClassTypeDefinition_TypeHandler }
|
||||
type TTypeCategory = ( tcComplexContent, tcSimpleContent );
|
||||
procedure TClassTypeDefinition_TypeHandler.Generate(
|
||||
AContainer : TwstPasTreeContainer;
|
||||
const ASymbol : TPasElement;
|
||||
ADocument : TDOMDocument
|
||||
);
|
||||
var
|
||||
cplxNode : TDOMElement;
|
||||
typItm : TPasClassType;
|
||||
propTypItm : TPasType;
|
||||
s, prop_ns_shortName : string;
|
||||
defSchemaNode, sqcNode, propNode, derivationNode : TDOMElement;
|
||||
i : Integer;
|
||||
p : TPasProperty;
|
||||
typeCategory : TTypeCategory;
|
||||
hasSequence : Boolean;
|
||||
trueParent : TPasType;
|
||||
begin
|
||||
inherited;
|
||||
typItm := ASymbol as TPasClassType;
|
||||
if Assigned(typItm) then begin
|
||||
GetNameSpaceShortName(AContainer.GetExternalName(AContainer.CurrentModule) ,ADocument);
|
||||
defSchemaNode := GetSchemaNode(ADocument) as TDOMElement;
|
||||
|
||||
s := Format('%s:%s',[s_xs_short,s_complexType]);
|
||||
cplxNode := CreateElement(s,defSchemaNode,ADocument);
|
||||
cplxNode.SetAttribute(s_name, AContainer.GetExternalName(typItm)) ;
|
||||
|
||||
typeCategory := tcComplexContent;
|
||||
derivationNode := nil;
|
||||
hasSequence := True;
|
||||
if Assigned(typItm.AncestorType) then begin
|
||||
trueParent := typItm.AncestorType;
|
||||
|
||||
if trueParent.InheritsFrom(TPasNativeClassType) and AnsiSameText('THeaderBlock',trueParent.Name) then begin
|
||||
cplxNode.SetAttribute(s_WST_headerBlock,'true');
|
||||
end;
|
||||
|
||||
if trueParent.InheritsFrom(TPasAliasType) then begin
|
||||
trueParent := GetUltimeType(trueParent);
|
||||
end;
|
||||
if trueParent.InheritsFrom(TPasNativeSimpleContentClassType) or
|
||||
trueParent.InheritsFrom(TPasNativeSimpleType)
|
||||
then begin
|
||||
typeCategory := tcSimpleContent;
|
||||
derivationNode := CreateElement(Format('%s:%s',[s_xs_short,s_extension]),cplxNode,ADocument);
|
||||
s := Trim(GetNameSpaceShortName(GetTypeNameSpace(AContainer,trueParent),ADocument));
|
||||
if ( Length(s) > 0 ) then begin
|
||||
s := s + ':';
|
||||
end;
|
||||
s := s + AContainer.GetExternalName(trueParent);
|
||||
derivationNode.SetAttribute(s_base,s);
|
||||
hasSequence := False;
|
||||
end;
|
||||
end;
|
||||
for i := 0 to Pred(typItm.Members.Count) do begin
|
||||
if TPasElement(typItm.Members[i]).InheritsFrom(TPasProperty) then begin
|
||||
p := TPasProperty(typItm.Members[i]);
|
||||
if not AContainer.IsAttributeProperty(p) then begin
|
||||
if ( typeCategory = tcSimpleContent ) then begin
|
||||
raise EXsdGeneratorException.CreateFmt('Invalid type definition, a simple type cannot have "not attribute" properties : "%s"',[AContainer.GetExternalName(ASymbol)]);
|
||||
end;
|
||||
end;
|
||||
hasSequence := True;
|
||||
end;
|
||||
end;
|
||||
if hasSequence then begin
|
||||
s := Format('%s:%s',[s_xs_short,s_sequence]);
|
||||
if Assigned(derivationNode) then begin
|
||||
sqcNode := CreateElement(s,derivationNode,ADocument);
|
||||
end else begin
|
||||
sqcNode := CreateElement(s,cplxNode,ADocument);
|
||||
end;
|
||||
end else begin
|
||||
sqcNode := nil;
|
||||
end;
|
||||
|
||||
|
||||
for i := 0 to Pred(typItm.Members.Count) do begin
|
||||
if TPasElement(typItm.Members[i]).InheritsFrom(TPasProperty) then begin
|
||||
p := TPasProperty(typItm.Members[i]);
|
||||
if AnsiSameText('Has',Copy(p.StoredAccessorName,1,3)) or AnsiSameText('True',p.StoredAccessorName) then begin
|
||||
if AContainer.IsAttributeProperty(p) then begin
|
||||
s := Format('%s:%s',[s_xs_short,s_attribute]);
|
||||
if Assigned(derivationNode) then
|
||||
propNode := CreateElement(s,derivationNode,ADocument)
|
||||
else
|
||||
propNode := CreateElement(s,cplxNode,ADocument);
|
||||
end else begin
|
||||
s := Format('%s:%s',[s_xs_short,s_element]);
|
||||
propNode := CreateElement(s,sqcNode,ADocument);
|
||||
end;
|
||||
propNode.SetAttribute(s_name,AContainer.GetExternalName(p));
|
||||
propTypItm := p.VarType;
|
||||
if Assigned(propTypItm) then begin
|
||||
prop_ns_shortName := GetNameSpaceShortName(GetTypeNameSpace(AContainer,propTypItm),ADocument);
|
||||
propNode.SetAttribute(s_type,Format('%s:%s',[prop_ns_shortName,AContainer.GetExternalName(propTypItm)]));
|
||||
if AContainer.IsAttributeProperty(p) then begin
|
||||
if AnsiSameText('Has',Copy(p.StoredAccessorName,1,3)) then
|
||||
propNode.SetAttribute(s_use,'optional')
|
||||
else
|
||||
propNode.SetAttribute(s_use,'required');
|
||||
end else begin
|
||||
if AnsiSameText('Has',Copy(p.StoredAccessorName,1,3)) then
|
||||
propNode.SetAttribute(s_minOccurs,'0')
|
||||
else
|
||||
propNode.SetAttribute(s_minOccurs,'1');
|
||||
propNode.SetAttribute(s_maxOccurs,'1');
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
class function TClassTypeDefinition_TypeHandler.CanHandle(ASymbol: TObject): Boolean;
|
||||
begin
|
||||
Result := inherited CanHandle(ASymbol) and
|
||||
( ASymbol.InheritsFrom(TPasClassType) and ( TPasClassType(ASymbol).ObjKind = okClass ));
|
||||
end;
|
||||
|
||||
{ TPasRecordType_TypeHandler }
|
||||
|
||||
procedure TPasRecordType_TypeHandler.Generate(
|
||||
AContainer : TwstPasTreeContainer;
|
||||
const ASymbol : TPasElement;
|
||||
ADocument : TDOMDocument
|
||||
);
|
||||
var
|
||||
cplxNode : TDOMElement;
|
||||
typItm : TPasRecordType;
|
||||
propTypItm : TPasType;
|
||||
s, prop_ns_shortName : string;
|
||||
defSchemaNode, sqcNode, propNode : TDOMElement;
|
||||
i : Integer;
|
||||
p : TPasVariable;
|
||||
hasSequence : Boolean;
|
||||
storeOption : string;
|
||||
begin
|
||||
inherited;
|
||||
typItm := ASymbol as TPasRecordType;
|
||||
if Assigned(typItm) then begin
|
||||
GetNameSpaceShortName(AContainer.GetExternalName(AContainer.CurrentModule) ,ADocument);
|
||||
defSchemaNode := GetSchemaNode(ADocument) as TDOMElement;
|
||||
|
||||
s := Format('%s:%s',[s_xs_short,s_complexType]);
|
||||
cplxNode := CreateElement(s,defSchemaNode,ADocument);
|
||||
cplxNode.SetAttribute(s_name, AContainer.GetExternalName(typItm)) ;
|
||||
|
||||
cplxNode.SetAttribute(s_WST_record,'true');
|
||||
|
||||
hasSequence := False;
|
||||
for i := 0 to Pred(typItm.Members.Count) do begin
|
||||
if TPasElement(typItm.Members[i]).InheritsFrom(TPasVariable) then begin
|
||||
p := TPasVariable(typItm.Members[i]);
|
||||
if not AContainer.IsAttributeProperty(p) then begin
|
||||
hasSequence := True;
|
||||
Break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
if hasSequence then begin
|
||||
s := Format('%s:%s',[s_xs_short,s_sequence]);
|
||||
sqcNode := CreateElement(s,cplxNode,ADocument);
|
||||
end else begin
|
||||
sqcNode := nil;
|
||||
end;
|
||||
|
||||
|
||||
for i := 0 to Pred(typItm.Members.Count) do begin
|
||||
if TPasElement(typItm.Members[i]).InheritsFrom(TPasVariable) then begin
|
||||
p := TPasVariable(typItm.Members[i]);
|
||||
if AContainer.IsAttributeProperty(p) then begin
|
||||
s := Format('%s:%s',[s_xs_short,s_attribute]);
|
||||
propNode := CreateElement(s,cplxNode,ADocument);
|
||||
end else begin
|
||||
s := Format('%s:%s',[s_xs_short,s_element]);
|
||||
propNode := CreateElement(s,sqcNode,ADocument);
|
||||
end;
|
||||
propNode.SetAttribute(s_name,AContainer.GetExternalName(p));
|
||||
propTypItm := p.VarType;
|
||||
if Assigned(propTypItm) then begin
|
||||
prop_ns_shortName := GetNameSpaceShortName(GetTypeNameSpace(AContainer,propTypItm),ADocument);
|
||||
propNode.SetAttribute(s_type,Format('%s:%s',[prop_ns_shortName,AContainer.GetExternalName(propTypItm)]));
|
||||
storeOption := Trim(AContainer.Properties.GetValue(p,s_WST_storeType));
|
||||
if AContainer.IsAttributeProperty(p) then begin
|
||||
if ( Length(storeOption) > 0 ) then begin
|
||||
case AnsiIndexText(storeOption,[s_required,s_optional,s_prohibited]) of
|
||||
0 : propNode.SetAttribute(s_use,storeOption);
|
||||
1 : ;
|
||||
2 : propNode.SetAttribute(s_use,storeOption);
|
||||
else
|
||||
raise EXsdGeneratorException.CreateFmt('Invalid attribute "%s" value : "%s".',[s_use,storeOption]);
|
||||
end;
|
||||
end;
|
||||
end else begin
|
||||
case AnsiIndexText(storeOption,[s_required,s_optional,s_prohibited]) of
|
||||
0 : ;//propNode.SetAttribute(s_minOccurs,'1');
|
||||
1 : propNode.SetAttribute(s_minOccurs,'0');
|
||||
end;
|
||||
//propNode.SetAttribute(s_maxOccurs,'1');
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
class function TPasRecordType_TypeHandler.CanHandle(ASymbol : TObject) : Boolean;
|
||||
begin
|
||||
Result := inherited CanHandle(ASymbol) and ASymbol.InheritsFrom(TPasRecordType);
|
||||
end;
|
||||
|
||||
{ TBaseArrayRemotable_TypeHandler }
|
||||
|
||||
procedure TBaseArrayRemotable_TypeHandler.Generate(
|
||||
AContainer : TwstPasTreeContainer;
|
||||
const ASymbol : TPasElement;
|
||||
ADocument : TDOMDocument
|
||||
);
|
||||
|
||||
function GetNameSpaceShortName(const ANameSpace : string):string;//inline;
|
||||
begin
|
||||
if FindAttributeByValueInNode(ANameSpace,ADocument.DocumentElement,Result,0,s_xmlns) then begin
|
||||
Result := Copy(Result,Length(s_xmlns+':')+1,MaxInt);
|
||||
end else begin
|
||||
Result := Format('ns%d',[GetNodeListCount(ADocument.DocumentElement.Attributes)]) ;
|
||||
ADocument.DocumentElement.SetAttribute(Format('%s:%s',[s_xmlns,Result]),ANameSpace);
|
||||
end;
|
||||
end;
|
||||
|
||||
var
|
||||
typItm : TPasArrayType;
|
||||
propTypItm : TPasType;
|
||||
s, prop_ns_shortName : string;
|
||||
defSchemaNode, cplxNode, sqcNode, propNode : TDOMElement;
|
||||
unitExternalName : string;
|
||||
begin
|
||||
inherited;
|
||||
typItm := ASymbol as TPasArrayType;
|
||||
if not Assigned(typItm) then
|
||||
Exit;
|
||||
if Assigned(typItm) then begin
|
||||
unitExternalName := GetTypeNameSpace(AContainer,typItm);
|
||||
GetNameSpaceShortName(unitExternalName);
|
||||
defSchemaNode := GetSchemaNode(ADocument) as TDOMElement;
|
||||
|
||||
s := Format('%s:%s',[s_xs_short,s_complexType]);
|
||||
cplxNode := CreateElement(s,defSchemaNode,ADocument);
|
||||
cplxNode.SetAttribute(s_name, AContainer.GetExternalName(typItm)) ;
|
||||
|
||||
s := Format('%s:%s',[s_xs_short,s_sequence]);
|
||||
sqcNode := CreateElement(s,cplxNode,ADocument);
|
||||
propTypItm := typItm.ElType;
|
||||
s := Format('%s:%s',[s_xs_short,s_element]);
|
||||
propNode := CreateElement(s,sqcNode,ADocument);
|
||||
propNode.SetAttribute(s_name,s_item);
|
||||
if Assigned(propTypItm) then begin
|
||||
prop_ns_shortName := GetNameSpaceShortName(GetTypeNameSpace(AContainer,propTypItm));// AContainer.GetExternalName(propTypItm.Parent.Parent));
|
||||
propNode.SetAttribute(s_type,Format('%s:%s',[prop_ns_shortName,AContainer.GetExternalName(propTypItm)]));
|
||||
propNode.SetAttribute(s_minOccurs,'0');
|
||||
propNode.SetAttribute(s_maxOccurs,s_unbounded);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
class function TBaseArrayRemotable_TypeHandler.CanHandle(ASymbol: TObject): Boolean;
|
||||
begin
|
||||
Result := inherited CanHandle(ASymbol) and ASymbol.InheritsFrom(TPasArrayType);
|
||||
end;
|
||||
|
||||
{ TCustomXsdGenerator }
|
||||
|
||||
procedure TCustomXsdGenerator.Execute(
|
||||
ASymTable : TwstPasTreeContainer;
|
||||
AModuleName : string
|
||||
);
|
||||
var
|
||||
j, k : Integer;
|
||||
tri : TPasElement;
|
||||
g : IXsdTypeHandler;
|
||||
gr : IXsdTypeHandlerRegistry;
|
||||
typeList : TList;
|
||||
mdl : TPasModule;
|
||||
begin
|
||||
if ( ASymTable = nil ) then
|
||||
raise EXsdGeneratorException.Create('Invalid symbol table.');
|
||||
mdl := ASymTable.FindModule(AModuleName);
|
||||
if ( mdl = nil ) then
|
||||
raise EXsdGeneratorException.CreateFmt('Unable to find module : "%s".',[AModuleName]);
|
||||
Prepare(ASymTable,mdl);
|
||||
gr := GetXsdTypeHandlerRegistry();
|
||||
typeList := mdl.InterfaceSection.Declarations;
|
||||
k := typeList.Count;
|
||||
for j := 0 to Pred(k) do begin
|
||||
tri := TPasElement(typeList[j]);
|
||||
if tri.InheritsFrom(TPasType) and
|
||||
( not tri.InheritsFrom(TPasNativeClassType) ) and
|
||||
( not tri.InheritsFrom(TPasNativeSimpleType) )
|
||||
then begin
|
||||
if gr.Find(tri,Self,g) then
|
||||
g.Generate(ASymTable,tri,Self.Document);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCustomXsdGenerator.Prepare(ASymTable : TwstPasTreeContainer; AModule : TPasModule);
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
constructor TCustomXsdGenerator.Create(ADocument : TDOMDocument);
|
||||
begin
|
||||
if ( ADocument = nil ) then
|
||||
raise EXsdGeneratorException.Create('Invalid document.');
|
||||
FDocument := ADocument;
|
||||
end;
|
||||
|
||||
{ TXsdGenerator }
|
||||
|
||||
function TXsdGenerator.GetSchemaNode(ADocument : TDOMDocument) : TDOMNode;
|
||||
begin
|
||||
Result := FSchemaNode;
|
||||
end;
|
||||
|
||||
procedure TXsdGenerator.Prepare(ASymTable : TwstPasTreeContainer; AModule : TPasModule);
|
||||
var
|
||||
unitExternalName : string;
|
||||
begin
|
||||
inherited Prepare(ASymTable, AModule);
|
||||
unitExternalName := ASymTable.GetExternalName(AModule);
|
||||
FSchemaNode := CreateElement(s_schema,Document,Document);
|
||||
FSchemaNode.SetAttribute(s_targetNamespace,unitExternalName);
|
||||
FSchemaNode.SetAttribute(Format('%s:%s',[s_xmlns,s_xs_short]),s_xs);
|
||||
FSchemaNode.SetAttribute(Format('%s:%s',[s_xmlns,s_tns]),unitExternalName);
|
||||
end;
|
||||
|
||||
initialization
|
||||
XsdTypeHandlerRegistryInst := TXsdTypeHandlerRegistry.Create() as IXsdTypeHandlerRegistry;
|
||||
RegisterFondamentalTypes();
|
||||
|
||||
finalization
|
||||
XsdTypeHandlerRegistryInst := nil;
|
||||
|
||||
end.
|
@ -120,7 +120,7 @@ type
|
||||
end;
|
||||
|
||||
implementation
|
||||
uses ws_parser_imp, dom_cursors, parserutils, StrUtils
|
||||
uses ws_parser_imp, dom_cursors, parserutils, StrUtils, xsd_consts
|
||||
{$IFDEF FPC}
|
||||
,wst_fpc_xml
|
||||
{$ENDIF}
|
||||
|
Reference in New Issue
Block a user