Option to generate object collection instead of array.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@904 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
inoussa
2009-07-09 18:07:33 +00:00
parent b45faabcdc
commit 5e019c5aec
5 changed files with 144 additions and 133 deletions

View File

@ -3,16 +3,16 @@ object formImport: TformImport
Height = 553
Top = 133
Width = 526
HorzScrollBar.Page = 525
VertScrollBar.Page = 552
ActiveControl = Button1
BorderStyle = bsSizeToolWin
Caption = 'WSDL Importer'
ClientHeight = 553
ClientWidth = 526
LCLVersion = '0.9.25'
LCLVersion = '0.9.27'
object Panel2: TPanel
Left = 0
Height = 505
Top = 0
Width = 526
Align = alClient
ClientHeight = 505
@ -81,9 +81,9 @@ object formImport: TformImport
end
object edtAddToProject: TCheckBox
Left = 9
Height = 19
Height = 17
Top = 128
Width = 182
Width = 181
Caption = 'Add the generated files to project'
TabOrder = 4
end
@ -99,7 +99,9 @@ object formImport: TformImport
ClientWidth = 502
TabOrder = 2
object mmoLog: TMemo
Left = 0
Height = 111
Top = 0
Width = 502
Align = alClient
ReadOnly = True
@ -119,9 +121,9 @@ object formImport: TformImport
TabOrder = 1
object edtOptionIntf: TCheckBox
Left = 9
Height = 19
Height = 17
Top = 8
Width = 84
Width = 80
Caption = 'Interface file'
Checked = True
OnClick = edtOptionIntfClick
@ -130,9 +132,9 @@ object formImport: TformImport
end
object edtOptionProxy: TCheckBox
Left = 9
Height = 19
Height = 17
Top = 56
Width = 68
Width = 63
Caption = 'Proxy file'
Checked = True
State = cbChecked
@ -140,33 +142,33 @@ object formImport: TformImport
end
object edtOptionBinder: TCheckBox
Left = 294
Height = 19
Height = 17
Top = 8
Width = 111
Width = 103
Caption = 'Service Binder file'
TabOrder = 3
end
object edtOptionImp: TCheckBox
Left = 294
Height = 19
Height = 17
Top = 56
Width = 158
Width = 153
Caption = 'Implementation Skeleton file'
TabOrder = 4
end
object edtOptionIntfALL: TCheckBox
Left = 30
Height = 19
Height = 17
Top = 32
Width = 94
Width = 88
Caption = 'Parse all types'
OnClick = edtOptionIntfALLClick
TabOrder = 1
end
object edtOptionWrappedParams: TCheckBox
Left = 9
Height = 19
Top = 88
Height = 17
Top = 90
Width = 290
Anchors = [akLeft, akBottom]
Caption = 'Generate easy access interface for wrapped parameters'
@ -174,16 +176,25 @@ object formImport: TformImport
end
object edtDocAsComments: TCheckBox
Left = 9
Height = 19
Top = 119
Width = 208
Height = 17
Top = 121
Width = 202
Anchors = [akLeft, akBottom]
Caption = 'Generate documentation as comments'
TabOrder = 6
end
object edtGenCollection: TCheckBox
Left = 294
Height = 17
Top = 121
Width = 188
Caption = 'Generate object array as Collection'
TabOrder = 7
end
end
end
object Panel1: TPanel
Left = 0
Height = 48
Top = 505
Width = 526
@ -217,21 +228,18 @@ object formImport: TformImport
end
object AL: TActionList
left = 104
top = 328
top = 392
object actOK: TAction
Caption = 'OK'
DisableIfNoHandler = True
OnExecute = actOKExecute
OnUpdate = actOKUpdate
end
object actOpenFile: TAction
Caption = '...'
DisableIfNoHandler = True
OnExecute = actOpenFileExecute
end
object actOpenDir: TAction
Caption = '...'
DisableIfNoHandler = True
OnExecute = actOpenDirExecute
end
end

View File

