+Every type editor dialog now has a XSD ( XML Schema Definition ) view that present the XSD source for the type being visualized

+Every type editor dialog now has a dependencies view that show the list of types using the type being visualized
+Search capability to the types tree view of the main window
+Every type editor dialog now has a "Apply" button to save changes without closing the dialog

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@521 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
inoussa
2008-08-04 00:33:35 +00:00
parent 639bde5376
commit e097180997
20 changed files with 3492 additions and 572 deletions

View File

@ -209,7 +209,7 @@
</CodeGeneration>
<Linking>
<Debugging>
<UseLineInfoUnit Value="False"/>
<GenerateDebugInfo Value="True"/>
<StripSymbols Value="True"/>
</Debugging>
<LinkSmart Value="True"/>

View File

@ -5,7 +5,7 @@ object fArrayEdit: TfArrayEdit
Width = 392
HorzScrollBar.Page = 391
VertScrollBar.Page = 374
ActiveControl = Button1
ActiveControl = PC
BorderStyle = bsSizeToolWin
Caption = 'fArrayEdit'
ClientHeight = 375
@ -21,7 +21,7 @@ object fArrayEdit: TfArrayEdit
ClientWidth = 392
TabOrder = 0
object Button1: TButton
Left = 216
Left = 129
Height = 25
Top = 9
Width = 75
@ -31,7 +31,7 @@ object fArrayEdit: TfArrayEdit
TabOrder = 0
end
object Button2: TButton
Left = 304
Left = 214
Height = 25
Top = 9
Width = 75
@ -42,14 +42,25 @@ object fArrayEdit: TfArrayEdit
ModalResult = 2
TabOrder = 1
end
object Button6: TButton
Left = 299
Height = 25
Top = 9
Width = 75
Action = actApply
Anchors = [akTop, akRight]
TabOrder = 2
end
object PageControl1: TPageControl
end
object PC: TPageControl
Height = 325
Width = 392
ActivePage = TabSheet1
Align = alClient
TabIndex = 0
TabOrder = 1
OnChange = PCChange
OnPageChanged = PCChange
object TabSheet1: TTabSheet
Caption = 'Array definition'
ClientHeight = 299
@ -124,6 +135,368 @@ object fArrayEdit: TfArrayEdit
TabOrder = 4
end
end
object tsSourceXSD: TTabSheet
Caption = 'XSD'
ClientHeight = 299
ClientWidth = 384
object edtSourceXSD: TSynEdit
Left = 13
Height = 272
Top = 10
Width = 352
Anchors = [akTop, akLeft, akRight, akBottom]
Font.Height = -20
Font.Name = 'courier'
ParentColor = False
TabOrder = 0
BookMarkOptions.Xoffset = 42
Gutter.DigitCount = 2
Gutter.ShowLineNumbers = True
Gutter.ShowCodeFolding = True
Gutter.Width = 10
Gutter.CodeFoldingWidth = 14
Highlighter = SynXMLSyn1
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 tsDependencies: TTabSheet
Caption = 'Used by'
ClientHeight = 299
ClientWidth = 384
object tvDependency: TTreeView
Left = 12
Height = 272
Top = 10
Width = 352
Anchors = [akTop, akLeft, akRight, akBottom]
DefaultItemHeight = 15
ReadOnly = True
RightClickSelect = True
TabOrder = 0
Options = [tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoRightClickSelect, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips]
end
end
end
object AL: TActionList
left = 215
@ -134,5 +507,18 @@ object fArrayEdit: TfArrayEdit
OnExecute = actOKExecute
OnUpdate = actOKUpdate
end
object actApply: TAction
Caption = 'Apply'
DisableIfNoHandler = True
OnExecute = actApplyExecute
OnUpdate = actOKUpdate
end
end
object SynXMLSyn1: TSynXMLSyn
DefaultFilter = 'Documents XML (*.xml,*.xsd,*.xsl,*.xslt,*.dtd)|*.xml;*.xsd;*.xsl;*.xslt;*.dtd'
Enabled = False
WantBracesParsed = False
left = 266
top = 227
end
end

View File

@ -3,39 +3,102 @@
LazarusResources.Add('TfArrayEdit','FORMDATA',[
'TPF0'#11'TfArrayEdit'#10'fArrayEdit'#4'Left'#3'G'#1#6'Height'#3'w'#1#3'Top'#3
+#132#0#5'Width'#3#136#1#18'HorzScrollBar.Page'#3#135#1#18'VertScrollBar.Page'
+#3'v'#1#13'ActiveControl'#7#7'Button1'#11'BorderStyle'#7#13'bsSizeToolWin'#7
+'Caption'#6#10'fArrayEdit'#12'ClientHeight'#3'w'#1#11'ClientWidth'#3#136#1#8
+'Position'#7#16'poMainFormCenter'#10'LCLVersion'#6#6'0.9.25'#0#6'TPanel'#6'P'
+'anel1'#6'Height'#2'2'#3'Top'#3'E'#1#5'Width'#3#136#1#5'Align'#7#8'alBottom'
+#12'ClientHeight'#2'2'#11'ClientWidth'#3#136#1#8'TabOrder'#2#0#0#7'TButton'#7
+'Button1'#4'Left'#3#216#0#6'Height'#2#25#3'Top'#2#9#5'Width'#2'K'#6'Action'#7
+#3'v'#1#13'ActiveControl'#7#2'PC'#11'BorderStyle'#7#13'bsSizeToolWin'#7'Capt'
+'ion'#6#10'fArrayEdit'#12'ClientHeight'#3'w'#1#11'ClientWidth'#3#136#1#8'Pos'
+'ition'#7#16'poMainFormCenter'#10'LCLVersion'#6#6'0.9.25'#0#6'TPanel'#6'Pane'
+'l1'#6'Height'#2'2'#3'Top'#3'E'#1#5'Width'#3#136#1#5'Align'#7#8'alBottom'#12
+'ClientHeight'#2'2'#11'ClientWidth'#3#136#1#8'TabOrder'#2#0#0#7'TButton'#7'B'
+'utton1'#4'Left'#3#129#0#6'Height'#2#25#3'Top'#2#9#5'Width'#2'K'#6'Action'#7
+#5'actOK'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2
+#4#8'TabOrder'#2#0#0#0#7'TButton'#7'Button2'#4'Left'#3'0'#1#6'Height'#2#25#3
+#4#8'TabOrder'#2#0#0#0#7'TButton'#7'Button2'#4'Left'#3#214#0#6'Height'#2#25#3
+'Top'#2#9#5'Width'#2'K'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing'
+'.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8
+'TabOrder'#2#1#0#0#0#12'TPageControl'#12'PageControl1'#6'Height'#3'E'#1#5'Wi'
+'dth'#3#136#1#10'ActivePage'#7#9'TabSheet1'#5'Align'#7#8'alClient'#8'TabInde'
+'x'#2#0#8'TabOrder'#2#1#0#9'TTabSheet'#9'TabSheet1'#7'Caption'#6#16'Array de'
+'finition'#12'ClientHeight'#3'+'#1#11'ClientWidth'#3#128#1#0#6'TLabel'#6'Lab'
+'el1'#4'Left'#2#20#6'Height'#2#14#3'Top'#2#21#5'Width'#2#28#7'Caption'#6#4'N'
+'ame'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#20#6'Height'#2#14#3
+'Top'#2'f'#5'Width'#2'B'#7'Caption'#6#12'Element Type'#11'ParentColor'#8#0#0
+#6'TLabel'#6'Label3'#4'Left'#2#20#6'Height'#2#14#3'Top'#3#170#0#5'Width'#2'E'
+#7'Caption'#6#12'Element Name'#11'ParentColor'#8#0#0#5'TEdit'#7'edtName'#4'L'
+'eft'#2#20#6'Height'#2#23#3'Top'#2'*'#5'Width'#3'Q'#1#7'Anchors'#11#5'akTop'
+#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0#0#0#9'TComboBox'#14'edtElementType'#4
+'Left'#2#20#6'Height'#2#21#3'Top'#2'z'#5'Width'#3'Q'#1#7'Anchors'#11#5'akTop'
+#6'akLeft'#7'akRight'#0#16'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20
+'cbactSearchAscending'#0#10'ItemHeight'#2#13#9'MaxLength'#2#0#5'Style'#7#14
+'csDropDownList'#8'TabOrder'#2#1#0#0#9'TCheckBox'#11'edtEmbedded'#4'Left'#2
+#20#6'Height'#2#19#3'Top'#3#226#0#5'Width'#3'Q'#1#7'Caption'#6'AEmbedded ( i'
+'tems are expanded directly in the enclosing element )'#8'TabOrder'#2#3#0#0#5
+'TEdit'#14'edtElementName'#4'Left'#2#20#6'Height'#2#23#3'Top'#3#186#0#5'Widt'
+'h'#3'Q'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#2#4'T'
+'ext'#6#4'Item'#0#0#9'TCheckBox'#13'edtCollection'#4'Left'#2#20#6'Height'#2
+#19#3'Top'#3#2#1#5'Width'#3'`'#1#7'Caption'#6'FCollection ( Pascal type will'
+' derive from TObjectCollectionRemotable )'#8'TabOrder'#2#4#0#0#0#0#11'TActi'
+'onList'#2'AL'#4'left'#3#215#0#3'top'#3#185#0#0#7'TAction'#5'actOK'#7'Captio'
+'n'#6#2'OK'#18'DisableIfNoHandler'#9#9'OnExecute'#7#12'actOKExecute'#8'OnUpd'
+'ate'#7#11'actOKUpdate'#0#0#0#0
+'TabOrder'#2#1#0#0#7'TButton'#7'Button6'#4'Left'#3'+'#1#6'Height'#2#25#3'Top'
+#2#9#5'Width'#2'K'#6'Action'#7#8'actApply'#7'Anchors'#11#5'akTop'#7'akRight'
+#0#8'TabOrder'#2#2#0#0#0#12'TPageControl'#2'PC'#6'Height'#3'E'#1#5'Width'#3
+#136#1#10'ActivePage'#7#9'TabSheet1'#5'Align'#7#8'alClient'#8'TabIndex'#2#0#8
+'TabOrder'#2#1#8'OnChange'#7#8'PCChange'#13'OnPageChanged'#7#8'PCChange'#0#9
+'TTabSheet'#9'TabSheet1'#7'Caption'#6#16'Array definition'#12'ClientHeight'#3
+'+'#1#11'ClientWidth'#3#128#1#0#6'TLabel'#6'Label1'#4'Left'#2#20#6'Height'#2
+#14#3'Top'#2#21#5'Width'#2#28#7'Caption'#6#4'Name'#11'ParentColor'#8#0#0#6'T'
+'Label'#6'Label2'#4'Left'#2#20#6'Height'#2#14#3'Top'#2'f'#5'Width'#2'B'#7'Ca'
+'ption'#6#12'Element Type'#11'ParentColor'#8#0#0#6'TLabel'#6'Label3'#4'Left'
+#2#20#6'Height'#2#14#3'Top'#3#170#0#5'Width'#2'E'#7'Caption'#6#12'Element Na'
+'me'#11'ParentColor'#8#0#0#5'TEdit'#7'edtName'#4'Left'#2#20#6'Height'#2#23#3
+'Top'#2'*'#5'Width'#3'Q'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'T'
+'abOrder'#2#0#0#0#9'TComboBox'#14'edtElementType'#4'Left'#2#20#6'Height'#2#21
+#3'Top'#2'z'#5'Width'#3'Q'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#16
+'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20'cbactSearchAscending'#0
+#10'ItemHeight'#2#13#9'MaxLength'#2#0#5'Style'#7#14'csDropDownList'#8'TabOrd'
+'er'#2#1#0#0#9'TCheckBox'#11'edtEmbedded'#4'Left'#2#20#6'Height'#2#19#3'Top'
+#3#226#0#5'Width'#3'Q'#1#7'Caption'#6'AEmbedded ( items are expanded directl'
+'y in the enclosing element )'#8'TabOrder'#2#3#0#0#5'TEdit'#14'edtElementNam'
+'e'#4'Left'#2#20#6'Height'#2#23#3'Top'#3#186#0#5'Width'#3'Q'#1#7'Anchors'#11
+#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#2#4'Text'#6#4'Item'#0#0#9'TCh'
+'eckBox'#13'edtCollection'#4'Left'#2#20#6'Height'#2#19#3'Top'#3#2#1#5'Width'
+#3'`'#1#7'Caption'#6'FCollection ( Pascal type will derive from TObjectColle'
+'ctionRemotable )'#8'TabOrder'#2#4#0#0#0#9'TTabSheet'#11'tsSourceXSD'#7'Capt'
+'ion'#6#3'XSD'#12'ClientHeight'#3'+'#1#11'ClientWidth'#3#128#1#0#8'TSynEdit'
+#12'edtSourceXSD'#4'Left'#2#13#6'Height'#3#16#1#3'Top'#2#10#5'Width'#3'`'#1#7
+'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#11'Font.Height'#2
+#236#9'Font.Name'#6#7'courier'#11'ParentColor'#8#8'TabOrder'#2#0#23'BookMark'
+'Options.Xoffset'#2'*'#17'Gutter.DigitCount'#2#2#22'Gutter.ShowLineNumbers'#9
+#22'Gutter.ShowCodeFolding'#9#12'Gutter.Width'#2#10#23'Gutter.CodeFoldingWid'
+'th'#2#14#11'Highlighter'#7#10'SynXMLSyn1'#10'Keystrokes'#14#1#7'Command'#2#3
+#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Command'#3#211
+#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Command'#2'h'
+#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1#7'Command'#2
+#1#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7'Command'#2#5
+#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2#8
+'ShortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7'Command'#2#6#8
+'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7'Command'#2#10
+#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7'Command'#2#14#8
+'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7'Command'#2#9#8
+'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'Command'#2#13#8
+'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7'Command'#2#7#8
+'ShortCut'#2'$'#0#1#7'Command'#2'k'#8'ShortCut'#3'$ '#0#1#7'Command'#2#15#8
+'ShortCut'#3'$@'#0#1#7'Command'#2's'#8'ShortCut'#3'$`'#0#1#7'Command'#2#8#8
+'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'ShortCut'#3'# '#0#1#7'Command'#2#16#8
+'ShortCut'#3'#@'#0#1#7'Command'#2't'#8'ShortCut'#3'#`'#0#1#7'Command'#3#223#0
+#8'ShortCut'#2'-'#0#1#7'Command'#3#201#0#8'ShortCut'#3'-@'#0#1#7'Command'#3
+'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2'.'#0#1#7'Comman'
+'d'#3'['#2#8'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCut'#2#8#0#1#7'Co'
+'mmand'#3#245#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'ShortCut'#3#8'@'
+#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command'#3'Z'#2#8'Short'
,'Cut'#4#8#160#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7'Command'#3
+#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@'#0#1#7'Comm'
+'and'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3'M@'#0#1#7
+'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3#247#1#8'ShortCut'#3'T@'
+#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8'ShortCut'#3
+'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251#1#8'ShortC'
+'ut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'#3'Y'#2#8
+'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Command'#3'-'
+#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7'Command'#3
+'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0#1#7'Comman'
+'d'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'C'
+'ommand'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'#3'7@'#0#1
+#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1#7'Command'#3'6'#1#8'ShortCut'#3'9@'
+#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8'ShortCut'#3
+'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'#1#8'ShortCu'
+'t'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3'd'#1#8'Sh'
+'ortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Command'#3'f'#1
+#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'Command'#3
+'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3#231#0#8'ShortCut'#3'N`'#0#1#7'Comma'
+'nd'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3'L`'#0#1#7
+'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1
+#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#8'ReadOnly'#9#0#0#0#9'TTabSheet'#14
+'tsDependencies'#7'Caption'#6#7'Used by'#12'ClientHeight'#3'+'#1#11'ClientWi'
+'dth'#3#128#1#0#9'TTreeView'#12'tvDependency'#4'Left'#2#12#6'Height'#3#16#1#3
+'Top'#2#10#5'Width'#3'`'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akB'
+'ottom'#0#17'DefaultItemHeight'#2#15#8'ReadOnly'#9#16'RightClickSelect'#9#8
+'TabOrder'#2#0#7'Options'#11#17'tvoAutoItemHeight'#16'tvoHideSelection'#21't'
+'voKeepCollapsedNodes'#11'tvoReadOnly'#19'tvoRightClickSelect'#14'tvoShowBut'
+'tons'#12'tvoShowLines'#11'tvoShowRoot'#11'tvoToolTips'#0#0#0#0#0#11'TAction'
+'List'#2'AL'#4'left'#3#215#0#3'top'#3#185#0#0#7'TAction'#5'actOK'#7'Caption'
+#6#2'OK'#18'DisableIfNoHandler'#9#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'
+#7#11'actOKUpdate'#0#0#7'TAction'#8'actApply'#7'Caption'#6#5'Apply'#18'Disab'
+'leIfNoHandler'#9#9'OnExecute'#7#15'actApplyExecute'#8'OnUpdate'#7#11'actOKU'
+'pdate'#0#0#0#10'TSynXMLSyn'#10'SynXMLSyn1'#13'DefaultFilter'#6'MDocuments X'
+'ML (*.xml,*.xsd,*.xsl,*.xslt,*.dtd)|*.xml;*.xsd;*.xsl;*.xslt;*.dtd'#7'Enabl'
+'ed'#8#16'WantBracesParsed'#8#4'left'#3#10#1#3'top'#3#227#0#0#0#0
]);

View File

