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

View File

@@ -2,69 +2,70 @@
LazarusResources.Add('TformImport','FORMDATA',[ LazarusResources.Add('TformImport','FORMDATA',[
'TPF0'#11'TformImport'#10'formImport'#4'Left'#3'>'#2#6'Height'#3')'#2#3'Top'#3 '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 +#133#0#5'Width'#3#14#2#13'ActiveControl'#7#7'Button1'#11'BorderStyle'#7#13'b'
+'('#2#13'ActiveControl'#7#7'Button1'#11'BorderStyle'#7#13'bsSizeToolWin'#7'C' +'sSizeToolWin'#7'Caption'#6#13'WSDL Importer'#12'ClientHeight'#3')'#2#11'Cli'
+'aption'#6#13'WSDL Importer'#12'ClientHeight'#3')'#2#11'ClientWidth'#3#14#2 +'entWidth'#3#14#2#10'LCLVersion'#6#6'0.9.27'#0#6'TPanel'#6'Panel2'#4'Left'#2
+#10'LCLVersion'#6#6'0.9.25'#0#6'TPanel'#6'Panel2'#6'Height'#3#249#1#5'Width' +#0#6'Height'#3#249#1#3'Top'#2#0#5'Width'#3#14#2#5'Align'#7#8'alClient'#12'Cl'
+#3#14#2#5'Align'#7#8'alClient'#12'ClientHeight'#3#249#1#11'ClientWidth'#3#14 +'ientHeight'#3#249#1#11'ClientWidth'#3#14#2#8'TabOrder'#2#1#0#9'TGroupBox'#9
+#2#8'TabOrder'#2#1#0#9'TGroupBox'#9'GroupBox1'#4'Left'#2#8#6'Height'#3#168#0 +'GroupBox1'#4'Left'#2#8#6'Height'#3#168#0#3'Top'#2#8#5'Width'#3#250#1#7'Anch'
+#3'Top'#2#8#5'Width'#3#250#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#12 +'ors'#11#5'akTop'#6'akLeft'#7'akRight'#0#12'ClientHeight'#3#150#0#11'ClientW'
+'ClientHeight'#3#150#0#11'ClientWidth'#3#246#1#8'TabOrder'#2#0#0#6'TLabel'#6 +'idth'#3#246#1#8'TabOrder'#2#0#0#6'TLabel'#6'Label1'#4'Left'#2#9#6'Height'#2
+'Label1'#4'Left'#2#9#6'Height'#2#14#3'Top'#2#4#5'Width'#3#186#0#7'Caption'#6 +#14#3'Top'#2#4#5'Width'#3#186#0#7'Caption'#6'&Web Services Description File '
+'&Web Services Description File ( WSDL )'#11'ParentColor'#8#0#0#6'TLabel'#6 +'( WSDL )'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#9#6'Height'#2
+'Label2'#4'Left'#2#9#6'Height'#2#14#3'Top'#2'E'#5'Width'#2'Q'#7'Caption'#6#16 +#14#3'Top'#2'E'#5'Width'#2'Q'#7'Caption'#6#16'Output directory'#11'ParentCol'
+'Output directory'#11'ParentColor'#8#0#0#5'TEdit'#12'edtInputFile'#4'Left'#2 +'or'#8#0#0#5'TEdit'#12'edtInputFile'#4'Left'#2#9#6'Height'#2#23#3'Top'#2#31#5
+#9#6'Height'#2#23#3'Top'#2#31#5'Width'#3'|'#1#7'Anchors'#11#5'akTop'#6'akLef' +'Width'#3'|'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0
+'t'#7'akRight'#0#8'TabOrder'#2#0#0#0#7'TButton'#7'Button2'#4'Left'#3#151#1#6 +#0#0#7'TButton'#7'Button2'#4'Left'#3#151#1#6'Height'#2#25#3'Top'#2#31#5'Widt'
+'Height'#2#25#3'Top'#2#31#5'Width'#2'('#6'Action'#7#11'actOpenFile'#7'Anchor' +'h'#2'('#6'Action'#7#11'actOpenFile'#7'Anchors'#11#5'akTop'#7'akRight'#0#25
+'s'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2 +'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#1#0#0#5'TEdit'#12'edtOutputDir'
+#1#0#0#5'TEdit'#12'edtOutputDir'#4'Left'#2#9#6'Height'#2#23#3'Top'#2'X'#5'Wi' +#4'Left'#2#9#6'Height'#2#23#3'Top'#2'X'#5'Width'#3'|'#1#7'Anchors'#11#5'akTo'
+'dth'#3'|'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#2#0 +'p'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#2#0#0#7'TButton'#7'Button3'#4'Left'
+#0#7'TButton'#7'Button3'#4'Left'#3#151#1#6'Height'#2#25#3'Top'#2'X'#5'Width' +#3#151#1#6'Height'#2#25#3'Top'#2'X'#5'Width'#2'('#6'Action'#7#10'actOpenDir'
+#2'('#6'Action'#7#10'actOpenDir'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'Bord' +#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#8'Tab'
+'erSpacing.InnerBorder'#2#4#8'TabOrder'#2#3#0#0#9'TCheckBox'#15'edtAddToProj' +'Order'#2#3#0#0#9'TCheckBox'#15'edtAddToProject'#4'Left'#2#9#6'Height'#2#17#3
+'ect'#4'Left'#2#9#6'Height'#2#19#3'Top'#3#128#0#5'Width'#3#182#0#7'Caption'#6 +'Top'#3#128#0#5'Width'#3#181#0#7'Caption'#6'"Add the generated files to proj'
+'"Add the generated files to project'#8'TabOrder'#2#4#0#0#0#9'TGroupBox'#9'G' +'ect'#8'TabOrder'#2#4#0#0#0#9'TGroupBox'#9'GroupBox2'#4'Left'#2#8#6'Height'#3
+'roupBox2'#4'Left'#2#8#6'Height'#3#129#0#3'Top'#3'p'#1#5'Width'#3#250#1#7'An' +#129#0#3'Top'#3'p'#1#5'Width'#3#250#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akR'
+'chors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#7'Caption'#6#12' Mes' +'ight'#8'akBottom'#0#7'Caption'#6#12' Messages '#12'ClientHeight'#2'o'#11
+'sages '#12'ClientHeight'#2'o'#11'ClientWidth'#3#246#1#8'TabOrder'#2#2#0#5 +'ClientWidth'#3#246#1#8'TabOrder'#2#2#0#5'TMemo'#6'mmoLog'#4'Left'#2#0#6'Hei'
+'TMemo'#6'mmoLog'#6'Height'#2'o'#5'Width'#3#246#1#5'Align'#7#8'alClient'#8'R' +'ght'#2'o'#3'Top'#2#0#5'Width'#3#246#1#5'Align'#7#8'alClient'#8'ReadOnly'#9
+'eadOnly'#9#10'ScrollBars'#7#6'ssBoth'#8'TabOrder'#2#0#0#0#0#9'TGroupBox'#9 +#10'ScrollBars'#7#6'ssBoth'#8'TabOrder'#2#0#0#0#0#9'TGroupBox'#9'GroupBox3'#4
+'GroupBox3'#4'Left'#2#8#6'Height'#3#168#0#3'Top'#3#184#0#5'Width'#3#250#1#7 +'Left'#2#8#6'Height'#3#168#0#3'Top'#3#184#0#5'Width'#3#250#1#7'Anchors'#11#5
+'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#7'Caption'#6#11' Options '#12 +'akTop'#6'akLeft'#7'akRight'#0#7'Caption'#6#11' Options '#12'ClientHeight'
+'ClientHeight'#3#150#0#11'ClientWidth'#3#246#1#8'TabOrder'#2#1#0#9'TCheckBox' +#3#150#0#11'ClientWidth'#3#246#1#8'TabOrder'#2#1#0#9'TCheckBox'#13'edtOption'
+#13'edtOptionIntf'#4'Left'#2#9#6'Height'#2#19#3'Top'#2#8#5'Width'#2'T'#7'Cap' +'Intf'#4'Left'#2#9#6'Height'#2#17#3'Top'#2#8#5'Width'#2'P'#7'Caption'#6#14'I'
+'tion'#6#14'Interface file'#7'Checked'#9#7'OnClick'#7#18'edtOptionIntfClick' +'nterface file'#7'Checked'#9#7'OnClick'#7#18'edtOptionIntfClick'#5'State'#7#9
+#5'State'#7#9'cbChecked'#8'TabOrder'#2#0#0#0#9'TCheckBox'#14'edtOptionProxy' +'cbChecked'#8'TabOrder'#2#0#0#0#9'TCheckBox'#14'edtOptionProxy'#4'Left'#2#9#6
+#4'Left'#2#9#6'Height'#2#19#3'Top'#2'8'#5'Width'#2'D'#7'Caption'#6#10'Proxy ' +'Height'#2#17#3'Top'#2'8'#5'Width'#2'?'#7'Caption'#6#10'Proxy file'#7'Checke'
+'file'#7'Checked'#9#5'State'#7#9'cbChecked'#8'TabOrder'#2#2#0#0#9'TCheckBox' +'d'#9#5'State'#7#9'cbChecked'#8'TabOrder'#2#2#0#0#9'TCheckBox'#15'edtOptionB'
+#15'edtOptionBinder'#4'Left'#3'&'#1#6'Height'#2#19#3'Top'#2#8#5'Width'#2'o'#7 +'inder'#4'Left'#3'&'#1#6'Height'#2#17#3'Top'#2#8#5'Width'#2'g'#7'Caption'#6
+'Caption'#6#19'Service Binder file'#8'TabOrder'#2#3#0#0#9'TCheckBox'#12'edtO' +#19'Service Binder file'#8'TabOrder'#2#3#0#0#9'TCheckBox'#12'edtOptionImp'#4
+'ptionImp'#4'Left'#3'&'#1#6'Height'#2#19#3'Top'#2'8'#5'Width'#3#158#0#7'Capt' +'Left'#3'&'#1#6'Height'#2#17#3'Top'#2'8'#5'Width'#3#153#0#7'Caption'#6#28'Im'
+'ion'#6#28'Implementation Skeleton file'#8'TabOrder'#2#4#0#0#9'TCheckBox'#16 +'plementation Skeleton file'#8'TabOrder'#2#4#0#0#9'TCheckBox'#16'edtOptionIn'
+'edtOptionIntfALL'#4'Left'#2#30#6'Height'#2#19#3'Top'#2' '#5'Width'#2'^'#7'C' +'tfALL'#4'Left'#2#30#6'Height'#2#17#3'Top'#2' '#5'Width'#2'X'#7'Caption'#6#15
+'aption'#6#15'Parse all types'#7'OnClick'#7#21'edtOptionIntfALLClick'#8'TabO' +'Parse all types'#7'OnClick'#7#21'edtOptionIntfALLClick'#8'TabOrder'#2#1#0#0
+'rder'#2#1#0#0#9'TCheckBox'#22'edtOptionWrappedParams'#4'Left'#2#9#6'Height' +#9'TCheckBox'#22'edtOptionWrappedParams'#4'Left'#2#9#6'Height'#2#17#3'Top'#2
+#2#19#3'Top'#2'X'#5'Width'#3'"'#1#7'Anchors'#11#6'akLeft'#8'akBottom'#0#7'Ca' +'Z'#5'Width'#3'"'#1#7'Anchors'#11#6'akLeft'#8'akBottom'#0#7'Caption'#6'5Gene'
+'ption'#6'5Generate easy access interface for wrapped parameters'#8'TabOrder' +'rate easy access interface for wrapped parameters'#8'TabOrder'#2#5#0#0#9'TC'
+#2#5#0#0#9'TCheckBox'#16'edtDocAsComments'#4'Left'#2#9#6'Height'#2#19#3'Top' +'heckBox'#16'edtDocAsComments'#4'Left'#2#9#6'Height'#2#17#3'Top'#2'y'#5'Widt'
+#2'w'#5'Width'#3#208#0#7'Anchors'#11#6'akLeft'#8'akBottom'#0#7'Caption'#6'"G' +'h'#3#202#0#7'Anchors'#11#6'akLeft'#8'akBottom'#0#7'Caption'#6'"Generate doc'
+'enerate documentation as comments'#8'TabOrder'#2#6#0#0#0#0#6'TPanel'#6'Pane' +'umentation as comments'#8'TabOrder'#2#6#0#0#9'TCheckBox'#16'edtGenCollectio'
+'l1'#6'Height'#2'0'#3'Top'#3#249#1#5'Width'#3#14#2#5'Align'#7#8'alBottom'#12 +'n'#4'Left'#3'&'#1#6'Height'#2#17#3'Top'#2'y'#5'Width'#3#188#0#7'Caption'#6
+'ClientHeight'#2'0'#11'ClientWidth'#3#14#2#8'TabOrder'#2#0#0#7'TButton'#7'Bu' +'#Generate object array as Collection'#8'TabOrder'#2#7#0#0#0#0#6'TPanel'#6'P'
+'tton1'#4'Left'#3'_'#1#6'Height'#2#25#3'Top'#2#8#5'Width'#2'K'#6'Action'#7#5 +'anel1'#4'Left'#2#0#6'Height'#2'0'#3'Top'#3#249#1#5'Width'#3#14#2#5'Align'#7
+'actOK'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4 +#8'alBottom'#12'ClientHeight'#2'0'#11'ClientWidth'#3#14#2#8'TabOrder'#2#0#0#7
+#7'Default'#9#8'TabOrder'#2#0#0#0#7'TButton'#7'Button4'#4'Left'#3#183#1#6'He' +'TButton'#7'Button1'#4'Left'#3'_'#1#6'Height'#2#25#3'Top'#2#8#5'Width'#2'K'#6
+'ight'#2#25#3'Top'#2#8#5'Width'#2'K'#7'Anchors'#11#5'akTop'#7'akRight'#0#25 +'Action'#7#5'actOK'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.Inn'
+'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6#6'Cancel'#11'ModalR' +'erBorder'#2#4#7'Default'#9#8'TabOrder'#2#0#0#0#7'TButton'#7'Button4'#4'Left'
+'esult'#2#2#8'TabOrder'#2#1#0#0#0#11'TActionList'#2'AL'#4'left'#2'h'#3'top'#3 +#3#183#1#6'Height'#2#25#3'Top'#2#8#5'Width'#2'K'#7'Anchors'#11#5'akTop'#7'ak'
+'H'#1#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#18'DisableIfNoHandler'#9#9'On' +'Right'#0#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6#6'Cance'
+'Execute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#7'TAction'#11 +'l'#11'ModalResult'#2#2#8'TabOrder'#2#1#0#0#0#11'TActionList'#2'AL'#4'left'#2
+'actOpenFile'#7'Caption'#6#3'...'#18'DisableIfNoHandler'#9#9'OnExecute'#7#18 +'h'#3'top'#3#136#1#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#9'OnExecute'#7#12
+'actOpenFileExecute'#0#0#7'TAction'#10'actOpenDir'#7'Caption'#6#3'...'#18'Di' +'actOKExecute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#7'TAction'#11'actOpenFile'#7
+'sableIfNoHandler'#9#9'OnExecute'#7#17'actOpenDirExecute'#0#0#0#11'TOpenDial' +'Caption'#6#3'...'#9'OnExecute'#7#18'actOpenFileExecute'#0#0#7'TAction'#10'a'
+'og'#2'OD'#6'Filter'#6#28'WSDL Files ( *.wsdl )|*.wsdl'#11'FilterIndex'#2#0#7 +'ctOpenDir'#7'Caption'#6#3'...'#9'OnExecute'#7#17'actOpenDirExecute'#0#0#0#11
+'Options'#11#15'ofFileMustExist'#14'ofEnableSizing'#12'ofViewDetail'#0#4'lef' +'TOpenDialog'#2'OD'#6'Filter'#6#28'WSDL Files ( *.wsdl )|*.wsdl'#11'FilterIn'
,'t'#3#16#1#3'top'#2' '#0#0#22'TSelectDirectoryDialog'#3'SDD'#11'FilterIndex' ,'dex'#2#0#7'Options'#11#15'ofFileMustExist'#14'ofEnableSizing'#12'ofViewDeta'
+#2#0#4'left'#3#224#0#3'top'#3#176#0#0#0#0 +'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 type
TGenOption = ( TGenOption = (
goInterface, goInterfaceALL, xgoInterface, xgoInterfaceALL,
goProxy, goImp, goBinder, xgoProxy, xgoImp, xgoBinder,
goWrappedParameter, goDocAsComments xgoWrappedParameter, xgoDocAsComments, xgoGenerateObjectCollection
); );
TGenOptions = set of TGenOption; TGenOptions = set of TGenOption;
@@ -31,6 +31,7 @@ type
Button2: TButton; Button2: TButton;
Button3: TButton; Button3: TButton;
Button4: TButton; Button4: TButton;
edtGenCollection : TCheckBox;
edtDocAsComments : TCheckBox; edtDocAsComments : TCheckBox;
edtAddToProject : TCheckBox; edtAddToProject : TCheckBox;
edtOptionIntfALL: TCheckBox; edtOptionIntfALL: TCheckBox;
@@ -73,7 +74,7 @@ uses DOM, XMLRead, pastree, pascal_parser_intf, wsdl_parser, source_utils,
{$IFDEF WST_IDE},LazIDEIntf{$ENDIF}; {$IFDEF WST_IDE},LazIDEIntf{$ENDIF};
type type
TSourceType = goInterface .. goBinder; TSourceType = xgoInterface .. xgoBinder;
TSourceTypes = set of TSourceType; TSourceTypes = set of TSourceType;
function ParseWsdlFile( function ParseWsdlFile(
@@ -114,8 +115,7 @@ function GenerateSource(
const AOutputType : TOutputType; const AOutputType : TOutputType;
const AOutPath : string; const AOutPath : string;
const ANotifier : TOnParserMessage; const ANotifier : TOnParserMessage;
const AWrappedPrm, const AGenOptions : TGenOptions
ADocAsComment: Boolean
) : ISourceManager; ) : ISourceManager;
procedure Notify(const AMsg : string); procedure Notify(const AMsg : string);
@@ -132,7 +132,7 @@ var
rsrcStrm : TMemoryStream; rsrcStrm : TMemoryStream;
wrappedParams : Boolean; wrappedParams : Boolean;
begin begin
wrappedParams := AWrappedPrm; wrappedParams := ( xgoWrappedParameter in AGenOptions );
Result := CreateSourceManager(); Result := CreateSourceManager();
rsrcStrm := nil; rsrcStrm := nil;
mtdaFS := nil; mtdaFS := nil;
@@ -140,18 +140,20 @@ begin
g := Nil; g := Nil;
try try
if ( ( [goInterface,goInterfaceALL] * AOptions ) <> [] ) then begin if ( ( [xgoInterface,xgoInterfaceALL] * AOptions ) <> [] ) then begin
Notify('Interface file generation...'); Notify('Interface file generation...');
g := TInftGenerator.Create(ASymbolTable,Result); g := TInftGenerator.Create(ASymbolTable,Result);
if wrappedParams then if wrappedParams then
g.Options := g.Options + [goDocumentWrappedParameter]; g.Options := g.Options + [goDocumentWrappedParameter];
if ADocAsComment then if ( xgoDocAsComments in AGenOptions ) then
g.Options := g.Options + [goGenerateDocAsComments]; g.Options := g.Options + [goGenerateDocAsComments];
if ( xgoGenerateObjectCollection in AGenOptions ) then
g.Options := g.Options + [goGenerateObjectCollection];
g.Execute(); g.Execute();
FreeAndNil(g); FreeAndNil(g);
end; end;
if ( goProxy in AOptions ) then begin if ( xgoProxy in AOptions ) then begin
Notify('Proxy file generation...'); Notify('Proxy file generation...');
g := TProxyGenerator.Create(ASymbolTable,Result); g := TProxyGenerator.Create(ASymbolTable,Result);
if wrappedParams then if wrappedParams then
@@ -160,7 +162,7 @@ begin
FreeAndNil(g); FreeAndNil(g);
end; end;
if ( goBinder in AOptions ) then begin if ( xgoBinder in AOptions ) then begin
Notify('Binder file generation...'); Notify('Binder file generation...');
g := TBinderGenerator.Create(ASymbolTable,Result); g := TBinderGenerator.Create(ASymbolTable,Result);
if wrappedParams then if wrappedParams then
@@ -169,14 +171,14 @@ begin
FreeAndNil(g); FreeAndNil(g);
end; end;
if ( goImp in AOptions ) then begin if ( xgoImp in AOptions ) then begin
Notify('Implementation file generation...'); Notify('Implementation file generation...');
g := TImplementationGenerator.Create(ASymbolTable,Result); g := TImplementationGenerator.Create(ASymbolTable,Result);
g.Execute(); g.Execute();
FreeAndNil(g); FreeAndNil(g);
end; end;
if ( AOutputType = otFileSystem ) and ( [goBinder,goProxy]*AOptions <> [] ) then begin if ( AOutputType = otFileSystem ) and ( [xgoBinder,xgoProxy]*AOptions <> [] ) then begin
Notify('Metadata file generation...'); Notify('Metadata file generation...');
mtdaFS := TMemoryStream.Create(); mtdaFS := TMemoryStream.Create();
mg := TMetadataGenerator.Create(ASymbolTable,CreateBinaryWriter(mtdaFS)); mg := TMetadataGenerator.Create(ASymbolTable,CreateBinaryWriter(mtdaFS));
@@ -233,21 +235,23 @@ function TformImport.GetOptions(): TGenOptions;
begin begin
Result := []; Result := [];
if edtOptionIntf.Checked then begin if edtOptionIntf.Checked then begin
Result := Result + [goInterface]; Result := Result + [xgoInterface];
if edtOptionIntfALL.Checked then begin if edtOptionIntfALL.Checked then begin
Result := Result + [goInterfaceALL]; Result := Result + [xgoInterfaceALL];
end; end;
end; end;
if edtOptionProxy.Checked then if edtOptionProxy.Checked then
Include(Result,goProxy); Include(Result,xgoProxy);
if edtOptionBinder.Checked then if edtOptionBinder.Checked then
Include(Result,goBinder); Include(Result,xgoBinder);
if edtOptionImp.Checked then if edtOptionImp.Checked then
Include(Result,goImp); Include(Result,xgoImp);
if edtOptionWrappedParams.Checked then if edtOptionWrappedParams.Checked then
Include(Result,goWrappedParameter); Include(Result,xgoWrappedParameter);
if edtDocAsComments.Checked then if edtDocAsComments.Checked then
Include(Result,goDocAsComments); Include(Result,xgoDocAsComments);
if edtGenCollection.Checked then
Include(Result,xgoGenerateObjectCollection);
end; end;
procedure TformImport.actOpenDirExecute(Sender: TObject); procedure TformImport.actOpenDirExecute(Sender: TObject);
@@ -263,7 +267,7 @@ procedure TformImport.actOKUpdate(Sender: TObject);
begin begin
TAction(Sender).Enabled := FileExists(edtInputFile.Text) and TAction(Sender).Enabled := FileExists(edtInputFile.Text) and
DirectoryExists(edtOutputDir.Text) and DirectoryExists(edtOutputDir.Text) and
( ( GetOptions() - [goWrappedParameter,goDocAsComments] ) <> [] ); ( ( GetOptions() - [xgoWrappedParameter,xgoDocAsComments] ) <> [] );
end; end;
procedure TformImport.actOKExecute(Sender: TObject); procedure TformImport.actOKExecute(Sender: TObject);
@@ -287,12 +291,11 @@ begin
tree := ParseWsdlFile(edtInputFile.Text,@ShowStatusMessage); tree := ParseWsdlFile(edtInputFile.Text,@ShowStatusMessage);
try try
genOptions := GetOptions(); genOptions := GetOptions();
fileSet := genOptions - [goWrappedParameter,goDocAsComments]; fileSet := genOptions - [xgoWrappedParameter,xgoDocAsComments];
srcMgnr := GenerateSource( srcMgnr := GenerateSource(
tree,fileSet,otFileSystem,IncludeTrailingPathDelimiter(edtOutputDir.Text), tree,fileSet,otFileSystem,IncludeTrailingPathDelimiter(edtOutputDir.Text),
@ShowStatusMessage, @ShowStatusMessage,
(goWrappedParameter in genOptions), genOptions
(goDocAsComments in genOptions)
); );
ShowStatusMessage(mtInfo,''); ShowStatusMessage(mtInfo,'');
{$IFDEF WST_IDE} {$IFDEF WST_IDE}

View File

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

View File

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