@ -2,69 +2,70 @@
LazarusResources.Add('TformImport','FORMDATA',[
'TPF0'#11'TformImport'#10'formImport'#4'Left'#3'>'#2#6'Height'#3')'#2#3'Top'#3
+#133#0#5'Width'#3#14#2#18'HorzScrollBar.Page'#3#13#2#18'VertScrollBar.Page'#3
+'('#2#13'ActiveControl'#7#7'Button1'#11'BorderStyle'#7#13'bsSizeToolWin'#7'C'
+'aption'#6#13'WSDL Importer'#12'ClientHeight'#3')'#2#11'ClientWidth'#3#14#2
+#10'LCLVersion'#6#6'0.9.25'#0#6'TPanel'#6'Panel2'#6'Height'#3#249#1#5'Width'
+#3#14#2#5'Align'#7#8'alClient'#12'ClientHeight'#3#249#1#11'ClientWidth'#3#14
+#2#8'TabOrder'#2#1#0#9'TGroupBox'#9'GroupBox1'#4'Left'#2#8#6'Height'#3#168#0
+#3'Top'#2#8#5'Width'#3#250#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#12
+'ClientHeight'#3#150#0#11'ClientWidth'#3#246#1#8'TabOrder'#2#0#0#6'TLabel'#6
+'Label1'#4'Left'#2#9#6'Height'#2#14#3'Top'#2#4#5'Width'#3#186#0#7'Caption'#6
+'&Web Services Description File ( WSDL )'#11'ParentColor'#8#0#0#6'TLabel'#6
+'Label2'#4'Left'#2#9#6'Height'#2#14#3'Top'#2'E'#5'Width'#2'Q'#7'Caption'#6#16
+'Output directory'#11'ParentColor'#8#0#0#5'TEdit'#12'edtInputFile'#4'Left'#2
+#9#6'Height'#2#23#3'Top'#2#31#5'Width'#3'|'#1#7'Anchors'#11#5'akTop'#6'akLef'
+'t'#7'akRight'#0#8'TabOrder'#2#0#0#0#7'TButton'#7'Button2'#4'Left'#3#151#1#6
+'Height'#2#25#3'Top'#2#31#5'Width'#2'('#6'Action'#7#11'actOpenFile'#7'Anchor'
+'s'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2
+#1#0#0#5'TEdit'#12'edtOutputDir'#4'Left'#2#9#6'Height'#2#23#3'Top'#2'X'#5'Wi'
+'dth'#3'|'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#2#0
+#0#7'TButton'#7'Button3'#4'Left'#3#151#1#6'Height'#2#25#3'Top'#2'X'#5'Width'
+#2'('#6'Action'#7#10'actOpenDir'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'Bord'
+'erSpacing.InnerBorder'#2#4#8'TabOrder'#2#3#0#0#9'TCheckBox'#15'edtAddToProj'
+'ect'#4'Left'#2#9#6'Height'#2#19#3'Top'#3#128#0#5'Width'#3#182#0#7'Caption'#6
+'"Add the generated files to project'#8'TabOrder'#2#4#0#0#0#9'TGroupBox'#9'G'
+'roupBox2'#4'Left'#2#8#6'Height'#3#129#0#3'Top'#3'p'#1#5'Width'#3#250#1#7'An'
+'chors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#7'Caption'#6#12' Mes'
+'sages '#12'ClientHeight'#2'o'#11'ClientWidth'#3#246#1#8'TabOrder'#2#2#0#5
+'TMemo'#6'mmoLog'#6'Height'#2'o'#5'Width'#3#246#1#5'Align'#7#8'alClient'#8'R'
+'eadOnly'#9#10'ScrollBars'#7#6'ssBoth'#8'TabOrder'#2#0#0#0#0#9'TGroupBox'#9
+'GroupBox3'#4'Left'#2#8#6'Height'#3#168#0#3'Top'#3#184#0#5'Width'#3#250#1#7
+'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#7'Caption'#6#11' Options '#12
+'ClientHeight'#3#150#0#11'ClientWidth'#3#246#1#8'TabOrder'#2#1#0#9'TCheckBox'
+#13'edtOptionIntf'#4'Left'#2#9#6'Height'#2#19#3'Top'#2#8#5'Width'#2'T'#7'Cap'
+'tion'#6#14'Interface file'#7'Checked'#9#7'OnClick'#7#18'edtOptionIntfClick'
+#5'State'#7#9'cbChecked'#8'TabOrder'#2#0#0#0#9'TCheckBox'#14'edtOptionProxy'
+#4'Left'#2#9#6'Height'#2#19#3'Top'#2'8'#5'Width'#2'D'#7'Caption'#6#10'Proxy '
+'file'#7'Checked'#9#5'State'#7#9'cbChecked'#8'TabOrder'#2#2#0#0#9'TCheckBox'
+#15'edtOptionBinder'#4'Left'#3'&'#1#6'Height'#2#19#3'Top'#2#8#5'Width'#2'o'#7
+'Caption'#6#19'Service Binder file'#8'TabOrder'#2#3#0#0#9'TCheckBox'#12'edtO'
+'ptionImp'#4'Left'#3'&'#1#6'Height'#2#19#3'Top'#2'8'#5'Width'#3#158#0#7'Capt'
+'ion'#6#28'Implementation Skeleton file'#8'TabOrder'#2#4#0#0#9'TCheckBox'#16
+'edtOptionIntfALL'#4'Left'#2#30#6'Height'#2#19#3'Top'#2' '#5'Width'#2'^'#7'C'
+'aption'#6#15'Parse all types'#7'OnClick'#7#21'edtOptionIntfALLClick'#8'TabO'
+'rder'#2#1#0#0#9'TCheckBox'#22'edtOptionWrappedParams'#4'Left'#2#9#6'Height'
+#2#19#3'Top'#2'X'#5'Width'#3'"'#1#7'Anchors'#11#6'akLeft'#8'akBottom'#0#7'Ca'
+'ption'#6'5Generate easy access interface for wrapped parameters'#8'TabOrder'
+#2#5#0#0#9'TCheckBox'#16'edtDocAsComments'#4'Left'#2#9#6'Height'#2#19#3'Top'
+#2'w'#5'Width'#3#208#0#7'Anchors'#11#6'akLeft'#8'akBottom'#0#7'Caption'#6'"G'
+'enerate documentation as comments'#8'TabOrder'#2#6#0#0#0#0#6'TPanel'#6'Pane'
+'l1'#6'Height'#2'0'#3'Top'#3#249#1#5'Width'#3#14#2#5'Align'#7#8'alBottom'#12
+'ClientHeight'#2'0'#11'ClientWidth'#3#14#2#8'TabOrder'#2#0#0#7'TButton'#7'Bu'
+'tton1'#4'Left'#3'_'#1#6'Height'#2#25#3'Top'#2#8#5'Width'#2'K'#6'Action'#7#5
+'actOK'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4
+#7'Default'#9#8'TabOrder'#2#0#0#0#7'TButton'#7'Button4'#4'Left'#3#183#1#6'He'
+'ight'#2#25#3'Top'#2#8#5'Width'#2'K'#7'Anchors'#11#5'akTop'#7'akRight'#0#25
+'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6#6'Cancel'#11'ModalR'
+'esult'#2#2#8'TabOrder'#2#1#0#0#0#11'TActionList'#2'AL'#4'left'#2'h'#3'top'#3
+'H'#1#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#18'DisableIfNoHandler'#9#9'On'
+'Execute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#7'TAction'#11
+'actOpenFile'#7'Caption'#6#3'...'#18'DisableIfNoHandler'#9#9'OnExecute'#7#18
+'actOpenFileExecute'#0#0#7'TAction'#10'actOpenDir'#7'Caption'#6#3'...'#18'Di'
+'sableIfNoHandler'#9#9'OnExecute'#7#17'actOpenDirExecute'#0#0#0#11'TOpenDial'
+'og'#2'OD'#6'Filter'#6#28'WSDL Files ( *.wsdl )|*.wsdl'#11'FilterIndex'#2#0#7
+'Options'#11#15'ofFileMustExist'#14'ofEnableSizing'#12'ofViewDetail'#0#4'lef'
,'t'#3#16#1#3'top'#2' '#0#0#22'TSelectDirectoryDialog'#3'SDD'#11'FilterIndex'
+#2#0#4'left'#3#224#0#3'top'#3#176#0#0#0#0
+#133#0#5'Width'#3#14#2#13'ActiveControl'#7#7'Button1'#11'BorderStyle'#7#13'b'
+'sSizeToolWin'#7'Caption'#6#13'WSDL Importer'#12'ClientHeight'#3')'#2#11'Cli'
+'entWidth'#3#14#2#10'LCLVersion'#6#6'0.9.27'#0#6'TPanel'#6'Panel2'#4'Left'#2
+#0#6'Height'#3#249#1#3'Top'#2#0#5'Width'#3#14#2#5'Align'#7#8'alClient'#12'Cl'
+'ientHeight'#3#249#1#11'ClientWidth'#3#14#2#8'TabOrder'#2#1#0#9'TGroupBox'#9
+'GroupBox1'#4'Left'#2#8#6'Height'#3#168#0#3'Top'#2#8#5'Width'#3#250#1#7'Anch'
+'ors'#11#5'akTop'#6'akLeft'#7'akRight'#0#12'ClientHeight'#3#150#0#11'ClientW'
+'idth'#3#246#1#8'TabOrder'#2#0#0#6'TLabel'#6'Label1'#4'Left'#2#9#6'Height'#2
+#14#3'Top'#2#4#5'Width'#3#186#0#7'Caption'#6'&Web Services Description File '
+'( WSDL )'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#9#6'Height'#2
+#14#3'Top'#2'E'#5'Width'#2'Q'#7'Caption'#6#16'Output directory'#11'ParentCol'
+'or'#8#0#0#5'TEdit'#12'edtInputFile'#4'Left'#2#9#6'Height'#2#23#3'Top'#2#31#5
+'Width'#3'|'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0
+#0#0#7'TButton'#7'Button2'#4'Left'#3#151#1#6'Height'#2#25#3'Top'#2#31#5'Widt'
+'h'#2'('#6'Action'#7#11'actOpenFile'#7'Anchors'#11#5'akTop'#7'akRight'#0#25
+'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#1#0#0#5'TEdit'#12'edtOutputDir'
+#4'Left'#2#9#6'Height'#2#23#3'Top'#2'X'#5'Width'#3'|'#1#7'Anchors'#11#5'akTo'
+'p'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#2#0#0#7'TButton'#7'Button3'#4'Left'
+#3#151#1#6'Height'#2#25#3'Top'#2'X'#5'Width'#2'('#6'Action'#7#10'actOpenDir'
+#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#8'Tab'
+'Order'#2#3#0#0#9'TCheckBox'#15'edtAddToProject'#4'Left'#2#9#6'Height'#2#17#3
+'Top'#3#128#0#5'Width'#3#181#0#7'Caption'#6'"Add the generated files to proj'
+'ect'#8'TabOrder'#2#4#0#0#0#9'TGroupBox'#9'GroupBox2'#4'Left'#2#8#6'Height'#3
+#129#0#3'Top'#3'p'#1#5'Width'#3#250#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akR'
+'ight'#8'akBottom'#0#7'Caption'#6#12' Messages '#12'ClientHeight'#2'o'#11
+'ClientWidth'#3#246#1#8'TabOrder'#2#2#0#5'TMemo'#6'mmoLog'#4'Left'#2#0#6'Hei'
+'ght'#2'o'#3'Top'#2#0#5'Width'#3#246#1#5'Align'#7#8'alClient'#8'ReadOnly'#9
+#10'ScrollBars'#7#6'ssBoth'#8'TabOrder'#2#0#0#0#0#9'TGroupBox'#9'GroupBox3'#4
+'Left'#2#8#6'Height'#3#168#0#3'Top'#3#184#0#5'Width'#3#250#1#7'Anchors'#11#5
+'akTop'#6'akLeft'#7'akRight'#0#7'Caption'#6#11' Options '#12'ClientHeight'
+#3#150#0#11'ClientWidth'#3#246#1#8'TabOrder'#2#1#0#9'TCheckBox'#13'edtOption'
+'Intf'#4'Left'#2#9#6'Height'#2#17#3'Top'#2#8#5'Width'#2'P'#7'Caption'#6#14'I'
+'nterface file'#7'Checked'#9#7'OnClick'#7#18'edtOptionIntfClick'#5'State'#7#9
+'cbChecked'#8'TabOrder'#2#0#0#0#9'TCheckBox'#14'edtOptionProxy'#4'Left'#2#9#6
+'Height'#2#17#3'Top'#2'8'#5'Width'#2'?'#7'Caption'#6#10'Proxy file'#7'Checke'
+'d'#9#5'State'#7#9'cbChecked'#8'TabOrder'#2#2#0#0#9'TCheckBox'#15'edtOptionB'
+'inder'#4'Left'#3'&'#1#6'Height'#2#17#3'Top'#2#8#5'Width'#2'g'#7'Caption'#6
+#19'Service Binder file'#8'TabOrder'#2#3#0#0#9'TCheckBox'#12'edtOptionImp'#4
+'Left'#3'&'#1#6'Height'#2#17#3'Top'#2'8'#5'Width'#3#153#0#7'Caption'#6#28'Im'
+'plementation Skeleton file'#8'TabOrder'#2#4#0#0#9'TCheckBox'#16'edtOptionIn'
+'tfALL'#4'Left'#2#30#6'Height'#2#17#3'Top'#2' '#5'Width'#2'X'#7'Caption'#6#15
+'Parse all types'#7'OnClick'#7#21'edtOptionIntfALLClick'#8'TabOrder'#2#1#0#0
+#9'TCheckBox'#22'edtOptionWrappedParams'#4'Left'#2#9#6'Height'#2#17#3'Top'#2
+'Z'#5'Width'#3'"'#1#7'Anchors'#11#6'akLeft'#8'akBottom'#0#7'Caption'#6'5Gene'
+'rate easy access interface for wrapped parameters'#8'TabOrder'#2#5#0#0#9'TC'
+'heckBox'#16'edtDocAsComments'#4'Left'#2#9#6'Height'#2#17#3'Top'#2'y'#5'Widt'
+'h'#3#202#0#7'Anchors'#11#6'akLeft'#8'akBottom'#0#7'Caption'#6'"Generate doc'
+'umentation as comments'#8'TabOrder'#2#6#0#0#9'TCheckBox'#16'edtGenCollectio'
+'n'#4'Left'#3'&'#1#6'Height'#2#17#3'Top'#2'y'#5'Width'#3#188#0#7'Caption'#6
+'#Generate object array as Collection'#8'TabOrder'#2#7#0#0#0#0#6'TPanel'#6'P'
+'anel1'#4'Left'#2#0#6'Height'#2'0'#3'Top'#3#249#1#5'Width'#3#14#2#5'Align'#7
+#8'alBottom'#12'ClientHeight'#2'0'#11'ClientWidth'#3#14#2#8'TabOrder'#2#0#0#7
+'TButton'#7'Button1'#4'Left'#3'_'#1#6'Height'#2#25#3'Top'#2#8#5'Width'#2'K'#6
+'Action'#7#5'actOK'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.Inn'
+'erBorder'#2#4#7'Default'#9#8'TabOrder'#2#0#0#0#7'TButton'#7'Button4'#4'Left'
+#3#183#1#6'Height'#2#25#3'Top'#2#8#5'Width'#2'K'#7'Anchors'#11#5'akTop'#7'ak'
+'Right'#0#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6#6'Cance'
+'l'#11'ModalResult'#2#2#8'TabOrder'#2#1#0#0#0#11'TActionList'#2'AL'#4'left'#2
+'h'#3'top'#3#136#1#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#9'OnExecute'#7#12
+'actOKExecute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#7'TAction'#11'actOpenFile'#7
+'Caption'#6#3'...'#9'OnExecute'#7#18'actOpenFileExecute'#0#0#7'TAction'#10'a'
+'ctOpenDir'#7'Caption'#6#3'...'#9'OnExecute'#7#17'actOpenDirExecute'#0#0#0#11
+'TOpenDialog'#2'OD'#6'Filter'#6#28'WSDL Files ( *.wsdl )|*.wsdl'#11'FilterIn'
,'dex'#2#0#7'Options'#11#15'ofFileMustExist'#14'ofEnableSizing'#12'ofViewDeta'
+'il'#0#4'left'#3#16#1#3'top'#2' '#0#0#22'TSelectDirectoryDialog'#3'SDD'#11'F'
+'ilterIndex'#2#0#4'left'#3#224#0#3'top'#3#176#0#0#0#0
]);