@ -6,41 +6,56 @@ interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls,
ComCtrls, StdCtrls, ActnList, Buttons,
pastree, pascal_parser_intf, edit_helper;
ComCtrls, StdCtrls, ActnList, Buttons, Contnrs,
pastree, pascal_parser_intf, edit_helper, SynHighlighterXML, SynEdit;
type
{ TfArrayEdit }
TfArrayEdit = class(TForm)
actApply : TAction;
actOK : TAction;
AL : TActionList;
Button1 : TButton;
Button2 : TButton;
Button6 : TButton;
edtCollection : TCheckBox;
edtEmbedded : TCheckBox;
edtElementName : TEdit;
edtElementType : TComboBox;
edtName : TEdit;
edtSourceXSD : TSynEdit;
Label1 : TLabel;
Label2 : TLabel;
Label3 : TLabel;
PageControl1 : TPageControl;
PC : TPageControl;
Panel1 : TPanel;
SynXMLSyn1 : TSynXMLSyn;
TabSheet1 : TTabSheet;
tsDependencies : TTabSheet;
tsSourceXSD : TTabSheet;
tvDependency : TTreeView;
procedure actApplyExecute(Sender : TObject);
procedure actOKExecute(Sender : TObject);
procedure actOKUpdate(Sender : TObject);
procedure PCChange(Sender : TObject);
private
FUpdateType : TEditType;
FObject : TPasArrayType;
FSymbolTable : TwstPasTreeContainer;
FApplied : Boolean;
FDependencyList : TObjectList;
private
property UpdateType : TEditType read FUpdateType;
private
procedure LoadFromObject();
procedure SaveToObject();
procedure ShowSourceXSD();
procedure ShowDependencies();
public
destructor Destroy();override;
function UpdateObject(
var AObject : TPasArrayType;
const AUpdateType : TEditType;
@ -52,7 +67,8 @@ var
fArrayEdit : TfArrayEdit;
implementation
uses parserutils;
uses
parserutils, view_helper;
{ TfArrayEdit }
@ -67,6 +83,17 @@ begin
( edtElementType.ItemIndex >= 0 ) ;
end;
procedure TfArrayEdit.PCChange(Sender : TObject);
begin
if ( PC.ActivePage = tsSourceXSD ) then begin
if actApply.Enabled then
actApply.Execute();
ShowSourceXSD();
end else if ( PC.ActivePage = tsDependencies ) then begin
ShowDependencies();
end;
end;
procedure TfArrayEdit.actOKExecute(Sender : TObject);
var
eltType : TPasType;
@ -86,6 +113,13 @@ begin
ModalResult := mrOK;
end;
procedure TfArrayEdit.actApplyExecute(Sender : TObject);
begin
SaveToObject();
if ( PC.ActivePage = tsSourceXSD ) then
ShowSourceXSD();
end;
procedure TfArrayEdit.LoadFromObject();
begin
edtElementType.Clear();
@ -126,7 +160,7 @@ begin
else
arrStyle := asScoped;
eltType := edtElementType.Items.Objects[edtElementType.ItemIndex] as TPasType;
if ( UpdateType = etCreate ) then begin
if ( UpdateType = etCreate ) and ( FObject = nil ) then begin
locObj := FSymbolTable.CreateArray(typIntName,eltType,eltExtName,eltIntName,arrStyle);
FSymbolTable.CurrentModule.InterfaceSection.Declarations.Add(locObj);
FSymbolTable.CurrentModule.InterfaceSection.Types.Add(locObj);
@ -148,6 +182,27 @@ begin
if ( edtCollection.Checked <> FSymbolTable.IsCollection(FObject) ) then
FSymbolTable.SetCollectionFlag(FObject,edtCollection.Checked);
FSymbolTable.RegisterExternalAlias(locObj,typExtName);
FApplied := True;
end;
procedure TfArrayEdit.ShowSourceXSD();
begin
edtSourceXSD.Lines.Text := XsdGenerateSourceForObject(FObject,FSymbolTable);
end;
procedure TfArrayEdit.ShowDependencies();
begin
if ( FDependencyList = nil ) then
FDependencyList := TObjectList.Create(True);
FDependencyList.Clear();
FindDependencies(FObject,FSymbolTable,FDependencyList);
DrawDependencies(tvDependency,FDependencyList);
end;
destructor TfArrayEdit.Destroy();
begin
FDependencyList.Free();
inherited Destroy();
end;
function TfArrayEdit.UpdateObject(
@ -161,7 +216,7 @@ begin
FObject := AObject;
LoadFromObject();
Result := ( ShowModal() = mrOK );
if Result then begin
if Result or FApplied then begin
SaveToObject();
if ( AUpdateType = etCreate ) then begin
AObject := FObject;

View File

@ -1,11 +1,11 @@
object fClassEdit: TfClassEdit
Left = 272
Left = 852
Height = 547
Top = 42
Top = 77
Width = 518
HorzScrollBar.Page = 517
VertScrollBar.Page = 546
ActiveControl = Button1
ActiveControl = PC
BorderStyle = bsSizeToolWin
Caption = 'fClassEdit'
ClientHeight = 547
@ -21,7 +21,7 @@ object fClassEdit: TfClassEdit
ClientWidth = 518
TabOrder = 0
object Button1: TButton
Left = 430
Left = 341
Height = 25
Top = 10
Width = 75
@ -30,10 +30,10 @@ object fClassEdit: TfClassEdit
Cancel = True
Caption = 'Cancel'
ModalResult = 2
TabOrder = 0
TabOrder = 1
end
object Button2: TButton
Left = 340
Left = 253
Height = 25
Top = 10
Width = 75
@ -41,7 +41,16 @@ object fClassEdit: TfClassEdit
Anchors = [akTop, akRight]
BorderSpacing.InnerBorder = 4
Default = True
TabOrder = 1
TabOrder = 0
end
object Button6: TButton
Left = 429
Height = 25
Top = 10
Width = 75
Action = actApply
Anchors = [akTop, akRight]
TabOrder = 2
end
end
object PC: TPageControl
@ -51,6 +60,8 @@ object fClassEdit: TfClassEdit
Align = alClient
TabIndex = 0
TabOrder = 1
OnChange = PCChange
OnPageChanged = PCChange
object TabSheet1: TTabSheet
Caption = 'Compound Object'
ClientHeight = 471
@ -88,7 +99,7 @@ object fClassEdit: TfClassEdit
Caption = ' Properties '
ClientHeight = 294
ClientWidth = 491
TabOrder = 1
TabOrder = 2
object edtProp: TListView
Height = 294
Width = 491
@ -123,7 +134,7 @@ object fClassEdit: TfClassEdit
Action = actPropAdd
Anchors = [akLeft, akBottom]
BorderSpacing.InnerBorder = 4
TabOrder = 2
TabOrder = 3
end
object Button4: TButton
Left = 116
@ -133,7 +144,7 @@ object fClassEdit: TfClassEdit
Action = actPropEdit
Anchors = [akLeft, akBottom]
BorderSpacing.InnerBorder = 4
TabOrder = 3
TabOrder = 4
end
object Button5: TButton
Left = 228
@ -143,7 +154,7 @@ object fClassEdit: TfClassEdit
Action = actPropDelete
Anchors = [akLeft, akBottom]
BorderSpacing.InnerBorder = 4
TabOrder = 4
TabOrder = 5
end
object edtParent: TComboBox
Left = 92
@ -155,7 +166,372 @@ object fClassEdit: TfClassEdit
ItemHeight = 13
MaxLength = 0
Style = csDropDownList
TabOrder = 5
TabOrder = 1
end
end
object tsSourceXSD: TTabSheet
Caption = 'XSD'
ClientHeight = 471
ClientWidth = 510
object edtSourceXSD: TSynEdit
Left = 12
Height = 432
Top = 18
Width = 480
Anchors = [akTop, akLeft, akRight, akBottom]
Font.Height = -20
Font.Name = 'courier'
ParentColor = False
TabOrder = 0
BookMarkOptions.Xoffset = 42
BookMarkOptions.OnChange = nil
Gutter.DigitCount = 2
Gutter.ShowLineNumbers = True
Gutter.ShowCodeFolding = True
Gutter.Width = 10
Gutter.OnChange = nil
Gutter.CodeFoldingWidth = 14
Highlighter = SynXMLSyn1
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 tsDependencies: TTabSheet
Caption = 'Used by'
ClientHeight = 471
ClientWidth = 510
object tvDependency: TTreeView
Left = 20
Height = 433
Top = 18
Width = 464
Anchors = [akTop, akLeft, akRight, akBottom]
DefaultItemHeight = 15
ReadOnly = True
RightClickSelect = True
TabOrder = 0
Options = [tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoRightClickSelect, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips]
end
end
end
@ -185,6 +561,12 @@ object fClassEdit: TfClassEdit
OnExecute = actPropDeleteExecute
OnUpdate = actPropEditUpdate
end
object actApply: TAction
Caption = 'Apply'
DisableIfNoHandler = True
OnExecute = actApplyExecute
OnUpdate = actOKUpdate
end
end
object PopupMenu1: TPopupMenu
left = 105
@ -202,4 +584,11 @@ object fClassEdit: TfClassEdit
OnClick = actPropDeleteExecute
end
end
object SynXMLSyn1: TSynXMLSyn
DefaultFilter = 'Documents XML (*.xml,*.xsd,*.xsl,*.xslt,*.dtd)|*.xml;*.xsd;*.xsl;*.xslt;*.dtd'
Enabled = False
WantBracesParsed = False
left = 210
top = 171
end
end

View File

@ -1,59 +1,123 @@
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
LazarusResources.Add('TfClassEdit','FORMDATA',[
'TPF0'#11'TfClassEdit'#10'fClassEdit'#4'Left'#3#16#1#6'Height'#3'#'#2#3'Top'#2
+'*'#5'Width'#3#6#2#18'HorzScrollBar.Page'#3#5#2#18'VertScrollBar.Page'#3'"'#2
+#13'ActiveControl'#7#7'Button1'#11'BorderStyle'#7#13'bsSizeToolWin'#7'Captio'
+'n'#6#10'fClassEdit'#12'ClientHeight'#3'#'#2#11'ClientWidth'#3#6#2#8'Positio'
+'n'#7#15'poDesktopCenter'#10'LCLVersion'#6#6'0.9.25'#0#6'TPanel'#6'Panel1'#6
+'Height'#2'2'#3'Top'#3#241#1#5'Width'#3#6#2#5'Align'#7#8'alBottom'#12'Client'
+'Height'#2'2'#11'ClientWidth'#3#6#2#8'TabOrder'#2#0#0#7'TButton'#7'Button1'#4
+'Left'#3#174#1#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'#7'Anchors'#11#5'akTo'
+'p'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6#6
+'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#0#0#0#7'TButton'#7'Button2'#4'Lef'
+'t'#3'T'#1#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'#6'Action'#7#5'actOK'#7'A'
+'nchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#7'Defaul'
+'t'#9#8'TabOrder'#2#1#0#0#0#12'TPageControl'#2'PC'#6'Height'#3#241#1#5'Width'
+#3#6#2#10'ActivePage'#7#9'TabSheet1'#5'Align'#7#8'alClient'#8'TabIndex'#2#0#8
+'TabOrder'#2#1#0#9'TTabSheet'#9'TabSheet1'#7'Caption'#6#15'Compound Object'
+#12'ClientHeight'#3#215#1#11'ClientWidth'#3#254#1#0#6'TLabel'#6'Label1'#4'Le'
+'ft'#2#4#6'Height'#2#14#3'Top'#2#18#5'Width'#2#28#7'Caption'#6#4'Name'#11'Pa'
+'rentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#4#6'Height'#2#14#3'Top'#2';'
+#5'Width'#2'C'#7'Caption'#6#14'Inheritts from'#11'ParentColor'#8#0#0#5'TEdit'
+#7'edtName'#4'Left'#2'\'#6'Height'#2#23#3'Top'#2#18#5'Width'#3#150#1#7'Ancho'
+'rs'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0#0#0#9'TGroupBox'#9'G'
+'roupBox1'#4'Left'#2#4#6'Height'#3'8'#1#3'Top'#2'b'#5'Width'#3#239#1#7'Ancho'
+'rs'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#7'Caption'#6#14' Proper'
+'ties '#12'ClientHeight'#3'&'#1#11'ClientWidth'#3#235#1#8'TabOrder'#2#1#0#9
+'TListView'#7'edtProp'#6'Height'#3'&'#1#5'Width'#3#235#1#5'Align'#7#8'alClie'
+'nt'#11'BorderWidth'#2#2#7'Columns'#14#1#8'AutoSize'#9#7'Caption'#6#4'Name'#5
+'Width'#3#210#0#0#1#7'Caption'#6#4'Type'#5'Width'#3#200#0#0#1#7'Caption'#6#9
+'Attribute'#5'Width'#2'<'#0#0#9'PopupMenu'#7#10'PopupMenu1'#9'RowSelect'#9#8
+'TabOrder'#2#0#9'ViewStyle'#7#8'vsReport'#10'OnDblClick'#7#15'edtPropDblClic'
+'k'#0#0#0#7'TButton'#7'Button3'#4'Left'#2#4#6'Height'#2#25#3'Top'#3#165#1#5
+'Width'#2'd'#6'Action'#7#10'actPropAdd'#7'Anchors'#11#6'akLeft'#8'akBottom'#0
+#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#2#0#0#7'TButton'#7'Button4'
+#4'Left'#2't'#6'Height'#2#25#3'Top'#3#165#1#5'Width'#2'd'#6'Action'#7#11'act'
+'PropEdit'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#25'BorderSpacing.InnerBorde'
+'r'#2#4#8'TabOrder'#2#3#0#0#7'TButton'#7'Button5'#4'Left'#3#228#0#6'Height'#2
+#25#3'Top'#3#165#1#5'Width'#2'd'#6'Action'#7#13'actPropDelete'#7'Anchors'#11
+#6'akLeft'#8'akBottom'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#4#0
+#0#9'TComboBox'#9'edtParent'#4'Left'#2'\'#6'Height'#2#21#3'Top'#2':'#5'Width'
+#3#150#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#16'AutoCompleteText'
+#11#22'cbactEndOfLineComplete'#20'cbactSearchAscending'#0#10'ItemHeight'#2#13
+#9'MaxLength'#2#0#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#5#0#0#0#0#11'T'
+'ActionList'#11'ActionList1'#4'left'#3#232#0#3'top'#3#200#0#0#7'TAction'#5'a'
+'ctOK'#7'Caption'#6#2'OK'#18'DisableIfNoHandler'#9#9'OnExecute'#7#12'actOKEx'
+'ecute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#7'TAction'#10'actPropAdd'#7'Captio'
+'n'#6#12'New Property'#18'DisableIfNoHandler'#9#9'OnExecute'#7#17'actPropAdd'
+'Execute'#0#0#7'TAction'#11'actPropEdit'#7'Caption'#6#13'Edit Property'#18'D'
+'isableIfNoHandler'#9#9'OnExecute'#7#18'actPropEditExecute'#8'OnUpdate'#7#17
+'actPropEditUpdate'#0#0#7'TAction'#13'actPropDelete'#7'Caption'#6#15'Delete '
+'Property'#18'DisableIfNoHandler'#9#9'OnExecute'#7#20'actPropDeleteExecute'#8
+'OnUpdate'#7#17'actPropEditUpdate'#0#0#0#10'TPopupMenu'#10'PopupMenu1'#4'lef'
+'t'#2'i'#3'top'#3#186#0#0#9'TMenuItem'#9'MenuItem1'#6'Action'#7#10'actPropAd'
+'d'#7'OnClick'#7#17'actPropAddExecute'#0#0#9'TMenuItem'#9'MenuItem2'#6'Actio'
+'n'#7#11'actPropEdit'#7'OnClick'#7#18'actPropEditExecute'#0#0#9'TMenuItem'#9
+'MenuItem3'#6'Action'#7#13'actPropDelete'#7'OnClick'#7#20'actPropDeleteExecu'
+'te'#0#0#0#0
'TPF0'#11'TfClassEdit'#10'fClassEdit'#4'Left'#3'T'#3#6'Height'#3'#'#2#3'Top'#2
+'M'#5'Width'#3#6#2#18'HorzScrollBar.Page'#3#5#2#18'VertScrollBar.Page'#3'"'#2
+#13'ActiveControl'#7#2'PC'#11'BorderStyle'#7#13'bsSizeToolWin'#7'Caption'#6
+#10'fClassEdit'#12'ClientHeight'#3'#'#2#11'ClientWidth'#3#6#2#8'Position'#7
+#15'poDesktopCenter'#10'LCLVersion'#6#6'0.9.25'#0#6'TPanel'#6'Panel1'#6'Heig'
+'ht'#2'2'#3'Top'#3#241#1#5'Width'#3#6#2#5'Align'#7#8'alBottom'#12'ClientHeig'
+'ht'#2'2'#11'ClientWidth'#3#6#2#8'TabOrder'#2#0#0#7'TButton'#7'Button1'#4'Le'
+'ft'#3'U'#1#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'#7'Anchors'#11#5'akTop'#7
+'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6#6'Can'
+'cel'#11'ModalResult'#2#2#8'TabOrder'#2#1#0#0#7'TButton'#7'Button2'#4'Left'#3
+#253#0#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'#6'Action'#7#5'actOK'#7'Ancho'
+'rs'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#7'Default'#9
+#8'TabOrder'#2#0#0#0#7'TButton'#7'Button6'#4'Left'#3#173#1#6'Height'#2#25#3
+'Top'#2#10#5'Width'#2'K'#6'Action'#7#8'actApply'#7'Anchors'#11#5'akTop'#7'ak'
+'Right'#0#8'TabOrder'#2#2#0#0#0#12'TPageControl'#2'PC'#6'Height'#3#241#1#5'W'
+'idth'#3#6#2#10'ActivePage'#7#9'TabSheet1'#5'Align'#7#8'alClient'#8'TabIndex'
+#2#0#8'TabOrder'#2#1#8'OnChange'#7#8'PCChange'#13'OnPageChanged'#7#8'PCChang'
+'e'#0#9'TTabSheet'#9'TabSheet1'#7'Caption'#6#15'Compound Object'#12'ClientHe'
+'ight'#3#215#1#11'ClientWidth'#3#254#1#0#6'TLabel'#6'Label1'#4'Left'#2#4#6'H'
+'eight'#2#14#3'Top'#2#18#5'Width'#2#28#7'Caption'#6#4'Name'#11'ParentColor'#8
+#0#0#6'TLabel'#6'Label2'#4'Left'#2#4#6'Height'#2#14#3'Top'#2';'#5'Width'#2'C'
+#7'Caption'#6#14'Inheritts from'#11'ParentColor'#8#0#0#5'TEdit'#7'edtName'#4
+'Left'#2'\'#6'Height'#2#23#3'Top'#2#18#5'Width'#3#150#1#7'Anchors'#11#5'akTo'
+'p'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0#0#0#9'TGroupBox'#9'GroupBox1'#4'L'
+'eft'#2#4#6'Height'#3'8'#1#3'Top'#2'b'#5'Width'#3#239#1#7'Anchors'#11#5'akTo'
+'p'#6'akLeft'#7'akRight'#8'akBottom'#0#7'Caption'#6#14' Properties '#12'Cl'
+'ientHeight'#3'&'#1#11'ClientWidth'#3#235#1#8'TabOrder'#2#2#0#9'TListView'#7
+'edtProp'#6'Height'#3'&'#1#5'Width'#3#235#1#5'Align'#7#8'alClient'#11'Border'
+'Width'#2#2#7'Columns'#14#1#8'AutoSize'#9#7'Caption'#6#4'Name'#5'Width'#3#210
+#0#0#1#7'Caption'#6#4'Type'#5'Width'#3#200#0#0#1#7'Caption'#6#9'Attribute'#5
+'Width'#2'<'#0#0#9'PopupMenu'#7#10'PopupMenu1'#9'RowSelect'#9#8'TabOrder'#2#0
+#9'ViewStyle'#7#8'vsReport'#10'OnDblClick'#7#15'edtPropDblClick'#0#0#0#7'TBu'
+'tton'#7'Button3'#4'Left'#2#4#6'Height'#2#25#3'Top'#3#165#1#5'Width'#2'd'#6
+'Action'#7#10'actPropAdd'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#25'BorderSpa'
+'cing.InnerBorder'#2#4#8'TabOrder'#2#3#0#0#7'TButton'#7'Button4'#4'Left'#2't'
+#6'Height'#2#25#3'Top'#3#165#1#5'Width'#2'd'#6'Action'#7#11'actPropEdit'#7'A'
+'nchors'#11#6'akLeft'#8'akBottom'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabO'
+'rder'#2#4#0#0#7'TButton'#7'Button5'#4'Left'#3#228#0#6'Height'#2#25#3'Top'#3
+#165#1#5'Width'#2'd'#6'Action'#7#13'actPropDelete'#7'Anchors'#11#6'akLeft'#8
+'akBottom'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#5#0#0#9'TComboB'
+'ox'#9'edtParent'#4'Left'#2'\'#6'Height'#2#21#3'Top'#2':'#5'Width'#3#150#1#7
+'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#16'AutoCompleteText'#11#22'cbac'
+'tEndOfLineComplete'#20'cbactSearchAscending'#0#10'ItemHeight'#2#13#9'MaxLen'
+'gth'#2#0#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#1#0#0#0#9'TTabSheet'#11
+'tsSourceXSD'#7'Caption'#6#3'XSD'#12'ClientHeight'#3#215#1#11'ClientWidth'#3
+#254#1#0#8'TSynEdit'#12'edtSourceXSD'#4'Left'#2#12#6'Height'#3#176#1#3'Top'#2
+#18#5'Width'#3#224#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'
+#0#11'Font.Height'#2#236#9'Font.Name'#6#7'courier'#11'ParentColor'#8#8'TabOr'
+'der'#2#0#23'BookMarkOptions.Xoffset'#2'*'#24'BookMarkOptions.OnChange'#13#17
+'Gutter.DigitCount'#2#2#22'Gutter.ShowLineNumbers'#9#22'Gutter.ShowCodeFoldi'
+'ng'#9#12'Gutter.Width'#2#10#15'Gutter.OnChange'#13#23'Gutter.CodeFoldingWid'
+'th'#2#14#11'Highlighter'#7#10'SynXMLSyn1'#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'#14'tsDependencies'#7'Caption'#6#7'Used by'#12
+'ClientHeight'#3#215#1#11'ClientWidth'#3#254#1#0#9'TTreeView'#12'tvDependenc'
+'y'#4'Left'#2#20#6'Height'#3#177#1#3'Top'#2#18#5'Width'#3#208#1#7'Anchors'#11
+#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#17'DefaultItemHeight'#2#15#8'Re'
+'adOnly'#9#16'RightClickSelect'#9#8'TabOrder'#2#0#7'Options'#11#17'tvoAutoIt'
+'emHeight'#16'tvoHideSelection'#21'tvoKeepCollapsedNodes'#11'tvoReadOnly'#19
+'tvoRightClickSelect'#14'tvoShowButtons'#12'tvoShowLines'#11'tvoShowRoot'#11
+'tvoToolTips'#0#0#0#0#0#11'TActionList'#11'ActionList1'#4'left'#3#232#0#3'to'
+'p'#3#200#0#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#18'DisableIfNoHandler'#9
+#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#7'TAction'
+#10'actPropAdd'#7'Caption'#6#12'New Property'#18'DisableIfNoHandler'#9#9'OnE'
+'xecute'#7#17'actPropAddExecute'#0#0#7'TAction'#11'actPropEdit'#7'Caption'#6
+#13'Edit Property'#18'DisableIfNoHandler'#9#9'OnExecute'#7#18'actPropEditExe'
+'cute'#8'OnUpdate'#7#17'actPropEditUpdate'#0#0#7'TAction'#13'actPropDelete'#7
+'Caption'#6#15'Delete Property'#18'DisableIfNoHandler'#9#9'OnExecute'#7#20'a'
+'ctPropDeleteExecute'#8'OnUpdate'#7#17'actPropEditUpdate'#0#0#7'TAction'#8'a'
+'ctApply'#7'Caption'#6#5'Apply'#18'DisableIfNoHandler'#9#9'OnExecute'#7#15'a'
+'ctApplyExecute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#0#10'TPopupMenu'#10'Popup'
+'Menu1'#4'left'#2'i'#3'top'#3#186#0#0#9'TMenuItem'#9'MenuItem1'#6'Action'#7
+#10'actPropAdd'#7'OnClick'#7#17'actPropAddExecute'#0#0#9'TMenuItem'#9'MenuIt'
+'em2'#6'Action'#7#11'actPropEdit'#7'OnClick'#7#18'actPropEditExecute'#0#0#9
+'TMenuItem'#9'MenuItem3'#6'Action'#7#13'actPropDelete'#7'OnClick'#7#20'actPr'
+'opDeleteExecute'#0#0#0#10'TSynXMLSyn'#10'SynXMLSyn1'#13'DefaultFilter'#6'MD'
+'ocuments XML (*.xml,*.xsd,*.xsl,*.xslt,*.dtd)|*.xml;*.xsd;*.xsl;*.xslt;*.dt'
+'d'#7'Enabled'#8#16'WantBracesParsed'#8#4'left'#3#210#0#3'top'#3#171#0#0#0#0
]);

View File

@ -18,15 +18,16 @@ interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ActnList,
ExtCtrls, ComCtrls, Buttons, StdCtrls,
ExtCtrls, ComCtrls, Buttons, StdCtrls, Contnrs,
pastree, pascal_parser_intf,
edit_helper, Menus;
edit_helper, Menus, SynEdit, SynHighlighterXML, view_helper;
type
{ TfClassEdit }
TfClassEdit = class(TForm)
actApply : TAction;
actPropDelete: TAction;
actPropEdit: TAction;
actPropAdd: TAction;
@ -38,6 +39,7 @@ type
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6 : TButton;
edtParent: TComboBox;
edtName: TEdit;
GroupBox1: TGroupBox;
@ -50,7 +52,13 @@ type
Panel1: TPanel;
PC: TPageControl;
PopupMenu1: TPopupMenu;
edtSourceXSD : TSynEdit;
SynXMLSyn1 : TSynXMLSyn;
TabSheet1: TTabSheet;
tsDependencies : TTabSheet;
tvDependency : TTreeView;
tsSourceXSD : TTabSheet;
procedure actApplyExecute(Sender : TObject);
procedure actOKExecute(Sender: TObject);
procedure actOKUpdate(Sender: TObject);
procedure actPropAddExecute(Sender: TObject);
@ -58,11 +66,14 @@ type
procedure actPropEditExecute(Sender: TObject);
procedure actPropEditUpdate(Sender: TObject);
procedure edtPropDblClick(Sender: TObject);
procedure PCChange(Sender : TObject);
private
FUpdateType : TEditType;
FObject : TPasClassType;
FSymbolTable : TwstPasTreeContainer;
FOldAncestor : TPasType;
FApplied : Boolean;
FDependencyList : TObjectList;
private
property UpdateType : TEditType read FUpdateType;
private
@ -70,7 +81,11 @@ type
procedure LoadProperty(APropDef : TPasProperty);
procedure LoadFromObject();
procedure SaveToObject();
procedure ShowSourceXSD();
procedure ShowDependencies();
public
destructor Destroy();override;
function UpdateObject(
var AObject : TPasClassType;
const AUpdateType : TEditType;
@ -82,7 +97,8 @@ var
fClassEdit: TfClassEdit;
implementation
uses parserutils, ufpropedit, common_gui_utils;
uses
parserutils, ufpropedit, common_gui_utils;
{ TfClassEdit }
@ -107,6 +123,13 @@ begin
ModalResult := mrOk;
end;
procedure TfClassEdit.actApplyExecute(Sender : TObject);
begin
SaveToObject();
if ( PC.ActivePage = tsSourceXSD ) then
ShowSourceXSD();
end;
procedure TfClassEdit.actPropDeleteExecute(Sender: TObject);
var
prop : TPasProperty;
@ -146,6 +169,17 @@ begin
end;
end;
procedure TfClassEdit.PCChange(Sender : TObject);
begin
if ( PC.ActivePage = tsSourceXSD ) then begin
if actApply.Enabled then
actApply.Execute();
ShowSourceXSD();
end else if ( PC.ActivePage = tsDependencies ) then begin
ShowDependencies();
end;
end;
procedure InternalFillList(
ALs : TStrings;
AContainer : TwstPasTreeContainer
@ -207,10 +241,15 @@ begin
end;
procedure TfClassEdit.PrepareParentCombo();
var
i : PtrInt;
begin
edtParent.Items.BeginUpdate();
try
FillList(edtParent.Items,FSymbolTable);
i := edtParent.Items.IndexOfObject(FObject);
if ( i >= 0 ) then
edtParent.Items.Delete(i);
finally
edtParent.Items.EndUpdate();
end;
@ -308,6 +347,28 @@ begin
if Assigned(locObj.AncestorType) then
locObj.AncestorType.AddRef();
end;
FOldAncestor := locObj.AncestorType;
FApplied := True;
end;
procedure TfClassEdit.ShowSourceXSD();
begin
edtSourceXSD.Lines.Text := XsdGenerateSourceForObject(FObject,FSymbolTable);
end;
procedure TfClassEdit.ShowDependencies();
begin
if ( FDependencyList = nil ) then
FDependencyList := TObjectList.Create(True);
FDependencyList.Clear();
FindDependencies(FObject,FSymbolTable,FDependencyList);
DrawDependencies(tvDependency,FDependencyList);
end;
destructor TfClassEdit.Destroy();
begin
FDependencyList.Free();
inherited Destroy();
end;
function TfClassEdit.UpdateObject(
@ -331,7 +392,7 @@ begin
try
PrepareParentCombo();
LoadFromObject();
Result := ( ShowModal() = mrOK );
Result := FApplied or ( ShowModal() = mrOK );
if Result then begin
try
SaveToObject();

View File

@ -1,16 +1,17 @@
object fEnumEdit: TfEnumEdit
Left = 373
Left = 233
Height = 368
Top = 215
Top = 94
Width = 400
HorzScrollBar.Page = 399
VertScrollBar.Page = 367
ActiveControl = edtName
ActiveControl = PC
BorderStyle = bsSizeToolWin
Caption = 'fEnumEdit'
ClientHeight = 368
ClientWidth = 400
Position = poMainFormCenter
LCLVersion = '0.9.25'
object PC: TPageControl
Height = 318
Width = 400
@ -18,6 +19,8 @@ object fEnumEdit: TfEnumEdit
Align = alClient
TabIndex = 0
TabOrder = 0
OnChange = PCChange
OnPageChanged = PCChange
object TabSheet1: TTabSheet
Caption = 'Enumeration'
ClientHeight = 292
@ -57,6 +60,371 @@ object fEnumEdit: TfEnumEdit
end
end
end
object tsSourceXSD: TTabSheet
Caption = 'XSD'
ClientHeight = 292
ClientWidth = 392
object edtSourceXSD: TSynEdit
Left = 13
Height = 272
Top = 10
Width = 360
Anchors = [akTop, akLeft, akRight, akBottom]
Font.Height = -20
Font.Name = 'courier'
ParentColor = False
TabOrder = 0
BookMarkOptions.Xoffset = 42
BookMarkOptions.OnChange = nil
Gutter.DigitCount = 2
Gutter.ShowLineNumbers = True
Gutter.ShowCodeFolding = True
Gutter.Width = 10
Gutter.OnChange = nil
Gutter.CodeFoldingWidth = 14
Highlighter = SynXMLSyn1
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 tsDependencies: TTabSheet
Caption = 'Used by'
ClientHeight = 292
ClientWidth = 392
object tvDependency: TTreeView
Left = 12
Height = 272
Top = 10
Width = 360
Anchors = [akTop, akLeft, akRight, akBottom]
DefaultItemHeight = 15
ReadOnly = True
RightClickSelect = True
TabOrder = 0
Options = [tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoRightClickSelect, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips]
end
end
end
object Panel1: TPanel
Height = 50
@ -67,7 +435,7 @@ object fEnumEdit: TfEnumEdit
ClientWidth = 400
TabOrder = 1
object Button1: TButton
Left = 312
Left = 224
Height = 25
Top = 10
Width = 75
@ -79,7 +447,7 @@ object fEnumEdit: TfEnumEdit
TabOrder = 0
end
object Button2: TButton
Left = 222
Left = 136
Height = 25
Top = 10
Width = 75
@ -89,6 +457,16 @@ object fEnumEdit: TfEnumEdit
Default = True
TabOrder = 1
end
object Button3: TButton
Left = 312
Height = 25
Top = 10
Width = 75
Action = actApply
Anchors = [akTop, akRight]
BorderSpacing.InnerBorder = 4
TabOrder = 2
end
end
object ActionList1: TActionList
left = 248
@ -99,5 +477,18 @@ object fEnumEdit: TfEnumEdit
OnExecute = actOKExecute
OnUpdate = actOKUpdate
end
object actApply: TAction
Caption = 'Apply'
DisableIfNoHandler = True
OnExecute = actApplyExecute
OnUpdate = actOKUpdate
end
end
object SynXMLSyn1: TSynXMLSyn
DefaultFilter = 'Documents XML (*.xml,*.xsd,*.xsl,*.xslt,*.dtd)|*.xml;*.xsd;*.xsl;*.xslt;*.dtd'
Enabled = False
WantBracesParsed = False
left = 266
top = 227
end
end

View File

@ -1,29 +1,96 @@
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
LazarusResources.Add('TfEnumEdit','FORMDATA',[
'TPF0'#10'TfEnumEdit'#9'fEnumEdit'#4'Left'#3'u'#1#6'Height'#3'p'#1#3'Top'#3
+#215#0#5'Width'#3#144#1#18'HorzScrollBar.Page'#3#143#1#18'VertScrollBar.Page'
+#3'o'#1#13'ActiveControl'#7#7'edtName'#11'BorderStyle'#7#13'bsSizeToolWin'#7
+'Caption'#6#9'fEnumEdit'#12'ClientHeight'#3'p'#1#11'ClientWidth'#3#144#1#8'P'
+'osition'#7#16'poMainFormCenter'#0#12'TPageControl'#2'PC'#6'Height'#3'>'#1#5
+'Width'#3#144#1#10'ActivePage'#7#9'TabSheet1'#5'Align'#7#8'alClient'#8'TabIn'
+'dex'#2#0#8'TabOrder'#2#0#0#9'TTabSheet'#9'TabSheet1'#7'Caption'#6#11'Enumer'
+'ation'#12'ClientHeight'#3'$'#1#11'ClientWidth'#3#136#1#0#6'TLabel'#6'Label1'
+#4'Left'#2#4#6'Height'#2#14#3'Top'#2#18#5'Width'#2#28#7'Caption'#6#4'Name'#11
+'ParentColor'#8#0#0#5'TEdit'#7'edtName'#4'Left'#2'D'#6'Height'#2#23#3'Top'#2
+#18#5'Width'#3'8'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'
+#2#0#0#0#9'TGroupBox'#9'GroupBox1'#4'Left'#2#4#6'Height'#3#231#0#3'Top'#2'3'
+#5'Width'#3'y'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#7
+'Caption'#6#9' Items '#12'ClientHeight'#3#213#0#11'ClientWidth'#3'u'#1#8'T'
+'abOrder'#2#1#0#5'TMemo'#8'edtItems'#6'Height'#3#213#0#5'Width'#3'u'#1#5'Ali'
+'gn'#7#8'alClient'#10'ScrollBars'#7#6'ssBoth'#8'TabOrder'#2#0#0#0#0#0#0#6'TP'
+'anel'#6'Panel1'#6'Height'#2'2'#3'Top'#3'>'#1#5'Width'#3#144#1#5'Align'#7#8
+'alBottom'#12'ClientHeight'#2'2'#11'ClientWidth'#3#144#1#8'TabOrder'#2#1#0#7
+'TButton'#7'Button1'#4'Left'#3'8'#1#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'
+#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#6'Can'
+'cel'#9#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#0#0#0#7'TBu'
+'tton'#7'Button2'#4'Left'#3#222#0#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'#6
+'Action'#7#5'actOK'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.Inn'
+'erBorder'#2#4#7'Default'#9#8'TabOrder'#2#1#0#0#0#11'TActionList'#11'ActionL'
+'ist1'#4'left'#3#248#0#3'top'#2'x'#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'
+#18'DisableIfNoHandler'#9#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7#11'a'
+'ctOKUpdate'#0#0#0#0
'TPF0'#10'TfEnumEdit'#9'fEnumEdit'#4'Left'#3#233#0#6'Height'#3'p'#1#3'Top'#2
+'^'#5'Width'#3#144#1#18'HorzScrollBar.Page'#3#143#1#18'VertScrollBar.Page'#3
+'o'#1#13'ActiveControl'#7#2'PC'#11'BorderStyle'#7#13'bsSizeToolWin'#7'Captio'
+'n'#6#9'fEnumEdit'#12'ClientHeight'#3'p'#1#11'ClientWidth'#3#144#1#8'Positio'
+'n'#7#16'poMainFormCenter'#10'LCLVersion'#6#6'0.9.25'#0#12'TPageControl'#2'P'
+'C'#6'Height'#3'>'#1#5'Width'#3#144#1#10'ActivePage'#7#9'TabSheet1'#5'Align'
+#7#8'alClient'#8'TabIndex'#2#0#8'TabOrder'#2#0#8'OnChange'#7#8'PCChange'#13
+'OnPageChanged'#7#8'PCChange'#0#9'TTabSheet'#9'TabSheet1'#7'Caption'#6#11'En'
+'umeration'#12'ClientHeight'#3'$'#1#11'ClientWidth'#3#136#1#0#6'TLabel'#6'La'
+'bel1'#4'Left'#2#4#6'Height'#2#14#3'Top'#2#18#5'Width'#2#28#7'Caption'#6#4'N'
+'ame'#11'ParentColor'#8#0#0#5'TEdit'#7'edtName'#4'Left'#2'D'#6'Height'#2#23#3
+'Top'#2#18#5'Width'#3'8'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'T'
+'abOrder'#2#0#0#0#9'TGroupBox'#9'GroupBox1'#4'Left'#2#4#6'Height'#3#231#0#3
+'Top'#2'3'#5'Width'#3'y'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akB'
+'ottom'#0#7'Caption'#6#9' Items '#12'ClientHeight'#3#213#0#11'ClientWidth'
+#3'u'#1#8'TabOrder'#2#1#0#5'TMemo'#8'edtItems'#6'Height'#3#213#0#5'Width'#3
+'u'#1#5'Align'#7#8'alClient'#10'ScrollBars'#7#6'ssBoth'#8'TabOrder'#2#0#0#0#0
+#0#9'TTabSheet'#11'tsSourceXSD'#7'Caption'#6#3'XSD'#12'ClientHeight'#3'$'#1
+#11'ClientWidth'#3#136#1#0#8'TSynEdit'#12'edtSourceXSD'#4'Left'#2#13#6'Heigh'
+'t'#3#16#1#3'Top'#2#10#5'Width'#3'h'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'ak'
+'Right'#8'akBottom'#0#11'Font.Height'#2#236#9'Font.Name'#6#7'courier'#11'Par'
+'entColor'#8#8'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'*'#24'BookMarkOpt'
+'ions.OnChange'#13#17'Gutter.DigitCount'#2#2#22'Gutter.ShowLineNumbers'#9#22
+'Gutter.ShowCodeFolding'#9#12'Gutter.Width'#2#10#15'Gutter.OnChange'#13#23'G'
+'utter.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'SynXMLSyn1'#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'#14'tsDependencies'#7'Caption'#6#7'U'
+'sed by'#12'ClientHeight'#3'$'#1#11'ClientWidth'#3#136#1#0#9'TTreeView'#12't'
+'vDependency'#4'Left'#2#12#6'Height'#3#16#1#3'Top'#2#10#5'Width'#3'h'#1#7'An'
+'chors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#17'DefaultItemHeight'
+#2#15#8'ReadOnly'#9#16'RightClickSelect'#9#8'TabOrder'#2#0#7'Options'#11#17
+'tvoAutoItemHeight'#16'tvoHideSelection'#21'tvoKeepCollapsedNodes'#11'tvoRea'
+'dOnly'#19'tvoRightClickSelect'#14'tvoShowButtons'#12'tvoShowLines'#11'tvoSh'
+'owRoot'#11'tvoToolTips'#0#0#0#0#0#6'TPanel'#6'Panel1'#6'Height'#2'2'#3'Top'
+#3'>'#1#5'Width'#3#144#1#5'Align'#7#8'alBottom'#12'ClientHeight'#2'2'#11'Cli'
+'entWidth'#3#144#1#8'TabOrder'#2#1#0#7'TButton'#7'Button1'#4'Left'#3#224#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'Caption'#6#6'Cancel'#11'Mod'
+'alResult'#2#2#8'TabOrder'#2#0#0#0#7'TButton'#7'Button2'#4'Left'#3#136#0#6'H'
+'eight'#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'TabOrd'
+'er'#2#1#0#0#7'TButton'#7'Button3'#4'Left'#3'8'#1#6'Height'#2#25#3'Top'#2#10
+#5'Width'#2'K'#6'Action'#7#8'actApply'#7'Anchors'#11#5'akTop'#7'akRight'#0#25
+'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#2#0#0#0#11'TActionList'#11'Act'
+'ionList1'#4'left'#3#248#0#3'top'#2'x'#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#7'TAction'#8'actApply'#7'Caption'#6#5'Apply'#18'Disable'
+'IfNoHandler'#9#9'OnExecute'#7#15'actApplyExecute'#8'OnUpdate'#7#11'actOKUpd'
+'ate'#0#0#0#10'TSynXMLSyn'#10'SynXMLSyn1'#13'DefaultFilter'#6'MDocuments XML'
+' (*.xml,*.xsd,*.xsl,*.xslt,*.dtd)|*.xml;*.xsd;*.xsl;*.xslt;*.dtd'#7'Enabled'
+#8#16'WantBracesParsed'#8#4'left'#3#10#1#3'top'#3#227#0#0#0#0
]);

View File

@ -18,37 +18,52 @@ interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
ComCtrls, ExtCtrls, ActnList, Buttons,
pastree, pascal_parser_intf, edit_helper;
ComCtrls, ExtCtrls, ActnList, Buttons, Contnrs,
pastree, pascal_parser_intf, edit_helper, SynEdit, SynHighlighterXML;
type
{ TfEnumEdit }
TfEnumEdit = class(TForm)
actApply : TAction;
actOK: TAction;
ActionList1: TActionList;
Button1: TButton;
Button2: TButton;
Button3 : TButton;
edtName: TEdit;
edtSourceXSD : TSynEdit;
GroupBox1: TGroupBox;
Label1: TLabel;
edtItems: TMemo;
PC: TPageControl;
Panel1: TPanel;
SynXMLSyn1 : TSynXMLSyn;
TabSheet1: TTabSheet;
tsDependencies : TTabSheet;
tsSourceXSD : TTabSheet;
tvDependency : TTreeView;
procedure actApplyExecute(Sender : TObject);
procedure actOKExecute(Sender: TObject);
procedure actOKUpdate(Sender: TObject);
procedure PCChange(Sender : TObject);
private
FUpdateType : TEditType;
FObject : TPasEnumType;
FSymbolTable : TwstPasTreeContainer;
FApplied : Boolean;
FDependencyList : TObjectList;
private
property UpdateType : TEditType read FUpdateType;
private
procedure LoadFromObject();
procedure SaveToObject();
procedure ShowSourceXSD();
procedure ShowDependencies();
public
destructor Destroy();override;
function UpdateObject(
var AObject : TPasEnumType;
const AUpdateType : TEditType;
@ -60,7 +75,7 @@ var
fEnumEdit: TfEnumEdit;
implementation
uses parserutils;
uses parserutils, view_helper;
function ParseEnum(
const AName : string;
@ -117,11 +132,29 @@ begin
( not IsStrEmpty(edtItems.Lines.Text) );
end;
procedure TfEnumEdit.PCChange(Sender : TObject);
begin
if ( PC.ActivePage = tsSourceXSD ) then begin
if actApply.Enabled then
actApply.Execute();
ShowSourceXSD();
end else if ( PC.ActivePage = tsDependencies ) then begin
ShowDependencies();
end;
end;
procedure TfEnumEdit.actOKExecute(Sender: TObject);
begin
ModalResult := mrOK;
end;
procedure TfEnumEdit.actApplyExecute(Sender : TObject);
begin
SaveToObject();
if ( PC.ActivePage = tsSourceXSD ) then
ShowSourceXSD();
end;
procedure TfEnumEdit.LoadFromObject();
var
i : Integer;
@ -145,13 +178,34 @@ var
locObj : TPasEnumType;
begin
locObj := nil;
if ( UpdateType = etCreate ) then begin
if ( UpdateType = etCreate ) and ( FObject = nil ) then begin
locObj := ParseEnum(edtName.Text,edtItems.Lines,nil,FSymbolTable);
//FreeAndNil(FObject);
FObject := locObj;
end else begin
ParseEnum(edtName.Text,edtItems.Lines,FObject,FSymbolTable);
end;
FApplied := True;
end;
procedure TfEnumEdit.ShowSourceXSD();
begin
edtSourceXSD.Lines.Text := XsdGenerateSourceForObject(FObject,FSymbolTable);
end;
procedure TfEnumEdit.ShowDependencies();
begin
if ( FDependencyList = nil ) then
FDependencyList := TObjectList.Create(True);
FDependencyList.Clear();
FindDependencies(FObject,FSymbolTable,FDependencyList);
DrawDependencies(tvDependency,FDependencyList);
end;
destructor TfEnumEdit.Destroy();
begin
FDependencyList.Free();
inherited Destroy();
end;
function TfEnumEdit.UpdateObject(
@ -164,7 +218,7 @@ begin
FUpdateType := AUpdateType;
FObject := AObject;
LoadFromObject();
Result := ( ShowModal() = mrOK );
Result := FApplied or ( ShowModal() = mrOK );
if Result then begin
SaveToObject();
if ( AUpdateType = etCreate ) then begin

View File

@ -1,22 +1,25 @@
object fRecordEdit: TfRecordEdit
Left = 701
Left = 859
Height = 542
Top = 128
Top = 104
Width = 517
HorzScrollBar.Page = 516
VertScrollBar.Page = 541
ActiveControl = edtName
ActiveControl = PC
Caption = 'fRecordEdit'
ClientHeight = 542
ClientWidth = 517
Position = poDesktopCenter
object PageControl1: TPageControl
LCLVersion = '0.9.25'
object PC: TPageControl
Height = 492
Width = 517
ActivePage = TabSheet1
Align = alClient
TabIndex = 0
TabOrder = 0
OnChange = PCChange
OnPageChanged = PCChange
object TabSheet1: TTabSheet
Caption = 'Record Type'
ClientHeight = 466
@ -100,6 +103,368 @@ object fRecordEdit: TfRecordEdit
TabOrder = 4
end
end
object tsSourceXSD: TTabSheet
Caption = 'XSD'
ClientHeight = 466
ClientWidth = 509
object edtSourceXSD: TSynEdit
Left = 12
Height = 432
Top = 18
Width = 480
Anchors = [akTop, akLeft, akRight, akBottom]
Font.Height = -20
Font.Name = 'courier'
ParentColor = False
TabOrder = 0
BookMarkOptions.Xoffset = 42
Gutter.DigitCount = 2
Gutter.ShowLineNumbers = True
Gutter.ShowCodeFolding = True
Gutter.Width = 10
Gutter.CodeFoldingWidth = 14
Highlighter = SynXMLSyn1
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 tsDependencies: TTabSheet
Caption = 'Used by'
ClientHeight = 466
ClientWidth = 509
object tvDependency: TTreeView
Left = 20
Height = 433
Top = 18
Width = 464
Anchors = [akTop, akLeft, akRight, akBottom]
DefaultItemHeight = 15
ReadOnly = True
RightClickSelect = True
TabOrder = 0
Options = [tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoRightClickSelect, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips]
end
end
end
object Panel1: TPanel
Height = 50
@ -110,9 +475,9 @@ object fRecordEdit: TfRecordEdit
ClientWidth = 517
TabOrder = 1
object Button1: TButton
Left = 328
Left = 253
Height = 25
Top = 13
Top = 10
Width = 75
Action = actOK
Anchors = [akTop, akRight]
@ -120,9 +485,9 @@ object fRecordEdit: TfRecordEdit
TabOrder = 0
end
object Button2: TButton
Left = 416
Left = 341
Height = 25
Top = 13
Top = 10
Width = 75
Anchors = [akTop, akRight]
BorderSpacing.InnerBorder = 4
@ -131,6 +496,15 @@ object fRecordEdit: TfRecordEdit
ModalResult = 2
TabOrder = 1
end
object Button6: TButton
Left = 429
Height = 25
Top = 10
Width = 75
Action = actApply
Anchors = [akTop, akRight]
TabOrder = 2
end
end
object ActionList1: TActionList
left = 128
@ -158,6 +532,12 @@ object fRecordEdit: TfRecordEdit
OnExecute = actPropDeleteExecute
OnUpdate = actPropEditUpdate
end
object actApply: TAction
Caption = 'Apply'
DisableIfNoHandler = True
OnExecute = actApplyExecute
OnUpdate = actOKUpdate
end
end
object PopupMenu1: TPopupMenu
left = 112
@ -175,4 +555,11 @@ object fRecordEdit: TfRecordEdit
OnClick = actPropDeleteExecute
end
end
object SynXMLSyn1: TSynXMLSyn
DefaultFilter = 'Documents XML (*.xml,*.xsd,*.xsl,*.xslt,*.dtd)|*.xml;*.xsd;*.xsl;*.xslt;*.dtd'
Enabled = False
WantBracesParsed = False
left = 238
top = 199
end
end

View File

@ -1,51 +1,115 @@
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
LazarusResources.Add('TfRecordEdit','FORMDATA',[
'TPF0'#12'TfRecordEdit'#11'fRecordEdit'#4'Left'#3#189#2#6'Height'#3#30#2#3'To'
+'p'#3#128#0#5'Width'#3#5#2#18'HorzScrollBar.Page'#3#4#2#18'VertScrollBar.Pag'
+'e'#3#29#2#13'ActiveControl'#7#7'edtName'#7'Caption'#6#11'fRecordEdit'#12'Cl'
+'ientHeight'#3#30#2#11'ClientWidth'#3#5#2#8'Position'#7#15'poDesktopCenter'#0
+#12'TPageControl'#12'PageControl1'#6'Height'#3#236#1#5'Width'#3#5#2#10'Activ'
+'ePage'#7#9'TabSheet1'#5'Align'#7#8'alClient'#8'TabIndex'#2#0#8'TabOrder'#2#0
+#0#9'TTabSheet'#9'TabSheet1'#7'Caption'#6#11'Record Type'#12'ClientHeight'#3
+#210#1#11'ClientWidth'#3#253#1#0#6'TLabel'#6'Label1'#4'Left'#2#20#6'Height'#2
+#14#3'Top'#2'"'#5'Width'#2#28#7'Caption'#6#4'Name'#11'ParentColor'#8#0#0#5'T'
+'Edit'#7'edtName'#4'Left'#2'L'#6'Height'#2#23#3'Top'#2'"'#5'Width'#3#153#1#7
+'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0#0#0#9'TGroupBox'
+#9'GroupBox1'#4'Left'#2#20#6'Height'#3'@'#1#3'Top'#2'R'#5'Width'#3#209#1#7'A'
+'nchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#7'Caption'#6#10' Fi'
+'elds '#12'ClientHeight'#3'.'#1#11'ClientWidth'#3#205#1#8'TabOrder'#2#1#0#9
+'TListView'#9'edtFields'#6'Height'#3'.'#1#5'Width'#3#205#1#5'Align'#7#8'alCl'
+'ient'#7'Columns'#14#1#7'Caption'#6#4'Name'#5'Width'#3#200#0#0#1#7'Caption'#6
+#4'Type'#5'Width'#3#190#0#0#1#7'Caption'#6#9'Attribute'#5'Width'#2'<'#0#0#9
+'PopupMenu'#7#10'PopupMenu1'#8'TabOrder'#2#0#9'ViewStyle'#7#8'vsReport'#0#0#0
+#7'TButton'#7'Button3'#4'Left'#2#20#6'Height'#2#25#3'Top'#3#162#1#5'Width'#2
+'d'#6'Action'#7#10'actPropAdd'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#25'Bord'
+'erSpacing.InnerBorder'#2#4#8'TabOrder'#2#2#0#0#7'TButton'#7'Button4'#4'Left'
+#3#132#0#6'Height'#2#25#3'Top'#3#162#1#5'Width'#2'd'#6'Action'#7#11'actPropE'
+'dit'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#25'BorderSpacing.InnerBorder'#2#4
+#8'TabOrder'#2#3#0#0#7'TButton'#7'Button5'#4'Left'#3#244#0#6'Height'#2#25#3
+'Top'#3#162#1#5'Width'#2'd'#6'Action'#7#13'actPropDelete'#7'Anchors'#11#6'ak'
+'Left'#8'akBottom'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#4#0#0#0
+#0#6'TPanel'#6'Panel1'#6'Height'#2'2'#3'Top'#3#236#1#5'Width'#3#5#2#5'Align'
+#7#8'alBottom'#12'ClientHeight'#2'2'#11'ClientWidth'#3#5#2#8'TabOrder'#2#1#0
+#7'TButton'#7'Button1'#4'Left'#3'H'#1#6'Height'#2#25#3'Top'#2#13#5'Width'#2
+'K'#6'Action'#7#5'actOK'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacin'
+'g.InnerBorder'#2#4#8'TabOrder'#2#0#0#0#7'TButton'#7'Button2'#4'Left'#3#160#1
+#6'Height'#2#25#3'Top'#2#13#5'Width'#2'K'#7'Anchors'#11#5'akTop'#7'akRight'#0
+#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6#6'Cancel'#11'Mod'
+'alResult'#2#2#8'TabOrder'#2#1#0#0#0#11'TActionList'#11'ActionList1'#4'left'
+#3#128#0#3'top'#3#208#0#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#18'DisableI'
+'fNoHandler'#9#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actOKUpdate'
+#0#0#7'TAction'#10'actPropAdd'#7'Caption'#6#12'New Property'#18'DisableIfNoH'
+'andler'#9#9'OnExecute'#7#17'actPropAddExecute'#0#0#7'TAction'#11'actPropEdi'
+'t'#7'Caption'#6#13'Edit Property'#18'DisableIfNoHandler'#9#9'OnExecute'#7#18
+'actPropEditExecute'#8'OnUpdate'#7#17'actPropEditUpdate'#0#0#7'TAction'#13'a'
+'ctPropDelete'#7'Caption'#6#15'Delete Property'#18'DisableIfNoHandler'#9#9'O'
+'nExecute'#7#20'actPropDeleteExecute'#8'OnUpdate'#7#17'actPropEditUpdate'#0#0
+#0#10'TPopupMenu'#10'PopupMenu1'#4'left'#2'p'#3'top'#3#0#1#0#9'TMenuItem'#9
+'MenuItem1'#6'Action'#7#10'actPropAdd'#7'OnClick'#7#17'actPropAddExecute'#0#0
+#9'TMenuItem'#9'MenuItem2'#6'Action'#7#11'actPropEdit'#7'OnClick'#7#18'actPr'
+'opEditExecute'#0#0#9'TMenuItem'#9'MenuItem3'#6'Action'#7#13'actPropDelete'#7
+'OnClick'#7#20'actPropDeleteExecute'#0#0#0#0
'TPF0'#12'TfRecordEdit'#11'fRecordEdit'#4'Left'#3'['#3#6'Height'#3#30#2#3'Top'
+#2'h'#5'Width'#3#5#2#18'HorzScrollBar.Page'#3#4#2#18'VertScrollBar.Page'#3#29
+#2#13'ActiveControl'#7#2'PC'#7'Caption'#6#11'fRecordEdit'#12'ClientHeight'#3
+#30#2#11'ClientWidth'#3#5#2#8'Position'#7#15'poDesktopCenter'#10'LCLVersion'
+#6#6'0.9.25'#0#12'TPageControl'#2'PC'#6'Height'#3#236#1#5'Width'#3#5#2#10'Ac'
+'tivePage'#7#9'TabSheet1'#5'Align'#7#8'alClient'#8'TabIndex'#2#0#8'TabOrder'
+#2#0#8'OnChange'#7#8'PCChange'#13'OnPageChanged'#7#8'PCChange'#0#9'TTabSheet'
+#9'TabSheet1'#7'Caption'#6#11'Record Type'#12'ClientHeight'#3#210#1#11'Clien'
+'tWidth'#3#253#1#0#6'TLabel'#6'Label1'#4'Left'#2#20#6'Height'#2#14#3'Top'#2
+'"'#5'Width'#2#28#7'Caption'#6#4'Name'#11'ParentColor'#8#0#0#5'TEdit'#7'edtN'
+'ame'#4'Left'#2'L'#6'Height'#2#23#3'Top'#2'"'#5'Width'#3#153#1#7'Anchors'#11
+#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0#0#0#9'TGroupBox'#9'GroupBox'
+'1'#4'Left'#2#20#6'Height'#3'@'#1#3'Top'#2'R'#5'Width'#3#209#1#7'Anchors'#11
+#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#7'Caption'#6#10' Fields '#12
+'ClientHeight'#3'.'#1#11'ClientWidth'#3#205#1#8'TabOrder'#2#1#0#9'TListView'
+#9'edtFields'#6'Height'#3'.'#1#5'Width'#3#205#1#5'Align'#7#8'alClient'#7'Col'
+'umns'#14#1#7'Caption'#6#4'Name'#5'Width'#3#200#0#0#1#7'Caption'#6#4'Type'#5
+'Width'#3#190#0#0#1#7'Caption'#6#9'Attribute'#5'Width'#2'<'#0#0#9'PopupMenu'
+#7#10'PopupMenu1'#8'TabOrder'#2#0#9'ViewStyle'#7#8'vsReport'#0#0#0#7'TButton'
+#7'Button3'#4'Left'#2#20#6'Height'#2#25#3'Top'#3#162#1#5'Width'#2'd'#6'Actio'
+'n'#7#10'actPropAdd'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#25'BorderSpacing.'
+'InnerBorder'#2#4#8'TabOrder'#2#2#0#0#7'TButton'#7'Button4'#4'Left'#3#132#0#6
+'Height'#2#25#3'Top'#3#162#1#5'Width'#2'd'#6'Action'#7#11'actPropEdit'#7'Anc'
+'hors'#11#6'akLeft'#8'akBottom'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOrd'
+'er'#2#3#0#0#7'TButton'#7'Button5'#4'Left'#3#244#0#6'Height'#2#25#3'Top'#3
+#162#1#5'Width'#2'd'#6'Action'#7#13'actPropDelete'#7'Anchors'#11#6'akLeft'#8
+'akBottom'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#4#0#0#0#9'TTabS'
+'heet'#11'tsSourceXSD'#7'Caption'#6#3'XSD'#12'ClientHeight'#3#210#1#11'Clien'
+'tWidth'#3#253#1#0#8'TSynEdit'#12'edtSourceXSD'#4'Left'#2#12#6'Height'#3#176
+#1#3'Top'#2#18#5'Width'#3#224#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8
+'akBottom'#0#11'Font.Height'#2#236#9'Font.Name'#6#7'courier'#11'ParentColor'
+#8#8'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'*'#17'Gutter.DigitCount'#2#2
+#22'Gutter.ShowLineNumbers'#9#22'Gutter.ShowCodeFolding'#9#12'Gutter.Width'#2
+#10#23'Gutter.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'SynXMLSyn1'#10'Key'
+'strokes'#14#1#7'Command'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCu'
+'t'#3'& '#0#1#7'Command'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'Shor'
+'tCut'#2'('#0#1#7'Command'#2'h'#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'S'
+'hortCut'#3'(@'#0#1#7'Command'#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'Sh'
+'ortCut'#3'% '#0#1#7'Command'#2#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'Sh'
+'ortCut'#3'%`'#0#1#7'Command'#2#2#8'ShortCut'#2''''#0#1#7'Command'#2'f'#8'Sh'
+'ortCut'#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'S'
+'hortCut'#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'S'
+'hortCut'#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'#14'tsDependencies'#7'Caption'#6#7'Used'
+' by'#12'ClientHeight'#3#210#1#11'ClientWidth'#3#253#1#0#9'TTreeView'#12'tvD'
+'ependency'#4'Left'#2#20#6'Height'#3#177#1#3'Top'#2#18#5'Width'#3#208#1#7'An'
+'chors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#17'DefaultItemHeight'
+#2#15#8'ReadOnly'#9#16'RightClickSelect'#9#8'TabOrder'#2#0#7'Options'#11#17
+'tvoAutoItemHeight'#16'tvoHideSelection'#21'tvoKeepCollapsedNodes'#11'tvoRea'
+'dOnly'#19'tvoRightClickSelect'#14'tvoShowButtons'#12'tvoShowLines'#11'tvoSh'
+'owRoot'#11'tvoToolTips'#0#0#0#0#0#6'TPanel'#6'Panel1'#6'Height'#2'2'#3'Top'
+#3#236#1#5'Width'#3#5#2#5'Align'#7#8'alBottom'#12'ClientHeight'#2'2'#11'Clie'
+'ntWidth'#3#5#2#8'TabOrder'#2#1#0#7'TButton'#7'Button1'#4'Left'#3#253#0#6'He'
+'ight'#2#25#3'Top'#2#10#5'Width'#2'K'#6'Action'#7#5'actOK'#7'Anchors'#11#5'a'
+'kTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#0#0#0#7
+'TButton'#7'Button2'#4'Left'#3'U'#1#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'
+#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#6'Can'
+'cel'#9#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#1#0#0#7'TBu'
+'tton'#7'Button6'#4'Left'#3#173#1#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'#6
+'Action'#7#8'actApply'#7'Anchors'#11#5'akTop'#7'akRight'#0#8'TabOrder'#2#2#0
+#0#0#11'TActionList'#11'ActionList1'#4'left'#3#128#0#3'top'#3#208#0#0#7'TAct'
+'ion'#5'actOK'#7'Caption'#6#2'OK'#18'DisableIfNoHandler'#9#9'OnExecute'#7#12
+'actOKExecute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#7'TAction'#10'actPropAdd'#7
+'Caption'#6#12'New Property'#18'DisableIfNoHandler'#9#9'OnExecute'#7#17'actP'
+'ropAddExecute'#0#0#7'TAction'#11'actPropEdit'#7'Caption'#6#13'Edit Property'
+#18'DisableIfNoHandler'#9#9'OnExecute'#7#18'actPropEditExecute'#8'OnUpdate'#7
+#17'actPropEditUpdate'#0#0#7'TAction'#13'actPropDelete'#7'Caption'#6#15'Dele'
+'te Property'#18'DisableIfNoHandler'#9#9'OnExecute'#7#20'actPropDeleteExecut'
+'e'#8'OnUpdate'#7#17'actPropEditUpdate'#0#0#7'TAction'#8'actApply'#7'Caption'
+#6#5'Apply'#18'DisableIfNoHandler'#9#9'OnExecute'#7#15'actApplyExecute'#8'On'
+'Update'#7#11'actOKUpdate'#0#0#0#10'TPopupMenu'#10'PopupMenu1'#4'left'#2'p'#3
+'top'#3#0#1#0#9'TMenuItem'#9'MenuItem1'#6'Action'#7#10'actPropAdd'#7'OnClick'
+#7#17'actPropAddExecute'#0#0#9'TMenuItem'#9'MenuItem2'#6'Action'#7#11'actPro'
+'pEdit'#7'OnClick'#7#18'actPropEditExecute'#0#0#9'TMenuItem'#9'MenuItem3'#6
+'Action'#7#13'actPropDelete'#7'OnClick'#7#20'actPropDeleteExecute'#0#0#0#10
+'TSynXMLSyn'#10'SynXMLSyn1'#13'DefaultFilter'#6'MDocuments XML (*.xml,*.xsd,'
+'*.xsl,*.xslt,*.dtd)|*.xml;*.xsd;*.xsl;*.xslt;*.dtd'#7'Enabled'#8#16'WantBra'
+'cesParsed'#8#4'left'#3#238#0#3'top'#3#199#0#0#0#0
]);

View File

@ -18,15 +18,16 @@ interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ComCtrls,
ExtCtrls, StdCtrls, ActnList, Menus,
ExtCtrls, StdCtrls, ActnList, Menus, Contnrs,
pastree, pascal_parser_intf,
edit_helper;
edit_helper, SynHighlighterXML, SynEdit;
type
{ TfRecordEdit }
TfRecordEdit = class(TForm)
actApply : TAction;
actPropAdd : TAction;
actPropEdit : TAction;
actPropDelete : TAction;
@ -37,34 +38,48 @@ type
Button3 : TButton;
Button4 : TButton;
Button5 : TButton;
Button6 : TButton;
edtName : TEdit;
edtSourceXSD : TSynEdit;
GroupBox1 : TGroupBox;
Label1 : TLabel;
edtFields : TListView;
MenuItem1 : TMenuItem;
MenuItem2 : TMenuItem;
MenuItem3 : TMenuItem;
PageControl1 : TPageControl;
PC : TPageControl;
Panel1 : TPanel;
PopupMenu1 : TPopupMenu;
SynXMLSyn1 : TSynXMLSyn;
TabSheet1 : TTabSheet;
tsDependencies : TTabSheet;
tsSourceXSD : TTabSheet;
tvDependency : TTreeView;
procedure actApplyExecute(Sender : TObject);
procedure actOKExecute(Sender : TObject);
procedure actOKUpdate(Sender : TObject);
procedure actPropAddExecute(Sender : TObject);
procedure actPropDeleteExecute(Sender : TObject);
procedure actPropEditExecute(Sender : TObject);
procedure actPropEditUpdate(Sender : TObject);
procedure PCChange(Sender : TObject);
private
FUpdateType : TEditType;
FObject : TPasRecordType;
FSymbolTable : TwstPasTreeContainer;
FApplied : Boolean;
FDependencyList : TObjectList;
private
property UpdateType : TEditType read FUpdateType;
private
procedure LoadField(AFieldDef : TPasVariable);
procedure LoadFromObject();
procedure SaveToObject();
procedure ShowSourceXSD();
procedure ShowDependencies();
public
destructor Destroy();override;
function UpdateObject(
var AObject : TPasRecordType;
const AUpdateType : TEditType;
@ -76,7 +91,7 @@ var
fRecordEdit : TfRecordEdit;
implementation
uses common_gui_utils, parserutils, ufpropedit;
uses common_gui_utils, parserutils, ufpropedit, view_helper;
{ TfRecordEdit }
@ -125,11 +140,29 @@ begin
TAction(Sender).Enabled := Assigned(edtFields.ItemFocused);
end;
procedure TfRecordEdit.PCChange(Sender : TObject);
begin
if ( PC.ActivePage = tsSourceXSD ) then begin
if actApply.Enabled then
actApply.Execute();
ShowSourceXSD();
end else if ( PC.ActivePage = tsDependencies ) then begin
ShowDependencies();
end;
end;
procedure TfRecordEdit.actOKExecute(Sender : TObject);
begin
ModalResult := mrOk;
end;
procedure TfRecordEdit.actApplyExecute(Sender : TObject);
begin
SaveToObject();
if ( PC.ActivePage = tsSourceXSD ) then
ShowSourceXSD();
end;
procedure TfRecordEdit.LoadField(AFieldDef : TPasVariable);
var
itm : TListItem;
@ -185,6 +218,27 @@ begin
locObj := FObject;
locObj.Name := typIntName;
FSymbolTable.RegisterExternalAlias(locObj,typExtName);
FApplied := True;
end;
procedure TfRecordEdit.ShowSourceXSD();
begin
edtSourceXSD.Lines.Text := XsdGenerateSourceForObject(FObject,FSymbolTable);
end;
procedure TfRecordEdit.ShowDependencies();
begin
if ( FDependencyList = nil ) then
FDependencyList := TObjectList.Create(True);
FDependencyList.Clear();
FindDependencies(FObject,FSymbolTable,FDependencyList);
DrawDependencies(tvDependency,FDependencyList);
end;
destructor TfRecordEdit.Destroy();
begin
FDependencyList.Free();
inherited Destroy();
end;
function TfRecordEdit.UpdateObject(
@ -204,7 +258,7 @@ begin
end;
try
LoadFromObject();
Result := ( ShowModal() = mrOK );
Result := FApplied or ( ShowModal() = mrOK );
if Result then begin
try
SaveToObject();

View File

@ -1,22 +1,27 @@
object fTypeAliasEdit: TfTypeAliasEdit
Left = 693
Left = 682
Height = 300
Top = 186
Top = 91
Width = 400
HorzScrollBar.Page = 399
VertScrollBar.Page = 299
ActiveControl = Button1
ActiveControl = PC
BorderStyle = bsSizeToolWin
Caption = 'fTypeAliasEdit'
ClientHeight = 300
ClientWidth = 400
Position = poScreenCenter
LCLVersion = '0.9.25'
object Panel1: TPanel
Height = 50
Top = 250
Width = 400
Align = alBottom
ClientHeight = 50
ClientWidth = 400
TabOrder = 0
object Button1: TButton
Left = 232
Left = 147
Height = 25
Top = 14
Width = 75
@ -26,7 +31,7 @@ object fTypeAliasEdit: TfTypeAliasEdit
TabOrder = 0
end
object Button2: TButton
Left = 312
Left = 229
Height = 25
Top = 14
Width = 75
@ -34,25 +39,39 @@ object fTypeAliasEdit: TfTypeAliasEdit
BorderSpacing.InnerBorder = 4
Cancel = True
Caption = 'Cancel'
ModalResult = 2
TabOrder = 1
end
object Button3: TButton
Left = 311
Height = 25
Top = 14
Width = 75
Action = actApply
Anchors = [akTop, akRight]
BorderSpacing.InnerBorder = 4
TabOrder = 2
end
object PageControl1: TPageControl
end
object PC: TPageControl
Height = 250
Width = 400
ActivePage = TabSheet1
Align = alClient
TabIndex = 0
TabOrder = 1
OnChange = PCChange
OnPageChanged = PCChange
object TabSheet1: TTabSheet
Caption = 'Type Alias'
ClientHeight = 224
ClientWidth = 392
object Label1: TLabel
Left = 20
Height = 14
Top = 26
Width = 28
Caption = 'Name'
Color = clNone
ParentColor = False
end
object Label2: TLabel
@ -61,14 +80,13 @@ object fTypeAliasEdit: TfTypeAliasEdit
Top = 114
Width = 51
Caption = 'Base Type'
Color = clNone
ParentColor = False
end
object edtName: TEdit
Left = 20
Height = 23
Top = 42
Width = 352
Width = 344
Anchors = [akTop, akLeft, akRight]
TabOrder = 0
end
@ -76,7 +94,7 @@ object fTypeAliasEdit: TfTypeAliasEdit
Left = 20
Height = 21
Top = 130
Width = 352
Width = 344
Anchors = [akTop, akLeft, akRight]
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
ItemHeight = 13
@ -85,6 +103,371 @@ object fTypeAliasEdit: TfTypeAliasEdit
TabOrder = 1
end
end
object tsSourceXSD: TTabSheet
Caption = 'XSD'
ClientHeight = 224
ClientWidth = 392
object edtSourceXSD: TSynEdit
Left = 13
Height = 200
Top = 10
Width = 360
Anchors = [akTop, akLeft, akRight, akBottom]
Font.Height = -20
Font.Name = 'courier'
ParentColor = False
TabOrder = 0
BookMarkOptions.Xoffset = 42
BookMarkOptions.OnChange = nil
Gutter.DigitCount = 2
Gutter.ShowLineNumbers = True
Gutter.ShowCodeFolding = True
Gutter.Width = 10
Gutter.OnChange = nil
Gutter.CodeFoldingWidth = 14
Highlighter = SynXMLSyn1
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 tsDependencies: TTabSheet
Caption = 'Used by'
ClientHeight = 224
ClientWidth = 392
object tvDependency: TTreeView
Left = 12
Height = 194
Top = 13
Width = 360
Anchors = [akTop, akLeft, akRight, akBottom]
DefaultItemHeight = 15
ReadOnly = True
RightClickSelect = True
TabOrder = 0
Options = [tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoRightClickSelect, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips]
end
end
end
object AL: TActionList
left = 147
@ -95,5 +478,18 @@ object fTypeAliasEdit: TfTypeAliasEdit
OnExecute = actOKExecute
OnUpdate = actOKUpdate
end
object actApply: TAction
Caption = 'Apply'
DisableIfNoHandler = True
OnExecute = actApplyExecute
OnUpdate = actOKUpdate
end
end
object SynXMLSyn1: TSynXMLSyn
DefaultFilter = 'Documents XML (*.xml,*.xsd,*.xsl,*.xslt,*.dtd)|*.xml;*.xsd;*.xsl;*.xslt;*.dtd'
Enabled = False
WantBracesParsed = False
left = 200
top = 168
end
end

View File

@ -1,30 +1,97 @@
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
LazarusResources.Add('TfTypeAliasEdit','FORMDATA',[
'TPF0'#15'TfTypeAliasEdit'#14'fTypeAliasEdit'#4'Left'#3#181#2#6'Height'#3','#1
+#3'Top'#3#186#0#5'Width'#3#144#1#18'HorzScrollBar.Page'#3#143#1#18'VertScrol'
+'lBar.Page'#3'+'#1#13'ActiveControl'#7#7'Button1'#11'BorderStyle'#7#13'bsSiz'
+'eToolWin'#7'Caption'#6#14'fTypeAliasEdit'#8'Position'#7#14'poScreenCenter'#0
+#6'TPanel'#6'Panel1'#6'Height'#2'2'#3'Top'#3#250#0#5'Width'#3#144#1#5'Align'
+#7#8'alBottom'#8'TabOrder'#2#0#0#7'TButton'#7'Button1'#4'Left'#3#232#0#6'Hei'
+'ght'#2#25#3'Top'#2#14#5'Width'#2'K'#6'Action'#7#5'actOK'#7'Anchors'#11#5'ak'
+'Top'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#0#0#0#7'T'
+'Button'#7'Button2'#4'Left'#3'8'#1#6'Height'#2#25#3'Top'#2#14#5'Width'#2'K'#7
+'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#6'Cance'
+'l'#9#7'Caption'#6#6'Cancel'#8'TabOrder'#2#1#0#0#0#12'TPageControl'#12'PageC'
+'ontrol1'#6'Height'#3#250#0#5'Width'#3#144#1#10'ActivePage'#7#9'TabSheet1'#5
+'Align'#7#8'alClient'#8'TabIndex'#2#0#8'TabOrder'#2#1#0#9'TTabSheet'#9'TabSh'
+'eet1'#7'Caption'#6#10'Type Alias'#0#6'TLabel'#6'Label1'#4'Left'#2#20#6'Heig'
+'ht'#2#14#3'Top'#2#26#5'Width'#2#28#7'Caption'#6#4'Name'#5'Color'#7#6'clNone'
+#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#20#6'Height'#2#14#3'Top'
+#2'r'#5'Width'#2'3'#7'Caption'#6#9'Base Type'#5'Color'#7#6'clNone'#11'Parent'
+'Color'#8#0#0#5'TEdit'#7'edtName'#4'Left'#2#20#6'Height'#2#23#3'Top'#2'*'#5
+'Width'#3'`'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0
'TPF0'#15'TfTypeAliasEdit'#14'fTypeAliasEdit'#4'Left'#3#170#2#6'Height'#3','#1
+#3'Top'#2'['#5'Width'#3#144#1#18'HorzScrollBar.Page'#3#143#1#18'VertScrollBa'
+'r.Page'#3'+'#1#13'ActiveControl'#7#2'PC'#11'BorderStyle'#7#13'bsSizeToolWin'
+#7'Caption'#6#14'fTypeAliasEdit'#12'ClientHeight'#3','#1#11'ClientWidth'#3
+#144#1#8'Position'#7#14'poScreenCenter'#10'LCLVersion'#6#6'0.9.25'#0#6'TPane'
+'l'#6'Panel1'#6'Height'#2'2'#3'Top'#3#250#0#5'Width'#3#144#1#5'Align'#7#8'al'
+'Bottom'#12'ClientHeight'#2'2'#11'ClientWidth'#3#144#1#8'TabOrder'#2#0#0#7'T'
+'Button'#7'Button1'#4'Left'#3#147#0#6'Height'#2#25#3'Top'#2#14#5'Width'#2'K'
+#6'Action'#7#5'actOK'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.I'
+'nnerBorder'#2#4#8'TabOrder'#2#0#0#0#7'TButton'#7'Button2'#4'Left'#3#229#0#6
+'Height'#2#25#3'Top'#2#14#5'Width'#2'K'#7'Anchors'#11#5'akTop'#7'akRight'#0
+#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6#6'Cancel'#11'Mod'
+'alResult'#2#2#8'TabOrder'#2#1#0#0#7'TButton'#7'Button3'#4'Left'#3'7'#1#6'He'
+'ight'#2#25#3'Top'#2#14#5'Width'#2'K'#6'Action'#7#8'actApply'#7'Anchors'#11#5
+'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#2#0#0#0
+#12'TPageControl'#2'PC'#6'Height'#3#250#0#5'Width'#3#144#1#10'ActivePage'#7#9
+'TabSheet1'#5'Align'#7#8'alClient'#8'TabIndex'#2#0#8'TabOrder'#2#1#8'OnChang'
+'e'#7#8'PCChange'#13'OnPageChanged'#7#8'PCChange'#0#9'TTabSheet'#9'TabSheet1'
+#7'Caption'#6#10'Type Alias'#12'ClientHeight'#3#224#0#11'ClientWidth'#3#136#1
+#0#6'TLabel'#6'Label1'#4'Left'#2#20#6'Height'#2#14#3'Top'#2#26#5'Width'#2#28
+#7'Caption'#6#4'Name'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#20
+#6'Height'#2#14#3'Top'#2'r'#5'Width'#2'3'#7'Caption'#6#9'Base Type'#11'Paren'
+'tColor'#8#0#0#5'TEdit'#7'edtName'#4'Left'#2#20#6'Height'#2#23#3'Top'#2'*'#5
+'Width'#3'X'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0
+#0#0#9'TComboBox'#11'edtBaseType'#4'Left'#2#20#6'Height'#2#21#3'Top'#3#130#0
+#5'Width'#3'`'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#16'AutoComple'
+#5'Width'#3'X'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#16'AutoComple'
+'teText'#11#22'cbactEndOfLineComplete'#20'cbactSearchAscending'#0#10'ItemHei'
+'ght'#2#13#9'MaxLength'#2#0#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#1#0#0
+#0#0#11'TActionList'#2'AL'#4'left'#3#147#0#3'top'#2'x'#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
+#0#9'TTabSheet'#11'tsSourceXSD'#7'Caption'#6#3'XSD'#12'ClientHeight'#3#224#0
+#11'ClientWidth'#3#136#1#0#8'TSynEdit'#12'edtSourceXSD'#4'Left'#2#13#6'Heigh'
+'t'#3#200#0#3'Top'#2#10#5'Width'#3'h'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'a'
+'kRight'#8'akBottom'#0#11'Font.Height'#2#236#9'Font.Name'#6#7'courier'#11'Pa'
+'rentColor'#8#8'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'*'#24'BookMarkOp'
+'tions.OnChange'#13#17'Gutter.DigitCount'#2#2#22'Gutter.ShowLineNumbers'#9#22
+'Gutter.ShowCodeFolding'#9#12'Gutter.Width'#2#10#15'Gutter.OnChange'#13#23'G'
+'utter.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'SynXMLSyn1'#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'#14'tsDependencies'#7'Caption'#6#7'U'
+'sed by'#12'ClientHeight'#3#224#0#11'ClientWidth'#3#136#1#0#9'TTreeView'#12
+'tvDependency'#4'Left'#2#12#6'Height'#3#194#0#3'Top'#2#13#5'Width'#3'h'#1#7
+'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#17'DefaultItemHeigh'
+'t'#2#15#8'ReadOnly'#9#16'RightClickSelect'#9#8'TabOrder'#2#0#7'Options'#11
+#17'tvoAutoItemHeight'#16'tvoHideSelection'#21'tvoKeepCollapsedNodes'#11'tvo'
+'ReadOnly'#19'tvoRightClickSelect'#14'tvoShowButtons'#12'tvoShowLines'#11'tv'
+'oShowRoot'#11'tvoToolTips'#0#0#0#0#0#11'TActionList'#2'AL'#4'left'#3#147#0#3
+'top'#2'x'#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#7'TAction'
+#8'actApply'#7'Caption'#6#5'Apply'#18'DisableIfNoHandler'#9#9'OnExecute'#7#15
+'actApplyExecute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#0#10'TSynXMLSyn'#10'SynX'
+'MLSyn1'#13'DefaultFilter'#6'MDocuments XML (*.xml,*.xsd,*.xsl,*.xslt,*.dtd)'
+'|*.xml;*.xsd;*.xsl;*.xslt;*.dtd'#7'Enabled'#8#16'WantBracesParsed'#8#4'left'
+#3#200#0#3'top'#3#168#0#0#0#0
]);

View File

@ -6,39 +6,55 @@ interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls,
ComCtrls, StdCtrls, Buttons,
pastree, pascal_parser_intf, edit_helper, ActnList;
ComCtrls, StdCtrls, Buttons, Contnrs,
pastree, pascal_parser_intf, edit_helper, ActnList, SynHighlighterXML,
SynEdit;
type
{ TfTypeAliasEdit }
TfTypeAliasEdit = class(TForm)
actApply : TAction;
actOK : TAction;
AL : TActionList;
Button1 : TButton;
Button2 : TButton;
Button3 : TButton;
edtBaseType : TComboBox;
edtName : TEdit;
edtSourceXSD : TSynEdit;
Label1 : TLabel;
Label2 : TLabel;
PageControl1 : TPageControl;
PC : TPageControl;
Panel1 : TPanel;
SynXMLSyn1 : TSynXMLSyn;
TabSheet1 : TTabSheet;
tsDependencies : TTabSheet;
tsSourceXSD : TTabSheet;
tvDependency : TTreeView;
procedure actApplyExecute(Sender : TObject);
procedure actOKExecute(Sender : TObject);
procedure actOKUpdate(Sender : TObject);
procedure PCChange(Sender : TObject);
private
FUpdateType : TEditType;
FObject : TPasAliasType;
FSymbolTable : TwstPasTreeContainer;
FOldBaseType : TPasType;
FApplied : Boolean;
FDependencyList : TObjectList;
private
property UpdateType : TEditType read FUpdateType;
private
procedure PrepareParentCombo();
procedure LoadFromObject();
procedure SaveToObject();
procedure ShowSourceXSD();
procedure ShowDependencies();
public
destructor Destroy();override;
function UpdateObject(
var AObject : TPasAliasType;
const AUpdateType : TEditType;
@ -51,7 +67,7 @@ var
fTypeAliasEdit : TfTypeAliasEdit;
implementation
uses parserutils;
uses parserutils, view_helper;
{ TfTypeAliasEdit }
@ -60,11 +76,29 @@ begin
TAction(actOK).Enabled := ( not IsStrEmpty(edtName.Text) ) and ( edtBaseType.ItemIndex >= 0 );
end;
procedure TfTypeAliasEdit.PCChange(Sender : TObject);
begin
if ( PC.ActivePage = tsSourceXSD ) then begin
if actApply.Enabled then
actApply.Execute();
ShowSourceXSD();
end else if ( PC.ActivePage = tsDependencies ) then begin
ShowDependencies();
end;
end;
procedure TfTypeAliasEdit.actOKExecute(Sender : TObject);
begin
ModalResult := mrOK;
end;
procedure TfTypeAliasEdit.actApplyExecute(Sender : TObject);
begin
SaveToObject();
if ( PC.ActivePage = tsSourceXSD ) then
ShowSourceXSD();
end;
procedure TfTypeAliasEdit.PrepareParentCombo();
begin
edtBaseType.Items.BeginUpdate();
@ -120,6 +154,28 @@ begin
locObj.DestType := baseType;
locObj.DestType.AddRef();
end;
FOldBaseType := locObj.DestType;
FApplied := True;
end;
procedure TfTypeAliasEdit.ShowSourceXSD();
begin
edtSourceXSD.Lines.Text := XsdGenerateSourceForObject(FObject,FSymbolTable);
end;
procedure TfTypeAliasEdit.ShowDependencies();
begin
if ( FDependencyList = nil ) then
FDependencyList := TObjectList.Create(True);
FDependencyList.Clear();
FindDependencies(FObject,FSymbolTable,FDependencyList);
DrawDependencies(tvDependency,FDependencyList);
end;
destructor TfTypeAliasEdit.Destroy();
begin
FDependencyList.Free();
inherited Destroy();
end;
function TfTypeAliasEdit.UpdateObject(
@ -137,7 +193,7 @@ begin
try
PrepareParentCombo();
LoadFromObject();
Result := ( ShowModal() = mrOK );
Result := FApplied or ( ShowModal() = mrOK );
if Result then begin
try
SaveToObject();

View File

@ -1,7 +1,7 @@
object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
Left = 199
Left = 155
Height = 644
Top = 380
Top = 166
Width = 833
HorzScrollBar.Page = 832
VertScrollBar.Page = 623
@ -79,9 +79,11 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
PopupMenu = PopupMenu2
TabOrder = 0
BookMarkOptions.Xoffset = 81
BookMarkOptions.OnChange = nil
Gutter.DigitCount = 5
Gutter.ShowLineNumbers = True
Gutter.ShowCodeFolding = True
Gutter.OnChange = nil
Gutter.CodeFoldingWidth = 14
Highlighter = SynPasSyn1
Keystrokes = <
@ -406,6 +408,7 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
ShortCut = 24642
end>
ReadOnly = True
SelectedColor.OnChange = nil
end
end
object tsWSDL: TTabSheet
@ -423,7 +426,9 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
PopupMenu = PopupMenu2
TabOrder = 0
BookMarkOptions.Xoffset = 54
BookMarkOptions.OnChange = nil
Gutter.ShowLineNumbers = True
Gutter.OnChange = nil
Gutter.CodeFoldingWidth = 14
Highlighter = SynXMLSyn1
Keystrokes = <
@ -748,6 +753,7 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
ShortCut = 24642
end>
ReadOnly = True
SelectedColor.OnChange = nil
end
end
object tsProxy: TTabSheet
@ -765,11 +771,9 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
PopupMenu = PopupMenu2
TabOrder = 0
BookMarkOptions.Xoffset = 81
BookMarkOptions.OnChange = nil
Gutter.DigitCount = 5
Gutter.ShowLineNumbers = True
Gutter.ShowCodeFolding = True
Gutter.OnChange = nil
Gutter.CodeFoldingWidth = 14
Highlighter = SynPasSyn1
Keystrokes = <
@ -1094,7 +1098,6 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
ShortCut = 24642
end>
ReadOnly = True
SelectedColor.OnChange = nil
end
end
object tsImp: TTabSheet
@ -1112,11 +1115,9 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
PopupMenu = PopupMenu2
TabOrder = 0
BookMarkOptions.Xoffset = 81
BookMarkOptions.OnChange = nil
Gutter.DigitCount = 5
Gutter.ShowLineNumbers = True
Gutter.ShowCodeFolding = True
Gutter.OnChange = nil
Gutter.CodeFoldingWidth = 14
Highlighter = SynPasSyn1
Keystrokes = <
@ -1441,7 +1442,6 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
ShortCut = 24642
end>
ReadOnly = True
SelectedColor.OnChange = nil
end
end
object tsBinder: TTabSheet
@ -1459,12 +1459,10 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
PopupMenu = PopupMenu2
TabOrder = 0
BookMarkOptions.Xoffset = 81
BookMarkOptions.OnChange = nil
Gutter.AutoSize = True
Gutter.DigitCount = 5
Gutter.ShowLineNumbers = True
Gutter.ShowCodeFolding = True
Gutter.OnChange = nil
Gutter.CodeFoldingWidth = 14
Highlighter = SynPasSyn1
Keystrokes = <
@ -1789,7 +1787,6 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
ShortCut = 24642
end>
ReadOnly = True
SelectedColor.OnChange = nil
end
end
object tsLog: TTabSheet
@ -1857,8 +1854,8 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
OnClick = actRefreshViewExecute
end
object MenuItem50: TMenuItem
Action = actSearch
OnClick = actSearchExecute
Action = actEditSearch
OnClick = actEditSearchExecute
end
object MenuItem29: TMenuItem
Caption = '-'
@ -2019,13 +2016,19 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
DisableIfNoHandler = True
OnExecute = actRecordCreateExecute
end
object actSearch: TAction
object actEditSearch: TAction
Caption = 'Search'
DisableIfNoHandler = True
OnExecute = actSearchExecute
OnUpdate = actSearchUpdate
OnExecute = actEditSearchExecute
OnUpdate = actEditSearchUpdate
ShortCut = 16454
end
object actTreeSearch: TAction
Caption = 'Search'
DisableIfNoHandler = True
OnExecute = actTreeSearchExecute
OnUpdate = actTreeSearchUpdate
end
end
object OD: TOpenDialog
Filter = 'WDSL files(*.WSDL)|*.WSDL|Pascal file (*.pas)|*.pas'
@ -2073,6 +2076,13 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
object MenuItem26: TMenuItem
Caption = '-'
end
object MenuItem51: TMenuItem
Action = actTreeSearch
OnClick = actTreeSearchExecute
end
object MenuItem52: TMenuItem
Caption = '-'
end
object MenuItem8: TMenuItem
Action = actEnumCreate
OnClick = actEnumCreateExecute
@ -2117,8 +2127,8 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
OnClick = actRefreshViewExecute
end
object MenuItem49: TMenuItem
Action = actSearch
OnClick = actSearchExecute
Action = actEditSearch
OnClick = actEditSearchExecute
end
object MenuItem19: TMenuItem
Caption = '-'

View File

@ -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#199#0#6'Hei'
+'ght'#3#132#2#3'Top'#3'|'#1#5'Width'#3'A'#3#18'HorzScrollBar.Page'#3'@'#3#18
'TPF0'#20'TfWstTypeLibraryEdit'#19'fWstTypeLibraryEdit'#4'Left'#3#155#0#6'Hei'
+'ght'#3#132#2#3'Top'#3#166#0#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
@ -23,28 +23,177 @@ LazarusResources.Add('TfWstTypeLibraryEdit','FORMDATA',[
+'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
+#2'Q'#24'BookMarkOptions.OnChange'#13#17'Gutter.DigitCount'#2#5#22'Gutter.Sh'
+'owLineNumbers'#9#22'Gutter.ShowCodeFolding'#9#15'Gutter.OnChange'#13#23'Gut'
+'ter.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'#6'tsWSDL'#7'Caption'#6#5'&WSDL'#0#8
+'TSynEdit'#7'srcWSDL'#6'Height'#3'='#2#5'Width'#3#245#1#5'Align'#7#8'alClien'
+'t'#12'Font.CharSet'#7#12'ANSI_CHARSET'#10'Font.Color'#7#7'clBlack'#11'Font.'
+'Height'#2#233#9'Font.Name'#6#7'Courier'#10'Font.Pitch'#7#7'fpFixed'#11'Pare'
+'ntColor'#8#9'PopupMenu'#7#10'PopupMenu2'#8'TabOrder'#2#0#23'BookMarkOptions'
+'.Xoffset'#2'6'#24'BookMarkOptions.OnChange'#13#22'Gutter.ShowLineNumbers'#9
+#15'Gutter.OnChange'#13#23'Gutter.CodeFoldingWidth'#2#14#11'Highlighter'#7#10
+'SynXMLSyn1'#10'Keystrokes'#14#1#7'Command'#2#3#8'ShortCut'#2'&'#0#1#7'Comma'
+'nd'#2'g'#8'ShortCut'#3'& '#0#1#7'Command'#3#211#0#8'ShortCut'#3'&@'#0#1#7'C'
+'ommand'#2#4#8'ShortCut'#2'('#0#1#7'Command'#2'h'#8'ShortCut'#3'( '#0#1#7'Co'
+'mmand'#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'C'
+'ommand'#2'm'#8'ShortCut'#3'! '#0#1#7'Command'#2#13#8'ShortCut'#3'!@'#0#1#7
+'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7'Command'#2#7#8'ShortCut'#2'$'#0#1#7'C'
+'ommand'#2'k'#8'ShortCut'#3'$ '#0#1#7'Command'#2#15#8'ShortCut'#3'$@'#0#1#7
+'Command'#2's'#8'ShortCut'#3'$`'#0#1#7'Command'#2#8#8'ShortCut'#2'#'#0#1#7'C'
+'ommand'#2'l'#8'ShortCut'#3'# '#0#1#7'Command'#2#16#8'ShortCut'#3'#@'#0#1#7
+'Command'#2't'#8'ShortCut'#3'#`'#0#1#7'Command'#3#223#0#8'ShortCut'#2'-'#0#1
+#7'Command'#3#201#0#8'ShortCut'#3'-@'#0#1#7'Command'#3'\'#2#8'ShortCut'#3'- '
+#0#1#7'Command'#3#246#1#8'ShortCut'#2'.'#0#1#7'Command'#3'['#2#8'ShortCut'#3
+'. '#0#1#7'Command'#3#245#1#8'ShortCut'#2#8#0#1#7'Command'#3#245#1#8'ShortCu'
+'t'#3#8' '#0#1#7'Command'#3#248#1#8'ShortCut'#3#8'@'#0#1#7'Command'#3'Y'#2#8
+'ShortCut'#4#8#128#0#0#0#1#7'Command'#3'Z'#2#8'ShortCut'#4#8#160#0#0#0#1#7'C'
+'ommand'#3#253#1#8'ShortCut'#2#13#0#1#7'Command'#3#199#0#8'ShortCut'#3'A@'#0
+#1#7'Command'#3#201#0#8'ShortCut'#3'C@'#0#1#7'Command'#3'b'#2#8'ShortCut'#3
+'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3'M@'#0#1#7'Command'#3#254#1#8'Short'
+'Cut'#3'N@'#0#1#7'Command'#3#247#1#8'ShortCut'#3'T@'#0#1#7'Command'#3'c'#2#8
+'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8'ShortCut'#3'V@'#0#1#7'Command'#3'['
+#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251#1#8'ShortCut'#3'Y@'#0#1#7'Command'
+#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'#3'Y'#2#8'ShortCut'#3'Z@'#0#1#7'Com'
+'mand'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Command'#3'-'#1#8'ShortCut'#3'0@'#0#1#7
+'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7'Command'#3'/'#1#8'ShortCut'#3'2@'#0
+#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0#1#7'Command'#3'1'#1#8'ShortCut'#3'4'
+'@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'Command'#3'3'#1#8'ShortCut'
+#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'#3'7@'#0#1#7'Command'#3'5'#1#8'Short'
+'Cut'#3'8@'#0#1#7'Command'#3'6'#1#8'ShortCut'#3'9@'#0#1#7'Command'#3'_'#1#8
+'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8'ShortCut'#3'1`'#0#1#7'Command'#3'a'
+#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'#1#8'ShortCut'#3'3`'#0#1#7'Command'#3
+'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3'd'#1#8'ShortCut'#3'5`'#0#1#7'Comman'
+'d'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Command'#3'f'#1#8'ShortCut'#3'7`'#0#1#7'C'
+'ommand'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'Command'#3'h'#1#8'ShortCut'#3'9`'#0#1
+#7'Command'#3#231#0#8'ShortCut'#3'N`'#0#1#7'Command'#3#232#0#8'ShortCut'#3'C'
+'`'#0#1#7'Command'#3#233#0#8'ShortCut'#3'L`'#0#1#7'Command'#3'd'#2#8'ShortCu'
+'t'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1#7'Command'#3#250#0#8'Sh'
+'ortCut'#3'B`'#0#0#8'ReadOnly'#9#22'SelectedColor.OnChange'#13#0#0#0#9'TTabS'
+'heet'#7'tsProxy'#7'Caption'#6#6'&Proxy'#0#8'TSynEdit'#8'srcProxy'#6'Height'
+#3'='#2#5'Width'#3#245#1#5'Align'#7#8'alClient'#12'Font.CharSet'#7#12'ANSI_C'
+'HARSET'#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'Po'
+'pupMenu2'#8'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'Q'#17'Gutter.DigitC'
+'ount'#2#5#22'Gutter.ShowLineNumbers'#9#22'Gutter.ShowCodeFolding'#9#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#0#0#0#9'T'
+'TabSheet'#5'tsImp'#7'Caption'#6#24'Im&plementation Skeleton'#0#8'TSynEdit'#6
+'srcImp'#6'Height'#3'='#2#5'Width'#3#245#1#5'Align'#7#8'alClient'#12'Font.Ch'
+'arSet'#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'P'
+'opupMenu'#7#10'PopupMenu2'#8'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'Q'
+#17'Gutter.DigitCount'#2#5#22'Gutter.ShowLineNumbers'#9#22'Gutter.ShowCodeFo'
+'lding'#9#23'Gutter.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'SynPasSyn1'
+#10'Keystrokes'#14#1#7'Command'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'S'
+'hortCut'#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'S'
+'hortCut'#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'S'
+'hortCut'#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
,'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'
@ -65,172 +214,22 @@ LazarusResources.Add('TfWstTypeLibraryEdit','FORMDATA',[
+'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
+'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'#6'tsWSDL'#7'Caption'#6#5'&WSDL'#0#8'TS'
+'ynEdit'#7'srcWSDL'#6'Height'#3'='#2#5'Width'#3#245#1#5'Align'#7#8'alClient'
+#12'Font.CharSet'#7#12'ANSI_CHARSET'#10'Font.Color'#7#7'clBlack'#11'Font.Hei'
+'ght'#2#233#9'Font.Name'#6#7'Courier'#10'Font.Pitch'#7#7'fpFixed'#11'ParentC'
+'olor'#8#9'PopupMenu'#7#10'PopupMenu2'#8'TabOrder'#2#0#23'BookMarkOptions.Xo'
+'ffset'#2'6'#22'Gutter.ShowLineNumbers'#9#23'Gutter.CodeFoldingWidth'#2#14#11
+'Highlighter'#7#10'SynXMLSyn1'#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'ShortCu'
+'t'#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'ShortCu'
+'t'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7'Command'#2#5#8'ShortCut'
+#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2#8'ShortCut'#2
+''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7'Command'#2#6#8'ShortCut'#3
+'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7'Command'#2#10#8'ShortCut'
+#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7'Command'#2#14#8'ShortCut'#3
+'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7'Command'#2#9#8'ShortCut'#2
+'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'Command'#2#13#8'ShortCut'#3
+'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7'Command'#2#7#8'ShortCut'#2
+'$'#0#1#7'Command'#2'k'#8'ShortCut'#3'$ '#0#1#7'Command'#2#15#8'ShortCut'#3
+'$@'#0#1#7'Command'#2's'#8'ShortCut'#3'$`'#0#1#7'Command'#2#8#8'ShortCut'#2
+'#'#0#1#7'Command'#2'l'#8'ShortCut'#3'# '#0#1#7'Command'#2#16#8'ShortCut'#3
+'#@'#0#1#7'Command'#2't'#8'ShortCut'#3'#`'#0#1#7'Command'#3#223#0#8'ShortCut'
+#2'-'#0#1#7'Command'#3#201#0#8'ShortCut'#3'-@'#0#1#7'Command'#3'\'#2#8'Short'
+'Cut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2'.'#0#1#7'Command'#3'['#2#8
+'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCut'#2#8#0#1#7'Command'#3#245
+#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'ShortCut'#3#8'@'#0#1#7'Comman'
+'d'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command'#3'Z'#2#8'ShortCut'#4#8#160
+#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7'Command'#3#199#0#8'ShortC'
+'ut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@'#0#1#7'Command'#3'b'#2#8
+'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3'M@'#0#1#7'Command'#3
+#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3#247#1#8'ShortCut'#3'T@'#0#1#7'Comm'
+'and'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8'ShortCut'#3'V@'#0#1#7
+'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251#1#8'ShortCut'#3'Y@'#0
+#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'#3'Y'#2#8'ShortCut'#3
+'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Command'#3'-'#1#8'ShortCu'
+'t'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7'Command'#3'/'#1#8'Sh'
+'ortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0#1#7'Command'#3'1'#1
+#8'ShortCut'#3'4@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'Command'#3
+'3'#1#8'ShortCut'#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'#3'7@'#0#1#7'Comman'
+'d'#3'5'#1#8'ShortCut'#3'8@'#0#1#7'Command'#3'6'#1#8'ShortCut'#3'9@'#0#1#7'C'
+'ommand'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8'ShortCut'#3'1`'#0#1
+#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'#1#8'ShortCut'#3'3`'
+#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3'd'#1#8'ShortCut'#3
+'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Command'#3'f'#1#8'ShortCu'
+'t'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'Command'#3'h'#1#8'Sh'
+'ortCut'#3'9`'#0#1#7'Command'#3#231#0#8'ShortCut'#3'N`'#0#1#7'Command'#3#232
+#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3'L`'#0#1#7'Command'
+#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1#7'Comma'
+'nd'#3#250#0#8'ShortCut'#3'B`'#0#0#8'ReadOnly'#9#0#0#0#9'TTabSheet'#7'tsProx'
+'y'#7'Caption'#6#6'&Proxy'#0#8'TSynEdit'#8'srcProxy'#6'Height'#3'='#2#5'Widt'
+'h'#3#245#1#5'Align'#7#8'alClient'#12'Font.CharSet'#7#12'ANSI_CHARSET'#10'Fo'
+'nt.Color'#7#7'clBlack'#11'Font.Height'#2#236#9'Font.Name'#6#7'Courier'#10'F'
+'ont.Pitch'#7#7'fpFixed'#11'ParentColor'#8#9'PopupMenu'#7#10'PopupMenu2'#8'T'
+'abOrder'#2#0#23'BookMarkOptions.Xoffset'#2'Q'#24'BookMarkOptions.OnChange'
+#13#17'Gutter.DigitCount'#2#5#22'Gutter.ShowLineNumbers'#9#22'Gutter.ShowCod'
+'eFolding'#9#15'Gutter.OnChange'#13#23'Gutter.CodeFoldingWidth'#2#14#11'High'
+'lighter'#7#10'SynPasSyn1'#10'Keystrokes'#14#1#7'Command'#2#3#8'ShortCut'#2
+'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Command'#3#211#0#8'ShortCut'
+#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Command'#2'h'#8'ShortCut'#3
+'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1#7'Command'#2#1#8'ShortCut'
+#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7'Command'#2#5#8'ShortCut'#3
+'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2#8'ShortCut'#2
,''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7'Command'#2#6#8'ShortCut'#3
+'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7'Command'#2#10#8'ShortCut'
+#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7'Command'#2#14#8'ShortCut'#3
+'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7'Command'#2#9#8'ShortCut'#2
+'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'Command'#2#13#8'ShortCut'#3
+'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7'Command'#2#7#8'ShortCut'#2
+'$'#0#1#7'Command'#2'k'#8'ShortCut'#3'$ '#0#1#7'Command'#2#15#8'ShortCut'#3
+'$@'#0#1#7'Command'#2's'#8'ShortCut'#3'$`'#0#1#7'Command'#2#8#8'ShortCut'#2
+'#'#0#1#7'Command'#2'l'#8'ShortCut'#3'# '#0#1#7'Command'#2#16#8'ShortCut'#3
+'#@'#0#1#7'Command'#2't'#8'ShortCut'#3'#`'#0#1#7'Command'#3#223#0#8'ShortCut'
+#2'-'#0#1#7'Command'#3#201#0#8'ShortCut'#3'-@'#0#1#7'Command'#3'\'#2#8'Short'
+'Cut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2'.'#0#1#7'Command'#3'['#2#8
+'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCut'#2#8#0#1#7'Command'#3#245
+#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'ShortCut'#3#8'@'#0#1#7'Comman'
+'d'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command'#3'Z'#2#8'ShortCut'#4#8#160
+#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7'Command'#3#199#0#8'ShortC'
+'ut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@'#0#1#7'Command'#3'b'#2#8
+'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3'M@'#0#1#7'Command'#3
+#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3#247#1#8'ShortCut'#3'T@'#0#1#7'Comm'
+'and'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8'ShortCut'#3'V@'#0#1#7
+'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251#1#8'ShortCut'#3'Y@'#0
+#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'#3'Y'#2#8'ShortCut'#3
+'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Command'#3'-'#1#8'ShortCu'
+'t'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7'Command'#3'/'#1#8'Sh'
+'ortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0#1#7'Command'#3'1'#1
+#8'ShortCut'#3'4@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'Command'#3
+'3'#1#8'ShortCut'#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'#3'7@'#0#1#7'Comman'
+'d'#3'5'#1#8'ShortCut'#3'8@'#0#1#7'Command'#3'6'#1#8'ShortCut'#3'9@'#0#1#7'C'
+'ommand'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8'ShortCut'#3'1`'#0#1
+#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'#1#8'ShortCut'#3'3`'
+#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3'd'#1#8'ShortCut'#3
+'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Command'#3'f'#1#8'ShortCu'
+'t'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'Command'#3'h'#1#8'Sh'
+'ortCut'#3'9`'#0#1#7'Command'#3#231#0#8'ShortCut'#3'N`'#0#1#7'Command'#3#232
+#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3'L`'#0#1#7'Command'
+#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1#7'Comma'
+'nd'#3#250#0#8'ShortCut'#3'B`'#0#0#8'ReadOnly'#9#22'SelectedColor.OnChange'
+#13#0#0#0#9'TTabSheet'#5'tsImp'#7'Caption'#6#24'Im&plementation Skeleton'#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.Hei'
+'ght'#2#236#9'Font.Name'#6#7'Courier'#10'Font.Pitch'#7#7'fpFixed'#11'ParentC'
+'olor'#8#9'PopupMenu'#7#10'PopupMenu2'#8'TabOrder'#2#0#23'BookMarkOptions.Xo'
+'ffset'#2'Q'#24'BookMarkOptions.OnChange'#13#17'Gutter.DigitCount'#2#5#22'Gu'
+'tter.ShowLineNumbers'#9#22'Gutter.ShowCodeFolding'#9#15'Gutter.OnChange'#13
+#23'Gutter.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'SynPasSyn1'#10'Keystr'
+'okes'#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'ShortCu'
+'t'#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'ShortC'
+'ut'#3'-@'#0#1#7'Command'#3'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3#246#1#8
+'ShortCut'#2'.'#0#1#7'Command'#3'['#2#8'ShortCut'#3'. '#0#1#7'Command'#3#245
+#1#8'ShortCut'#2#8#0#1#7'Command'#3#245#1#8'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'ShortC'
+'ut'#3'C@'#0#1#7'Command'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8
+'ShortCut'#3'M@'#0#1#7'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3
+#247#1#8'ShortCut'#3'T@'#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Comma'
+'nd'#3'\'#2#8'ShortCut'#3'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7
+'Command'#3#251#1#8'ShortCut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'
+#0#1#7'Command'#3'Y'#2#8'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3
+'Z`'#0#1#7'Command'#3'-'#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCu'
+'t'#3'1@'#0#1#7'Command'#3'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'Sh'
+'ortCut'#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'Comman'
+'d'#3'6'#1#8'ShortCut'#3'9@'#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'C'
+'ommand'#3'`'#1#8'ShortCut'#3'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1
+#7'Command'#3'b'#1#8'ShortCut'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'
+#0#1#7'Command'#3'd'#1#8'ShortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3
+'6`'#0#1#7'Command'#3'f'#1#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCu'
+'t'#3'8`'#0#1#7'Command'#3'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3#231#0#8'S'
+'hortCut'#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'Read'
+'Only'#9#22'SelectedColor.OnChange'#13#0#0#0#9'TTabSheet'#8'tsBinder'#7'Capt'
+'ion'#6#7'&Binder'#0#8'TSynEdit'#9'srcBinder'#6'Height'#3'='#2#5'Width'#3#245
+#1#5'Align'#7#8'alClient'#12'Font.CharSet'#7#12'ANSI_CHARSET'#10'Font.Color'
+#7#7'clBlack'#11'Font.Height'#2#236#9'Font.Name'#6#7'Courier'#10'Font.Pitch'
+#7#7'fpFixed'#11'ParentColor'#8#9'PopupMenu'#7#10'PopupMenu2'#8'TabOrder'#2#0
+#23'BookMarkOptions.Xoffset'#2'Q'#24'BookMarkOptions.OnChange'#13#15'Gutter.'
+'AutoSize'#9#17'Gutter.DigitCount'#2#5#22'Gutter.ShowLineNumbers'#9#22'Gutte'
+'r.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'Short'
+'Cut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Command'#3#211#0#8'Sh'
+'ortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Command'#2'h'#8'Sho'
+'rtCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1#7'Command'#2#1#8
+'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7'Command'#2#5#8'S'
+'hortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2#8'S'
+'hortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7'Command'#2#6#8
+#0#0#8'ReadOnly'#9#0#0#0#9'TTabSheet'#8'tsBinder'#7'Caption'#6#7'&Binder'#0#8
+'TSynEdit'#9'srcBinder'#6'Height'#3'='#2#5'Width'#3#245#1#5'Align'#7#8'alCli'
+'ent'#12'Font.CharSet'#7#12'ANSI_CHARSET'#10'Font.Color'#7#7'clBlack'#11'Fon'
+'t.Height'#2#236#9'Font.Name'#6#7'Courier'#10'Font.Pitch'#7#7'fpFixed'#11'Pa'
+'rentColor'#8#9'PopupMenu'#7#10'PopupMenu2'#8'TabOrder'#2#0#23'BookMarkOptio'
+'ns.Xoffset'#2'Q'#15'Gutter.AutoSize'#9#17'Gutter.DigitCount'#2#5#22'Gutter.'
+'ShowLineNumbers'#9#22'Gutter.ShowCodeFolding'#9#23'Gutter.CodeFoldingWidth'
+#2#14#11'Highlighter'#7#10'SynPasSyn1'#10'Keystrokes'#14#1#7'Command'#2#3#8
+'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Command'#3#211#0
+#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Command'#2'h'#8
+'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1#7'Command'#2#1
+#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7'Command'#2#5#8
+'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2#8
+'ShortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7'Command'#2#6#8
+'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7'Command'#2#10
+#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7'Command'#2#14#8
+'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7'Command'#2#9#8
@ -257,8 +256,8 @@ LazarusResources.Add('TfWstTypeLibraryEdit','FORMDATA',[
+'/'#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
+#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
@ -266,123 +265,127 @@ LazarusResources.Add('TfWstTypeLibraryEdit','FORMDATA',[
+'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'tsLog'#7'Caption'#6#4'&Log'#0#5'TMemo'#6'mmo'
+'Log'#6'Height'#3'='#2#5'Width'#3#245#1#5'Align'#7#8'alClient'#13'Lines.Stri'
+'ngs'#1#6#0#0#10'ScrollBars'#7#6'ssBoth'#8'TabOrder'#2#0#0#0#0#0#0#9'TSplitt'
+'er'#9'Splitter1'#4'Left'#3':'#1#6'Height'#3'Y'#2#5'Width'#2#8#5'Color'#7#7
+'clBlack'#11'ParentColor'#8#0#0#9'TMainMenu'#9'MainMenu1'#4'left'#3'`'#1#3't'
+'op'#2'p'#0#9'TMenuItem'#9'MenuItem1'#7'Caption'#6#6'&Files'#0#9'TMenuItem'
+#10'MenuItem16'#6'Action'#7#10'actNewFile'#7'OnClick'#7#17'actNewFileExecute'
+#0#0#9'TMenuItem'#9'MenuItem2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem'
+'5'#6'Action'#7#11'actOpenFile'#7'OnClick'#7#18'actOpenFileExecute'#0#0#9'TM'
+'enuItem'#9'MenuItem3'#6'Action'#7#9'actExport'#7'OnClick'#7#16'actExportExe'
+'cute'#0#0#9'TMenuItem'#9'MenuItem7'#6'Action'#7#7'actSave'#7'OnClick'#7#14
+'actSaveExecute'#0#0#9'TMenuItem'#10'MenuItem32'#6'Action'#7#9'actSaveAs'#7
+'OnClick'#7#16'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'a'
+'ctExitExecute'#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'MenuItem50'#6'Action'#7#9'actSearc'
+'h'#7'OnClick'#7#16'actSearchExecute'#0#0#9'TMenuItem'#10'MenuItem29'#7'Capt'
+'ion'#6#1'-'#0#0#9'TMenuItem'#10'MenuItem30'#6'Action'#7#13'actFullExpand'#7
+'OnClick'#7#20'actFullExpandExecute'#0#0#9'TMenuItem'#10'MenuItem31'#6'Actio'
+'n'#7#15'actFullCollapse'#7'OnClick'#7#22'actFullCollapseExecute'#0#0#0#9'TM'
+'enuItem'#10'MenuItem10'#7'Caption'#6#8'&Edition'#0#9'TMenuItem'#10'MenuItem'
+'11'#6'Action'#7#13'actEnumCreate'#7'OnClick'#7#20'actEnumCreateExecute'#0#0
+#9'TMenuItem'#10'MenuItem23'#6'Action'#7#17'actCompoundCreate'#7'OnClick'#7
+#24'actCompoundCreateExecute'#0#0#9'TMenuItem'#10'MenuItem48'#6'Action'#7#15
+'actRecordCreate'#7'OnClick'#7#22'actRecordCreateExecute'#0#0#9'TMenuItem'#10
+'MenuItem25'#6'Action'#7#13'actIntfCreate'#7'OnClick'#7#20'actIntfCreateExec'
+'ute'#0#0#9'TMenuItem'#10'MenuItem35'#6'Action'#7#14'actArrayCreate'#7'OnCli'
+'ck'#7#21'actArrayCreateExecute'#0#0#9'TMenuItem'#10'MenuItem36'#6'Action'#7
+#18'actTypeALiasCreate'#7'OnClick'#7#25'actTypeALiasCreateExecute'#0#0#9'TMe'
+'nuItem'#10'MenuItem12'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#10'MenuItem13'#6
+'Action'#7#15'actUpdateObject'#7'Caption'#6#13'Update Object'#7'OnClick'#7#22
+'actUpdateObjectExecute'#0#0#9'TMenuItem'#10'MenuItem34'#6'Action'#7#9'actDe'
+'lete'#7'OnClick'#7#16'actDeleteExecute'#0#0#0#9'TMenuItem'#9'MenuItem6'#6'A'
+'ction'#7#8'actAbout'#7'Caption'#6#6'&About'#7'OnClick'#7#15'actAboutExecute'
+#0#0#0#11'TActionList'#2'AL'#4'left'#3'X'#1#3'top'#2'8'#0#7'TAction'#11'actO'
+'penFile'#7'Caption'#6#9'Open File'#18'DisableIfNoHandler'#9#9'OnExecute'#7
+#18'actOpenFileExecute'#8'ShortCut'#3'O@'#0#0#7'TAction'#7'actExit'#7'Captio'
+'n'#6#4'Exit'#18'DisableIfNoHandler'#9#9'OnExecute'#7#14'actExitExecute'#8'S'
+'hortCut'#3's@'#0#0#7'TAction'#9'actExport'#7'Caption'#6#24'Save generated f'
+'iles ...'#18'DisableIfNoHandler'#9#9'OnExecute'#7#16'actExportExecute'#8'On'
+'Update'#7#15'actExportUpdate'#0#0#7'TAction'#8'actAbout'#7'Caption'#6#5'Abo'
+'ut'#18'DisableIfNoHandler'#9#9'OnExecute'#7#15'actAboutExecute'#0#0#7'TActi'
+'on'#9'actSaveAs'#7'Caption'#6#11'Save As ...'#18'DisableIfNoHandler'#9#9'On'
+'Execute'#7#16'actSaveAsExecute'#8'OnUpdate'#7#15'actExportUpdate'#0#0#7'TAc'
+'tion'#13'actEnumCreate'#7'Caption'#6#18'Create Enumeration'#18'DisableIfNoH'
+'andler'#9#9'OnExecute'#7#20'actEnumCreateExecute'#0#0#7'TAction'#15'actUpda'
+'teObject'#7'Caption'#6#6'Update'#18'DisableIfNoHandler'#9#9'OnExecute'#7#22
+'actUpdateObjectExecute'#8'OnUpdate'#7#21'actUpdateObjectUpdate'#0#0#7'TActi'
+'on'#14'actRefreshView'#7'Caption'#6#14'&Refresh Views'#18'DisableIfNoHandle'
+'r'#9#9'OnExecute'#7#21'actRefreshViewExecute'#8'ShortCut'#2't'#0#0#7'TActio'
+'n'#10'actNewFile'#7'Caption'#6#8'New File'#18'DisableIfNoHandler'#9#9'OnExe'
+'cute'#7#17'actNewFileExecute'#8'ShortCut'#3'N@'#0#0#7'TAction'#17'actCompou'
+'ndCreate'#7'Caption'#6#17'Create Class Type'#18'DisableIfNoHandler'#9#9'OnE'
,'xecute'#7#24'actCompoundCreateExecute'#0#0#7'TAction'#13'actIntfCreate'#7'C'
+'aption'#6#16'Create Interface'#18'DisableIfNoHandler'#9#9'OnExecute'#7#20'a'
+'ctIntfCreateExecute'#0#0#7'TAction'#13'actFullExpand'#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'DisableIfN'
+'oHandler'#9#9'OnExecute'#7#22'actFullCollapseExecute'#0#0#7'TAction'#7'actS'
+'ave'#7'Caption'#6#4'Save'#18'DisableIfNoHandler'#9#9'OnExecute'#7#14'actSav'
+'eExecute'#8'ShortCut'#3'S@'#0#0#7'TAction'#9'actDelete'#7'Caption'#6#6'Dele'
+'te'#18'DisableIfNoHandler'#9#9'OnExecute'#7#16'actDeleteExecute'#8'OnUpdate'
+#7#21'actUpdateObjectUpdate'#0#0#7'TAction'#14'actArrayCreate'#7'Caption'#6
+#12'Create Array'#18'DisableIfNoHandler'#9#9'OnExecute'#7#21'actArrayCreateE'
+'xecute'#0#0#7'TAction'#18'actTypeALiasCreate'#7'Caption'#6#17'Create Type A'
+'Lias'#18'DisableIfNoHandler'#9#9'OnExecute'#7#25'actTypeALiasCreateExecute'
+#0#0#7'TAction'#15'actRecordCreate'#7'Caption'#6#13'Create Record'#18'Disabl'
+'eIfNoHandler'#9#9'OnExecute'#7#22'actRecordCreateExecute'#0#0#7'TAction'#9
+'actSearch'#7'Caption'#6#6'Search'#18'DisableIfNoHandler'#9#9'OnExecute'#7#16
+'actSearchExecute'#8'OnUpdate'#7#15'actSearchUpdate'#8'ShortCut'#3'F@'#0#0#0
+#11'TOpenDialog'#2'OD'#6'Filter'#6'3WDSL files(*.WSDL)|*.WSDL|Pascal file (*'
+'.pas)|*.pas'#11'FilterIndex'#2#0#10'InitialDir'#6#2'.\'#7'Options'#11#15'of'
+'PathMustExist'#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
+'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'clGreen'#20'DirectiveAttri.Style'#11#6
+'fsBold'#0#14'NestedComments'#9#4'left'#3#183#1#3'top'#2'h'#0#0#11'TSaveDial'
+'og'#2'SD'#10'DefaultExt'#6#5'.WSDL'#6'Filter'#6#25'WDSL files(*.WSDL)|*.WSD'
+'L'#11'FilterIndex'#2#0#7'Options'#11#15'ofPathMustExist'#14'ofEnableSizing'
+#12'ofViewDetail'#0#4'left'#3#242#1#3'top'#3#176#0#0#0#10'TPopupMenu'#10'Pop'
+'upMenu1'#4'left'#3#152#0#3'top'#3#152#0#0#9'TMenuItem'#10'MenuItem28'#6'Act'
+'ion'#7#13'actFullExpand'#7'OnClick'#7#20'actFullExpandExecute'#0#0#9'TMenuI'
+'tem'#10'MenuItem27'#6'Action'#7#15'actFullCollapse'#7'OnClick'#7#22'actFull'
+'CollapseExecute'#0#0#9'TMenuItem'#10'MenuItem39'#6'Action'#7#14'actRefreshV'
+'iew'#7'OnClick'#7#21'actRefreshViewExecute'#0#0#9'TMenuItem'#10'MenuItem26'
+#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem8'#6'Action'#7#13'actEnumCreat'
+'e'#7'OnClick'#7#20'actEnumCreateExecute'#0#0#9'TMenuItem'#10'MenuItem21'#6
+'Action'#7#17'actCompoundCreate'#7'OnClick'#7#24'actCompoundCreateExecute'#0
+#0#9'TMenuItem'#10'MenuItem46'#6'Action'#7#15'actRecordCreate'#7'OnClick'#7
+#22'actRecordCreateExecute'#0#0#9'TMenuItem'#10'MenuItem24'#6'Action'#7#13'a'
+#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#8'ReadOnly'#9#0#0#0#9'TTabSheet'#5
+'tsLog'#7'Caption'#6#4'&Log'#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'ScrollBars'#7#6's'
+'sBoth'#8'TabOrder'#2#0#0#0#0#0#0#9'TSplitter'#9'Splitter1'#4'Left'#3':'#1#6
+'Height'#3'Y'#2#5'Width'#2#8#5'Color'#7#7'clBlack'#11'ParentColor'#8#0#0#9'T'
+'MainMenu'#9'MainMenu1'#4'left'#3'`'#1#3'top'#2'p'#0#9'TMenuItem'#9'MenuItem'
+'1'#7'Caption'#6#6'&Files'#0#9'TMenuItem'#10'MenuItem16'#6'Action'#7#10'actN'
+'ewFile'#7'OnClick'#7#17'actNewFileExecute'#0#0#9'TMenuItem'#9'MenuItem2'#7
+'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem5'#6'Action'#7#11'actOpenFile'#7
+'OnClick'#7#18'actOpenFileExecute'#0#0#9'TMenuItem'#9'MenuItem3'#6'Action'#7
+#9'actExport'#7'OnClick'#7#16'actExportExecute'#0#0#9'TMenuItem'#9'MenuItem7'
+#6'Action'#7#7'actSave'#7'OnClick'#7#14'actSaveExecute'#0#0#9'TMenuItem'#10
+'MenuItem32'#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'actRefreshViewExecute'#0#0#9'TMenuItem'
+#10'MenuItem50'#6'Action'#7#13'actEditSearch'#7'OnClick'#7#20'actEditSearchE'
+'xecute'#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'actFullExpandE'
+'xecute'#0#0#9'TMenuItem'#10'MenuItem31'#6'Action'#7#15'actFullCollapse'#7'O'
+'nClick'#7#22'actFullCollapseExecute'#0#0#0#9'TMenuItem'#10'MenuItem10'#7'Ca'
+'ption'#6#8'&Edition'#0#9'TMenuItem'#10'MenuItem11'#6'Action'#7#13'actEnumCr'
+'eate'#7'OnClick'#7#20'actEnumCreateExecute'#0#0#9'TMenuItem'#10'MenuItem23'
+#6'Action'#7#17'actCompoundCreate'#7'OnClick'#7#24'actCompoundCreateExecute'
+#0#0#9'TMenuItem'#10'MenuItem48'#6'Action'#7#15'actRecordCreate'#7'OnClick'#7
+#22'actRecordCreateExecute'#0#0#9'TMenuItem'#10'MenuItem25'#6'Action'#7#13'a'
+'ctIntfCreate'#7'OnClick'#7#20'actIntfCreateExecute'#0#0#9'TMenuItem'#10'Men'
+'uItem37'#6'Action'#7#14'actArrayCreate'#7'OnClick'#7#21'actArrayCreateExecu'
+'te'#0#0#9'TMenuItem'#10'MenuItem38'#6'Action'#7#18'actTypeALiasCreate'#7'On'
+'Click'#7#25'actTypeALiasCreateExecute'#0#0#9'TMenuItem'#10'MenuItem22'#7'Ca'
+'ption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem9'#6'Action'#7#15'actUpdateObject'
+#7'OnClick'#7#22'actUpdateObjectExecute'#0#0#9'TMenuItem'#10'MenuItem33'#6'A'
+'ction'#7#9'actDelete'#7'OnClick'#7#16'actDeleteExecute'#0#0#0#10'TPopupMenu'
+#10'PopupMenu2'#4'left'#3#16#2#3'top'#3#235#0#0#9'TMenuItem'#10'MenuItem18'#6
+'Action'#7#14'actRefreshView'#7'OnClick'#7#21'actRefreshViewExecute'#0#0#9'T'
+'MenuItem'#10'MenuItem49'#6'Action'#7#9'actSearch'#7'OnClick'#7#16'actSearch'
+'Execute'#0#0#9'TMenuItem'#10'MenuItem19'#7'Caption'#6#1'-'#0#0#9'TMenuItem'
+#10'MenuItem20'#6'Action'#7#9'actExport'#7'OnClick'#7#16'actExportExecute'#0
+#0#9'TMenuItem'#10'MenuItem40'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#10'MenuIte'
+'m41'#6'Action'#7#14'actArrayCreate'#7'OnClick'#7#21'actArrayCreateExecute'#0
+#0#9'TMenuItem'#10'MenuItem45'#6'Action'#7#17'actCompoundCreate'#7'OnClick'#7
+#24'actCompoundCreateExecute'#0#0#9'TMenuItem'#10'MenuItem47'#6'Action'#7#15
+'actRecordCreate'#7'OnClick'#7#22'actRecordCreateExecute'#0#0#9'TMenuItem'#10
+'uItem35'#6'Action'#7#14'actArrayCreate'#7'OnClick'#7#21'actArrayCreateExecu'
+'te'#0#0#9'TMenuItem'#10'MenuItem36'#6'Action'#7#18'actTypeALiasCreate'#7'On'
+'Click'#7#25'actTypeALiasCreateExecute'#0#0#9'TMenuItem'#10'MenuItem12'#7'Ca'
+'ption'#6#1'-'#0#0#9'TMenuItem'#10'MenuItem13'#6'Action'#7#15'actUpdateObjec'
+'t'#7'Caption'#6#13'Update Object'#7'OnClick'#7#22'actUpdateObjectExecute'#0
+#0#9'TMenuItem'#10'MenuItem34'#6'Action'#7#9'actDelete'#7'OnClick'#7#16'actD'
+'eleteExecute'#0#0#0#9'TMenuItem'#9'MenuItem6'#6'Action'#7#8'actAbout'#7'Cap'
+'tion'#6#6'&About'#7'OnClick'#7#15'actAboutExecute'#0#0#0#11'TActionList'#2
+'AL'#4'left'#3'X'#1#3'top'#2'8'#0#7'TAction'#11'actOpenFile'#7'Caption'#6#9
+'Open File'#18'DisableIfNoHandler'#9#9'OnExecute'#7#18'actOpenFileExecute'#8
+'ShortCut'#3'O@'#0#0#7'TAction'#7'actExit'#7'Caption'#6#4'Exit'#18'DisableIf'
+'NoHandler'#9#9'OnExecute'#7#14'actExitExecute'#8'ShortCut'#3's@'#0#0#7'TAct'
+'ion'#9'actExport'#7'Caption'#6#24'Save generated files ...'#18'DisableIfNoH'
+'andler'#9#9'OnExecute'#7#16'actExportExecute'#8'OnUpdate'#7#15'actExportUpd'
+'ate'#0#0#7'TAction'#8'actAbout'#7'Caption'#6#5'About'#18'DisableIfNoHandler'
+#9#9'OnExecute'#7#15'actAboutExecute'#0#0#7'TAction'#9'actSaveAs'#7'Caption'
+#6#11'Save As ...'#18'DisableIfNoHandler'#9#9'OnExecute'#7#16'actSaveAsExecu'
+'te'#8'OnUpdate'#7#15'actExportUpdate'#0#0#7'TAction'#13'actEnumCreate'#7'Ca'
+'ption'#6#18'Create Enumeration'#18'DisableIfNoHandler'#9#9'OnExecute'#7#20
+'actEnumCreateExecute'#0#0#7'TAction'#15'actUpdateObject'#7'Caption'#6#6'Upd'
+'ate'#18'DisableIfNoHandler'#9#9'OnExecute'#7#22'actUpdateObjectExecute'#8'O'
+'nUpdate'#7#21'actUpdateObjectUpdate'#0#0#7'TAction'#14'actRefreshView'#7'Ca'
+'ption'#6#14'&Refresh Views'#18'DisableIfNoHandler'#9#9'OnExecute'#7#21'actR'
+'efreshViewExecute'#8'ShortCut'#2't'#0#0#7'TAction'#10'actNewFile'#7'Caption'
+#6#8'New File'#18'DisableIfNoHandler'#9#9'OnExecute'#7#17'actNewFileExecute'
+#8'ShortCut'#3'N@'#0#0#7'TAction'#17'actCompoundCreate'#7'Caption'#6#17'Crea'
+'te Class Type'#18'DisableIfNoHandler'#9#9'OnExecute'#7#24'actCompoundCreate'
+'Execute'#0#0#7'TAction'#13'actIntfCreate'#7'Caption'#6#16'Create Interface'
,#18'DisableIfNoHandler'#9#9'OnExecute'#7#20'actIntfCreateExecute'#0#0#7'TAct'
+'ion'#13'actFullExpand'#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'act'
+'FullCollapseExecute'#0#0#7'TAction'#7'actSave'#7'Caption'#6#4'Save'#18'Disa'
+'bleIfNoHandler'#9#9'OnExecute'#7#14'actSaveExecute'#8'ShortCut'#3'S@'#0#0#7
+'TAction'#9'actDelete'#7'Caption'#6#6'Delete'#18'DisableIfNoHandler'#9#9'OnE'
+'xecute'#7#16'actDeleteExecute'#8'OnUpdate'#7#21'actUpdateObjectUpdate'#0#0#7
+'TAction'#14'actArrayCreate'#7'Caption'#6#12'Create Array'#18'DisableIfNoHan'
+'dler'#9#9'OnExecute'#7#21'actArrayCreateExecute'#0#0#7'TAction'#18'actTypeA'
+'LiasCreate'#7'Caption'#6#17'Create Type ALias'#18'DisableIfNoHandler'#9#9'O'
+'nExecute'#7#25'actTypeALiasCreateExecute'#0#0#7'TAction'#15'actRecordCreate'
+#7'Caption'#6#13'Create Record'#18'DisableIfNoHandler'#9#9'OnExecute'#7#22'a'
+'ctRecordCreateExecute'#0#0#7'TAction'#13'actEditSearch'#7'Caption'#6#6'Sear'
+'ch'#18'DisableIfNoHandler'#9#9'OnExecute'#7#20'actEditSearchExecute'#8'OnUp'
+'date'#7#19'actEditSearchUpdate'#8'ShortCut'#3'F@'#0#0#7'TAction'#13'actTree'
+'Search'#7'Caption'#6#6'Search'#18'DisableIfNoHandler'#9#9'OnExecute'#7#20'a'
+'ctTreeSearchExecute'#8'OnUpdate'#7#19'actTreeSearchUpdate'#0#0#0#11'TOpenDi'
+'alog'#2'OD'#6'Filter'#6'3WDSL files(*.WSDL)|*.WSDL|Pascal file (*.pas)|*.pa'
+'s'#11'FilterIndex'#2#0#10'InitialDir'#6#2'.\'#7'Options'#11#15'ofPathMustEx'
+'ist'#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'CommentAttr'
+'i.Foreground'#7#6'clBlue'#18'CommentAttri.Style'#11#6'fsBold'#0#22'StringAt'
+'tri.Foreground'#7#8'clMaroon'#17'SymbolAttri.Style'#11#6'fsBold'#0#25'Direc'
+'tiveAttri.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'
+#10'DefaultExt'#6#5'.WSDL'#6'Filter'#6#25'WDSL files(*.WSDL)|*.WSDL'#11'Filt'
+'erIndex'#2#0#7'Options'#11#15'ofPathMustExist'#14'ofEnableSizing'#12'ofView'
+'Detail'#0#4'left'#3#242#1#3'top'#3#176#0#0#0#10'TPopupMenu'#10'PopupMenu1'#4
+'left'#3#152#0#3'top'#3#152#0#0#9'TMenuItem'#10'MenuItem28'#6'Action'#7#13'a'
+'ctFullExpand'#7'OnClick'#7#20'actFullExpandExecute'#0#0#9'TMenuItem'#10'Men'
+'uItem27'#6'Action'#7#15'actFullCollapse'#7'OnClick'#7#22'actFullCollapseExe'
+'cute'#0#0#9'TMenuItem'#10'MenuItem39'#6'Action'#7#14'actRefreshView'#7'OnCl'
+'ick'#7#21'actRefreshViewExecute'#0#0#9'TMenuItem'#10'MenuItem26'#7'Caption'
+#6#1'-'#0#0#9'TMenuItem'#10'MenuItem51'#6'Action'#7#13'actTreeSearch'#7'OnCl'
+'ick'#7#20'actTreeSearchExecute'#0#0#9'TMenuItem'#10'MenuItem52'#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'a'
+'ctCompoundCreate'#7'OnClick'#7#24'actCompoundCreateExecute'#0#0#9'TMenuItem'
+#10'MenuItem46'#6'Action'#7#15'actRecordCreate'#7'OnClick'#7#22'actRecordCre'
+'ateExecute'#0#0#9'TMenuItem'#10'MenuItem24'#6'Action'#7#13'actIntfCreate'#7
+'OnClick'#7#20'actIntfCreateExecute'#0#0#9'TMenuItem'#10'MenuItem37'#6'Actio'
+'n'#7#14'actArrayCreate'#7'OnClick'#7#21'actArrayCreateExecute'#0#0#9'TMenuI'
+'tem'#10'MenuItem38'#6'Action'#7#18'actTypeALiasCreate'#7'OnClick'#7#25'actT'
+'ypeALiasCreateExecute'#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'a'
+'ctUpdateObjectExecute'#0#0#9'TMenuItem'#10'MenuItem33'#6'Action'#7#9'actDel'
+'ete'#7'OnClick'#7#16'actDeleteExecute'#0#0#0#10'TPopupMenu'#10'PopupMenu2'#4
+'left'#3#16#2#3'top'#3#235#0#0#9'TMenuItem'#10'MenuItem18'#6'Action'#7#14'ac'
+'tRefreshView'#7'OnClick'#7#21'actRefreshViewExecute'#0#0#9'TMenuItem'#10'Me'
+'nuItem49'#6'Action'#7#13'actEditSearch'#7'OnClick'#7#20'actEditSearchExecut'
+'e'#0#0#9'TMenuItem'#10'MenuItem19'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#10'Me'
+'nuItem20'#6'Action'#7#9'actExport'#7'OnClick'#7#16'actExportExecute'#0#0#9
+'TMenuItem'#10'MenuItem40'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#10'MenuItem41'
+#6'Action'#7#14'actArrayCreate'#7'OnClick'#7#21'actArrayCreateExecute'#0#0#9
+'TMenuItem'#10'MenuItem45'#6'Action'#7#17'actCompoundCreate'#7'OnClick'#7#24
+'actCompoundCreateExecute'#0#0#9'TMenuItem'#10'MenuItem47'#6'Action'#7#15'ac'
+'tRecordCreate'#7'OnClick'#7#22'actRecordCreateExecute'#0#0#9'TMenuItem'#10
+'MenuItem44'#6'Action'#7#13'actEnumCreate'#7'OnClick'#7#20'actEnumCreateExec'
+'ute'#0#0#9'TMenuItem'#10'MenuItem43'#6'Action'#7#13'actIntfCreate'#7'OnClic'
+'k'#7#20'actIntfCreateExecute'#0#0#9'TMenuItem'#10'MenuItem42'#6'Action'#7#18
+'actTypeALiasCreate'#7'OnClick'#7#25'actTypeALiasCreateExecute'#0#0#0#10'TSy'
+'nXMLSyn'#10'SynXMLSyn1'#13'DefaultFilter'#6#30'Documents WSDL (*.wsdl)|*.ws'
+'dl'#7'Enabled'#8#23'ElementAttri.Foreground'#7#6'clNavy'#30'AttributeValueA'
+'ttri.Foreground'#7#8'clPurple'#16'WantBracesParsed'#8#4'left'#3#210#1#3'top'
,'ttri.Foreground'#7#8'clPurple'#16'WantBracesParsed'#8#4'left'#3#210#1#3'top'
+#3#252#0#0#0#11'TFindDialog'#2'FD'#6'OnShow'#7#6'FDShow'#5'Title'#6#6'Search'
+#6'OnFind'#7#6'FDFind'#4'left'#3'@'#2#3'top'#3#143#0#0#0#0
]);

View File

@ -25,6 +25,8 @@ uses
type
TSearchArea = ( saEditor, saTree );
{ TfWstTypeLibraryEdit }
TfWstTypeLibraryEdit = class(TForm)
@ -38,7 +40,8 @@ type
actFullCollapse: TAction;
actDelete : TAction;
actArrayCreate : TAction;
actSearch : TAction;
actEditSearch : TAction;
actTreeSearch : TAction;
actRecordCreate : TAction;
actTypeALiasCreate : TAction;
actSave : TAction;
@ -92,6 +95,8 @@ type
MenuItem49 : TMenuItem;
MenuItem5: TMenuItem;
MenuItem50 : TMenuItem;
MenuItem51 : TMenuItem;
MenuItem52 : TMenuItem;
MenuItem6: TMenuItem;
MenuItem7 : TMenuItem;
MenuItem8: TMenuItem;
@ -141,8 +146,10 @@ type
procedure actRefreshViewExecute(Sender: TObject);
procedure actSaveAsExecute(Sender: TObject);
procedure actSaveExecute (Sender : TObject );
procedure actSearchExecute(Sender : TObject);
procedure actSearchUpdate(Sender : TObject);
procedure actEditSearchExecute(Sender : TObject);
procedure actEditSearchUpdate(Sender : TObject);
procedure actTreeSearchExecute(Sender : TObject);
procedure actTreeSearchUpdate(Sender : TObject);
procedure actTypeALiasCreateExecute(Sender : TObject);
procedure actUpdateObjectExecute(Sender: TObject);
procedure actUpdateObjectUpdate(Sender: TObject);
@ -155,9 +162,13 @@ type
FStatusMessageTag : PtrInt;
FCurrentFileName : string;
{$IFDEF WST_IDE}FProjectLibrary : TLazProjectFile;{$ENDIF}
FSearchArea : TSearchArea;
FFoundNode : TTreeNode;
private
function FindCurrentEditor() : TSynEdit;
function Search(const AText : string) : Boolean;
function SearchInTree(const AText : string) : Boolean;
function SearchInEditor(const AText : string) : Boolean;
private
function GetTypeNode() : TTreeNode;
function GetInterfaceNode() : TTreeNode;
@ -454,16 +465,28 @@ begin
actSaveAs.Execute() ;
end;
procedure TfWstTypeLibraryEdit.actSearchExecute(Sender : TObject);
procedure TfWstTypeLibraryEdit.actEditSearchExecute(Sender : TObject);
begin
FSearchArea := saEditor;
FD.Execute();
end;
procedure TfWstTypeLibraryEdit.actSearchUpdate(Sender : TObject);
procedure TfWstTypeLibraryEdit.actEditSearchUpdate(Sender : TObject);
begin
TAction(Sender).Enabled := ( PC.ActivePageIndex in [0..4] );
end;
procedure TfWstTypeLibraryEdit.actTreeSearchExecute(Sender : TObject);
begin
FSearchArea := saTree;
FD.Execute();
end;
procedure TfWstTypeLibraryEdit.actTreeSearchUpdate(Sender : TObject);
begin
TAction(Sender).Enabled := ( GetTypeNode().Count > 0 );
end;
procedure TfWstTypeLibraryEdit.actTypeALiasCreateExecute(Sender : TObject);
var
e : TPasAliasType;
@ -515,6 +538,7 @@ procedure TfWstTypeLibraryEdit.FDShow(Sender : TObject);
var
edt : TSynEdit;
begin
FFoundNode := nil;
edt := FindCurrentEditor();
if Assigned(edt) and edt.SelAvail then
FD.FindText := edt.SelText;
@ -589,6 +613,35 @@ begin
end;
function TfWstTypeLibraryEdit.Search(const AText : string) : Boolean;
begin
if ( FSearchArea = saEditor ) then
Result := SearchInEditor(AText)
else
Result := SearchInTree(AText);
end;
function TfWstTypeLibraryEdit.SearchInTree(const AText : string) : Boolean;
var
curLock : IInterface;
searchDir : TSearchDirection;
begin
curLock := SetCursorHourGlass();
if ( FFoundNode <> nil ) then
FFoundNode := FFoundNode.GetNext();
if ( frDown in FD.Options ) then
searchDir := sdForward
else
searchDir := sdbackward;
FFoundNode := SearchItem(AText,GetTypeNode(),FFoundNode,searchDir);
Result := ( FFoundNode <> nil );
if Result then begin
FFoundNode.Selected := True ;
FFoundNode.Focused := True ;
end;
curLock := nil;
end;
function TfWstTypeLibraryEdit.SearchInEditor(const AText : string) : Boolean;
var
edt : TSynEdit;
opts : TSynSearchOptions;
@ -610,7 +663,6 @@ end;
function TfWstTypeLibraryEdit.GetTypeNode(): TTreeNode;
begin
Result := trvSchema.Items[0].GetFirstChild().Items[0];
//trvSchema.TopItem.GetFirstChild().Items[0];
end;
function TfWstTypeLibraryEdit.GetInterfaceNode(): TTreeNode;

View File

@ -17,7 +17,7 @@ unit view_helper;
interface
uses
Classes, SysUtils, ComCtrls,
Classes, SysUtils, ComCtrls, Contnrs,
pastree, pascal_parser_intf;
type
@ -31,17 +31,59 @@ type
):TTreeNode;
end;
TSearchDirection = ( sdForward, sdbackward );
TDependencyKind = ( dkProperty, dkAncestor, dkAliasedTo, dkArrayItem );
{ TDependendyInfo }
TDependendyInfo = class
private
FKind : TDependencyKind;
FPropName : string;
FUsingType : TPasType;
public
property UsingType : TPasType read FUsingType;
property Kind : TDependencyKind read FKind;
property PropName : string read FPropName;
end;
{ The function takes ownership of the "AFoundItem" parameter }
TOnFindDependencyFunc = function (AFoundItem : TDependendyInfo) : Boolean of object;
function FindPainter(AObj : TPasElement) : ISymbolPainter ;
function SearchItem(
const AName : string;
AParentNode,
AStartFrom : TTreeNode;
const ADirection : TSearchDirection
) : TTreeNode;
function XsdGenerateSourceForObject(
AObject : TPasElement;
ASymbolTable : TwstPasTreeContainer
) : string;
procedure DrawDependencies(
AView : TTreeView;
ADependencyList : TObjectList
);
procedure FindDependencies(
AType : TPasType;
ATree : TwstPasTreeContainer;
ADestList : TObjectList
);
function SetCursorHourGlass():IInterface;
implementation
uses Contnrs, Controls, Forms;
uses
Controls, Forms
{$IFNDEF FPC}, xmldom, wst_delphi_xml{$ELSE}, DOM, wst_fpc_xml{$ENDIF}
, xsd_generator;
const
IMG_TABLE = 0;
IMG_TYPES = 1;
IMG_CONST = 2;
//IMG_CONST = 2;
IMG_TYPE_DEF = 4;
IMG_INTF_DEF = 5;
//IMG_PROP_DEF = 6;
@ -70,6 +112,232 @@ begin
Application.ProcessMessages();
end;
type
{ TXsdGenerator }
TXsdGeneratorX = class(TXsdGenerator)
public
constructor Create(
const ADocument : TDOMDocument;
const AOptions : TGeneratorOptions;
ASymbolTable : TwstPasTreeContainer
);
end;
{ TXsdGeneratorX }
constructor TXsdGeneratorX.Create(
const ADocument : TDOMDocument;
const AOptions : TGeneratorOptions;
ASymbolTable : TwstPasTreeContainer
);
begin
inherited Create(ADocument,AOptions);
Prepare(ASymbolTable,ASymbolTable.CurrentModule);
end;
function XsdGenerateSourceForObject(
AObject : TPasElement;
ASymbolTable : TwstPasTreeContainer
) : string;
var
xsdGenerator : IXsdGenerator;
typeGenerator : IXsdTypeHandler;
doc : TXMLDocument;
locRes : string;
begin
if ( AObject = nil ) or ( Length(Trim(AObject.Name)) = 0 ) then begin
locRes := '';
end else begin
doc := CreateDoc();
try
xsdGenerator := TXsdGeneratorX.Create(doc,[],ASymbolTable);
if GetXsdTypeHandlerRegistry().Find(AObject,xsdGenerator,typeGenerator) then begin
typeGenerator.Generate(ASymbolTable,AObject,doc);
locRes := NodeToBuffer(doc);
end;
finally
ReleaseDomNode(doc);
end;
end;
Result := locRes;
end;
procedure DrawDependencies(
AView : TTreeView;
ADependencyList : TObjectList
);
function FindNode(AType : TPasType) : TTreeNode;
var
k : PtrInt;
nl : TTreeNodes;
begin
Result := nil;
nl := AView.Items;
for k := 0 to Pred(nl.Count) do begin
if ( TPasType(nl[k].Data) = AType ) then begin
Result := nl[k];
end;
end;
end;
var
i : PtrInt;
e : TDependendyInfo;
n : TTreeNode;
s : string;
begin
AView.Items.BeginUpdate();
try
AView.Items.Clear();
if ( ADependencyList.Count > 0 ) then begin
for i := 0 to Pred(ADependencyList.Count) do begin
e := TDependendyInfo(ADependencyList[i]);
n := FindNode(e.UsingType);
if ( n = nil ) then begin
n := AView.Items.Add(nil,e.UsingType.Name);
n.Data := e.UsingType;
end;
case e.Kind of
dkAliasedTo : s := 'Alias';
dkAncestor : s := 'Ancestor type';
dkArrayItem : s := 'Array Item type';
dkProperty : s := Format('Property = %s',[e.PropName]);
else
s := e.UsingType.Name;
end;
AView.Items.AddChild(n,s).Data := e;
end;
end;
finally
AView.Items.EndUpdate();
end;
end;
procedure FindDependencies(
AType : TPasType;
ATree : TwstPasTreeContainer;
ADestList : TObjectList
);
var
depInfo : TDependendyInfo;
extName : string;
function IsEqualTo(A : TPasType) : Boolean;
begin
Result := ( A <> nil ) and
( ( A = AType ) or
( A.InheritsFrom(TPasUnresolvedTypeRef) and
( ATree.GetExternalName(A) = extName )
)
);
end;
procedure ScanAliasType(AItem : TPasAliasType);
begin
if IsEqualTo(AItem.DestType) then begin
depInfo := TDependendyInfo.Create();
depInfo.FUsingType := AItem;
depInfo.FKind := dkAliasedTo;
ADestList.Add(depInfo);
end;
end;
procedure ScanArrayType(AItem : TPasArrayType);{$IFDEF USE_INLINE}inline;{$ENDIF}
begin
if IsEqualTo(AItem.ElType) then begin
depInfo := TDependendyInfo.Create();
depInfo.FUsingType := AItem;
depInfo.FKind := dkArrayItem;
ADestList.Add(depInfo);
end;
end;
procedure ScanClassType(AItem : TPasClassType);
var
b : Boolean;
k : PtrInt;
pl : TList;
m : TPasElement;
p : TPasProperty;
begin
if IsEqualTo(AItem.AncestorType) then begin
depInfo := TDependendyInfo.Create();
depInfo.FUsingType := AItem;
depInfo.FKind := dkAncestor;
ADestList.Add(depInfo);
end;
pl := AItem.Members;
if ( pl.Count > 0 ) then begin
for k := 0 to Pred(pl.Count) do begin
m := TPasElement(pl[k]);
if m.InheritsFrom(TPasProperty) then begin
p := TPasProperty(m);
if IsEqualTo(p.VarType) then begin
depInfo := TDependendyInfo.Create();
depInfo.FUsingType := AItem;
depInfo.FKind := dkProperty;
depInfo.FPropName := p.Name;
ADestList.Add(depInfo);
end;
end;
end;
end;
end;
procedure ScanRecordType(AItem : TPasRecordType);
var
b : Boolean;
k : PtrInt;
pl : TList;
m : TPasElement;
p : TPasVariable;
begin
pl := AItem.Members;
if ( pl.Count > 0 ) then begin
for k := 0 to Pred(pl.Count) do begin
m := TPasElement(pl[k]);
if m.InheritsFrom(TPasVariable) then begin
p := TPasVariable(m);
if IsEqualTo(p.VarType) then begin
depInfo := TDependendyInfo.Create();
depInfo.FUsingType := AItem;
depInfo.FKind := dkProperty;
depInfo.FPropName := p.Name;
ADestList.Add(depInfo);
end;
end;
end;
end;
end;
var
i, c : PtrInt;
list : TList;
e : TPasType;
begin
list := ATree.CurrentModule.InterfaceSection.Types;
c := list.Count;
if ( c > 0 ) then begin
extName := ATree.GetExternalName(AType);
for i := 0 to Pred(c) do begin
depInfo := nil;
e := TPasType(list[i]);
if e.InheritsFrom(TPasAliasType) then begin
ScanAliasType(TPasAliasType(e));
end else if e.InheritsFrom(TPasAliasType) then begin
ScanArrayType(TPasArrayType(e));
end else if e.InheritsFrom(TPasClassType) then begin
ScanClassType(TPasClassType(e));
end else if e.InheritsFrom(TPasRecordType) then begin
ScanRecordType(TPasRecordType(e));
end;
end;
end;
end;
function AddChildNode(AParent: TTreeNode; const AText : string):TTreeNode ;
begin
Result := AParent.TreeNodes.AddChild(AParent,AText);
@ -78,6 +346,39 @@ begin
Result.SelectedIndex := -1;
end;
function SearchItem(
const AName : string;
AParentNode,
AStartFrom : TTreeNode;
const ADirection : TSearchDirection
) : TTreeNode;
var
e : TTreeNode;
ok : Boolean;
upperName : string;
begin
ok := False;
upperName := UpperCase(AName);
if ( AStartFrom <> nil ) then
e := AStartFrom
else
e := AParentNode.GetFirstChild();
while ( e <> nil ) do begin
if ( e.Data <> nil ) and ( Pos(upperName,UpperCase(TPasElement(e.Data).Name)) = 1 ) then begin
ok := True;
Break;
end;
if ( ADirection = sdForward ) then
e := e.GetNext()
else
e := e.GetPrev();
end;
if ok then
Result := e
else
Result := nil;
end;
{ TCursorHolder }
constructor TCursorHolder.Create(const ACursor: TCursor);
@ -379,7 +680,7 @@ function TPasNativeSimpleTypePainter.Paint(
): TTreeNode;
var
locObj : TPasNativeSimpleType;
boxeNode : TTreeNode;
//boxeNode : TTreeNode;
begin
locObj := TPasNativeSimpleType(AObj);
Result := inherited Paint(AContainer, locObj, AParent);