diff --git a/wst/trunk/type_lib_edtr/edit_helper.pas b/wst/trunk/type_lib_edtr/edit_helper.pas index 8ee6c0826..979dc72d3 100644 --- a/wst/trunk/type_lib_edtr/edit_helper.pas +++ b/wst/trunk/type_lib_edtr/edit_helper.pas @@ -500,7 +500,8 @@ begin TPasAliasType(sym).DestType.InheritsFrom(TPasNativeSimpleType) ) ) - ) + ) and + ( not sym.InheritsFrom(TPasNativeSimpleContentClassType) ) then begin if ( ALs.IndexOfObject(sym) = -1 ) then begin ALs.AddObject(AContainer.GetExternalName(sym),sym); @@ -541,7 +542,7 @@ begin decList := mdl.InterfaceSection.Declarations; for j := 0 to Pred(decList.Count) do begin sym := TPasElement(decList[j]); - if sym.InheritsFrom(TPasType) then begin + if sym.InheritsFrom(TPasType) and ( not sym.InheritsFrom(TPasNativeSimpleContentClassType) ) then begin if ( ALs.IndexOfObject(sym) = -1 ) then begin ALs.AddObject(AContainer.GetExternalName(sym),sym); end; diff --git a/wst/trunk/type_lib_edtr/typ_lib_edtr.lpi b/wst/trunk/type_lib_edtr/typ_lib_edtr.lpi index 6eee8b27f..870d6618a 100644 --- a/wst/trunk/type_lib_edtr/typ_lib_edtr.lpi +++ b/wst/trunk/type_lib_edtr/typ_lib_edtr.lpi @@ -7,7 +7,7 @@ - + @@ -32,13 +32,13 @@ - + - + @@ -47,10 +47,10 @@ - - + + - + @@ -63,23 +63,25 @@ - - - + + + + - + + - - - - + + + + - + @@ -92,7 +94,7 @@ - + @@ -103,15 +105,17 @@ - + - - - + + + + + @@ -119,15 +123,17 @@ - + - - - + + + + + @@ -136,9 +142,11 @@ - - - + + + + + @@ -146,9 +154,11 @@ - - - + + + + + @@ -160,9 +170,11 @@ - - - + + + + + @@ -247,7 +259,7 @@ - + @@ -264,7 +276,7 @@ - + @@ -276,17 +288,19 @@ - - - + + + + + - - - + + + @@ -299,9 +313,9 @@ - - - + + + @@ -331,9 +345,11 @@ - - - + + + + + @@ -359,9 +375,9 @@ - - - + + + @@ -422,7 +438,7 @@ - + @@ -437,7 +453,7 @@ - + @@ -454,7 +470,7 @@ - + @@ -478,7 +494,7 @@ - + @@ -495,7 +511,7 @@ - + @@ -536,7 +552,7 @@ - + @@ -559,32 +575,134 @@ + + + + + + - + - - + + - - + + - - + + - - + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wst/trunk/type_lib_edtr/ufclassedit.lrs b/wst/trunk/type_lib_edtr/ufclassedit.lrs index 86ad357c9..360b48cf7 100644 --- a/wst/trunk/type_lib_edtr/ufclassedit.lrs +++ b/wst/trunk/type_lib_edtr/ufclassedit.lrs @@ -1,3 +1,5 @@ +{ Ceci est un fichier ressource généré automatiquement par Lazarus } + LazarusResources.Add('TfClassEdit','FORMDATA',[ 'TPF0'#11'TfClassEdit'#10'fClassEdit'#4'Left'#3#190#2#6'Height'#3'#'#2#3'Top' +#3#150#0#5'Width'#3#6#2#18'HorzScrollBar.Page'#3#5#2#18'VertScrollBar.Page'#3 diff --git a/wst/trunk/type_lib_edtr/ufclassedit.pas b/wst/trunk/type_lib_edtr/ufclassedit.pas index 26bdd7d93..bc4a3470e 100644 --- a/wst/trunk/type_lib_edtr/ufclassedit.pas +++ b/wst/trunk/type_lib_edtr/ufclassedit.pas @@ -164,14 +164,15 @@ begin sym := TPasElement(decList[j]); if sym.InheritsFrom(TPasType) and ( sym.InheritsFrom(TPasClassType) or - sym.InheritsFrom(TPasNativeSimpleType) or + sym.InheritsFrom(TPasNativeSimpleContentClassType) or ( sym.InheritsFrom(TPasAliasType) and Assigned(TPasAliasType(sym).DestType) and ( TPasAliasType(sym).DestType.InheritsFrom(TPasClassType) or TPasAliasType(sym).DestType.InheritsFrom(TPasNativeSimpleType) ) ) - ) + ) and + ( not sym.InheritsFrom(TPasNativeSimpleType) ) then begin if ( ALs.IndexOfObject(sym) = -1 ) then begin ALs.AddObject(AContainer.GetExternalName(sym),sym); @@ -286,6 +287,7 @@ begin if ( FOldAncestor <> nil ) then FOldAncestor.Release(); locObj.AncestorType := trueParent; + locObj.AncestorType.AddRef(); end; end; @@ -301,6 +303,7 @@ begin FObject := AObject; if ( UpdateType = etCreate ) and ( FObject = nil ) then begin FObject := TPasClassType(FSymbolTable.CreateElement(TPasClassType,'new_class',FSymbolTable.CurrentModule.InterfaceSection,visDefault,'',0)); + FObject.ObjKind := okClass; FSymbolTable.CurrentModule.InterfaceSection.Declarations.Add(FObject); FSymbolTable.CurrentModule.InterfaceSection.Types.Add(FObject); FSymbolTable.CurrentModule.InterfaceSection.Classes.Add(FObject); diff --git a/wst/trunk/type_lib_edtr/ufpropedit.lfm b/wst/trunk/type_lib_edtr/ufpropedit.lfm index a099556eb..1a317b5f7 100644 --- a/wst/trunk/type_lib_edtr/ufpropedit.lfm +++ b/wst/trunk/type_lib_edtr/ufpropedit.lfm @@ -1,20 +1,20 @@ object fPropEdit: TfPropEdit Left = 306 - Height = 272 + Height = 326 Top = 266 Width = 324 HorzScrollBar.Page = 323 - VertScrollBar.Page = 271 + VertScrollBar.Page = 325 ActiveControl = Button1 BorderIcons = [biSystemMenu] BorderStyle = bsDialog Caption = 'fPropEdit' - ClientHeight = 272 + ClientHeight = 326 ClientWidth = 324 Position = poDesktopCenter object Panel1: TPanel Height = 50 - Top = 222 + Top = 276 Width = 324 Align = alBottom ClientHeight = 50 @@ -45,7 +45,7 @@ object fPropEdit: TfPropEdit end end object PageControl1: TPageControl - Height = 222 + Height = 276 Width = 324 ActivePage = TabSheet1 Align = alClient @@ -53,7 +53,7 @@ object fPropEdit: TfPropEdit TabOrder = 1 object TabSheet1: TTabSheet Caption = 'Property' - ClientHeight = 196 + ClientHeight = 250 ClientWidth = 316 object Label1: TLabel Left = 20 @@ -97,6 +97,15 @@ object fPropEdit: TfPropEdit Caption = 'Attribute Property' TabOrder = 2 end + object edtOptional: TCheckBox + Left = 20 + Height = 13 + Top = 218 + Width = 100 + Caption = 'Optional property' + Font.Style = [fsItalic] + TabOrder = 3 + end end end object ActionList1: TActionList diff --git a/wst/trunk/type_lib_edtr/ufpropedit.lrs b/wst/trunk/type_lib_edtr/ufpropedit.lrs index 963cd9ee8..9fcef8e61 100644 --- a/wst/trunk/type_lib_edtr/ufpropedit.lrs +++ b/wst/trunk/type_lib_edtr/ufpropedit.lrs @@ -1,12 +1,12 @@ { Ceci est un fichier ressource généré automatiquement par Lazarus } LazarusResources.Add('TfPropEdit','FORMDATA',[ - 'TPF0'#10'TfPropEdit'#9'fPropEdit'#4'Left'#3'2'#1#6'Height'#3#16#1#3'Top'#3#10 - +#1#5'Width'#3'D'#1#18'HorzScrollBar.Page'#3'C'#1#18'VertScrollBar.Page'#3#15 + 'TPF0'#10'TfPropEdit'#9'fPropEdit'#4'Left'#3'2'#1#6'Height'#3'F'#1#3'Top'#3#10 + +#1#5'Width'#3'D'#1#18'HorzScrollBar.Page'#3'C'#1#18'VertScrollBar.Page'#3'E' +#1#13'ActiveControl'#7#7'Button1'#11'BorderIcons'#11#12'biSystemMenu'#0#11'B' - +'orderStyle'#7#8'bsDialog'#7'Caption'#6#9'fPropEdit'#12'ClientHeight'#3#16#1 + +'orderStyle'#7#8'bsDialog'#7'Caption'#6#9'fPropEdit'#12'ClientHeight'#3'F'#1 +#11'ClientWidth'#3'D'#1#8'Position'#7#15'poDesktopCenter'#0#6'TPanel'#6'Pane' - +'l1'#6'Height'#2'2'#3'Top'#3#222#0#5'Width'#3'D'#1#5'Align'#7#8'alBottom'#12 + +'l1'#6'Height'#2'2'#3'Top'#3#20#1#5'Width'#3'D'#1#5'Align'#7#8'alBottom'#12 +'ClientHeight'#2'2'#11'ClientWidth'#3'D'#1#8'TabOrder'#2#0#0#7'TButton'#7'Bu' +'tton1'#4'Left'#3#236#0#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'#7'Anchors' +#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Ca' @@ -14,9 +14,9 @@ LazarusResources.Add('TfPropEdit','FORMDATA',[ +'ton2'#4'Left'#3#146#0#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'#6'Action'#7#5 +'actOK'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4 +#7'Default'#9#8'TabOrder'#2#1#0#0#0#12'TPageControl'#12'PageControl1'#6'Heig' - +'ht'#3#222#0#5'Width'#3'D'#1#10'ActivePage'#7#9'TabSheet1'#5'Align'#7#8'alCl' - +'ient'#8'TabIndex'#2#0#8'TabOrder'#2#1#0#9'TTabSheet'#9'TabSheet1'#7'Caption' - +#6#8'Property'#12'ClientHeight'#3#196#0#11'ClientWidth'#3'<'#1#0#6'TLabel'#6 + +'ht'#3#20#1#5'Width'#3'D'#1#10'ActivePage'#7#9'TabSheet1'#5'Align'#7#8'alCli' + +'ent'#8'TabIndex'#2#0#8'TabOrder'#2#1#0#9'TTabSheet'#9'TabSheet1'#7'Caption' + +#6#8'Property'#12'ClientHeight'#3#250#0#11'ClientWidth'#3'<'#1#0#6'TLabel'#6 +'Label1'#4'Left'#2#20#6'Height'#2#14#3'Top'#2#24#5'Width'#2#28#7'Caption'#6#4 +'Name'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#20#6'Height'#2#14 +#3'Top'#2'b'#5'Width'#2#25#7'Caption'#6#4'Type'#11'ParentColor'#8#0#0#5'TEdi' @@ -26,7 +26,10 @@ LazarusResources.Add('TfPropEdit','FORMDATA',[ +'actSearchAscending'#0#10'ItemHeight'#2#13#9'MaxLength'#2#0#5'Style'#7#14'cs' +'DropDownList'#8'TabOrder'#2#1#0#0#9'TCheckBox'#12'edtAttribute'#4'Left'#2#20 +#6'Height'#2#13#3'Top'#3#170#0#5'Width'#2'e'#7'Caption'#6#18'Attribute Prope' - +'rty'#8'TabOrder'#2#2#0#0#0#0#11'TActionList'#11'ActionList1'#4'left'#2'h'#3 - +'top'#2'h'#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#18'DisableIfNoHandler'#9 - +#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#0#0 + +'rty'#8'TabOrder'#2#2#0#0#9'TCheckBox'#11'edtOptional'#4'Left'#2#20#6'Height' + +#2#13#3'Top'#3#218#0#5'Width'#2'd'#7'Caption'#6#17'Optional property'#10'Fon' + +'t.Style'#11#8'fsItalic'#0#8'TabOrder'#2#3#0#0#0#0#11'TActionList'#11'Action' + +'List1'#4'left'#2'h'#3'top'#2'h'#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#18 + +'DisableIfNoHandler'#9#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actO' + +'KUpdate'#0#0#0#0 ]); diff --git a/wst/trunk/type_lib_edtr/ufpropedit.pas b/wst/trunk/type_lib_edtr/ufpropedit.pas index 6e8f3a252..ffe01a5b1 100644 --- a/wst/trunk/type_lib_edtr/ufpropedit.pas +++ b/wst/trunk/type_lib_edtr/ufpropedit.pas @@ -32,6 +32,7 @@ type Button1: TButton; Button2: TButton; Button4: TButton; + edtOptional : TCheckBox; edtAttribute: TCheckBox; edtType: TComboBox; edtName: TEdit; @@ -130,6 +131,7 @@ begin edtName.Text := FSymbolTable.GetExternalName(FObject); edtType.ItemIndex := edtType.Items.IndexOfObject(FObject.VarType); edtAttribute.Checked := FSymbolTable.IsAttributeProperty(FObject); + edtOptional.Checked := AnsiSameText('Has',Copy(FObject.StoredAccessorName,1,3)) ; end else begin Self.Caption := 'New'; end; @@ -151,6 +153,7 @@ begin FObject := locObj; locObj.VarType := propType; locObj.VarType.AddRef(); + ClassObject.Members.Add(FObject); end else begin locObj := FObject; if ( propType <> locObj.VarType ) then begin @@ -161,6 +164,12 @@ begin end; locObj.Name := typIntName; end; + if edtOptional.Checked then + locObj.StoredAccessorName := 'Has' + locObj.Name + else + locObj.StoredAccessorName := 'True'; + locObj.ReadAccessorName := 'F' + locObj.Name; + locObj.WriteAccessorName := 'F' + locObj.Name; FSymbolTable.RegisterExternalAlias(locObj,typExtName); //if ( edtAttribute.Checked <> FSymbolTable.IsAttributeProperty(locObj) ) then FSymbolTable.SetPropertyAsAttribute(locObj,edtAttribute.Checked); diff --git a/wst/trunk/type_lib_edtr/umain.lfm b/wst/trunk/type_lib_edtr/umain.lfm deleted file mode 100644 index a8a331303..000000000 --- a/wst/trunk/type_lib_edtr/umain.lfm +++ /dev/null @@ -1,1719 +0,0 @@ -object fMain: TfMain - Left = 114 - Height = 644 - Top = 209 - Width = 833 - HorzScrollBar.Page = 832 - VertScrollBar.Page = 623 - ActiveControl = trvSchema - Caption = '[Web Services Toolkit ] Type Library Editor' - ClientHeight = 624 - ClientWidth = 833 - Menu = MainMenu1 - OnShow = FormShow - Position = poDesktopCenter - object SB: TStatusBar - Height = 23 - Top = 601 - Width = 833 - Panels = < - item - Width = 200 - end - item - Width = 50 - end> - SimplePanel = False - end - object Panel1: TPanel - Height = 601 - Width = 314 - Align = alLeft - ClientHeight = 601 - ClientWidth = 314 - TabOrder = 0 - object trvSchema: TTreeView - Left = 1 - Height = 599 - Top = 1 - Width = 312 - Align = alClient - DefaultItemHeight = 15 - PopupMenu = PopupMenu1 - TabOrder = 0 - end - end - object Panel2: TPanel - Left = 322 - Height = 601 - Width = 511 - Align = alClient - ClientHeight = 601 - ClientWidth = 511 - TabOrder = 1 - object PC: TPageControl - Left = 1 - Height = 599 - Top = 1 - Width = 509 - ActivePage = tsInterface - Align = alClient - TabIndex = 0 - TabOrder = 0 - object tsInterface: TTabSheet - Caption = '&Interface' - ClientHeight = 573 - ClientWidth = 501 - object srcInterface: TSynEdit - Height = 573 - Width = 501 - Align = alClient - Font.CharSet = ANSI_CHARSET - Font.Color = clBlack - Font.Height = -20 - Font.Name = 'Courier' - Font.Pitch = fpFixed - ParentColor = False - PopupMenu = PopupMenu2 - TabOrder = 0 - BookMarkOptions.Xoffset = 81 - Gutter.DigitCount = 5 - Gutter.ShowLineNumbers = True - Gutter.ShowCodeFolding = True - Gutter.CodeFoldingWidth = 14 - Highlighter = SynPasSyn1 - Keystrokes = < - item - Command = 3 - ShortCut = 38 - end - item - Command = 103 - ShortCut = 8230 - end - item - Command = 211 - ShortCut = 16422 - end - item - Command = 4 - ShortCut = 40 - end - item - Command = 104 - ShortCut = 8232 - end - item - Command = 212 - ShortCut = 16424 - end - item - Command = 1 - ShortCut = 37 - end - item - Command = 101 - ShortCut = 8229 - end - item - Command = 5 - ShortCut = 16421 - end - item - Command = 105 - ShortCut = 24613 - end - item - Command = 2 - ShortCut = 39 - end - item - Command = 102 - ShortCut = 8231 - end - item - Command = 6 - ShortCut = 16423 - end - item - Command = 106 - ShortCut = 24615 - end - item - Command = 10 - ShortCut = 34 - end - item - Command = 110 - ShortCut = 8226 - end - item - Command = 14 - ShortCut = 16418 - end - item - Command = 114 - ShortCut = 24610 - end - item - Command = 9 - ShortCut = 33 - end - item - Command = 109 - ShortCut = 8225 - end - item - Command = 13 - ShortCut = 16417 - end - item - Command = 113 - ShortCut = 24609 - end - item - Command = 7 - ShortCut = 36 - end - item - Command = 107 - ShortCut = 8228 - end - item - Command = 15 - ShortCut = 16420 - end - item - Command = 115 - ShortCut = 24612 - end - item - Command = 8 - ShortCut = 35 - end - item - Command = 108 - ShortCut = 8227 - end - item - Command = 16 - ShortCut = 16419 - end - item - Command = 116 - ShortCut = 24611 - end - item - Command = 223 - ShortCut = 45 - end - item - Command = 201 - ShortCut = 16429 - end - item - Command = 604 - ShortCut = 8237 - end - item - Command = 502 - ShortCut = 46 - end - item - Command = 603 - ShortCut = 8238 - end - item - Command = 501 - ShortCut = 8 - end - item - Command = 501 - ShortCut = 8200 - end - item - Command = 504 - ShortCut = 16392 - end - item - Command = 601 - ShortCut = 32776 - end - item - Command = 602 - ShortCut = 40968 - end - item - Command = 509 - ShortCut = 13 - end - item - Command = 199 - ShortCut = 16449 - end - item - Command = 201 - ShortCut = 16451 - end - item - Command = 610 - ShortCut = 24649 - end - item - Command = 509 - ShortCut = 16461 - end - item - Command = 510 - ShortCut = 16462 - end - item - Command = 503 - ShortCut = 16468 - end - item - Command = 611 - ShortCut = 24661 - end - item - Command = 604 - ShortCut = 16470 - end - item - Command = 603 - ShortCut = 16472 - end - item - Command = 507 - ShortCut = 16473 - end - item - Command = 506 - ShortCut = 24665 - end - item - Command = 601 - ShortCut = 16474 - end - item - Command = 602 - ShortCut = 24666 - end - item - Command = 301 - ShortCut = 16432 - end - item - Command = 302 - ShortCut = 16433 - end - item - Command = 303 - ShortCut = 16434 - end - item - Command = 304 - ShortCut = 16435 - end - item - Command = 305 - ShortCut = 16436 - end - item - Command = 306 - ShortCut = 16437 - end - item - Command = 307 - ShortCut = 16438 - end - item - Command = 308 - ShortCut = 16439 - end - item - Command = 309 - ShortCut = 16440 - end - item - Command = 310 - ShortCut = 16441 - end - item - Command = 351 - ShortCut = 24624 - end - item - Command = 352 - ShortCut = 24625 - end - item - Command = 353 - ShortCut = 24626 - end - item - Command = 354 - ShortCut = 24627 - end - item - Command = 355 - ShortCut = 24628 - end - item - Command = 356 - ShortCut = 24629 - end - item - Command = 357 - ShortCut = 24630 - end - item - Command = 358 - ShortCut = 24631 - end - item - Command = 359 - ShortCut = 24632 - end - item - Command = 360 - ShortCut = 24633 - end - item - Command = 231 - ShortCut = 24654 - end - item - Command = 232 - ShortCut = 24643 - end - item - Command = 233 - ShortCut = 24652 - end - item - Command = 612 - ShortCut = 9 - end - item - Command = 613 - ShortCut = 8201 - end - item - Command = 250 - ShortCut = 24642 - end> - ReadOnly = True - end - end - object tsProxy: TTabSheet - Caption = '&Proxy' - ClientHeight = 573 - ClientWidth = 501 - object srcProxy: TSynEdit - Height = 573 - Width = 501 - Align = alClient - Font.CharSet = ANSI_CHARSET - Font.Color = clBlack - Font.Height = -20 - Font.Name = 'Courier' - Font.Pitch = fpFixed - ParentColor = False - 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 = < - item - Command = 3 - ShortCut = 38 - end - item - Command = 103 - ShortCut = 8230 - end - item - Command = 211 - ShortCut = 16422 - end - item - Command = 4 - ShortCut = 40 - end - item - Command = 104 - ShortCut = 8232 - end - item - Command = 212 - ShortCut = 16424 - end - item - Command = 1 - ShortCut = 37 - end - item - Command = 101 - ShortCut = 8229 - end - item - Command = 5 - ShortCut = 16421 - end - item - Command = 105 - ShortCut = 24613 - end - item - Command = 2 - ShortCut = 39 - end - item - Command = 102 - ShortCut = 8231 - end - item - Command = 6 - ShortCut = 16423 - end - item - Command = 106 - ShortCut = 24615 - end - item - Command = 10 - ShortCut = 34 - end - item - Command = 110 - ShortCut = 8226 - end - item - Command = 14 - ShortCut = 16418 - end - item - Command = 114 - ShortCut = 24610 - end - item - Command = 9 - ShortCut = 33 - end - item - Command = 109 - ShortCut = 8225 - end - item - Command = 13 - ShortCut = 16417 - end - item - Command = 113 - ShortCut = 24609 - end - item - Command = 7 - ShortCut = 36 - end - item - Command = 107 - ShortCut = 8228 - end - item - Command = 15 - ShortCut = 16420 - end - item - Command = 115 - ShortCut = 24612 - end - item - Command = 8 - ShortCut = 35 - end - item - Command = 108 - ShortCut = 8227 - end - item - Command = 16 - ShortCut = 16419 - end - item - Command = 116 - ShortCut = 24611 - end - item - Command = 223 - ShortCut = 45 - end - item - Command = 201 - ShortCut = 16429 - end - item - Command = 604 - ShortCut = 8237 - end - item - Command = 502 - ShortCut = 46 - end - item - Command = 603 - ShortCut = 8238 - end - item - Command = 501 - ShortCut = 8 - end - item - Command = 501 - ShortCut = 8200 - end - item - Command = 504 - ShortCut = 16392 - end - item - Command = 601 - ShortCut = 32776 - end - item - Command = 602 - ShortCut = 40968 - end - item - Command = 509 - ShortCut = 13 - end - item - Command = 199 - ShortCut = 16449 - end - item - Command = 201 - ShortCut = 16451 - end - item - Command = 610 - ShortCut = 24649 - end - item - Command = 509 - ShortCut = 16461 - end - item - Command = 510 - ShortCut = 16462 - end - item - Command = 503 - ShortCut = 16468 - end - item - Command = 611 - ShortCut = 24661 - end - item - Command = 604 - ShortCut = 16470 - end - item - Command = 603 - ShortCut = 16472 - end - item - Command = 507 - ShortCut = 16473 - end - item - Command = 506 - ShortCut = 24665 - end - item - Command = 601 - ShortCut = 16474 - end - item - Command = 602 - ShortCut = 24666 - end - item - Command = 301 - ShortCut = 16432 - end - item - Command = 302 - ShortCut = 16433 - end - item - Command = 303 - ShortCut = 16434 - end - item - Command = 304 - ShortCut = 16435 - end - item - Command = 305 - ShortCut = 16436 - end - item - Command = 306 - ShortCut = 16437 - end - item - Command = 307 - ShortCut = 16438 - end - item - Command = 308 - ShortCut = 16439 - end - item - Command = 309 - ShortCut = 16440 - end - item - Command = 310 - ShortCut = 16441 - end - item - Command = 351 - ShortCut = 24624 - end - item - Command = 352 - ShortCut = 24625 - end - item - Command = 353 - ShortCut = 24626 - end - item - Command = 354 - ShortCut = 24627 - end - item - Command = 355 - ShortCut = 24628 - end - item - Command = 356 - ShortCut = 24629 - end - item - Command = 357 - ShortCut = 24630 - end - item - Command = 358 - ShortCut = 24631 - end - item - Command = 359 - ShortCut = 24632 - end - item - Command = 360 - ShortCut = 24633 - end - item - Command = 231 - ShortCut = 24654 - end - item - Command = 232 - ShortCut = 24643 - end - item - Command = 233 - ShortCut = 24652 - end - item - Command = 612 - ShortCut = 9 - end - item - Command = 613 - ShortCut = 8201 - end - item - Command = 250 - ShortCut = 24642 - end> - ReadOnly = True - SelectedColor.OnChange = nil - end - end - object tsImp: TTabSheet - Caption = 'Im&plementation Skeleton' - ClientHeight = 573 - ClientWidth = 501 - object srcImp: TSynEdit - Height = 573 - Width = 501 - Align = alClient - Font.CharSet = ANSI_CHARSET - Font.Color = clBlack - Font.Height = -20 - Font.Name = 'Courier' - Font.Pitch = fpFixed - ParentColor = False - 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 = < - item - Command = 3 - ShortCut = 38 - end - item - Command = 103 - ShortCut = 8230 - end - item - Command = 211 - ShortCut = 16422 - end - item - Command = 4 - ShortCut = 40 - end - item - Command = 104 - ShortCut = 8232 - end - item - Command = 212 - ShortCut = 16424 - end - item - Command = 1 - ShortCut = 37 - end - item - Command = 101 - ShortCut = 8229 - end - item - Command = 5 - ShortCut = 16421 - end - item - Command = 105 - ShortCut = 24613 - end - item - Command = 2 - ShortCut = 39 - end - item - Command = 102 - ShortCut = 8231 - end - item - Command = 6 - ShortCut = 16423 - end - item - Command = 106 - ShortCut = 24615 - end - item - Command = 10 - ShortCut = 34 - end - item - Command = 110 - ShortCut = 8226 - end - item - Command = 14 - ShortCut = 16418 - end - item - Command = 114 - ShortCut = 24610 - end - item - Command = 9 - ShortCut = 33 - end - item - Command = 109 - ShortCut = 8225 - end - item - Command = 13 - ShortCut = 16417 - end - item - Command = 113 - ShortCut = 24609 - end - item - Command = 7 - ShortCut = 36 - end - item - Command = 107 - ShortCut = 8228 - end - item - Command = 15 - ShortCut = 16420 - end - item - Command = 115 - ShortCut = 24612 - end - item - Command = 8 - ShortCut = 35 - end - item - Command = 108 - ShortCut = 8227 - end - item - Command = 16 - ShortCut = 16419 - end - item - Command = 116 - ShortCut = 24611 - end - item - Command = 223 - ShortCut = 45 - end - item - Command = 201 - ShortCut = 16429 - end - item - Command = 604 - ShortCut = 8237 - end - item - Command = 502 - ShortCut = 46 - end - item - Command = 603 - ShortCut = 8238 - end - item - Command = 501 - ShortCut = 8 - end - item - Command = 501 - ShortCut = 8200 - end - item - Command = 504 - ShortCut = 16392 - end - item - Command = 601 - ShortCut = 32776 - end - item - Command = 602 - ShortCut = 40968 - end - item - Command = 509 - ShortCut = 13 - end - item - Command = 199 - ShortCut = 16449 - end - item - Command = 201 - ShortCut = 16451 - end - item - Command = 610 - ShortCut = 24649 - end - item - Command = 509 - ShortCut = 16461 - end - item - Command = 510 - ShortCut = 16462 - end - item - Command = 503 - ShortCut = 16468 - end - item - Command = 611 - ShortCut = 24661 - end - item - Command = 604 - ShortCut = 16470 - end - item - Command = 603 - ShortCut = 16472 - end - item - Command = 507 - ShortCut = 16473 - end - item - Command = 506 - ShortCut = 24665 - end - item - Command = 601 - ShortCut = 16474 - end - item - Command = 602 - ShortCut = 24666 - end - item - Command = 301 - ShortCut = 16432 - end - item - Command = 302 - ShortCut = 16433 - end - item - Command = 303 - ShortCut = 16434 - end - item - Command = 304 - ShortCut = 16435 - end - item - Command = 305 - ShortCut = 16436 - end - item - Command = 306 - ShortCut = 16437 - end - item - Command = 307 - ShortCut = 16438 - end - item - Command = 308 - ShortCut = 16439 - end - item - Command = 309 - ShortCut = 16440 - end - item - Command = 310 - ShortCut = 16441 - end - item - Command = 351 - ShortCut = 24624 - end - item - Command = 352 - ShortCut = 24625 - end - item - Command = 353 - ShortCut = 24626 - end - item - Command = 354 - ShortCut = 24627 - end - item - Command = 355 - ShortCut = 24628 - end - item - Command = 356 - ShortCut = 24629 - end - item - Command = 357 - ShortCut = 24630 - end - item - Command = 358 - ShortCut = 24631 - end - item - Command = 359 - ShortCut = 24632 - end - item - Command = 360 - ShortCut = 24633 - end - item - Command = 231 - ShortCut = 24654 - end - item - Command = 232 - ShortCut = 24643 - end - item - Command = 233 - ShortCut = 24652 - end - item - Command = 612 - ShortCut = 9 - end - item - Command = 613 - ShortCut = 8201 - end - item - Command = 250 - ShortCut = 24642 - end> - ReadOnly = True - SelectedColor.OnChange = nil - end - end - object tsBinder: TTabSheet - Caption = '&Binder' - ClientHeight = 573 - ClientWidth = 501 - object srcBinder: TSynEdit - Height = 573 - Width = 501 - Align = alClient - Font.CharSet = ANSI_CHARSET - Font.Color = clBlack - Font.Height = -20 - Font.Name = 'Courier' - Font.Pitch = fpFixed - ParentColor = False - 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 = < - item - Command = 3 - ShortCut = 38 - end - item - Command = 103 - ShortCut = 8230 - end - item - Command = 211 - ShortCut = 16422 - end - item - Command = 4 - ShortCut = 40 - end - item - Command = 104 - ShortCut = 8232 - end - item - Command = 212 - ShortCut = 16424 - end - item - Command = 1 - ShortCut = 37 - end - item - Command = 101 - ShortCut = 8229 - end - item - Command = 5 - ShortCut = 16421 - end - item - Command = 105 - ShortCut = 24613 - end - item - Command = 2 - ShortCut = 39 - end - item - Command = 102 - ShortCut = 8231 - end - item - Command = 6 - ShortCut = 16423 - end - item - Command = 106 - ShortCut = 24615 - end - item - Command = 10 - ShortCut = 34 - end - item - Command = 110 - ShortCut = 8226 - end - item - Command = 14 - ShortCut = 16418 - end - item - Command = 114 - ShortCut = 24610 - end - item - Command = 9 - ShortCut = 33 - end - item - Command = 109 - ShortCut = 8225 - end - item - Command = 13 - ShortCut = 16417 - end - item - Command = 113 - ShortCut = 24609 - end - item - Command = 7 - ShortCut = 36 - end - item - Command = 107 - ShortCut = 8228 - end - item - Command = 15 - ShortCut = 16420 - end - item - Command = 115 - ShortCut = 24612 - end - item - Command = 8 - ShortCut = 35 - end - item - Command = 108 - ShortCut = 8227 - end - item - Command = 16 - ShortCut = 16419 - end - item - Command = 116 - ShortCut = 24611 - end - item - Command = 223 - ShortCut = 45 - end - item - Command = 201 - ShortCut = 16429 - end - item - Command = 604 - ShortCut = 8237 - end - item - Command = 502 - ShortCut = 46 - end - item - Command = 603 - ShortCut = 8238 - end - item - Command = 501 - ShortCut = 8 - end - item - Command = 501 - ShortCut = 8200 - end - item - Command = 504 - ShortCut = 16392 - end - item - Command = 601 - ShortCut = 32776 - end - item - Command = 602 - ShortCut = 40968 - end - item - Command = 509 - ShortCut = 13 - end - item - Command = 199 - ShortCut = 16449 - end - item - Command = 201 - ShortCut = 16451 - end - item - Command = 610 - ShortCut = 24649 - end - item - Command = 509 - ShortCut = 16461 - end - item - Command = 510 - ShortCut = 16462 - end - item - Command = 503 - ShortCut = 16468 - end - item - Command = 611 - ShortCut = 24661 - end - item - Command = 604 - ShortCut = 16470 - end - item - Command = 603 - ShortCut = 16472 - end - item - Command = 507 - ShortCut = 16473 - end - item - Command = 506 - ShortCut = 24665 - end - item - Command = 601 - ShortCut = 16474 - end - item - Command = 602 - ShortCut = 24666 - end - item - Command = 301 - ShortCut = 16432 - end - item - Command = 302 - ShortCut = 16433 - end - item - Command = 303 - ShortCut = 16434 - end - item - Command = 304 - ShortCut = 16435 - end - item - Command = 305 - ShortCut = 16436 - end - item - Command = 306 - ShortCut = 16437 - end - item - Command = 307 - ShortCut = 16438 - end - item - Command = 308 - ShortCut = 16439 - end - item - Command = 309 - ShortCut = 16440 - end - item - Command = 310 - ShortCut = 16441 - end - item - Command = 351 - ShortCut = 24624 - end - item - Command = 352 - ShortCut = 24625 - end - item - Command = 353 - ShortCut = 24626 - end - item - Command = 354 - ShortCut = 24627 - end - item - Command = 355 - ShortCut = 24628 - end - item - Command = 356 - ShortCut = 24629 - end - item - Command = 357 - ShortCut = 24630 - end - item - Command = 358 - ShortCut = 24631 - end - item - Command = 359 - ShortCut = 24632 - end - item - Command = 360 - ShortCut = 24633 - end - item - Command = 231 - ShortCut = 24654 - end - item - Command = 232 - ShortCut = 24643 - end - item - Command = 233 - ShortCut = 24652 - end - item - Command = 612 - ShortCut = 9 - end - item - Command = 613 - ShortCut = 8201 - end - item - Command = 250 - ShortCut = 24642 - end> - ReadOnly = True - SelectedColor.OnChange = nil - end - end - object tsLog: TTabSheet - Caption = '&Log' - ClientHeight = 573 - ClientWidth = 501 - object mmoLog: TMemo - Height = 573 - Width = 501 - Align = alClient - Lines.Strings = ( - '' - ) - ScrollBars = ssBoth - TabOrder = 0 - end - end - end - end - object Splitter1: TSplitter - Left = 314 - Height = 601 - Width = 8 - Color = clBlack - ParentColor = False - end - object MainMenu1: TMainMenu - left = 352 - top = 112 - object MenuItem1: TMenuItem - Caption = '&Files' - object MenuItem16: TMenuItem - Action = actNewFile - OnClick = actNewFileExecute - end - object MenuItem2: TMenuItem - Caption = '-' - OnClick = actOpenFileExecute - end - object MenuItem5: TMenuItem - Action = actOpenFile - OnClick = actOpenFileExecute - end - object MenuItem3: TMenuItem - Action = actExport - OnClick = actExportExecute - end - object MenuItem7: TMenuItem - Action = actSaveAs - OnClick = actSaveAsExecute - end - object MenuItem17: TMenuItem - Caption = '-' - end - object MenuItem4: TMenuItem - Action = actExit - OnClick = actExitExecute - end - end - object MenuItem14: TMenuItem - Caption = '&View' - object MenuItem15: TMenuItem - Action = actRefreshView - OnClick = actRefreshViewExecute - end - object MenuItem29: TMenuItem - Caption = '-' - end - object MenuItem30: TMenuItem - Action = actFullExpand - OnClick = actFullExpandExecute - end - object MenuItem31: TMenuItem - Action = actFullCollapse - OnClick = actFullCollapseExecute - end - end - object MenuItem10: TMenuItem - Caption = '&Edition' - object MenuItem11: TMenuItem - Action = actEnumCreate - OnClick = actEnumCreateExecute - end - object MenuItem23: TMenuItem - Action = actCompoundCreate - OnClick = actCompoundCreateExecute - end - object MenuItem25: TMenuItem - Action = actIntfCreate - OnClick = actIntfCreateExecute - end - object MenuItem12: TMenuItem - Caption = '-' - end - object MenuItem13: TMenuItem - Action = actUpdateObject - Caption = 'Update Object' - OnClick = actUpdateObjectExecute - end - end - object MenuItem6: TMenuItem - Action = actAbout - Caption = '&About' - OnClick = actAboutExecute - end - end - object AL: TActionList - left = 344 - top = 56 - object actOpenFile: TAction - Caption = 'Open File' - DisableIfNoHandler = True - OnExecute = actOpenFileExecute - end - object actExit: TAction - Caption = 'Exit' - DisableIfNoHandler = True - OnExecute = actExitExecute - end - object actExport: TAction - Caption = 'Save generated files ...' - DisableIfNoHandler = True - OnExecute = actExportExecute - OnUpdate = actExportUpdate - end - object actAbout: TAction - Caption = 'About' - DisableIfNoHandler = True - OnExecute = actAboutExecute - end - object actSaveAs: TAction - Caption = 'Save As ...' - DisableIfNoHandler = True - OnExecute = actSaveAsExecute - OnUpdate = actExportUpdate - end - object actEnumCreate: TAction - Caption = 'Create Enumeration' - DisableIfNoHandler = True - OnExecute = actEnumCreateExecute - end - object actUpdateObject: TAction - Caption = 'Update' - DisableIfNoHandler = True - OnExecute = actUpdateObjectExecute - OnUpdate = actUpdateObjectUpdate - end - object actRefreshView: TAction - Caption = '&Refresh Views' - DisableIfNoHandler = True - OnExecute = actRefreshViewExecute - end - object actNewFile: TAction - Caption = 'New File' - DisableIfNoHandler = True - OnExecute = actNewFileExecute - end - object actCompoundCreate: TAction - Caption = 'Create Compound Type' - DisableIfNoHandler = True - OnExecute = actCompoundCreateExecute - end - object actIntfCreate: TAction - Caption = 'Create Interface' - DisableIfNoHandler = True - OnExecute = actIntfCreateExecute - end - object actFullExpand: TAction - Caption = 'Full expand' - DisableIfNoHandler = True - OnExecute = actFullExpandExecute - end - object actFullCollapse: TAction - Caption = 'Full Collapse' - DisableIfNoHandler = True - OnExecute = actFullCollapseExecute - end - end - object OD: TOpenDialog - Title = 'Ouvrir un fichier existant' - Filter = 'WDSL files(*.WSDL)|*.WSDL' - FilterIndex = 0 - InitialDir = '.\' - Options = [ofPathMustExist, ofFileMustExist, ofEnableSizing, ofViewDetail] - left = 409 - top = 88 - end - object SynPasSyn1: TSynPasSyn - Enabled = False - CommentAttri.Foreground = clBlue - CommentAttri.Style = [fsBold] - StringAttri.Foreground = clMaroon - SymbolAttri.Style = [fsBold] - DirectiveAttri.Foreground = clGreen - DirectiveAttri.Style = [fsBold] - NestedComments = True - left = 439 - top = 104 - end - object SDD: TSelectDirectoryDialog - Title = 'Select Directory' - FilterIndex = 0 - Options = [ofPathMustExist, ofEnableSizing, ofViewDetail] - left = 432 - top = 152 - end - object SD: TSaveDialog - Title = 'Enregistrer le fichier sous' - DefaultExt = '.WSDL' - Filter = 'WDSL files(*.WSDL)|*.WSDL' - FilterIndex = 0 - Options = [ofPathMustExist, ofEnableSizing, ofViewDetail] - left = 498 - top = 174 - end - object PopupMenu1: TPopupMenu - left = 384 - top = 264 - object MenuItem28: TMenuItem - Action = actFullExpand - OnClick = actFullExpandExecute - end - object MenuItem27: TMenuItem - Action = actFullCollapse - OnClick = actFullCollapseExecute - end - object MenuItem26: TMenuItem - Caption = '-' - end - object MenuItem8: TMenuItem - Action = actEnumCreate - OnClick = actEnumCreateExecute - end - object MenuItem21: TMenuItem - Action = actCompoundCreate - OnClick = actCompoundCreateExecute - end - object MenuItem24: TMenuItem - Action = actIntfCreate - OnClick = actIntfCreateExecute - end - object MenuItem22: TMenuItem - Caption = '-' - end - object MenuItem9: TMenuItem - Action = actUpdateObject - OnClick = actUpdateObjectExecute - end - end - object PopupMenu2: TPopupMenu - left = 528 - top = 235 - object MenuItem18: TMenuItem - Action = actRefreshView - OnClick = actRefreshViewExecute - end - object MenuItem19: TMenuItem - Caption = '-' - end - object MenuItem20: TMenuItem - Action = actExport - OnClick = actExportExecute - end - end -end diff --git a/wst/trunk/type_lib_edtr/umain.lrs b/wst/trunk/type_lib_edtr/umain.lrs deleted file mode 100644 index f15f1b903..000000000 --- a/wst/trunk/type_lib_edtr/umain.lrs +++ /dev/null @@ -1,303 +0,0 @@ -{ Ceci est un fichier ressource généré automatiquement par Lazarus } - -LazarusResources.Add('TfMain','FORMDATA',[ - 'TPF0'#6'TfMain'#5'fMain'#4'Left'#2'r'#6'Height'#3#132#2#3'Top'#3#209#0#5'Wid' - +'th'#3'A'#3#18'HorzScrollBar.Page'#3'@'#3#18'VertScrollBar.Page'#3'o'#2#13'A' - +'ctiveControl'#7#9'trvSchema'#7'Caption'#6'+[Web Services Toolkit ] Type Lib' - +'rary Editor'#12'ClientHeight'#3'p'#2#11'ClientWidth'#3'A'#3#4'Menu'#7#9'Mai' - +'nMenu1'#6'OnShow'#7#8'FormShow'#8'Position'#7#15'poDesktopCenter'#0#10'TSta' - +'tusBar'#2'SB'#6'Height'#2#23#3'Top'#3'Y'#2#5'Width'#3'A'#3#6'Panels'#14#1#5 - +'Width'#3#200#0#0#1#5'Width'#2'2'#0#0#11'SimplePanel'#8#0#0#6'TPanel'#6'Pane' - +'l1'#6'Height'#3'Y'#2#5'Width'#3':'#1#5'Align'#7#6'alLeft'#12'ClientHeight'#3 - +'Y'#2#11'ClientWidth'#3':'#1#8'TabOrder'#2#0#0#9'TTreeView'#9'trvSchema'#4'L' - +'eft'#2#1#6'Height'#3'W'#2#3'Top'#2#1#5'Width'#3'8'#1#5'Align'#7#8'alClient' - +#17'DefaultItemHeight'#2#15#9'PopupMenu'#7#10'PopupMenu1'#8'TabOrder'#2#0#0#0 - +#0#6'TPanel'#6'Panel2'#4'Left'#3'B'#1#6'Height'#3'Y'#2#5'Width'#3#255#1#5'Al' - +'ign'#7#8'alClient'#12'ClientHeight'#3'Y'#2#11'ClientWidth'#3#255#1#8'TabOrd' - +'er'#2#1#0#12'TPageControl'#2'PC'#4'Left'#2#1#6'Height'#3'W'#2#3'Top'#2#1#5 - +'Width'#3#253#1#10'ActivePage'#7#11'tsInterface'#5'Align'#7#8'alClient'#8'Ta' - +'bIndex'#2#0#8'TabOrder'#2#0#0#9'TTabSheet'#11'tsInterface'#7'Caption'#6#10 - +'&Interface'#12'ClientHeight'#3'='#2#11'ClientWidth'#3#245#1#0#8'TSynEdit'#12 - +'srcInterface'#6'Height'#3'='#2#5'Width'#3#245#1#5'Align'#7#8'alClient'#12'F' - +'ont.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.ShowC' - +'odeFolding'#9#23'Gutter.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'SynPasS' - +'yn1'#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'S' - +'hortCut'#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'Comman' - +'d'#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'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'Comma' - +'nd'#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'ShortCut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortC' - +'ut'#3'Y`'#0#1#7'Command'#3'Y'#2#8'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'S' - +'hortCut'#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'Comman' - +'d'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'Command'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'C' - +'ommand'#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'ShortCut'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCu' - +'t'#3'4`'#0#1#7'Command'#3'd'#1#8'ShortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'Sh' - +'ortCut'#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'Command'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Comm' - +'and'#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'#7'tsProxy'#7'Caption'#6#6'&Proxy'#12'C' - +'lientHeight'#3'='#2#11'ClientWidth'#3#245#1#0#8'TSynEdit'#8'srcProxy'#6'Hei' - +'ght'#3'='#2#5'Width'#3#245#1#5'Align'#7#8'alClient'#12'Font.CharSet'#7#12'A' - +'NSI_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'BookMarkOpt' - +'ions.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'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#22'SelectedColor.OnC' - +'hange'#13#0#0#0#9'TTabSheet'#5'tsImp'#7'Caption'#6#24'Im&plementation Skele' - +'ton'#12'ClientHeight'#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.N' - +'ame'#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'BookMa' - +'rkOptions.OnChange'#13#17'Gutter.DigitCount'#2#5#22'Gutter.ShowLineNumbers' - +#9#22'Gutter.ShowCodeFolding'#9#15'Gutter.OnChange'#13#23'Gutter.CodeFolding' - +'Width'#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#22'SelectedColor.OnC' - +'hange'#13#0#0#0#9'TTabSheet'#8'tsBinder'#7'Caption'#6#7'&Binder'#12'ClientH' - +'eight'#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_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'#24'BookMarkOptions' - +'.OnChange'#13#15'Gutter.AutoSize'#9#17'Gutter.DigitCount'#2#5#22'Gutter.Sho' - +'wLineNumbers'#9#22'Gutter.ShowCodeFolding'#9#15'Gutter.OnChange'#13#23'Gutt' - +'er.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#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'-'#7'OnClick'#7#18'actOpenFileExecute'#0#0#9'TMen' - +'uItem'#9'MenuItem5'#6'Action'#7#11'actOpenFile'#7'OnClick'#7#18'actOpenFile' - +'Execute'#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#9'actSaveAs' - +#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'OnClick'#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'OnClick'#7#21'ac' - +'tRefreshViewExecute'#0#0#9'TMenuItem'#10'MenuItem29'#7'Caption'#6#1'-'#0#0#9 - +'TMenuItem'#10'MenuItem30'#6'Action'#7#13'actFullExpand'#7'OnClick'#7#20'act' - +'FullExpandExecute'#0#0#9'TMenuItem'#10'MenuItem31'#6'Action'#7#15'actFullCo' - +'llapse'#7'OnClick'#7#22'actFullCollapseExecute'#0#0#0#9'TMenuItem'#10'MenuI' - +'tem10'#7'Caption'#6#8'&Edition'#0#9'TMenuItem'#10'MenuItem11'#6'Action'#7#13 - +'actEnumCreate'#7'OnClick'#7#20'actEnumCreateExecute'#0#0#9'TMenuItem'#10'Me' - +'nuItem23'#6'Action'#7#17'actCompoundCreate'#7'OnClick'#7#24'actCompoundCrea' - +'teExecute'#0#0#9'TMenuItem'#10'MenuItem25'#6'Action'#7#13'actIntfCreate'#7 - +'OnClick'#7#20'actIntfCreateExecute'#0#0#9'TMenuItem'#10'MenuItem12'#7'Capti' - +'on'#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#0#9 - +'TMenuItem'#9'MenuItem6'#6'Action'#7#8'actAbout'#7'Caption'#6#6'&About'#7'On' - +'Click'#7#15'actAboutExecute'#0#0#0#11'TActionList'#2'AL'#4'left'#3'X'#1#3't' - +'op'#2'8'#0#7'TAction'#11'actOpenFile'#7'Caption'#6#9'Open File'#18'DisableI' - +'fNoHandler'#9#9'OnExecute'#7#18'actOpenFileExecute'#0#0#7'TAction'#7'actExi' - +'t'#7'Caption'#6#4'Exit'#18'DisableIfNoHandler'#9#9'OnExecute'#7#14'actExitE' - +'xecute'#0#0#7'TAction'#9'actExport'#7'Caption'#6#24'Save generated files ..' - +'.'#18'DisableIfNoHandler'#9#9'OnExecute'#7#16'actExportExecute'#8'OnUpdate' - +#7#15'actExportUpdate'#0#0#7'TAction'#8'actAbout'#7'Caption'#6#5'About'#18'D' - +'isableIfNoHandler'#9#9'OnExecute'#7#15'actAboutExecute'#0#0#7'TAction'#9'ac' - +'tSaveAs'#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 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'actUpdateOb' - +'jectExecute'#8'OnUpdate'#7#21'actUpdateObjectUpdate'#0#0#7'TAction'#14'actR' - +'efreshView'#7'Caption'#6#14'&Refresh Views'#18'DisableIfNoHandler'#9#9'OnEx' - +'ecute'#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#20'Create Compound 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#0#11'TOpenDialog'#2'OD'#5'Title'#6#26'Ouvrir un fichier exist' - +'ant'#6'Filter'#6#25'WDSL files(*.WSDL)|*.WSDL'#11'FilterIndex'#2#0#10'Initi' - +'alDir'#6#2'.\'#7'Options'#11#15'ofPathMustExist'#15'ofFileMustExist'#14'ofE' - +'nableSizing'#12'ofViewDetail'#0#4'left'#3#153#1#3'top'#2'X'#0#0#10'TSynPasS' - +'yn'#10'SynPasSyn1'#7'Enabled'#8#23'CommentAttri.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'clGr' - +'een'#20'DirectiveAttri.Style'#11#6'fsBold'#0#14'NestedComments'#9#4'left'#3 - +#183#1#3'top'#2'h'#0#0#22'TSelectDirectoryDialog'#3'SDD'#5'Title'#6#16'Selec' - +'t Directory'#11'FilterIndex'#2#0#7'Options'#11#15'ofPathMustExist'#14'ofEna' - +'bleSizing'#12'ofViewDetail'#0#4'left'#3#176#1#3'top'#3#152#0#0#0#11'TSaveDi' - +'alog'#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'Optio' - +'ns'#11#15'ofPathMustExist'#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3 - +#242#1#3'top'#3#174#0#0#0#10'TPopupMenu'#10'PopupMenu1'#4'left'#3#128#1#3'to' - +'p'#3#8#1#0#9'TMenuItem'#10'MenuItem28'#6'Action'#7#13'actFullExpand'#7'OnCl' - +'ick'#7#20'actFullExpandExecute'#0#0#9'TMenuItem'#10'MenuItem27'#6'Action'#7 - +#15'actFullCollapse'#7'OnClick'#7#22'actFullCollapseExecute'#0#0#9'TMenuItem' - +#10'MenuItem26'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem8'#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'actCompoundCr' - +'eateExecute'#0#0#9'TMenuItem'#10'MenuItem24'#6'Action'#7#13'actIntfCreate'#7 - +'OnClick'#7#20'actIntfCreateExecute'#0#0#9'TMenuItem'#10'MenuItem22'#7'Capti' - +'on'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem9'#6'Action'#7#15'actUpdateObject'#7 - +'OnClick'#7#22'actUpdateObjectExecute'#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'ac' - +'tRefreshView'#7'OnClick'#7#21'actRefreshViewExecute'#0#0#9'TMenuItem'#10'Me' - +'nuItem19'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#10'MenuItem20'#6'Action'#7#9'a' - +'ctExport'#7'OnClick'#7#16'actExportExecute'#0#0#0#0 -]); diff --git a/wst/trunk/type_lib_edtr/umain.pas b/wst/trunk/type_lib_edtr/umain.pas deleted file mode 100644 index 6454ea768..000000000 --- a/wst/trunk/type_lib_edtr/umain.pas +++ /dev/null @@ -1,552 +0,0 @@ -unit umain; - -{$mode objfpc}{$H+} - -interface - -uses - Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ComCtrls, - ExtCtrls, Menus, ActnList, - pastree, pascal_parser_intf, logger_intf, - SynHighlighterPas, SynEdit, StdCtrls; - -type - - { TfMain } - - TfMain = class(TForm) - actExit: TAction; - actExport: TAction; - actAbout: TAction; - actEnumCreate: TAction; - actCompoundCreate: TAction; - actIntfCreate: TAction; - actFullExpand: TAction; - actFullCollapse: TAction; - actNewFile: TAction; - actRefreshView: TAction; - actUpdateObject: TAction; - actSaveAs: TAction; - actOpenFile: TAction; - AL: TActionList; - MainMenu1: TMainMenu; - MenuItem10: TMenuItem; - MenuItem11: TMenuItem; - MenuItem12: TMenuItem; - MenuItem13: TMenuItem; - MenuItem14: TMenuItem; - MenuItem15: TMenuItem; - MenuItem16: TMenuItem; - MenuItem17: TMenuItem; - MenuItem18: TMenuItem; - MenuItem19: TMenuItem; - MenuItem20: TMenuItem; - MenuItem21: TMenuItem; - MenuItem22: TMenuItem; - MenuItem23: TMenuItem; - MenuItem24: TMenuItem; - MenuItem25: TMenuItem; - MenuItem26: TMenuItem; - MenuItem27: TMenuItem; - MenuItem28: TMenuItem; - MenuItem29: TMenuItem; - MenuItem30: TMenuItem; - MenuItem31: TMenuItem; - MenuItem5: TMenuItem; - MenuItem6: TMenuItem; - MenuItem7: TMenuItem; - MenuItem8: TMenuItem; - MenuItem9: TMenuItem; - mmoLog: TMemo; - MenuItem1: TMenuItem; - MenuItem2: TMenuItem; - MenuItem3: TMenuItem; - MenuItem4: TMenuItem; - OD: TOpenDialog; - PC: TPageControl; - Panel1: TPanel; - Panel2: TPanel; - PopupMenu1: TPopupMenu; - PopupMenu2: TPopupMenu; - SD: TSaveDialog; - SDD: TSelectDirectoryDialog; - Splitter1: TSplitter; - srcInterface: TSynEdit; - SB: TStatusBar; - srcImp: TSynEdit; - srcBinder: TSynEdit; - srcProxy: TSynEdit; - SynPasSyn1: TSynPasSyn; - tsLog: TTabSheet; - tsImp: TTabSheet; - tsBinder: TTabSheet; - tsInterface: TTabSheet; - tsProxy: TTabSheet; - trvSchema: TTreeView; - procedure actAboutExecute(Sender: TObject); - procedure actCompoundCreateExecute(Sender: TObject); - procedure actEnumCreateExecute(Sender: TObject); - procedure actExitExecute(Sender: TObject); - procedure actExportExecute(Sender: TObject); - procedure actExportUpdate(Sender: TObject); - procedure actFullCollapseExecute(Sender: TObject); - procedure actFullExpandExecute(Sender: TObject); - procedure actIntfCreateExecute(Sender: TObject); - procedure actNewFileExecute(Sender: TObject); - procedure actOpenFileExecute(Sender: TObject); - procedure actRefreshViewExecute(Sender: TObject); - procedure actSaveAsExecute(Sender: TObject); - procedure actUpdateObjectExecute(Sender: TObject); - procedure actUpdateObjectUpdate(Sender: TObject); - procedure FormShow(Sender: TObject); - private - FSymbolTable : TwstPasTreeContainer; - FStatusMessageTag : PtrInt; - private - function GetTypeNode() : TTreeNode; - function GetInterfaceNode() : TTreeNode; - private - procedure ShowStatusMessage(const AMsgType : TMessageType;const AMsg : string); - procedure RenderSymbols(); - procedure RenderSources(); - public - constructor Create(AOwner : TComponent);override; - destructor Destroy();override; - end; - -var - fMain: TfMain; - -implementation -uses view_helper, DOM, XMLRead, XMLWrite, HeapTrc, - wsdl2pas_imp, source_utils, command_line_parser, generator, metadata_generator, - binary_streamer, wst_resources_utils, wsdl_generator, - uabout, edit_helper, udm; - - -const - DEF_FILE_NAME = 'library1'; - sWST_META = 'wst_meta'; - -type - TSourceType = cloInterface .. cloBinder; - TSourceTypes = set of TSourceType; - -function ParseWsdlFile( - const AFileName : string; - const ANotifier : TOnParserMessage -):TwstPasTreeContainer; -var - locDoc : TXMLDocument; - prsr : TWsdlParser; - symName : string; -begin - Result := nil; - if FileExists(AFileName) then begin - symName := ChangeFileExt(ExtractFileName(AFileName),''); - if ( symName[Length(symName)] = '.' ) then begin - Delete(symName,Length(symName),1); - end; - prsr := nil; - ReadXMLFile(locDoc,AFileName); - try - Result := TwstPasTreeContainer.Create(); - try - prsr := TWsdlParser.Create(locDoc,Result); - prsr.OnMessage := ANotifier; - prsr.Parse(pmAllTypes,symName); - except - FreeAndNil(Result); - raise; - end; - finally - FreeAndNil(prsr); - FreeAndNil(locDoc); - end; - end; -end; - -type TOutputType = ( otMemory, otFileSystem ); -function GenerateSource( - ASymbolTable : TwstPasTreeContainer; - AOptions : TSourceTypes; - const AOutputType : TOutputType; - const AOutPath : string; - const ANotifier : TOnParserMessage -) : ISourceManager; - - procedure Notify(const AMsg : string); - begin - if Assigned(ANotifier) then begin - ANotifier(mtInfo, AMsg); - end; - end; - -var - mtdaFS: TMemoryStream; - g : TBaseGenerator; - mg : TMetadataGenerator; - rsrcStrm : TMemoryStream; -begin - Result := CreateSourceManager(); - rsrcStrm := nil; - mtdaFS := nil; - mg := nil; - g := Nil; - try - - if ( cloInterface in AOptions ) then begin - Notify('Interface file generation...'); - g := TInftGenerator.Create(ASymbolTable,Result); - g.Execute(); - FreeAndNil(g); - end; - - if ( cloProxy in AOptions ) then begin - Notify('Proxy file generation...'); - g := TProxyGenerator.Create(ASymbolTable,Result); - g.Execute(); - FreeAndNil(g); - end; - - if ( cloBinder in AOptions ) then begin - Notify('Binder file generation...'); - g := TBinderGenerator.Create(ASymbolTable,Result); - g.Execute(); - FreeAndNil(g); - end; - - if ( cloImp in AOptions ) then begin - Notify('Implementation file generation...'); - g := TImplementationGenerator.Create(ASymbolTable,Result); - g.Execute(); - FreeAndNil(g); - end; - - if ( AOutputType = otFileSystem ) and ( [cloBinder,cloProxy]*AOptions <> [] ) then begin - Notify('Metadata file generation...'); - mtdaFS := TMemoryStream.Create(); - mg := TMetadataGenerator.Create(ASymbolTable,CreateBinaryWriter(mtdaFS)); - mg.Execute(); - mtdaFS.SaveToFile(AOutPath + Format('%s.%s',[ASymbolTable.CurrentModule.Name,sWST_META])); - rsrcStrm := TMemoryStream.Create(); - mtdaFS.Position := 0; - BinToWstRessource(UpperCase(ASymbolTable.CurrentModule.Name),mtdaFS,rsrcStrm); - rsrcStrm.SaveToFile(AOutPath + Format('%s.%s',[ASymbolTable.CurrentModule.Name,sWST_EXTENSION])); - end; - - if ( AOutputType = otFileSystem ) then begin - Result.SaveToFile(AOutPath); - end; - finally - rsrcStrm.Free(); - mg.Free();; - mtdaFS.Free();; - g.Free(); - end; -end; - -procedure GenerateWSDL_ToStream(ASymbol : TwstPasTreeContainer; ADest : TStream); -var - doc : TXMLDocument; -begin - doc := TXMLDocument.Create(); - try - GenerateWSDL(ASymbol,doc); - WriteXML(doc,ADest); - finally - FreeAndNil(doc); - end; -end; - -function CreateSymbolTable(const AName : string):TwstPasTreeContainer ; -begin - Result := TwstPasTreeContainer.Create(); - try - CreateWstInterfaceSymbolTable(Result); - Result.CreateElement(TPasModule,AName,Result.Package,visDefault,'',0); - Result.CurrentModule.InterfaceSection := TPasSection(Result.CreateElement(TPasSection,'',Result.CurrentModule,visDefault,'',0)); - except - FreeAndNil(Result); - raise; - end; -end; - -{ TfMain } - -procedure TfMain.actOpenFileExecute(Sender: TObject); -var - tmpTable : TwstPasTreeContainer; - curLok : IInterface; -begin - if OD.Execute() then begin - mmoLog.Clear(); - PC.ActivePage := tsLog; - curLok := SetCursorHourGlass(); - tmpTable := ParseWsdlFile(OD.FileName,@ShowStatusMessage); - if Assigned(tmpTable) then begin - trvSchema.Items.Clear(); - FreeAndNil(FSymbolTable); - FSymbolTable := tmpTable; - RenderSymbols(); - PC.ActivePage := tsInterface; - end; - end; - curLok := nil; -end; - -procedure TfMain.actRefreshViewExecute(Sender: TObject); -begin - RenderSymbols(); -end; - -procedure TfMain.actSaveAsExecute(Sender: TObject); -var - mstrm : TMemoryStream; -begin - if SD.Execute() then begin - mstrm := TMemoryStream.Create(); - try - GenerateWSDL_ToStream(FSymbolTable,mstrm); - mstrm.SaveToFile(SD.FileName); - finally - FreeAndNil(mstrm); - end; - end; -end; - -procedure TfMain.actUpdateObjectExecute(Sender: TObject); -var - o : TPasElement; - nd, nd_1 : TTreeNode; -begin - nd := trvSchema.Selected; - if Assigned(nd) and Assigned(nd.Data) then begin - o := TPasElement(nd.Data); - if HasEditor(o) then begin - UpdateObject(o,FSymbolTable); - nd_1 := nd; - trvSchema.BeginUpdate(); - try - nd := FindPainter(o).Paint(FSymbolTable,o,GetTypeNode()); - nd.MoveTo(nd_1,naInsertBehind); - FreeAndNil(nd_1); - finally - trvSchema.EndUpdate(); - end; - end; - end; -end; - -procedure TfMain.actUpdateObjectUpdate(Sender: TObject); -begin - TAction(Sender).Enabled := - Assigned(trvSchema.Selected) and - Assigned(trvSchema.Selected.Data) and - HasEditor(TPasElement(trvSchema.Selected.Data)); -end; - -procedure TfMain.FormShow(Sender: TObject); -begin - RenderSymbols(); -end; - -function TfMain.GetTypeNode(): TTreeNode; -begin - Result := trvSchema.TopItem.GetFirstChild().Items[1]; -end; - -function TfMain.GetInterfaceNode(): TTreeNode; -begin - Result := trvSchema.TopItem.GetFirstChild().Items[2]; -end; - -procedure TfMain.ShowStatusMessage(const AMsgType : TMessageType;const AMsg: string); -begin - mmoLog.Lines.Add(Format('%s : %s',[MessageTypeNames[AMsgType],AMsg])); - SB.Panels[1].Text := AMsg; - Inc(FStatusMessageTag); - if ( (FStatusMessageTag) > 23 ) then begin - FStatusMessageTag := 0; - Application.ProcessMessages(); - end; -end; - -procedure TfMain.actExitExecute(Sender: TObject); -begin - Close(); -end; - -procedure TfMain.actAboutExecute(Sender: TObject); -var - fa : TfAbout; -begin - fa := TfAbout.Create(Self); - try - fa.ShowModal(); - finally - fa.Release(); - end; -end; - -procedure TfMain.actCompoundCreateExecute(Sender: TObject); -var - e : TPasClassType; -begin - e := CreateCompoundObject(FSymbolTable); - if Assigned(e) then begin - FindPainter(e).Paint(FSymbolTable,e,GetTypeNode()); - end; -end; - -procedure TfMain.actEnumCreateExecute(Sender: TObject); -var - e : TPasEnumType; -begin - e := CreateEnum(FSymbolTable); - if Assigned(e) then begin - FindPainter(e).Paint(FSymbolTable,e,GetTypeNode()); - end; -end; - -procedure TfMain.actExportExecute(Sender: TObject); -var - curLok : IInterface; -begin - if SDD.Execute() then begin - curLok := SetCursorHourGlass(); - GenerateSource( - FSymbolTable, - [cloInterface,cloProxy,cloImp,cloBinder], - otFileSystem, - IncludeTrailingBackslash(SDD.FileName), - nil - ); - curLok := nil; - end; -end; - -procedure TfMain.actExportUpdate(Sender: TObject); -begin - TAction(Sender).Enabled := Assigned(FSymbolTable) and ( FSymbolTable.CurrentModule.InterfaceSection.Declarations.Count > 0 ); -end; - -procedure TfMain.actFullCollapseExecute(Sender: TObject); -begin - trvSchema.FullCollapse(); -end; - -procedure TfMain.actFullExpandExecute(Sender: TObject); -begin - trvSchema.FullExpand(); -end; - -procedure TfMain.actIntfCreateExecute(Sender: TObject); -var - e : TPasClassType; -begin - e := CreateInterface(FSymbolTable); - if Assigned(e) then begin - FindPainter(e).Paint(FSymbolTable,e,GetInterfaceNode()); - end; -end; - -procedure TfMain.actNewFileExecute(Sender: TObject); -var - res : Integer; -begin - res := MessageDlg(Application.Title,'Save the current file before ?',mtConfirmation,mbYesNoCancel,0,mbYes); - if ( res = mrCancel ) then begin - Exit; - end; - if ( res = mrYes ) then begin - actSaveAs.Execute(); - end; - FreeAndNil(FSymbolTable); - FSymbolTable := CreateSymbolTable(ExtractFileName(DEF_FILE_NAME)); - RenderSymbols(); -end; - -procedure TfMain.RenderSymbols(); -var - objPtr : ISymbolPainter; - nd : TTreeNode; -begin - trvSchema.BeginUpdate(); - try - trvSchema.Items.Clear(); - srcInterface.ClearAll(); - nd := trvSchema.Items.AddFirst(nil,'Type Library Editor'); - nd.ImageIndex := -1; - nd.StateIndex := -1; - nd.SelectedIndex := -1; - if Assigned(FSymbolTable) then begin - objPtr := FindPainter(FSymbolTable.Package); - if Assigned(objPtr) then begin - objPtr.Paint(FSymbolTable,FSymbolTable.Package,trvSchema.TopItem); - end; - RenderSources(); - end; - trvSchema.Items[0].Expand(False); - trvSchema.Items[0].Items[0].Expand(False); - finally - trvSchema.EndUpdate(); - end; - ShowStatusMessage(mtInfo,''); -end; - -procedure TfMain.RenderSources(); - - procedure LoadText(const AList : TStrings; ASrc : ISourceStream); - var - srcItemSV : ISavableSourceStream; - begin - if Supports(ASrc,ISavableSourceStream,srcItemSV) then begin - srcItemSV.GetStream().Position := 0; - AList.LoadFromStream(srcItemSV.GetStream()); - end; - end; - -var - srcMngr : ISourceManager; -begin - if Assigned(FSymbolTable) then begin - if ( FSymbolTable.CurrentModule.InterfaceSection.Declarations.Count > 0 ) then begin - srcMngr := GenerateSource(FSymbolTable,[cloInterface,cloProxy,cloBinder,cloImp],otMemory,'',@ShowStatusMessage); - if Assigned(srcMngr) and ( srcMngr.GetCount() > 0 ) then begin - LoadText(srcInterface.Lines,srcMngr.GetItem(0)); - LoadText(srcProxy.Lines,srcMngr.GetItem(1)); - LoadText(srcBinder.Lines,srcMngr.GetItem(2)); - LoadText(srcImp.Lines,srcMngr.GetItem(3)); - end; - end else begin - srcInterface.ClearAll(); - srcProxy.ClearAll(); - srcBinder.ClearAll(); - srcImp.ClearAll(); - end; - end; - ShowStatusMessage(mtInfo,''); -end; - -constructor TfMain.Create(AOwner: TComponent); -begin - inherited Create(AOwner); - FSymbolTable := CreateSymbolTable(ExtractFileName(DEF_FILE_NAME)); - trvSchema.Images := DM.IM; -end; - -destructor TfMain.Destroy(); -begin - trvSchema.Items.Clear(); - FreeAndNil(FSymbolTable); - inherited Destroy(); -end; - -initialization - SetHeapTraceOutput('heap_trace.txt'); - - {$I umain.lrs} - -end. - diff --git a/wst/trunk/type_lib_edtr/uwsttypelibraryedit.lfm b/wst/trunk/type_lib_edtr/uwsttypelibraryedit.lfm index 2ca8339fb..97d5e6085 100644 --- a/wst/trunk/type_lib_edtr/uwsttypelibraryedit.lfm +++ b/wst/trunk/type_lib_edtr/uwsttypelibraryedit.lfm @@ -1,7 +1,7 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit - Left = 142 + Left = 217 Height = 644 - Top = 192 + Top = 507 Width = 833 HorzScrollBar.Page = 832 VertScrollBar.Page = 623 @@ -1985,7 +1985,7 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit end object OD: TOpenDialog Title = 'Ouvrir un fichier existant' - Filter = 'WDSL files(*.WSDL)|*.WSDL' + Filter = 'WDSL files(*.WSDL)|*.WSDL|Pascal file (*.pas)|*.pas' FilterIndex = 0 InitialDir = '.\' Options = [ofPathMustExist, ofFileMustExist, ofEnableSizing, ofViewDetail] diff --git a/wst/trunk/type_lib_edtr/uwsttypelibraryedit.lrs b/wst/trunk/type_lib_edtr/uwsttypelibraryedit.lrs index caf5d1de9..0d8b14441 100644 --- a/wst/trunk/type_lib_edtr/uwsttypelibraryedit.lrs +++ b/wst/trunk/type_lib_edtr/uwsttypelibraryedit.lrs @@ -1,8 +1,8 @@ { Ceci est un fichier ressource généré automatiquement par Lazarus } LazarusResources.Add('TfWstTypeLibraryEdit','FORMDATA',[ - 'TPF0'#20'TfWstTypeLibraryEdit'#19'fWstTypeLibraryEdit'#4'Left'#3#142#0#6'Hei' - +'ght'#3#132#2#3'Top'#3#192#0#5'Width'#3'A'#3#18'HorzScrollBar.Page'#3'@'#3#18 + 'TPF0'#20'TfWstTypeLibraryEdit'#19'fWstTypeLibraryEdit'#4'Left'#3#217#0#6'Hei' + +'ght'#3#132#2#3'Top'#3#251#1#5'Width'#3'A'#3#18'HorzScrollBar.Page'#3'@'#3#18 +'VertScrollBar.Page'#3'o'#2#13'ActiveControl'#7#9'trvSchema'#7'Caption'#6'+[' +'Web Services Toolkit ] Type Library Editor'#12'ClientHeight'#3'p'#2#11'Clie' +'ntWidth'#3'A'#3#4'Menu'#7#9'MainMenu1'#7'OnClose'#7#9'FormClose'#6'OnShow'#7 @@ -324,33 +324,33 @@ LazarusResources.Add('TfWstTypeLibraryEdit','FORMDATA',[ ,'DisableIfNoHandler'#9#9'OnExecute'#7#22'actFullCollapseExecute'#0#0#7'TActi' +'on'#7'actSave'#7'Caption'#6#4'Save'#18'DisableIfNoHandler'#9#9'OnExecute'#7 +#14'actSaveExecute'#0#0#0#11'TOpenDialog'#2'OD'#5'Title'#6#26'Ouvrir un fich' - +'ier existant'#6'Filter'#6#25'WDSL files(*.WSDL)|*.WSDL'#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#128#1#3'top'#3#8#1#0#9'TMenuItem'#10'MenuItem2' - +'8'#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'a' - +'ctFullCollapseExecute'#0#0#9'TMenuItem'#10'MenuItem26'#7'Caption'#6#1'-'#0#0 - +#9'TMenuItem'#9'MenuItem8'#6'Action'#7#13'actEnumCreate'#7'OnClick'#7#20'act' - +'EnumCreateExecute'#0#0#9'TMenuItem'#10'MenuItem21'#6'Action'#7#17'actCompou' - +'ndCreate'#7'OnClick'#7#24'actCompoundCreateExecute'#0#0#9'TMenuItem'#10'Men' - +'uItem24'#6'Action'#7#13'actIntfCreate'#7'OnClick'#7#20'actIntfCreateExecute' - +#0#0#9'TMenuItem'#10'MenuItem22'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuIt' - +'em9'#6'Action'#7#15'actUpdateObject'#7'OnClick'#7#22'actUpdateObjectExecute' - +#0#0#0#10'TPopupMenu'#10'PopupMenu2'#4'left'#3#16#2#3'top'#3#235#0#0#9'TMenu' - +'Item'#10'MenuItem18'#6'Action'#7#14'actRefreshView'#7'OnClick'#7#21'actRefr' - +'eshViewExecute'#0#0#9'TMenuItem'#10'MenuItem19'#7'Caption'#6#1'-'#0#0#9'TMe' - +'nuItem'#10'MenuItem20'#6'Action'#7#9'actExport'#7'OnClick'#7#16'actExportEx' - +'ecute'#0#0#0#10'TSynXMLSyn'#10'SynXMLSyn1'#13'DefaultFilter'#6#30'Documents' - +' WSDL (*.wsdl)|*.wsdl'#7'Enabled'#8#23'ElementAttri.Foreground'#7#6'clNavy' - +#30'AttributeValueAttri.Foreground'#7#8'clPurple'#16'WantBracesParsed'#8#4'l' - +'eft'#3#210#1#3'top'#3#252#0#0#0#0 + +'ier existant'#6'Filter'#6'3WDSL files(*.WSDL)|*.WSDL|Pascal file (*.pas)|*.' + +'pas'#11'FilterIndex'#2#0#10'InitialDir'#6#2'.\'#7'Options'#11#15'ofPathMust' + +'Exist'#15'ofFileMustExist'#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3 + +#153#1#3'top'#2'X'#0#0#10'TSynPasSyn'#10'SynPasSyn1'#7'Enabled'#8#23'Comment' + +'Attri.Foreground'#7#6'clBlue'#18'CommentAttri.Style'#11#6'fsBold'#0#22'Stri' + +'ngAttri.Foreground'#7#8'clMaroon'#17'SymbolAttri.Style'#11#6'fsBold'#0#25'D' + +'irectiveAttri.Foreground'#7#7'clGreen'#20'DirectiveAttri.Style'#11#6'fsBold' + +#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'Filt' + +'er'#6#25'WDSL files(*.WSDL)|*.WSDL'#11'FilterIndex'#2#0#7'Options'#11#15'of' + +'PathMustExist'#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3#242#1#3'top' + +#3#176#0#0#0#10'TPopupMenu'#10'PopupMenu1'#4'left'#3#128#1#3'top'#3#8#1#0#9 + +'TMenuItem'#10'MenuItem28'#6'Action'#7#13'actFullExpand'#7'OnClick'#7#20'act' + +'FullExpandExecute'#0#0#9'TMenuItem'#10'MenuItem27'#6'Action'#7#15'actFullCo' + +'llapse'#7'OnClick'#7#22'actFullCollapseExecute'#0#0#9'TMenuItem'#10'MenuIte' + +'m26'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem8'#6'Action'#7#13'actEnum' + +'Create'#7'OnClick'#7#20'actEnumCreateExecute'#0#0#9'TMenuItem'#10'MenuItem2' + +'1'#6'Action'#7#17'actCompoundCreate'#7'OnClick'#7#24'actCompoundCreateExecu' + +'te'#0#0#9'TMenuItem'#10'MenuItem24'#6'Action'#7#13'actIntfCreate'#7'OnClick' + +#7#20'actIntfCreateExecute'#0#0#9'TMenuItem'#10'MenuItem22'#7'Caption'#6#1'-' + +#0#0#9'TMenuItem'#9'MenuItem9'#6'Action'#7#15'actUpdateObject'#7'OnClick'#7 + +#22'actUpdateObjectExecute'#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'actRefreshVie' + +'w'#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'actExportExecute'#0#0#0#10'TSynXMLSyn'#10'SynXMLSyn1'#13'Defa' + +'ultFilter'#6#30'Documents WSDL (*.wsdl)|*.wsdl'#7'Enabled'#8#23'ElementAttr' + +'i.Foreground'#7#6'clNavy'#30'AttributeValueAttri.Foreground'#7#8'clPurple' + +#16'WantBracesParsed'#8#4'left'#3#210#1#3'top'#3#252#0#0#0#0 ]); diff --git a/wst/trunk/type_lib_edtr/uwsttypelibraryedit.pas b/wst/trunk/type_lib_edtr/uwsttypelibraryedit.pas index e45960a53..2e1ee302e 100644 --- a/wst/trunk/type_lib_edtr/uwsttypelibraryedit.pas +++ b/wst/trunk/type_lib_edtr/uwsttypelibraryedit.pas @@ -12,7 +12,7 @@ } unit uwsttypelibraryedit; -{$DEFINE WST_IDE} +//{$DEFINE WST_IDE} {$mode objfpc}{$H+} interface @@ -146,7 +146,7 @@ implementation uses view_helper, DOM, XMLRead, XMLWrite, //HeapTrc, wsdl2pas_imp, source_utils, command_line_parser, generator, metadata_generator, binary_streamer, wst_resources_utils, wsdl_generator, - uabout, edit_helper, udm, ufrmsaveoption + uabout, edit_helper, udm, ufrmsaveoption, pparser {$IFDEF WST_IDE},LazIDEIntf,IDEMsgIntf{$ENDIF}; @@ -173,7 +173,51 @@ const type TSourceType = cloInterface .. cloBinder; TSourceTypes = set of TSourceType; + +function ParsePascalFile( + const AFileName : string; + const ANotifier : TOnParserMessage +) : TwstPasTreeContainer;overload; +const + s_ostype = + {$IFDEF WINDOWS} + 'WINDOWS' + {$ELSE} + {$IFDEF LINUX} + 'LINUX' + {$ELSE} + '' + {$ENDIF} + {$ENDIF}; + + procedure DoNotify(const AMsgType : TMessageType; const AMsg : string); + begin + if ( ANotifier <> nil ) then + ANotifier(AMsgType,AMsg); + end; +var + symName : string; +begin + symName := ChangeFileExt(ExtractFileName(AFileName),''); + if ( symName[Length(symName)] = '.' ) then begin + Delete(symName,Length(symName),1); + end; + Result := TwstPasTreeContainer.Create(); + try + DoNotify(mtInfo,Format('Parsing file %s ...',[AFileName])); + CreateWstInterfaceSymbolTable(Result); + ParseSource(Result,AFileName,s_ostype,''); + DoNotify(mtInfo,Format('File parsed %s .',[AFileName])); + except + on e : Exception do begin + FreeAndNil(Result); + DoNotify(mtError,e.Message); + raise; + end; + end; +end; + function ParseWsdlFile( const AFileName : string; AContent : TStream; @@ -448,12 +492,12 @@ end; function TfWstTypeLibraryEdit.GetTypeNode(): TTreeNode; begin - Result := trvSchema.TopItem.GetFirstChild().Items[1]; + Result := trvSchema.TopItem.GetFirstChild().Items[0]; end; function TfWstTypeLibraryEdit.GetInterfaceNode(): TTreeNode; begin - Result := trvSchema.TopItem.GetFirstChild().Items[2]; + Result := trvSchema.TopItem.GetFirstChild().Items[1]; end; procedure TfWstTypeLibraryEdit.ShowStatusMessage(const AMsgType : TMessageType;const AMsg: string); @@ -672,12 +716,17 @@ begin mmoLog.Clear(); PC.ActivePage := tsLog; curLok := SetCursorHourGlass(); - if ( AContent = nil ) then - tmpTable := ParseWsdlFile(AFileName,@ShowStatusMessage) - else - tmpTable := ParseWsdlFile(AFileName,AContent,@ShowStatusMessage); + if AnsiSameText('.pas',ExtractFileExt(AFileName)) then begin + tmpTable := ParsePascalFile(AFileName,@ShowStatusMessage); + end else begin + if ( AContent = nil ) then + tmpTable := ParseWsdlFile(AFileName,@ShowStatusMessage) + else + tmpTable := ParseWsdlFile(AFileName,AContent,@ShowStatusMessage); + end; if Assigned(tmpTable) then begin - FCurrentFileName := AFileName; + if AnsiSameText('.pas',ExtractFileExt(AFileName)) then + FCurrentFileName := ChangeFileExt(AFileName,'.wsdl'); trvSchema.Items.Clear(); FreeAndNil(FSymbolTable); FSymbolTable := tmpTable; diff --git a/wst/trunk/type_lib_edtr/view_helper.pas b/wst/trunk/type_lib_edtr/view_helper.pas index 6b73e1797..b70267e41 100644 --- a/wst/trunk/type_lib_edtr/view_helper.pas +++ b/wst/trunk/type_lib_edtr/view_helper.pas @@ -539,7 +539,7 @@ end; class function TClassTypeDefinitionPainter.CanHandle(AObj : TObject): Boolean; begin Result := ( inherited CanHandle(AObj) ) and - ( AObj.InheritsFrom(TPasClassType) and ( TPasClassType(AObj).ObjKind = okClass ) )and + ( AObj.InheritsFrom(TPasClassType) and ( TPasClassType(AObj).ObjKind = okClass ) ) and ( not AObj.InheritsFrom(TPasNativeClassType) ); end; @@ -704,7 +704,7 @@ initialization FPainterRegistryInst.RegisterHandler(TTypeAliasDefinitionPainter); FPainterRegistryInst.RegisterHandler(TEnumTypeDefinitionPainter); FPainterRegistryInst.RegisterHandler(TClassTypeDefinitionPainter); - FPainterRegistryInst.RegisterHandler(TAbstractConstantDefinitionPainter); + //FPainterRegistryInst.RegisterHandler(TAbstractConstantDefinitionPainter); FPainterRegistryInst.RegisterHandler(TInterfaceDefinitionPainter); FPainterRegistryInst.RegisterHandler(TMethodDefinitionPainter); FPainterRegistryInst.RegisterHandler(TPasNativeSimpleTypePainter); diff --git a/wst/trunk/type_lib_edtr/wsdl_generator.pas b/wst/trunk/type_lib_edtr/wsdl_generator.pas index 6b22acf7a..1039ddc24 100644 --- a/wst/trunk/type_lib_edtr/wsdl_generator.pas +++ b/wst/trunk/type_lib_edtr/wsdl_generator.pas @@ -40,7 +40,7 @@ type IWsdlTypeHandlerRegistry = Interface ['{C5666646-3426-4696-93EE-AFA8EE7CAE53}'] function Find( - ASymbol : TPTreeElement; + ASymbol : TPasElement; out AHandler : IWsdlTypeHandler ) : Boolean; procedure Register(AFactory : TBaseTypeHandlerClass); @@ -53,7 +53,7 @@ type const ASymbol : TPasElement; AWsdlDocument : TDOMDocument );virtual;abstract; - class function CanHandle(ASymbol : TClass) : Boolean;virtual;abstract; + class function CanHandle(ASymbol : TObject) : Boolean;virtual;abstract; end; { TTypeDefinition_TypeHandler } @@ -65,7 +65,7 @@ type const ASymbol : TPasElement; AWsdlDocument : TDOMDocument );override; - class function CanHandle(ASymbol : TClass) : Boolean;override; + class function CanHandle(ASymbol : TObject) : Boolean;override; end; { TTypeAliasDefinition_TypeHandler } @@ -77,7 +77,7 @@ type const ASymbol : TPasElement; AWsdlDocument : TDOMDocument );override; - class function CanHandle(ASymbol : TClass) : Boolean;override; + class function CanHandle(ASymbol : TObject) : Boolean;override; end; { TEnumTypeHandler } @@ -89,7 +89,7 @@ type const ASymbol : TPasElement; AWsdlDocument : TDOMDocument );override; - class function CanHandle(ASymbol : TClass) : Boolean;override; + class function CanHandle(ASymbol : TObject) : Boolean;override; end; { TClassTypeDefinition_TypeHandler } @@ -101,7 +101,7 @@ type const ASymbol : TPasElement; AWsdlDocument : TDOMDocument );override; - class function CanHandle(ASymbol : TClass) : Boolean;override; + class function CanHandle(ASymbol : TObject) : Boolean;override; end; { TBaseArrayRemotable_TypeHandler } @@ -113,7 +113,7 @@ type const ASymbol : TPasElement; AWsdlDocument : TDOMDocument );override; - class function CanHandle(ASymbol : TClass) : Boolean;override; + class function CanHandle(ASymbol : TObject) : Boolean;override; end; procedure GenerateWSDL(ASymbolTable : TwstPasTreeContainer; ADoc : TDOMDocument); @@ -146,11 +146,13 @@ const sBINDING = 'binding'; sBODY = 'body'; sCOMPLEX_TYPE = 'complexType'; + sCUSTOM_ATTRIBUTE = 'customAttributes'; sDOCUMENT = 'document'; sELEMENT = 'element'; sENUMERATION = 'enumeration'; sEXTENSION = 'extension'; sGUID = 'GUID'; + sHEADER_Block = 'headerBlock'; sITEM = 'item'; sLOCATION = 'location'; sMIN_OCCURS = 'minOccurs'; @@ -222,10 +224,10 @@ type private FList : TClassList; private - function FindIndexOfHandler(ASymbol : TPTreeElement) : Integer; + function FindIndexOfHandler(ASymbol : TPasElement) : Integer; protected function Find( - ASymbol : TPTreeElement; + ASymbol : TPasElement; out AHandler : IWsdlTypeHandler ) : Boolean; procedure Register(AFactory : TBaseTypeHandlerClass); @@ -236,7 +238,7 @@ type { TWsdlTypeHandlerRegistry } -function TWsdlTypeHandlerRegistry.FindIndexOfHandler(ASymbol: TPTreeElement): Integer; +function TWsdlTypeHandlerRegistry.FindIndexOfHandler(ASymbol: TPasElement): Integer; Var i, c : Integer; begin @@ -251,7 +253,7 @@ begin end; function TWsdlTypeHandlerRegistry.Find( - ASymbol : TPTreeElement; + ASymbol : TPasElement; out AHandler : IWsdlTypeHandler ) : Boolean; var @@ -564,7 +566,7 @@ procedure GenerateWSDL(ASymbolTable : TwstPasTreeContainer; ADoc : TDOMDocument) ( not tri.InheritsFrom(TPasNativeClassType) ) and ( not tri.InheritsFrom(TPasNativeSimpleType) ) then begin - if gr.Find(TPTreeElement(tri.ClassType),g) then + if gr.Find(tri,g) then g.Generate(ASymbolTable, tri,ADoc); end; end; @@ -649,11 +651,21 @@ procedure TClassTypeDefinition_TypeHandler.Generate( const ASymbol : TPasElement; AWsdlDocument : TDOMDocument ); +var + cplxNode, docNode : TDOMElement; + + procedure CreateDocNode(); + begin + if ( docNode = nil ) then begin + docNode := CreateElement(sDOCUMENT,cplxNode,AWsdlDocument); + end; + end; + var typItm : TPasClassType; propTypItm : TPasType; s, prop_ns_shortName : string; - defTypesNode, defSchemaNode, cplxNode, sqcNode, propNode, derivationNode : TDOMElement; + defTypesNode, defSchemaNode, sqcNode, propNode, derivationNode : TDOMElement; i : Integer; p : TPasProperty; typeCategory : TTypeCategory; @@ -661,6 +673,7 @@ var trueParent : TPasType; begin inherited; + docNode := nil; typItm := ASymbol as TPasClassType; if Assigned(typItm) then begin GetNameSpaceShortName(AContainer.GetExternalName(AContainer.CurrentModule) ,AWsdlDocument); @@ -677,6 +690,12 @@ begin hasSequence := True; if Assigned(typItm.AncestorType) then begin trueParent := typItm.AncestorType; + + if trueParent.InheritsFrom(TPasNativeClassType) and AnsiSameText('THeaderBlock',trueParent.Name) then begin + CreateDocNode(); + CreateElement(sCUSTOM_ATTRIBUTE,docNode,AWsdlDocument).SetAttribute(sHEADER_Block,'true'); + end; + if trueParent.InheritsFrom(TPasAliasType) then begin trueParent := GetUltimeType(trueParent); end; @@ -755,7 +774,7 @@ begin end; end; -class function TClassTypeDefinition_TypeHandler.CanHandle(ASymbol: TClass): Boolean; +class function TClassTypeDefinition_TypeHandler.CanHandle(ASymbol: TObject): Boolean; begin Result := inherited CanHandle(ASymbol) and ( ASymbol.InheritsFrom(TPasClassType) and ( TPasClassType(ASymbol).ObjKind = okClass )); @@ -808,7 +827,7 @@ begin end; end; -class function TEnumTypeHandler.CanHandle(ASymbol: TClass): Boolean; +class function TEnumTypeHandler.CanHandle(ASymbol: TObject): Boolean; begin Result := inherited CanHandle(ASymbol) and ASymbol.InheritsFrom(TPasEnumType); end; @@ -879,7 +898,7 @@ begin end; end; -class function TBaseArrayRemotable_TypeHandler.CanHandle(ASymbol: TClass): Boolean; +class function TBaseArrayRemotable_TypeHandler.CanHandle(ASymbol: TObject): Boolean; begin Result := inherited CanHandle(ASymbol) and ASymbol.InheritsFrom(TPasArrayType); end; @@ -895,7 +914,7 @@ begin Assert(ASymbol.InheritsFrom(TPasType)); end; -class function TTypeDefinition_TypeHandler.CanHandle(ASymbol: TClass): Boolean; +class function TTypeDefinition_TypeHandler.CanHandle(ASymbol: TObject): Boolean; begin Result := Assigned(ASymbol) and ASymbol.InheritsFrom(TPasType); end; @@ -948,7 +967,7 @@ begin end; end; -class function TTypeAliasDefinition_TypeHandler.CanHandle(ASymbol: TClass): Boolean; +class function TTypeAliasDefinition_TypeHandler.CanHandle(ASymbol: TObject): Boolean; begin Result := Assigned(ASymbol) and ASymbol.InheritsFrom(TPasAliasType); end;