View File

@ -12,9 +12,9 @@ uses
type
TGenOption = (
goInterface, goInterfaceALL,
goProxy, goImp, goBinder,
goWrappedParameter, goDocAsComments
xgoInterface, xgoInterfaceALL,
xgoProxy, xgoImp, xgoBinder,
xgoWrappedParameter, xgoDocAsComments, xgoGenerateObjectCollection
);
TGenOptions = set of TGenOption;
@ -31,6 +31,7 @@ type
Button2: TButton;
Button3: TButton;
Button4: TButton;
edtGenCollection : TCheckBox;
edtDocAsComments : TCheckBox;
edtAddToProject : TCheckBox;
edtOptionIntfALL: TCheckBox;
@ -73,7 +74,7 @@ uses DOM, XMLRead, pastree, pascal_parser_intf, wsdl_parser, source_utils,
{$IFDEF WST_IDE},LazIDEIntf{$ENDIF};
type
TSourceType = goInterface .. goBinder;
TSourceType = xgoInterface .. xgoBinder;
TSourceTypes = set of TSourceType;
function ParseWsdlFile(
@ -114,8 +115,7 @@ function GenerateSource(
const AOutputType : TOutputType;
const AOutPath : string;
const ANotifier : TOnParserMessage;
const AWrappedPrm,
ADocAsComment: Boolean
const AGenOptions : TGenOptions
) : ISourceManager;
procedure Notify(const AMsg : string);
@ -132,7 +132,7 @@ var
rsrcStrm : TMemoryStream;
wrappedParams : Boolean;
begin
wrappedParams := AWrappedPrm;
wrappedParams := ( xgoWrappedParameter in AGenOptions );
Result := CreateSourceManager();
rsrcStrm := nil;
mtdaFS := nil;
@ -140,18 +140,20 @@ begin
g := Nil;
try
if ( ( [goInterface,goInterfaceALL] * AOptions ) <> [] ) then begin
if ( ( [xgoInterface,xgoInterfaceALL] * AOptions ) <> [] ) then begin
Notify('Interface file generation...');
g := TInftGenerator.Create(ASymbolTable,Result);
if wrappedParams then
g.Options := g.Options + [goDocumentWrappedParameter];
if ADocAsComment then
if ( xgoDocAsComments in AGenOptions ) then
g.Options := g.Options + [goGenerateDocAsComments];
if ( xgoGenerateObjectCollection in AGenOptions ) then
g.Options := g.Options + [goGenerateObjectCollection];
g.Execute();
FreeAndNil(g);
end;
if ( goProxy in AOptions ) then begin
if ( xgoProxy in AOptions ) then begin
Notify('Proxy file generation...');
g := TProxyGenerator.Create(ASymbolTable,Result);
if wrappedParams then
@ -160,7 +162,7 @@ begin
FreeAndNil(g);
end;
if ( goBinder in AOptions ) then begin
if ( xgoBinder in AOptions ) then begin
Notify('Binder file generation...');
g := TBinderGenerator.Create(ASymbolTable,Result);
if wrappedParams then
@ -169,14 +171,14 @@ begin
FreeAndNil(g);
end;
if ( goImp in AOptions ) then begin
if ( xgoImp in AOptions ) then begin
Notify('Implementation file generation...');
g := TImplementationGenerator.Create(ASymbolTable,Result);
g.Execute();
FreeAndNil(g);
end;
if ( AOutputType = otFileSystem ) and ( [goBinder,goProxy]*AOptions <> [] ) then begin
if ( AOutputType = otFileSystem ) and ( [xgoBinder,xgoProxy]*AOptions <> [] ) then begin
Notify('Metadata file generation...');
mtdaFS := TMemoryStream.Create();
mg := TMetadataGenerator.Create(ASymbolTable,CreateBinaryWriter(mtdaFS));
@ -233,21 +235,23 @@ function TformImport.GetOptions(): TGenOptions;
begin
Result := [];
if edtOptionIntf.Checked then begin
Result := Result + [goInterface];
Result := Result + [xgoInterface];
if edtOptionIntfALL.Checked then begin
Result := Result + [goInterfaceALL];
Result := Result + [xgoInterfaceALL];
end;
end;
if edtOptionProxy.Checked then
Include(Result,goProxy);
Include(Result,xgoProxy);
if edtOptionBinder.Checked then
Include(Result,goBinder);
Include(Result,xgoBinder);
if edtOptionImp.Checked then
Include(Result,goImp);
Include(Result,xgoImp);
if edtOptionWrappedParams.Checked then
Include(Result,goWrappedParameter);
Include(Result,xgoWrappedParameter);
if edtDocAsComments.Checked then
Include(Result,goDocAsComments);
Include(Result,xgoDocAsComments);
if edtGenCollection.Checked then
Include(Result,xgoGenerateObjectCollection);
end;
procedure TformImport.actOpenDirExecute(Sender: TObject);
@ -263,7 +267,7 @@ procedure TformImport.actOKUpdate(Sender: TObject);
begin
TAction(Sender).Enabled := FileExists(edtInputFile.Text) and
DirectoryExists(edtOutputDir.Text) and
( ( GetOptions() - [goWrappedParameter,goDocAsComments] ) <> [] );
( ( GetOptions() - [xgoWrappedParameter,xgoDocAsComments] ) <> [] );
end;
procedure TformImport.actOKExecute(Sender: TObject);
@ -287,12 +291,11 @@ begin
tree := ParseWsdlFile(edtInputFile.Text,@ShowStatusMessage);
try
genOptions := GetOptions();
fileSet := genOptions - [goWrappedParameter,goDocAsComments];
fileSet := genOptions - [xgoWrappedParameter,xgoDocAsComments];
srcMgnr := GenerateSource(
tree,fileSet,otFileSystem,IncludeTrailingPathDelimiter(edtOutputDir.Text),
@ShowStatusMessage,
(goWrappedParameter in genOptions),
(goDocAsComments in genOptions)
genOptions
);
ShowStatusMessage(mtInfo,'');
{$IFDEF WST_IDE}

View File

@ -3,8 +3,6 @@ object fAbout: TfAbout
Height = 182
Top = 277
Width = 299
HorzScrollBar.Page = 298
VertScrollBar.Page = 181
ActiveControl = Button1
BorderIcons = [biSystemMenu]
BorderStyle = bsDialog
@ -12,7 +10,7 @@ object fAbout: TfAbout
ClientHeight = 182
ClientWidth = 299
Position = poDesktopCenter
LCLVersion = '0.9.25'
LCLVersion = '0.9.27'
object Label1: TLabel
Left = 21
Height = 14
@ -21,6 +19,7 @@ object fAbout: TfAbout
Caption = 'Web Services Toolkit for FPC/Lazarus && Delphi'
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
end
object Label2: TLabel
Left = 93
@ -30,13 +29,14 @@ object fAbout: TfAbout
Caption = 'Type Library Editor'
Font.Style = [fsBold, fsItalic]
ParentColor = False
ParentFont = False
end
object Label3: TLabel
Left = 32
Left = 16
Height = 14
Top = 112
Width = 235
Caption = 'Copyright (c) 2007, 2008 Inoussa OUEDRAOGO.'
Width = 266
Caption = 'Copyright (c) 2007, 2008, 2009 Inoussa OUEDRAOGO.'
ParentColor = False
end
object Button1: TButton

View File

@ -2,18 +2,17 @@
LazarusResources.Add('TfAbout','FORMDATA',[
'TPF0'#7'TfAbout'#6'fAbout'#4'Left'#3#225#1#6'Height'#3#182#0#3'Top'#3#21#1#5
+'Width'#3'+'#1#18'HorzScrollBar.Page'#3'*'#1#18'VertScrollBar.Page'#3#181#0
+#13'ActiveControl'#7#7'Button1'#11'BorderIcons'#11#12'biSystemMenu'#0#11'Bor'
+'derStyle'#7#8'bsDialog'#7'Caption'#6#5'About'#12'ClientHeight'#3#182#0#11'C'
+'lientWidth'#3'+'#1#8'Position'#7#15'poDesktopCenter'#10'LCLVersion'#6#6'0.9'
+'.25'#0#6'TLabel'#6'Label1'#4'Left'#2#21#6'Height'#2#14#3'Top'#2#24#5'Width'
+#3#5#1#7'Caption'#6'.Web Services Toolkit for FPC/Lazarus && Delphi'#10'Font'
+'.Style'#11#6'fsBold'#0#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2
+']'#6'Height'#2#14#3'Top'#2'@'#5'Width'#2'l'#7'Caption'#6#19'Type Library Ed'
+'itor'#10'Font.Style'#11#6'fsBold'#8'fsItalic'#0#11'ParentColor'#8#0#0#6'TLa'
+'bel'#6'Label3'#4'Left'#2' '#6'Height'#2#14#3'Top'#2'p'#5'Width'#3#235#0#7'C'
+'aption'#6'+Copyright (c) 2007, 2008 Inoussa OUEDRAOGO.'#11'ParentColor'#8#0
+#0#7'TButton'#7'Button1'#4'Left'#2'p'#6'Height'#2#25#3'Top'#3#142#0#5'Width'
+#2'K'#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#2'OK'#11'ModalResult'#2
+#1#8'TabOrder'#2#0#0#0#0
+'Width'#3'+'#1#13'ActiveControl'#7#7'Button1'#11'BorderIcons'#11#12'biSystem'
+'Menu'#0#11'BorderStyle'#7#8'bsDialog'#7'Caption'#6#5'About'#12'ClientHeight'
+#3#182#0#11'ClientWidth'#3'+'#1#8'Position'#7#15'poDesktopCenter'#10'LCLVers'
+'ion'#6#6'0.9.27'#0#6'TLabel'#6'Label1'#4'Left'#2#21#6'Height'#2#14#3'Top'#2
+#24#5'Width'#3#5#1#7'Caption'#6'.Web Services Toolkit for FPC/Lazarus && Del'
+'phi'#10'Font.Style'#11#6'fsBold'#0#11'ParentColor'#8#10'ParentFont'#8#0#0#6
+'TLabel'#6'Label2'#4'Left'#2']'#6'Height'#2#14#3'Top'#2'@'#5'Width'#2'l'#7'C'
+'aption'#6#19'Type Library Editor'#10'Font.Style'#11#6'fsBold'#8'fsItalic'#0
+#11'ParentColor'#8#10'ParentFont'#8#0#0#6'TLabel'#6'Label3'#4'Left'#2#16#6'H'
+'eight'#2#14#3'Top'#2'p'#5'Width'#3#10#1#7'Caption'#6'1Copyright (c) 2007, 2'
+'008, 2009 Inoussa OUEDRAOGO.'#11'ParentColor'#8#0#0#7'TButton'#7'Button1'#4
+'Left'#2'p'#6'Height'#2#25#3'Top'#3#142#0#5'Width'#2'K'#25'BorderSpacing.Inn'
+'erBorder'#2#4#7'Caption'#6#2'OK'#11'ModalResult'#2#1#8'TabOrder'#2#0#0#0#0
]);