You've already forked lazarus-ccr
WSDL Type library Editor :
- class editing bug fix - Header block are now persisted in wsdl as a documentation git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@210 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -500,7 +500,8 @@ begin
|
||||
TPasAliasType(sym).DestType.InheritsFrom(TPasNativeSimpleType)
|
||||
)
|
||||
)
|
||||
)
|
||||
) and
|
||||
( not sym.InheritsFrom(TPasNativeSimpleContentClassType) )
|
||||
then begin
|
||||
if ( ALs.IndexOfObject(sym) = -1 ) then begin
|
||||
ALs.AddObject(AContainer.GetExternalName(sym),sym);
|
||||
@ -541,7 +542,7 @@ begin
|
||||
decList := mdl.InterfaceSection.Declarations;
|
||||
for j := 0 to Pred(decList.Count) do begin
|
||||
sym := TPasElement(decList[j]);
|
||||
if sym.InheritsFrom(TPasType) then begin
|
||||
if sym.InheritsFrom(TPasType) and ( not sym.InheritsFrom(TPasNativeSimpleContentClassType) ) then begin
|
||||
if ( ALs.IndexOfObject(sym) = -1 ) then begin
|
||||
ALs.AddObject(AContainer.GetExternalName(sym),sym);
|
||||
end;
|
||||
|
@ -7,7 +7,7 @@
|
||||
<MainUnit Value="0"/>
|
||||
<IconPath Value="./"/>
|
||||
<TargetFileExt Value=".exe"/>
|
||||
<ActiveEditorIndexAtStart Value="1"/>
|
||||
<ActiveEditorIndexAtStart Value="2"/>
|
||||
</General>
|
||||
<VersionInfo>
|
||||
<ProjectVersion Value=""/>
|
||||
@ -32,13 +32,13 @@
|
||||
<PackageName Value="LCL"/>
|
||||
</Item2>
|
||||
</RequiredPackages>
|
||||
<Units Count="69">
|
||||
<Units Count="70">
|
||||
<Unit0>
|
||||
<Filename Value="typ_lib_edtr.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<CursorPos X="24" Y="11"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="180"/>
|
||||
<UsageCount Value="186"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
<Filename Value="uwsttypelibraryedit.pas"/>
|
||||
@ -47,10 +47,10 @@
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="uwsttypelibraryedit.lrs"/>
|
||||
<UnitName Value="uwsttypelibraryedit"/>
|
||||
<CursorPos X="1" Y="15"/>
|
||||
<TopLine Value="1"/>
|
||||
<CursorPos X="24" Y="535"/>
|
||||
<TopLine Value="531"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="180"/>
|
||||
<UsageCount Value="186"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
@ -63,23 +63,25 @@
|
||||
<Unit3>
|
||||
<Filename Value="..\ws_helper\wsdl2pas_imp.pas"/>
|
||||
<UnitName Value="wsdl2pas_imp"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="73"/>
|
||||
<CursorPos X="8" Y="2027"/>
|
||||
<TopLine Value="2017"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<UsageCount Value="77"/>
|
||||
<Bookmarks Count="1">
|
||||
<Item0 X="65" Y="748" ID="2"/>
|
||||
<Item0 X="65" Y="750" ID="2"/>
|
||||
</Bookmarks>
|
||||
<Loaded Value="True"/>
|
||||
</Unit3>
|
||||
<Unit4>
|
||||
<Filename Value="wsdl_generator.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="wsdl_generator"/>
|
||||
<CursorPos X="2" Y="16"/>
|
||||
<TopLine Value="3"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="180"/>
|
||||
<CursorPos X="45" Y="707"/>
|
||||
<TopLine Value="684"/>
|
||||
<EditorIndex Value="9"/>
|
||||
<UsageCount Value="186"/>
|
||||
<Bookmarks Count="1">
|
||||
<Item0 X="49" Y="444" ID="1"/>
|
||||
<Item0 X="49" Y="446" ID="1"/>
|
||||
</Bookmarks>
|
||||
<Loaded Value="True"/>
|
||||
</Unit4>
|
||||
@ -92,7 +94,7 @@
|
||||
<UnitName Value="uabout"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="180"/>
|
||||
<UsageCount Value="186"/>
|
||||
</Unit5>
|
||||
<Unit6>
|
||||
<Filename Value="ufenumedit.pas"/>
|
||||
@ -103,15 +105,17 @@
|
||||
<UnitName Value="ufEnumedit"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="180"/>
|
||||
<UsageCount Value="186"/>
|
||||
</Unit6>
|
||||
<Unit7>
|
||||
<Filename Value="view_helper.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="view_helper"/>
|
||||
<CursorPos X="36" Y="14"/>
|
||||
<TopLine Value="22"/>
|
||||
<UsageCount Value="180"/>
|
||||
<CursorPos X="31" Y="535"/>
|
||||
<TopLine Value="532"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="186"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit7>
|
||||
<Unit8>
|
||||
<Filename Value="..\ws_helper\source_utils.pas"/>
|
||||
@ -119,15 +123,17 @@
|
||||
<UnitName Value="source_utils"/>
|
||||
<CursorPos X="18" Y="20"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="180"/>
|
||||
<UsageCount Value="186"/>
|
||||
</Unit8>
|
||||
<Unit9>
|
||||
<Filename Value="edit_helper.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="edit_helper"/>
|
||||
<CursorPos X="36" Y="68"/>
|
||||
<TopLine Value="49"/>
|
||||
<UsageCount Value="180"/>
|
||||
<CursorPos X="68" Y="504"/>
|
||||
<TopLine Value="483"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="186"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit9>
|
||||
<Unit10>
|
||||
<Filename Value="ufclassedit.pas"/>
|
||||
@ -136,9 +142,11 @@
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="ufclassedit.lrs"/>
|
||||
<UnitName Value="ufclassedit"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="180"/>
|
||||
<CursorPos X="52" Y="175"/>
|
||||
<TopLine Value="154"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="186"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit10>
|
||||
<Unit11>
|
||||
<Filename Value="ufpropedit.pas"/>
|
||||
@ -146,9 +154,11 @@
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="ufpropedit.lrs"/>
|
||||
<UnitName Value="ufpropedit"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="180"/>
|
||||
<CursorPos X="32" Y="149"/>
|
||||
<TopLine Value="140"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="186"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit11>
|
||||
<Unit12>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\lcl\comctrls.pp"/>
|
||||
@ -160,9 +170,11 @@
|
||||
<Unit13>
|
||||
<Filename Value="..\ws_helper\parserutils.pas"/>
|
||||
<UnitName Value="parserutils"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="61"/>
|
||||
<CursorPos X="1" Y="93"/>
|
||||
<TopLine Value="54"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="64"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit13>
|
||||
<Unit14>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\i386\i386.inc"/>
|
||||
@ -247,7 +259,7 @@
|
||||
<UnitName Value="uinterfaceedit"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="144"/>
|
||||
<UsageCount Value="150"/>
|
||||
</Unit26>
|
||||
<Unit27>
|
||||
<Filename Value="uinterfaceedit.lfm"/>
|
||||
@ -264,7 +276,7 @@
|
||||
<UnitName Value="udm"/>
|
||||
<CursorPos X="15" Y="2"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="139"/>
|
||||
<UsageCount Value="145"/>
|
||||
</Unit28>
|
||||
<Unit29>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\lcl\include\treeview.inc"/>
|
||||
@ -276,17 +288,19 @@
|
||||
<Filename Value="..\ws_helper\pascal_parser_intf.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="pascal_parser_intf"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="102"/>
|
||||
<CursorPos X="73" Y="148"/>
|
||||
<TopLine Value="156"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<UsageCount Value="108"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit30>
|
||||
<Unit31>
|
||||
<Filename Value="..\ws_helper\pparser.pp"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="PParser"/>
|
||||
<CursorPos X="25" Y="22"/>
|
||||
<TopLine Value="7"/>
|
||||
<UsageCount Value="102"/>
|
||||
<CursorPos X="4" Y="2133"/>
|
||||
<TopLine Value="2127"/>
|
||||
<UsageCount Value="108"/>
|
||||
</Unit31>
|
||||
<Unit32>
|
||||
<Filename Value="..\ws_helper\logger_intf.pas"/>
|
||||
@ -299,9 +313,9 @@
|
||||
<Filename Value="..\ws_helper\pastree.pp"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="PasTree"/>
|
||||
<CursorPos X="3" Y="75"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="102"/>
|
||||
<CursorPos X="33" Y="332"/>
|
||||
<TopLine Value="315"/>
|
||||
<UsageCount Value="108"/>
|
||||
</Unit33>
|
||||
<Unit34>
|
||||
<Filename Value="..\..\..\..\lazarus_23_215\lcl\include\treeview.inc"/>
|
||||
@ -331,9 +345,11 @@
|
||||
<Unit38>
|
||||
<Filename Value="..\ws_helper\generator.pas"/>
|
||||
<UnitName Value="generator"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="10"/>
|
||||
<UsageCount Value="24"/>
|
||||
<CursorPos X="2" Y="16"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<UsageCount Value="27"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit38>
|
||||
<Unit39>
|
||||
<Filename Value="..\wst_rtti_filter\dom_cursors.pas"/>
|
||||
@ -359,9 +375,9 @@
|
||||
<Unit42>
|
||||
<Filename Value="..\ws_helper\pscanner.pp"/>
|
||||
<UnitName Value="PScanner"/>
|
||||
<CursorPos X="19" Y="505"/>
|
||||
<TopLine Value="491"/>
|
||||
<UsageCount Value="8"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="322"/>
|
||||
<UsageCount Value="11"/>
|
||||
</Unit42>
|
||||
<Unit43>
|
||||
<Filename Value="..\ws_helper\metadata_generator.pas"/>
|
||||
@ -422,7 +438,7 @@
|
||||
<UnitName Value="uprocedit"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="58"/>
|
||||
<UsageCount Value="64"/>
|
||||
</Unit50>
|
||||
<Unit51>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\lcl\comctrls.pp"/>
|
||||
@ -437,7 +453,7 @@
|
||||
<UnitName Value="common_gui_utils"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="56"/>
|
||||
<UsageCount Value="62"/>
|
||||
</Unit52>
|
||||
<Unit53>
|
||||
<Filename Value="..\..\..\..\..\DOCUME~1\ADMINI~1\LOCALS~1\Temp\DestBug.pas"/>
|
||||
@ -454,7 +470,7 @@
|
||||
<UnitName Value="uargedit"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="49"/>
|
||||
<UsageCount Value="55"/>
|
||||
</Unit54>
|
||||
<Unit55>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\lcl\interfaces\win32\win32wscontrols.pp"/>
|
||||
@ -478,7 +494,7 @@
|
||||
<UnitName Value="umoduleedit"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="41"/>
|
||||
<UsageCount Value="47"/>
|
||||
</Unit57>
|
||||
<Unit58>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\lcl\stdctrls.pp"/>
|
||||
@ -495,7 +511,7 @@
|
||||
<UnitName Value="ubindingedit"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="31"/>
|
||||
<UsageCount Value="37"/>
|
||||
</Unit59>
|
||||
<Unit60>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\objpash.inc"/>
|
||||
@ -536,7 +552,7 @@
|
||||
<UnitName Value="ufrmsaveoption"/>
|
||||
<CursorPos X="42" Y="64"/>
|
||||
<TopLine Value="42"/>
|
||||
<UsageCount Value="27"/>
|
||||
<UsageCount Value="33"/>
|
||||
</Unit65>
|
||||
<Unit66>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\lcl\dialogs.pp"/>
|
||||
@ -559,32 +575,134 @@
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit68>
|
||||
<Unit69>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\lcl\include\control.inc"/>
|
||||
<CursorPos X="1" Y="2403"/>
|
||||
<TopLine Value="2390"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit69>
|
||||
</Units>
|
||||
<JumpHistory Count="6" HistoryIndex="5">
|
||||
<JumpHistory Count="30" HistoryIndex="29">
|
||||
<Position1>
|
||||
<Filename Value="uwsttypelibraryedit.pas"/>
|
||||
<Caret Line="13" Column="3" TopLine="1"/>
|
||||
<Filename Value="wsdl_generator.pas"/>
|
||||
<Caret Line="654" Column="34" TopLine="650"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="uwsttypelibraryedit.pas"/>
|
||||
<Caret Line="136" Column="52" TopLine="120"/>
|
||||
<Filename Value="wsdl_generator.pas"/>
|
||||
<Caret Line="694" Column="32" TopLine="675"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="uwsttypelibraryedit.pas"/>
|
||||
<Caret Line="135" Column="16" TopLine="112"/>
|
||||
<Filename Value="wsdl_generator.pas"/>
|
||||
<Caret Line="149" Column="42" TopLine="136"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="uwsttypelibraryedit.pas"/>
|
||||
<Caret Line="135" Column="16" TopLine="112"/>
|
||||
<Filename Value="wsdl_generator.pas"/>
|
||||
<Caret Line="695" Column="19" TopLine="677"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="uwsttypelibraryedit.pas"/>
|
||||
<Caret Line="23" Column="18" TopLine="1"/>
|
||||
<Filename Value="wsdl_generator.pas"/>
|
||||
<Caret Line="289" Column="20" TopLine="274"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="wsdl_generator.pas"/>
|
||||
<Caret Line="963" Column="5" TopLine="886"/>
|
||||
<Caret Line="693" Column="81" TopLine="651"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="wsdl_generator.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="wsdl_generator.pas"/>
|
||||
<Caret Line="154" Column="30" TopLine="139"/>
|
||||
</Position8>
|
||||
<Position9>
|
||||
<Filename Value="wsdl_generator.pas"/>
|
||||
<Caret Line="448" Column="23" TopLine="432"/>
|
||||
</Position9>
|
||||
<Position10>
|
||||
<Filename Value="wsdl_generator.pas"/>
|
||||
<Caret Line="289" Column="10" TopLine="274"/>
|
||||
</Position10>
|
||||
<Position11>
|
||||
<Filename Value="wsdl_generator.pas"/>
|
||||
<Caret Line="447" Column="40" TopLine="432"/>
|
||||
</Position11>
|
||||
<Position12>
|
||||
<Filename Value="wsdl_generator.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position12>
|
||||
<Position13>
|
||||
<Filename Value="wsdl_generator.pas"/>
|
||||
<Caret Line="155" Column="33" TopLine="140"/>
|
||||
</Position13>
|
||||
<Position14>
|
||||
<Filename Value="..\ws_helper\wsdl2pas_imp.pas"/>
|
||||
<Caret Line="2062" Column="14" TopLine="2033"/>
|
||||
</Position14>
|
||||
<Position15>
|
||||
<Filename Value="..\ws_helper\wsdl2pas_imp.pas"/>
|
||||
<Caret Line="73" Column="35" TopLine="65"/>
|
||||
</Position15>
|
||||
<Position16>
|
||||
<Filename Value="..\ws_helper\wsdl2pas_imp.pas"/>
|
||||
<Caret Line="2336" Column="16" TopLine="2329"/>
|
||||
</Position16>
|
||||
<Position17>
|
||||
<Filename Value="wsdl_generator.pas"/>
|
||||
<Caret Line="682" Column="3" TopLine="735"/>
|
||||
</Position17>
|
||||
<Position18>
|
||||
<Filename Value="wsdl_generator.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position18>
|
||||
<Position19>
|
||||
<Filename Value="..\ws_helper\wsdl2pas_imp.pas"/>
|
||||
<Caret Line="2100" Column="3" TopLine="2012"/>
|
||||
</Position19>
|
||||
<Position20>
|
||||
<Filename Value="..\ws_helper\wsdl2pas_imp.pas"/>
|
||||
<Caret Line="186" Column="55" TopLine="164"/>
|
||||
</Position20>
|
||||
<Position21>
|
||||
<Filename Value="..\ws_helper\wsdl2pas_imp.pas"/>
|
||||
<Caret Line="2044" Column="46" TopLine="2011"/>
|
||||
</Position21>
|
||||
<Position22>
|
||||
<Filename Value="..\ws_helper\wsdl2pas_imp.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position22>
|
||||
<Position23>
|
||||
<Filename Value="..\ws_helper\wsdl2pas_imp.pas"/>
|
||||
<Caret Line="181" Column="45" TopLine="164"/>
|
||||
</Position23>
|
||||
<Position24>
|
||||
<Filename Value="wsdl_generator.pas"/>
|
||||
<Caret Line="149" Column="44" TopLine="148"/>
|
||||
</Position24>
|
||||
<Position25>
|
||||
<Filename Value="wsdl_generator.pas"/>
|
||||
<Caret Line="155" Column="33" TopLine="133"/>
|
||||
</Position25>
|
||||
<Position26>
|
||||
<Filename Value="..\ws_helper\wsdl2pas_imp.pas"/>
|
||||
<Caret Line="2092" Column="80" TopLine="2062"/>
|
||||
</Position26>
|
||||
<Position27>
|
||||
<Filename Value="..\ws_helper\pascal_parser_intf.pas"/>
|
||||
<Caret Line="269" Column="16" TopLine="234"/>
|
||||
</Position27>
|
||||
<Position28>
|
||||
<Filename Value="edit_helper.pas"/>
|
||||
<Caret Line="564" Column="16" TopLine="553"/>
|
||||
</Position28>
|
||||
<Position29>
|
||||
<Filename Value="..\ws_helper\pascal_parser_intf.pas"/>
|
||||
<Caret Line="139" Column="35" TopLine="125"/>
|
||||
</Position29>
|
||||
<Position30>
|
||||
<Filename Value="..\ws_helper\pascal_parser_intf.pas"/>
|
||||
<Caret Line="145" Column="49" TopLine="130"/>
|
||||
</Position30>
|
||||
</JumpHistory>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
|
@ -1,3 +1,5 @@
|
||||
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
|
||||
|
||||
LazarusResources.Add('TfClassEdit','FORMDATA',[
|
||||
'TPF0'#11'TfClassEdit'#10'fClassEdit'#4'Left'#3#190#2#6'Height'#3'#'#2#3'Top'
|
||||
+#3#150#0#5'Width'#3#6#2#18'HorzScrollBar.Page'#3#5#2#18'VertScrollBar.Page'#3
|
||||
|
@ -164,14 +164,15 @@ begin
|
||||
sym := TPasElement(decList[j]);
|
||||
if sym.InheritsFrom(TPasType) and
|
||||
( sym.InheritsFrom(TPasClassType) or
|
||||
sym.InheritsFrom(TPasNativeSimpleType) or
|
||||
sym.InheritsFrom(TPasNativeSimpleContentClassType) or
|
||||
( sym.InheritsFrom(TPasAliasType) and
|
||||
Assigned(TPasAliasType(sym).DestType) and
|
||||
( TPasAliasType(sym).DestType.InheritsFrom(TPasClassType) or
|
||||
TPasAliasType(sym).DestType.InheritsFrom(TPasNativeSimpleType)
|
||||
)
|
||||
)
|
||||
)
|
||||
) and
|
||||
( not sym.InheritsFrom(TPasNativeSimpleType) )
|
||||
then begin
|
||||
if ( ALs.IndexOfObject(sym) = -1 ) then begin
|
||||
ALs.AddObject(AContainer.GetExternalName(sym),sym);
|
||||
@ -286,6 +287,7 @@ begin
|
||||
if ( FOldAncestor <> nil ) then
|
||||
FOldAncestor.Release();
|
||||
locObj.AncestorType := trueParent;
|
||||
locObj.AncestorType.AddRef();
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -301,6 +303,7 @@ begin
|
||||
FObject := AObject;
|
||||
if ( UpdateType = etCreate ) and ( FObject = nil ) then begin
|
||||
FObject := TPasClassType(FSymbolTable.CreateElement(TPasClassType,'new_class',FSymbolTable.CurrentModule.InterfaceSection,visDefault,'',0));
|
||||
FObject.ObjKind := okClass;
|
||||
FSymbolTable.CurrentModule.InterfaceSection.Declarations.Add(FObject);
|
||||
FSymbolTable.CurrentModule.InterfaceSection.Types.Add(FObject);
|
||||
FSymbolTable.CurrentModule.InterfaceSection.Classes.Add(FObject);
|
||||
|
@ -1,20 +1,20 @@
|
||||
object fPropEdit: TfPropEdit
|
||||
Left = 306
|
||||
Height = 272
|
||||
Height = 326
|
||||
Top = 266
|
||||
Width = 324
|
||||
HorzScrollBar.Page = 323
|
||||
VertScrollBar.Page = 271
|
||||
VertScrollBar.Page = 325
|
||||
ActiveControl = Button1
|
||||
BorderIcons = [biSystemMenu]
|
||||
BorderStyle = bsDialog
|
||||
Caption = 'fPropEdit'
|
||||
ClientHeight = 272
|
||||
ClientHeight = 326
|
||||
ClientWidth = 324
|
||||
Position = poDesktopCenter
|
||||
object Panel1: TPanel
|
||||
Height = 50
|
||||
Top = 222
|
||||
Top = 276
|
||||
Width = 324
|
||||
Align = alBottom
|
||||
ClientHeight = 50
|
||||
@ -45,7 +45,7 @@ object fPropEdit: TfPropEdit
|
||||
end
|
||||
end
|
||||
object PageControl1: TPageControl
|
||||
Height = 222
|
||||
Height = 276
|
||||
Width = 324
|
||||
ActivePage = TabSheet1
|
||||
Align = alClient
|
||||
@ -53,7 +53,7 @@ object fPropEdit: TfPropEdit
|
||||
TabOrder = 1
|
||||
object TabSheet1: TTabSheet
|
||||
Caption = 'Property'
|
||||
ClientHeight = 196
|
||||
ClientHeight = 250
|
||||
ClientWidth = 316
|
||||
object Label1: TLabel
|
||||
Left = 20
|
||||
@ -97,6 +97,15 @@ object fPropEdit: TfPropEdit
|
||||
Caption = 'Attribute Property'
|
||||
TabOrder = 2
|
||||
end
|
||||
object edtOptional: TCheckBox
|
||||
Left = 20
|
||||
Height = 13
|
||||
Top = 218
|
||||
Width = 100
|
||||
Caption = 'Optional property'
|
||||
Font.Style = [fsItalic]
|
||||
TabOrder = 3
|
||||
end
|
||||
end
|
||||
end
|
||||
object ActionList1: TActionList
|
||||
|
@ -1,12 +1,12 @@
|
||||
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
|
||||
|
||||
LazarusResources.Add('TfPropEdit','FORMDATA',[
|
||||
'TPF0'#10'TfPropEdit'#9'fPropEdit'#4'Left'#3'2'#1#6'Height'#3#16#1#3'Top'#3#10
|
||||
+#1#5'Width'#3'D'#1#18'HorzScrollBar.Page'#3'C'#1#18'VertScrollBar.Page'#3#15
|
||||
'TPF0'#10'TfPropEdit'#9'fPropEdit'#4'Left'#3'2'#1#6'Height'#3'F'#1#3'Top'#3#10
|
||||
+#1#5'Width'#3'D'#1#18'HorzScrollBar.Page'#3'C'#1#18'VertScrollBar.Page'#3'E'
|
||||
+#1#13'ActiveControl'#7#7'Button1'#11'BorderIcons'#11#12'biSystemMenu'#0#11'B'
|
||||
+'orderStyle'#7#8'bsDialog'#7'Caption'#6#9'fPropEdit'#12'ClientHeight'#3#16#1
|
||||
+'orderStyle'#7#8'bsDialog'#7'Caption'#6#9'fPropEdit'#12'ClientHeight'#3'F'#1
|
||||
+#11'ClientWidth'#3'D'#1#8'Position'#7#15'poDesktopCenter'#0#6'TPanel'#6'Pane'
|
||||
+'l1'#6'Height'#2'2'#3'Top'#3#222#0#5'Width'#3'D'#1#5'Align'#7#8'alBottom'#12
|
||||
+'l1'#6'Height'#2'2'#3'Top'#3#20#1#5'Width'#3'D'#1#5'Align'#7#8'alBottom'#12
|
||||
+'ClientHeight'#2'2'#11'ClientWidth'#3'D'#1#8'TabOrder'#2#0#0#7'TButton'#7'Bu'
|
||||
+'tton1'#4'Left'#3#236#0#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'#7'Anchors'
|
||||
+#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Ca'
|
||||
@ -14,9 +14,9 @@ LazarusResources.Add('TfPropEdit','FORMDATA',[
|
||||
+'ton2'#4'Left'#3#146#0#6'Height'#2#25#3'Top'#2#10#5'Width'#2'K'#6'Action'#7#5
|
||||
+'actOK'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4
|
||||
+#7'Default'#9#8'TabOrder'#2#1#0#0#0#12'TPageControl'#12'PageControl1'#6'Heig'
|
||||
+'ht'#3#222#0#5'Width'#3'D'#1#10'ActivePage'#7#9'TabSheet1'#5'Align'#7#8'alCl'
|
||||
+'ient'#8'TabIndex'#2#0#8'TabOrder'#2#1#0#9'TTabSheet'#9'TabSheet1'#7'Caption'
|
||||
+#6#8'Property'#12'ClientHeight'#3#196#0#11'ClientWidth'#3'<'#1#0#6'TLabel'#6
|
||||
+'ht'#3#20#1#5'Width'#3'D'#1#10'ActivePage'#7#9'TabSheet1'#5'Align'#7#8'alCli'
|
||||
+'ent'#8'TabIndex'#2#0#8'TabOrder'#2#1#0#9'TTabSheet'#9'TabSheet1'#7'Caption'
|
||||
+#6#8'Property'#12'ClientHeight'#3#250#0#11'ClientWidth'#3'<'#1#0#6'TLabel'#6
|
||||
+'Label1'#4'Left'#2#20#6'Height'#2#14#3'Top'#2#24#5'Width'#2#28#7'Caption'#6#4
|
||||
+'Name'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#20#6'Height'#2#14
|
||||
+#3'Top'#2'b'#5'Width'#2#25#7'Caption'#6#4'Type'#11'ParentColor'#8#0#0#5'TEdi'
|
||||
@ -26,7 +26,10 @@ LazarusResources.Add('TfPropEdit','FORMDATA',[
|
||||
+'actSearchAscending'#0#10'ItemHeight'#2#13#9'MaxLength'#2#0#5'Style'#7#14'cs'
|
||||
+'DropDownList'#8'TabOrder'#2#1#0#0#9'TCheckBox'#12'edtAttribute'#4'Left'#2#20
|
||||
+#6'Height'#2#13#3'Top'#3#170#0#5'Width'#2'e'#7'Caption'#6#18'Attribute Prope'
|
||||
+'rty'#8'TabOrder'#2#2#0#0#0#0#11'TActionList'#11'ActionList1'#4'left'#2'h'#3
|
||||
+'top'#2'h'#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#18'DisableIfNoHandler'#9
|
||||
+#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#0#0
|
||||
+'rty'#8'TabOrder'#2#2#0#0#9'TCheckBox'#11'edtOptional'#4'Left'#2#20#6'Height'
|
||||
+#2#13#3'Top'#3#218#0#5'Width'#2'd'#7'Caption'#6#17'Optional property'#10'Fon'
|
||||
+'t.Style'#11#8'fsItalic'#0#8'TabOrder'#2#3#0#0#0#0#11'TActionList'#11'Action'
|
||||
+'List1'#4'left'#2'h'#3'top'#2'h'#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#18
|
||||
+'DisableIfNoHandler'#9#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actO'
|
||||
+'KUpdate'#0#0#0#0
|
||||
]);
|
||||
|
@ -32,6 +32,7 @@ type
|
||||
Button1: TButton;
|
||||
Button2: TButton;
|
||||
Button4: TButton;
|
||||
edtOptional : TCheckBox;
|
||||
edtAttribute: TCheckBox;
|
||||
edtType: TComboBox;
|
||||
edtName: TEdit;
|
||||
@ -130,6 +131,7 @@ begin
|
||||
edtName.Text := FSymbolTable.GetExternalName(FObject);
|
||||
edtType.ItemIndex := edtType.Items.IndexOfObject(FObject.VarType);
|
||||
edtAttribute.Checked := FSymbolTable.IsAttributeProperty(FObject);
|
||||
edtOptional.Checked := AnsiSameText('Has',Copy(FObject.StoredAccessorName,1,3)) ;
|
||||
end else begin
|
||||
Self.Caption := 'New';
|
||||
end;
|
||||
@ -151,6 +153,7 @@ begin
|
||||
FObject := locObj;
|
||||
locObj.VarType := propType;
|
||||
locObj.VarType.AddRef();
|
||||
ClassObject.Members.Add(FObject);
|
||||
end else begin
|
||||
locObj := FObject;
|
||||
if ( propType <> locObj.VarType ) then begin
|
||||
@ -161,6 +164,12 @@ begin
|
||||
end;
|
||||
locObj.Name := typIntName;
|
||||
end;
|
||||
if edtOptional.Checked then
|
||||
locObj.StoredAccessorName := 'Has' + locObj.Name
|
||||
else
|
||||
locObj.StoredAccessorName := 'True';
|
||||
locObj.ReadAccessorName := 'F' + locObj.Name;
|
||||
locObj.WriteAccessorName := 'F' + locObj.Name;
|
||||
FSymbolTable.RegisterExternalAlias(locObj,typExtName);
|
||||
//if ( edtAttribute.Checked <> FSymbolTable.IsAttributeProperty(locObj) ) then
|
||||
FSymbolTable.SetPropertyAsAttribute(locObj,edtAttribute.Checked);
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,303 +0,0 @@
|
||||
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
|
||||
|
||||
LazarusResources.Add('TfMain','FORMDATA',[
|
||||
'TPF0'#6'TfMain'#5'fMain'#4'Left'#2'r'#6'Height'#3#132#2#3'Top'#3#209#0#5'Wid'
|
||||
+'th'#3'A'#3#18'HorzScrollBar.Page'#3'@'#3#18'VertScrollBar.Page'#3'o'#2#13'A'
|
||||
+'ctiveControl'#7#9'trvSchema'#7'Caption'#6'+[Web Services Toolkit ] Type Lib'
|
||||
+'rary Editor'#12'ClientHeight'#3'p'#2#11'ClientWidth'#3'A'#3#4'Menu'#7#9'Mai'
|
||||
+'nMenu1'#6'OnShow'#7#8'FormShow'#8'Position'#7#15'poDesktopCenter'#0#10'TSta'
|
||||
+'tusBar'#2'SB'#6'Height'#2#23#3'Top'#3'Y'#2#5'Width'#3'A'#3#6'Panels'#14#1#5
|
||||
+'Width'#3#200#0#0#1#5'Width'#2'2'#0#0#11'SimplePanel'#8#0#0#6'TPanel'#6'Pane'
|
||||
+'l1'#6'Height'#3'Y'#2#5'Width'#3':'#1#5'Align'#7#6'alLeft'#12'ClientHeight'#3
|
||||
+'Y'#2#11'ClientWidth'#3':'#1#8'TabOrder'#2#0#0#9'TTreeView'#9'trvSchema'#4'L'
|
||||
+'eft'#2#1#6'Height'#3'W'#2#3'Top'#2#1#5'Width'#3'8'#1#5'Align'#7#8'alClient'
|
||||
+#17'DefaultItemHeight'#2#15#9'PopupMenu'#7#10'PopupMenu1'#8'TabOrder'#2#0#0#0
|
||||
+#0#6'TPanel'#6'Panel2'#4'Left'#3'B'#1#6'Height'#3'Y'#2#5'Width'#3#255#1#5'Al'
|
||||
+'ign'#7#8'alClient'#12'ClientHeight'#3'Y'#2#11'ClientWidth'#3#255#1#8'TabOrd'
|
||||
+'er'#2#1#0#12'TPageControl'#2'PC'#4'Left'#2#1#6'Height'#3'W'#2#3'Top'#2#1#5
|
||||
+'Width'#3#253#1#10'ActivePage'#7#11'tsInterface'#5'Align'#7#8'alClient'#8'Ta'
|
||||
+'bIndex'#2#0#8'TabOrder'#2#0#0#9'TTabSheet'#11'tsInterface'#7'Caption'#6#10
|
||||
+'&Interface'#12'ClientHeight'#3'='#2#11'ClientWidth'#3#245#1#0#8'TSynEdit'#12
|
||||
+'srcInterface'#6'Height'#3'='#2#5'Width'#3#245#1#5'Align'#7#8'alClient'#12'F'
|
||||
+'ont.CharSet'#7#12'ANSI_CHARSET'#10'Font.Color'#7#7'clBlack'#11'Font.Height'
|
||||
+#2#236#9'Font.Name'#6#7'Courier'#10'Font.Pitch'#7#7'fpFixed'#11'ParentColor'
|
||||
+#8#9'PopupMenu'#7#10'PopupMenu2'#8'TabOrder'#2#0#23'BookMarkOptions.Xoffset'
|
||||
+#2'Q'#17'Gutter.DigitCount'#2#5#22'Gutter.ShowLineNumbers'#9#22'Gutter.ShowC'
|
||||
+'odeFolding'#9#23'Gutter.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'SynPasS'
|
||||
+'yn1'#10'Keystrokes'#14#1#7'Command'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'
|
||||
+#8'ShortCut'#3'& '#0#1#7'Command'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2
|
||||
+#4#8'ShortCut'#2'('#0#1#7'Command'#2'h'#8'ShortCut'#3'( '#0#1#7'Command'#3
|
||||
+#212#0#8'ShortCut'#3'(@'#0#1#7'Command'#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2
|
||||
+'e'#8'ShortCut'#3'% '#0#1#7'Command'#2#5#8'ShortCut'#3'%@'#0#1#7'Command'#2
|
||||
+'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2#8'ShortCut'#2''''#0#1#7'Command'#2
|
||||
+'f'#8'ShortCut'#3''' '#0#1#7'Command'#2#6#8'ShortCut'#3'''@'#0#1#7'Command'#2
|
||||
+'j'#8'ShortCut'#3'''`'#0#1#7'Command'#2#10#8'ShortCut'#2'"'#0#1#7'Command'#2
|
||||
+'n'#8'ShortCut'#3'" '#0#1#7'Command'#2#14#8'ShortCut'#3'"@'#0#1#7'Command'#2
|
||||
+'r'#8'ShortCut'#3'"`'#0#1#7'Command'#2#9#8'ShortCut'#2'!'#0#1#7'Command'#2'm'
|
||||
+#8'ShortCut'#3'! '#0#1#7'Command'#2#13#8'ShortCut'#3'!@'#0#1#7'Command'#2'q'
|
||||
+#8'ShortCut'#3'!`'#0#1#7'Command'#2#7#8'ShortCut'#2'$'#0#1#7'Command'#2'k'#8
|
||||
+'ShortCut'#3'$ '#0#1#7'Command'#2#15#8'ShortCut'#3'$@'#0#1#7'Command'#2's'#8
|
||||
+'ShortCut'#3'$`'#0#1#7'Command'#2#8#8'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'S'
|
||||
+'hortCut'#3'# '#0#1#7'Command'#2#16#8'ShortCut'#3'#@'#0#1#7'Command'#2't'#8
|
||||
+'ShortCut'#3'#`'#0#1#7'Command'#3#223#0#8'ShortCut'#2'-'#0#1#7'Command'#3#201
|
||||
+#0#8'ShortCut'#3'-@'#0#1#7'Command'#3'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3
|
||||
+#246#1#8'ShortCut'#2'.'#0#1#7'Command'#3'['#2#8'ShortCut'#3'. '#0#1#7'Comman'
|
||||
+'d'#3#245#1#8'ShortCut'#2#8#0#1#7'Command'#3#245#1#8'ShortCut'#3#8' '#0#1#7
|
||||
+'Command'#3#248#1#8'ShortCut'#3#8'@'#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8
|
||||
+#128#0#0#0#1#7'Command'#3'Z'#2#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#3#253#1
|
||||
+#8'ShortCut'#2#13#0#1#7'Command'#3#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3
|
||||
+#201#0#8'ShortCut'#3'C@'#0#1#7'Command'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Comma'
|
||||
+'nd'#3#253#1#8'ShortCut'#3'M@'#0#1#7'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7
|
||||
+'Command'#3#247#1#8'ShortCut'#3'T@'#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0
|
||||
+#1#7'Command'#3'\'#2#8'ShortCut'#3'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X'
|
||||
+'@'#0#1#7'Command'#3#251#1#8'ShortCut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortC'
|
||||
+'ut'#3'Y`'#0#1#7'Command'#3'Y'#2#8'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'S'
|
||||
+'hortCut'#3'Z`'#0#1#7'Command'#3'-'#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1
|
||||
+#8'ShortCut'#3'1@'#0#1#7'Command'#3'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3
|
||||
+'0'#1#8'ShortCut'#3'3@'#0#1#7'Command'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Comman'
|
||||
+'d'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'Command'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'C'
|
||||
+'ommand'#3'4'#1#8'ShortCut'#3'7@'#0#1#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1
|
||||
+#7'Command'#3'6'#1#8'ShortCut'#3'9@'#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'
|
||||
+#0#1#7'Command'#3'`'#1#8'ShortCut'#3'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3
|
||||
+'2`'#0#1#7'Command'#3'b'#1#8'ShortCut'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCu'
|
||||
+'t'#3'4`'#0#1#7'Command'#3'd'#1#8'ShortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'Sh'
|
||||
+'ortCut'#3'6`'#0#1#7'Command'#3'f'#1#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1
|
||||
+#8'ShortCut'#3'8`'#0#1#7'Command'#3'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3
|
||||
+#231#0#8'ShortCut'#3'N`'#0#1#7'Command'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Comm'
|
||||
+'and'#3#233#0#8'ShortCut'#3'L`'#0#1#7'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7
|
||||
,'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1#7'Command'#3#250#0#8'ShortCut'#3'B`'
|
||||
+#0#0#8'ReadOnly'#9#0#0#0#9'TTabSheet'#7'tsProxy'#7'Caption'#6#6'&Proxy'#12'C'
|
||||
+'lientHeight'#3'='#2#11'ClientWidth'#3#245#1#0#8'TSynEdit'#8'srcProxy'#6'Hei'
|
||||
+'ght'#3'='#2#5'Width'#3#245#1#5'Align'#7#8'alClient'#12'Font.CharSet'#7#12'A'
|
||||
+'NSI_CHARSET'#10'Font.Color'#7#7'clBlack'#11'Font.Height'#2#236#9'Font.Name'
|
||||
+#6#7'Courier'#10'Font.Pitch'#7#7'fpFixed'#11'ParentColor'#8#9'PopupMenu'#7#10
|
||||
+'PopupMenu2'#8'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'Q'#24'BookMarkOpt'
|
||||
+'ions.OnChange'#13#17'Gutter.DigitCount'#2#5#22'Gutter.ShowLineNumbers'#9#22
|
||||
+'Gutter.ShowCodeFolding'#9#15'Gutter.OnChange'#13#23'Gutter.CodeFoldingWidth'
|
||||
+#2#14#11'Highlighter'#7#10'SynPasSyn1'#10'Keystrokes'#14#1#7'Command'#2#3#8
|
||||
+'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Command'#3#211#0
|
||||
+#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Command'#2'h'#8
|
||||
+'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1#7'Command'#2#1
|
||||
+#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7'Command'#2#5#8
|
||||
+'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2#8
|
||||
+'ShortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7'Command'#2#6#8
|
||||
+'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7'Command'#2#10
|
||||
+#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7'Command'#2#14#8
|
||||
+'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7'Command'#2#9#8
|
||||
+'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'Command'#2#13#8
|
||||
+'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7'Command'#2#7#8
|
||||
+'ShortCut'#2'$'#0#1#7'Command'#2'k'#8'ShortCut'#3'$ '#0#1#7'Command'#2#15#8
|
||||
+'ShortCut'#3'$@'#0#1#7'Command'#2's'#8'ShortCut'#3'$`'#0#1#7'Command'#2#8#8
|
||||
+'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'ShortCut'#3'# '#0#1#7'Command'#2#16#8
|
||||
+'ShortCut'#3'#@'#0#1#7'Command'#2't'#8'ShortCut'#3'#`'#0#1#7'Command'#3#223#0
|
||||
+#8'ShortCut'#2'-'#0#1#7'Command'#3#201#0#8'ShortCut'#3'-@'#0#1#7'Command'#3
|
||||
+'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2'.'#0#1#7'Comman'
|
||||
+'d'#3'['#2#8'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCut'#2#8#0#1#7'Co'
|
||||
+'mmand'#3#245#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'ShortCut'#3#8'@'
|
||||
+#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command'#3'Z'#2#8'Short'
|
||||
+'Cut'#4#8#160#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7'Command'#3
|
||||
+#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@'#0#1#7'Comm'
|
||||
+'and'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3'M@'#0#1#7
|
||||
+'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3#247#1#8'ShortCut'#3'T@'
|
||||
+#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8'ShortCut'#3
|
||||
+'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251#1#8'ShortC'
|
||||
+'ut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'#3'Y'#2#8
|
||||
+'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Command'#3'-'
|
||||
+#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7'Command'#3
|
||||
+'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0#1#7'Comman'
|
||||
+'d'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'C'
|
||||
+'ommand'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'#3'7@'#0#1
|
||||
+#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1#7'Command'#3'6'#1#8'ShortCut'#3'9@'
|
||||
+#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8'ShortCut'#3
|
||||
+'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'#1#8'ShortCu'
|
||||
+'t'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3'd'#1#8'Sh'
|
||||
+'ortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Command'#3'f'#1
|
||||
+#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'Command'#3
|
||||
+'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3#231#0#8'ShortCut'#3'N`'#0#1#7'Comma'
|
||||
+'nd'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3'L`'#0#1#7
|
||||
+'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1
|
||||
+#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#8'ReadOnly'#9#22'SelectedColor.OnC'
|
||||
+'hange'#13#0#0#0#9'TTabSheet'#5'tsImp'#7'Caption'#6#24'Im&plementation Skele'
|
||||
+'ton'#12'ClientHeight'#3'='#2#11'ClientWidth'#3#245#1#0#8'TSynEdit'#6'srcImp'
|
||||
+#6'Height'#3'='#2#5'Width'#3#245#1#5'Align'#7#8'alClient'#12'Font.CharSet'#7
|
||||
+#12'ANSI_CHARSET'#10'Font.Color'#7#7'clBlack'#11'Font.Height'#2#236#9'Font.N'
|
||||
+'ame'#6#7'Courier'#10'Font.Pitch'#7#7'fpFixed'#11'ParentColor'#8#9'PopupMenu'
|
||||
+#7#10'PopupMenu2'#8'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'Q'#24'BookMa'
|
||||
+'rkOptions.OnChange'#13#17'Gutter.DigitCount'#2#5#22'Gutter.ShowLineNumbers'
|
||||
+#9#22'Gutter.ShowCodeFolding'#9#15'Gutter.OnChange'#13#23'Gutter.CodeFolding'
|
||||
+'Width'#2#14#11'Highlighter'#7#10'SynPasSyn1'#10'Keystrokes'#14#1#7'Command'
|
||||
+#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Command'#3
|
||||
+#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Command'#2
|
||||
+'h'#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1#7'Command'
|
||||
,#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7'Command'#2
|
||||
+#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2
|
||||
+#8'ShortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7'Command'#2#6
|
||||
+#8'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7'Command'#2
|
||||
+#10#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7'Command'#2
|
||||
+#14#8'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7'Command'#2
|
||||
+#9#8'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'Command'#2#13
|
||||
+#8'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7'Command'#2#7#8
|
||||
+'ShortCut'#2'$'#0#1#7'Command'#2'k'#8'ShortCut'#3'$ '#0#1#7'Command'#2#15#8
|
||||
+'ShortCut'#3'$@'#0#1#7'Command'#2's'#8'ShortCut'#3'$`'#0#1#7'Command'#2#8#8
|
||||
+'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'ShortCut'#3'# '#0#1#7'Command'#2#16#8
|
||||
+'ShortCut'#3'#@'#0#1#7'Command'#2't'#8'ShortCut'#3'#`'#0#1#7'Command'#3#223#0
|
||||
+#8'ShortCut'#2'-'#0#1#7'Command'#3#201#0#8'ShortCut'#3'-@'#0#1#7'Command'#3
|
||||
+'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2'.'#0#1#7'Comman'
|
||||
+'d'#3'['#2#8'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCut'#2#8#0#1#7'Co'
|
||||
+'mmand'#3#245#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'ShortCut'#3#8'@'
|
||||
+#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command'#3'Z'#2#8'Short'
|
||||
+'Cut'#4#8#160#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7'Command'#3
|
||||
+#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@'#0#1#7'Comm'
|
||||
+'and'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3'M@'#0#1#7
|
||||
+'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3#247#1#8'ShortCut'#3'T@'
|
||||
+#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8'ShortCut'#3
|
||||
+'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251#1#8'ShortC'
|
||||
+'ut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'#3'Y'#2#8
|
||||
+'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Command'#3'-'
|
||||
+#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7'Command'#3
|
||||
+'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0#1#7'Comman'
|
||||
+'d'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'C'
|
||||
+'ommand'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'#3'7@'#0#1
|
||||
+#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1#7'Command'#3'6'#1#8'ShortCut'#3'9@'
|
||||
+#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8'ShortCut'#3
|
||||
+'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'#1#8'ShortCu'
|
||||
+'t'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3'd'#1#8'Sh'
|
||||
+'ortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Command'#3'f'#1
|
||||
+#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'Command'#3
|
||||
+'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3#231#0#8'ShortCut'#3'N`'#0#1#7'Comma'
|
||||
+'nd'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3'L`'#0#1#7
|
||||
+'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1
|
||||
+#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#8'ReadOnly'#9#22'SelectedColor.OnC'
|
||||
+'hange'#13#0#0#0#9'TTabSheet'#8'tsBinder'#7'Caption'#6#7'&Binder'#12'ClientH'
|
||||
+'eight'#3'='#2#11'ClientWidth'#3#245#1#0#8'TSynEdit'#9'srcBinder'#6'Height'#3
|
||||
+'='#2#5'Width'#3#245#1#5'Align'#7#8'alClient'#12'Font.CharSet'#7#12'ANSI_CHA'
|
||||
+'RSET'#10'Font.Color'#7#7'clBlack'#11'Font.Height'#2#236#9'Font.Name'#6#7'Co'
|
||||
+'urier'#10'Font.Pitch'#7#7'fpFixed'#11'ParentColor'#8#9'PopupMenu'#7#10'Popu'
|
||||
+'pMenu2'#8'TabOrder'#2#0#23'BookMarkOptions.Xoffset'#2'Q'#24'BookMarkOptions'
|
||||
+'.OnChange'#13#15'Gutter.AutoSize'#9#17'Gutter.DigitCount'#2#5#22'Gutter.Sho'
|
||||
+'wLineNumbers'#9#22'Gutter.ShowCodeFolding'#9#15'Gutter.OnChange'#13#23'Gutt'
|
||||
+'er.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'SynPasSyn1'#10'Keystrokes'#14
|
||||
+#1#7'Command'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1
|
||||
+#7'Command'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1
|
||||
+#7'Command'#2'h'#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0
|
||||
+#1#7'Command'#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1
|
||||
+#7'Command'#2#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7
|
||||
+'Command'#2#2#8'ShortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7
|
||||
+'Command'#2#6#8'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7
|
||||
+'Command'#2#10#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7
|
||||
+'Command'#2#14#8'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7
|
||||
+'Command'#2#9#8'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'C'
|
||||
+'ommand'#2#13#8'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7
|
||||
+'Command'#2#7#8'ShortCut'#2'$'#0#1#7'Command'#2'k'#8'ShortCut'#3'$ '#0#1#7'C'
|
||||
+'ommand'#2#15#8'ShortCut'#3'$@'#0#1#7'Command'#2's'#8'ShortCut'#3'$`'#0#1#7
|
||||
+'Command'#2#8#8'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'ShortCut'#3'# '#0#1#7'C'
|
||||
+'ommand'#2#16#8'ShortCut'#3'#@'#0#1#7'Command'#2't'#8'ShortCut'#3'#`'#0#1#7
|
||||
+'Command'#3#223#0#8'ShortCut'#2'-'#0#1#7'Command'#3#201#0#8'ShortCut'#3'-@'#0
|
||||
,#1#7'Command'#3'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2
|
||||
+'.'#0#1#7'Command'#3'['#2#8'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCu'
|
||||
+'t'#2#8#0#1#7'Command'#3#245#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'S'
|
||||
+'hortCut'#3#8'@'#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command'
|
||||
+#3'Z'#2#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7
|
||||
+'Command'#3#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@'
|
||||
+#0#1#7'Command'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3
|
||||
+'M@'#0#1#7'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3#247#1#8'Short'
|
||||
+'Cut'#3'T@'#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8
|
||||
+'ShortCut'#3'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251
|
||||
+#1#8'ShortCut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'
|
||||
+#3'Y'#2#8'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Comm'
|
||||
+'and'#3'-'#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7
|
||||
+'Command'#3'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0
|
||||
+#1#7'Command'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5'
|
||||
+'@'#0#1#7'Command'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'
|
||||
+#3'7@'#0#1#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1#7'Command'#3'6'#1#8'Short'
|
||||
+'Cut'#3'9@'#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8
|
||||
+'ShortCut'#3'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'
|
||||
+#1#8'ShortCut'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3
|
||||
+'d'#1#8'ShortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Comman'
|
||||
+'d'#3'f'#1#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'C'
|
||||
+'ommand'#3'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3#231#0#8'ShortCut'#3'N`'#0
|
||||
+#1#7'Command'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3
|
||||
+'L`'#0#1#7'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'
|
||||
+#3#9' '#0#1#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#8'ReadOnly'#9#22'Select'
|
||||
+'edColor.OnChange'#13#0#0#0#9'TTabSheet'#5'tsLog'#7'Caption'#6#4'&Log'#12'Cl'
|
||||
+'ientHeight'#3'='#2#11'ClientWidth'#3#245#1#0#5'TMemo'#6'mmoLog'#6'Height'#3
|
||||
+'='#2#5'Width'#3#245#1#5'Align'#7#8'alClient'#13'Lines.Strings'#1#6#0#0#10'S'
|
||||
+'crollBars'#7#6'ssBoth'#8'TabOrder'#2#0#0#0#0#0#0#9'TSplitter'#9'Splitter1'#4
|
||||
+'Left'#3':'#1#6'Height'#3'Y'#2#5'Width'#2#8#5'Color'#7#7'clBlack'#11'ParentC'
|
||||
+'olor'#8#0#0#9'TMainMenu'#9'MainMenu1'#4'left'#3'`'#1#3'top'#2'p'#0#9'TMenuI'
|
||||
+'tem'#9'MenuItem1'#7'Caption'#6#6'&Files'#0#9'TMenuItem'#10'MenuItem16'#6'Ac'
|
||||
+'tion'#7#10'actNewFile'#7'OnClick'#7#17'actNewFileExecute'#0#0#9'TMenuItem'#9
|
||||
+'MenuItem2'#7'Caption'#6#1'-'#7'OnClick'#7#18'actOpenFileExecute'#0#0#9'TMen'
|
||||
+'uItem'#9'MenuItem5'#6'Action'#7#11'actOpenFile'#7'OnClick'#7#18'actOpenFile'
|
||||
+'Execute'#0#0#9'TMenuItem'#9'MenuItem3'#6'Action'#7#9'actExport'#7'OnClick'#7
|
||||
+#16'actExportExecute'#0#0#9'TMenuItem'#9'MenuItem7'#6'Action'#7#9'actSaveAs'
|
||||
+#7'OnClick'#7#16'actSaveAsExecute'#0#0#9'TMenuItem'#10'MenuItem17'#7'Caption'
|
||||
+#6#1'-'#0#0#9'TMenuItem'#9'MenuItem4'#6'Action'#7#7'actExit'#7'OnClick'#7#14
|
||||
+'actExitExecute'#0#0#0#9'TMenuItem'#10'MenuItem14'#7'Caption'#6#5'&View'#0#9
|
||||
+'TMenuItem'#10'MenuItem15'#6'Action'#7#14'actRefreshView'#7'OnClick'#7#21'ac'
|
||||
+'tRefreshViewExecute'#0#0#9'TMenuItem'#10'MenuItem29'#7'Caption'#6#1'-'#0#0#9
|
||||
+'TMenuItem'#10'MenuItem30'#6'Action'#7#13'actFullExpand'#7'OnClick'#7#20'act'
|
||||
+'FullExpandExecute'#0#0#9'TMenuItem'#10'MenuItem31'#6'Action'#7#15'actFullCo'
|
||||
+'llapse'#7'OnClick'#7#22'actFullCollapseExecute'#0#0#0#9'TMenuItem'#10'MenuI'
|
||||
+'tem10'#7'Caption'#6#8'&Edition'#0#9'TMenuItem'#10'MenuItem11'#6'Action'#7#13
|
||||
+'actEnumCreate'#7'OnClick'#7#20'actEnumCreateExecute'#0#0#9'TMenuItem'#10'Me'
|
||||
+'nuItem23'#6'Action'#7#17'actCompoundCreate'#7'OnClick'#7#24'actCompoundCrea'
|
||||
+'teExecute'#0#0#9'TMenuItem'#10'MenuItem25'#6'Action'#7#13'actIntfCreate'#7
|
||||
+'OnClick'#7#20'actIntfCreateExecute'#0#0#9'TMenuItem'#10'MenuItem12'#7'Capti'
|
||||
+'on'#6#1'-'#0#0#9'TMenuItem'#10'MenuItem13'#6'Action'#7#15'actUpdateObject'#7
|
||||
+'Caption'#6#13'Update Object'#7'OnClick'#7#22'actUpdateObjectExecute'#0#0#0#9
|
||||
+'TMenuItem'#9'MenuItem6'#6'Action'#7#8'actAbout'#7'Caption'#6#6'&About'#7'On'
|
||||
+'Click'#7#15'actAboutExecute'#0#0#0#11'TActionList'#2'AL'#4'left'#3'X'#1#3't'
|
||||
+'op'#2'8'#0#7'TAction'#11'actOpenFile'#7'Caption'#6#9'Open File'#18'DisableI'
|
||||
+'fNoHandler'#9#9'OnExecute'#7#18'actOpenFileExecute'#0#0#7'TAction'#7'actExi'
|
||||
+'t'#7'Caption'#6#4'Exit'#18'DisableIfNoHandler'#9#9'OnExecute'#7#14'actExitE'
|
||||
+'xecute'#0#0#7'TAction'#9'actExport'#7'Caption'#6#24'Save generated files ..'
|
||||
+'.'#18'DisableIfNoHandler'#9#9'OnExecute'#7#16'actExportExecute'#8'OnUpdate'
|
||||
+#7#15'actExportUpdate'#0#0#7'TAction'#8'actAbout'#7'Caption'#6#5'About'#18'D'
|
||||
+'isableIfNoHandler'#9#9'OnExecute'#7#15'actAboutExecute'#0#0#7'TAction'#9'ac'
|
||||
+'tSaveAs'#7'Caption'#6#11'Save As ...'#18'DisableIfNoHandler'#9#9'OnExecute'
|
||||
+#7#16'actSaveAsExecute'#8'OnUpdate'#7#15'actExportUpdate'#0#0#7'TAction'#13
|
||||
,'actEnumCreate'#7'Caption'#6#18'Create Enumeration'#18'DisableIfNoHandler'#9
|
||||
+#9'OnExecute'#7#20'actEnumCreateExecute'#0#0#7'TAction'#15'actUpdateObject'#7
|
||||
+'Caption'#6#6'Update'#18'DisableIfNoHandler'#9#9'OnExecute'#7#22'actUpdateOb'
|
||||
+'jectExecute'#8'OnUpdate'#7#21'actUpdateObjectUpdate'#0#0#7'TAction'#14'actR'
|
||||
+'efreshView'#7'Caption'#6#14'&Refresh Views'#18'DisableIfNoHandler'#9#9'OnEx'
|
||||
+'ecute'#7#21'actRefreshViewExecute'#0#0#7'TAction'#10'actNewFile'#7'Caption'
|
||||
+#6#8'New File'#18'DisableIfNoHandler'#9#9'OnExecute'#7#17'actNewFileExecute'
|
||||
+#0#0#7'TAction'#17'actCompoundCreate'#7'Caption'#6#20'Create Compound Type'
|
||||
+#18'DisableIfNoHandler'#9#9'OnExecute'#7#24'actCompoundCreateExecute'#0#0#7
|
||||
+'TAction'#13'actIntfCreate'#7'Caption'#6#16'Create Interface'#18'DisableIfNo'
|
||||
+'Handler'#9#9'OnExecute'#7#20'actIntfCreateExecute'#0#0#7'TAction'#13'actFul'
|
||||
+'lExpand'#7'Caption'#6#11'Full expand'#18'DisableIfNoHandler'#9#9'OnExecute'
|
||||
+#7#20'actFullExpandExecute'#0#0#7'TAction'#15'actFullCollapse'#7'Caption'#6
|
||||
+#13'Full Collapse'#18'DisableIfNoHandler'#9#9'OnExecute'#7#22'actFullCollaps'
|
||||
+'eExecute'#0#0#0#11'TOpenDialog'#2'OD'#5'Title'#6#26'Ouvrir un fichier exist'
|
||||
+'ant'#6'Filter'#6#25'WDSL files(*.WSDL)|*.WSDL'#11'FilterIndex'#2#0#10'Initi'
|
||||
+'alDir'#6#2'.\'#7'Options'#11#15'ofPathMustExist'#15'ofFileMustExist'#14'ofE'
|
||||
+'nableSizing'#12'ofViewDetail'#0#4'left'#3#153#1#3'top'#2'X'#0#0#10'TSynPasS'
|
||||
+'yn'#10'SynPasSyn1'#7'Enabled'#8#23'CommentAttri.Foreground'#7#6'clBlue'#18
|
||||
+'CommentAttri.Style'#11#6'fsBold'#0#22'StringAttri.Foreground'#7#8'clMaroon'
|
||||
+#17'SymbolAttri.Style'#11#6'fsBold'#0#25'DirectiveAttri.Foreground'#7#7'clGr'
|
||||
+'een'#20'DirectiveAttri.Style'#11#6'fsBold'#0#14'NestedComments'#9#4'left'#3
|
||||
+#183#1#3'top'#2'h'#0#0#22'TSelectDirectoryDialog'#3'SDD'#5'Title'#6#16'Selec'
|
||||
+'t Directory'#11'FilterIndex'#2#0#7'Options'#11#15'ofPathMustExist'#14'ofEna'
|
||||
+'bleSizing'#12'ofViewDetail'#0#4'left'#3#176#1#3'top'#3#152#0#0#0#11'TSaveDi'
|
||||
+'alog'#2'SD'#5'Title'#6#27'Enregistrer le fichier sous'#10'DefaultExt'#6#5'.'
|
||||
+'WSDL'#6'Filter'#6#25'WDSL files(*.WSDL)|*.WSDL'#11'FilterIndex'#2#0#7'Optio'
|
||||
+'ns'#11#15'ofPathMustExist'#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3
|
||||
+#242#1#3'top'#3#174#0#0#0#10'TPopupMenu'#10'PopupMenu1'#4'left'#3#128#1#3'to'
|
||||
+'p'#3#8#1#0#9'TMenuItem'#10'MenuItem28'#6'Action'#7#13'actFullExpand'#7'OnCl'
|
||||
+'ick'#7#20'actFullExpandExecute'#0#0#9'TMenuItem'#10'MenuItem27'#6'Action'#7
|
||||
+#15'actFullCollapse'#7'OnClick'#7#22'actFullCollapseExecute'#0#0#9'TMenuItem'
|
||||
+#10'MenuItem26'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem8'#6'Action'#7
|
||||
+#13'actEnumCreate'#7'OnClick'#7#20'actEnumCreateExecute'#0#0#9'TMenuItem'#10
|
||||
+'MenuItem21'#6'Action'#7#17'actCompoundCreate'#7'OnClick'#7#24'actCompoundCr'
|
||||
+'eateExecute'#0#0#9'TMenuItem'#10'MenuItem24'#6'Action'#7#13'actIntfCreate'#7
|
||||
+'OnClick'#7#20'actIntfCreateExecute'#0#0#9'TMenuItem'#10'MenuItem22'#7'Capti'
|
||||
+'on'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem9'#6'Action'#7#15'actUpdateObject'#7
|
||||
+'OnClick'#7#22'actUpdateObjectExecute'#0#0#0#10'TPopupMenu'#10'PopupMenu2'#4
|
||||
+'left'#3#16#2#3'top'#3#235#0#0#9'TMenuItem'#10'MenuItem18'#6'Action'#7#14'ac'
|
||||
+'tRefreshView'#7'OnClick'#7#21'actRefreshViewExecute'#0#0#9'TMenuItem'#10'Me'
|
||||
+'nuItem19'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#10'MenuItem20'#6'Action'#7#9'a'
|
||||
+'ctExport'#7'OnClick'#7#16'actExportExecute'#0#0#0#0
|
||||
]);
|
@ -1,552 +0,0 @@
|
||||
unit umain;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ComCtrls,
|
||||
ExtCtrls, Menus, ActnList,
|
||||
pastree, pascal_parser_intf, logger_intf,
|
||||
SynHighlighterPas, SynEdit, StdCtrls;
|
||||
|
||||
type
|
||||
|
||||
{ TfMain }
|
||||
|
||||
TfMain = class(TForm)
|
||||
actExit: TAction;
|
||||
actExport: TAction;
|
||||
actAbout: TAction;
|
||||
actEnumCreate: TAction;
|
||||
actCompoundCreate: TAction;
|
||||
actIntfCreate: TAction;
|
||||
actFullExpand: TAction;
|
||||
actFullCollapse: TAction;
|
||||
actNewFile: TAction;
|
||||
actRefreshView: TAction;
|
||||
actUpdateObject: TAction;
|
||||
actSaveAs: TAction;
|
||||
actOpenFile: TAction;
|
||||
AL: TActionList;
|
||||
MainMenu1: TMainMenu;
|
||||
MenuItem10: TMenuItem;
|
||||
MenuItem11: TMenuItem;
|
||||
MenuItem12: TMenuItem;
|
||||
MenuItem13: TMenuItem;
|
||||
MenuItem14: TMenuItem;
|
||||
MenuItem15: TMenuItem;
|
||||
MenuItem16: TMenuItem;
|
||||
MenuItem17: TMenuItem;
|
||||
MenuItem18: TMenuItem;
|
||||
MenuItem19: TMenuItem;
|
||||
MenuItem20: TMenuItem;
|
||||
MenuItem21: TMenuItem;
|
||||
MenuItem22: TMenuItem;
|
||||
MenuItem23: TMenuItem;
|
||||
MenuItem24: TMenuItem;
|
||||
MenuItem25: TMenuItem;
|
||||
MenuItem26: TMenuItem;
|
||||
MenuItem27: TMenuItem;
|
||||
MenuItem28: TMenuItem;
|
||||
MenuItem29: TMenuItem;
|
||||
MenuItem30: TMenuItem;
|
||||
MenuItem31: TMenuItem;
|
||||
MenuItem5: TMenuItem;
|
||||
MenuItem6: TMenuItem;
|
||||
MenuItem7: TMenuItem;
|
||||
MenuItem8: TMenuItem;
|
||||
MenuItem9: TMenuItem;
|
||||
mmoLog: TMemo;
|
||||
MenuItem1: TMenuItem;
|
||||
MenuItem2: TMenuItem;
|
||||
MenuItem3: TMenuItem;
|
||||
MenuItem4: TMenuItem;
|
||||
OD: TOpenDialog;
|
||||
PC: TPageControl;
|
||||
Panel1: TPanel;
|
||||
Panel2: TPanel;
|
||||
PopupMenu1: TPopupMenu;
|
||||
PopupMenu2: TPopupMenu;
|
||||
SD: TSaveDialog;
|
||||
SDD: TSelectDirectoryDialog;
|
||||
Splitter1: TSplitter;
|
||||
srcInterface: TSynEdit;
|
||||
SB: TStatusBar;
|
||||
srcImp: TSynEdit;
|
||||
srcBinder: TSynEdit;
|
||||
srcProxy: TSynEdit;
|
||||
SynPasSyn1: TSynPasSyn;
|
||||
tsLog: TTabSheet;
|
||||
tsImp: TTabSheet;
|
||||
tsBinder: TTabSheet;
|
||||
tsInterface: TTabSheet;
|
||||
tsProxy: TTabSheet;
|
||||
trvSchema: TTreeView;
|
||||
procedure actAboutExecute(Sender: TObject);
|
||||
procedure actCompoundCreateExecute(Sender: TObject);
|
||||
procedure actEnumCreateExecute(Sender: TObject);
|
||||
procedure actExitExecute(Sender: TObject);
|
||||
procedure actExportExecute(Sender: TObject);
|
||||
procedure actExportUpdate(Sender: TObject);
|
||||
procedure actFullCollapseExecute(Sender: TObject);
|
||||
procedure actFullExpandExecute(Sender: TObject);
|
||||
procedure actIntfCreateExecute(Sender: TObject);
|
||||
procedure actNewFileExecute(Sender: TObject);
|
||||
procedure actOpenFileExecute(Sender: TObject);
|
||||
procedure actRefreshViewExecute(Sender: TObject);
|
||||
procedure actSaveAsExecute(Sender: TObject);
|
||||
procedure actUpdateObjectExecute(Sender: TObject);
|
||||
procedure actUpdateObjectUpdate(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
private
|
||||
FSymbolTable : TwstPasTreeContainer;
|
||||
FStatusMessageTag : PtrInt;
|
||||
private
|
||||
function GetTypeNode() : TTreeNode;
|
||||
function GetInterfaceNode() : TTreeNode;
|
||||
private
|
||||
procedure ShowStatusMessage(const AMsgType : TMessageType;const AMsg : string);
|
||||
procedure RenderSymbols();
|
||||
procedure RenderSources();
|
||||
public
|
||||
constructor Create(AOwner : TComponent);override;
|
||||
destructor Destroy();override;
|
||||
end;
|
||||
|
||||
var
|
||||
fMain: TfMain;
|
||||
|
||||
implementation
|
||||
uses view_helper, DOM, XMLRead, XMLWrite, HeapTrc,
|
||||
wsdl2pas_imp, source_utils, command_line_parser, generator, metadata_generator,
|
||||
binary_streamer, wst_resources_utils, wsdl_generator,
|
||||
uabout, edit_helper, udm;
|
||||
|
||||
|
||||
const
|
||||
DEF_FILE_NAME = 'library1';
|
||||
sWST_META = 'wst_meta';
|
||||
|
||||
type
|
||||
TSourceType = cloInterface .. cloBinder;
|
||||
TSourceTypes = set of TSourceType;
|
||||
|
||||
function ParseWsdlFile(
|
||||
const AFileName : string;
|
||||
const ANotifier : TOnParserMessage
|
||||
):TwstPasTreeContainer;
|
||||
var
|
||||
locDoc : TXMLDocument;
|
||||
prsr : TWsdlParser;
|
||||
symName : string;
|
||||
begin
|
||||
Result := nil;
|
||||
if FileExists(AFileName) then begin
|
||||
symName := ChangeFileExt(ExtractFileName(AFileName),'');
|
||||
if ( symName[Length(symName)] = '.' ) then begin
|
||||
Delete(symName,Length(symName),1);
|
||||
end;
|
||||
prsr := nil;
|
||||
ReadXMLFile(locDoc,AFileName);
|
||||
try
|
||||
Result := TwstPasTreeContainer.Create();
|
||||
try
|
||||
prsr := TWsdlParser.Create(locDoc,Result);
|
||||
prsr.OnMessage := ANotifier;
|
||||
prsr.Parse(pmAllTypes,symName);
|
||||
except
|
||||
FreeAndNil(Result);
|
||||
raise;
|
||||
end;
|
||||
finally
|
||||
FreeAndNil(prsr);
|
||||
FreeAndNil(locDoc);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
type TOutputType = ( otMemory, otFileSystem );
|
||||
function GenerateSource(
|
||||
ASymbolTable : TwstPasTreeContainer;
|
||||
AOptions : TSourceTypes;
|
||||
const AOutputType : TOutputType;
|
||||
const AOutPath : string;
|
||||
const ANotifier : TOnParserMessage
|
||||
) : ISourceManager;
|
||||
|
||||
procedure Notify(const AMsg : string);
|
||||
begin
|
||||
if Assigned(ANotifier) then begin
|
||||
ANotifier(mtInfo, AMsg);
|
||||
end;
|
||||
end;
|
||||
|
||||
var
|
||||
mtdaFS: TMemoryStream;
|
||||
g : TBaseGenerator;
|
||||
mg : TMetadataGenerator;
|
||||
rsrcStrm : TMemoryStream;
|
||||
begin
|
||||
Result := CreateSourceManager();
|
||||
rsrcStrm := nil;
|
||||
mtdaFS := nil;
|
||||
mg := nil;
|
||||
g := Nil;
|
||||
try
|
||||
|
||||
if ( cloInterface in AOptions ) then begin
|
||||
Notify('Interface file generation...');
|
||||
g := TInftGenerator.Create(ASymbolTable,Result);
|
||||
g.Execute();
|
||||
FreeAndNil(g);
|
||||
end;
|
||||
|
||||
if ( cloProxy in AOptions ) then begin
|
||||
Notify('Proxy file generation...');
|
||||
g := TProxyGenerator.Create(ASymbolTable,Result);
|
||||
g.Execute();
|
||||
FreeAndNil(g);
|
||||
end;
|
||||
|
||||
if ( cloBinder in AOptions ) then begin
|
||||
Notify('Binder file generation...');
|
||||
g := TBinderGenerator.Create(ASymbolTable,Result);
|
||||
g.Execute();
|
||||
FreeAndNil(g);
|
||||
end;
|
||||
|
||||
if ( cloImp in AOptions ) then begin
|
||||
Notify('Implementation file generation...');
|
||||
g := TImplementationGenerator.Create(ASymbolTable,Result);
|
||||
g.Execute();
|
||||
FreeAndNil(g);
|
||||
end;
|
||||
|
||||
if ( AOutputType = otFileSystem ) and ( [cloBinder,cloProxy]*AOptions <> [] ) then begin
|
||||
Notify('Metadata file generation...');
|
||||
mtdaFS := TMemoryStream.Create();
|
||||
mg := TMetadataGenerator.Create(ASymbolTable,CreateBinaryWriter(mtdaFS));
|
||||
mg.Execute();
|
||||
mtdaFS.SaveToFile(AOutPath + Format('%s.%s',[ASymbolTable.CurrentModule.Name,sWST_META]));
|
||||
rsrcStrm := TMemoryStream.Create();
|
||||
mtdaFS.Position := 0;
|
||||
BinToWstRessource(UpperCase(ASymbolTable.CurrentModule.Name),mtdaFS,rsrcStrm);
|
||||
rsrcStrm.SaveToFile(AOutPath + Format('%s.%s',[ASymbolTable.CurrentModule.Name,sWST_EXTENSION]));
|
||||
end;
|
||||
|
||||
if ( AOutputType = otFileSystem ) then begin
|
||||
Result.SaveToFile(AOutPath);
|
||||
end;
|
||||
finally
|
||||
rsrcStrm.Free();
|
||||
mg.Free();;
|
||||
mtdaFS.Free();;
|
||||
g.Free();
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure GenerateWSDL_ToStream(ASymbol : TwstPasTreeContainer; ADest : TStream);
|
||||
var
|
||||
doc : TXMLDocument;
|
||||
begin
|
||||
doc := TXMLDocument.Create();
|
||||
try
|
||||
GenerateWSDL(ASymbol,doc);
|
||||
WriteXML(doc,ADest);
|
||||
finally
|
||||
FreeAndNil(doc);
|
||||
end;
|
||||
end;
|
||||
|
||||
function CreateSymbolTable(const AName : string):TwstPasTreeContainer ;
|
||||
begin
|
||||
Result := TwstPasTreeContainer.Create();
|
||||
try
|
||||
CreateWstInterfaceSymbolTable(Result);
|
||||
Result.CreateElement(TPasModule,AName,Result.Package,visDefault,'',0);
|
||||
Result.CurrentModule.InterfaceSection := TPasSection(Result.CreateElement(TPasSection,'',Result.CurrentModule,visDefault,'',0));
|
||||
except
|
||||
FreeAndNil(Result);
|
||||
raise;
|
||||
end;
|
||||
end;
|
||||
|
||||
{ TfMain }
|
||||
|
||||
procedure TfMain.actOpenFileExecute(Sender: TObject);
|
||||
var
|
||||
tmpTable : TwstPasTreeContainer;
|
||||
curLok : IInterface;
|
||||
begin
|
||||
if OD.Execute() then begin
|
||||
mmoLog.Clear();
|
||||
PC.ActivePage := tsLog;
|
||||
curLok := SetCursorHourGlass();
|
||||
tmpTable := ParseWsdlFile(OD.FileName,@ShowStatusMessage);
|
||||
if Assigned(tmpTable) then begin
|
||||
trvSchema.Items.Clear();
|
||||
FreeAndNil(FSymbolTable);
|
||||
FSymbolTable := tmpTable;
|
||||
RenderSymbols();
|
||||
PC.ActivePage := tsInterface;
|
||||
end;
|
||||
end;
|
||||
curLok := nil;
|
||||
end;
|
||||
|
||||
procedure TfMain.actRefreshViewExecute(Sender: TObject);
|
||||
begin
|
||||
RenderSymbols();
|
||||
end;
|
||||
|
||||
procedure TfMain.actSaveAsExecute(Sender: TObject);
|
||||
var
|
||||
mstrm : TMemoryStream;
|
||||
begin
|
||||
if SD.Execute() then begin
|
||||
mstrm := TMemoryStream.Create();
|
||||
try
|
||||
GenerateWSDL_ToStream(FSymbolTable,mstrm);
|
||||
mstrm.SaveToFile(SD.FileName);
|
||||
finally
|
||||
FreeAndNil(mstrm);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfMain.actUpdateObjectExecute(Sender: TObject);
|
||||
var
|
||||
o : TPasElement;
|
||||
nd, nd_1 : TTreeNode;
|
||||
begin
|
||||
nd := trvSchema.Selected;
|
||||
if Assigned(nd) and Assigned(nd.Data) then begin
|
||||
o := TPasElement(nd.Data);
|
||||
if HasEditor(o) then begin
|
||||
UpdateObject(o,FSymbolTable);
|
||||
nd_1 := nd;
|
||||
trvSchema.BeginUpdate();
|
||||
try
|
||||
nd := FindPainter(o).Paint(FSymbolTable,o,GetTypeNode());
|
||||
nd.MoveTo(nd_1,naInsertBehind);
|
||||
FreeAndNil(nd_1);
|
||||
finally
|
||||
trvSchema.EndUpdate();
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfMain.actUpdateObjectUpdate(Sender: TObject);
|
||||
begin
|
||||
TAction(Sender).Enabled :=
|
||||
Assigned(trvSchema.Selected) and
|
||||
Assigned(trvSchema.Selected.Data) and
|
||||
HasEditor(TPasElement(trvSchema.Selected.Data));
|
||||
end;
|
||||
|
||||
procedure TfMain.FormShow(Sender: TObject);
|
||||
begin
|
||||
RenderSymbols();
|
||||
end;
|
||||
|
||||
function TfMain.GetTypeNode(): TTreeNode;
|
||||
begin
|
||||
Result := trvSchema.TopItem.GetFirstChild().Items[1];
|
||||
end;
|
||||
|
||||
function TfMain.GetInterfaceNode(): TTreeNode;
|
||||
begin
|
||||
Result := trvSchema.TopItem.GetFirstChild().Items[2];
|
||||
end;
|
||||
|
||||
procedure TfMain.ShowStatusMessage(const AMsgType : TMessageType;const AMsg: string);
|
||||
begin
|
||||
mmoLog.Lines.Add(Format('%s : %s',[MessageTypeNames[AMsgType],AMsg]));
|
||||
SB.Panels[1].Text := AMsg;
|
||||
Inc(FStatusMessageTag);
|
||||
if ( (FStatusMessageTag) > 23 ) then begin
|
||||
FStatusMessageTag := 0;
|
||||
Application.ProcessMessages();
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfMain.actExitExecute(Sender: TObject);
|
||||
begin
|
||||
Close();
|
||||
end;
|
||||
|
||||
procedure TfMain.actAboutExecute(Sender: TObject);
|
||||
var
|
||||
fa : TfAbout;
|
||||
begin
|
||||
fa := TfAbout.Create(Self);
|
||||
try
|
||||
fa.ShowModal();
|
||||
finally
|
||||
fa.Release();
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfMain.actCompoundCreateExecute(Sender: TObject);
|
||||
var
|
||||
e : TPasClassType;
|
||||
begin
|
||||
e := CreateCompoundObject(FSymbolTable);
|
||||
if Assigned(e) then begin
|
||||
FindPainter(e).Paint(FSymbolTable,e,GetTypeNode());
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfMain.actEnumCreateExecute(Sender: TObject);
|
||||
var
|
||||
e : TPasEnumType;
|
||||
begin
|
||||
e := CreateEnum(FSymbolTable);
|
||||
if Assigned(e) then begin
|
||||
FindPainter(e).Paint(FSymbolTable,e,GetTypeNode());
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfMain.actExportExecute(Sender: TObject);
|
||||
var
|
||||
curLok : IInterface;
|
||||
begin
|
||||
if SDD.Execute() then begin
|
||||
curLok := SetCursorHourGlass();
|
||||
GenerateSource(
|
||||
FSymbolTable,
|
||||
[cloInterface,cloProxy,cloImp,cloBinder],
|
||||
otFileSystem,
|
||||
IncludeTrailingBackslash(SDD.FileName),
|
||||
nil
|
||||
);
|
||||
curLok := nil;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfMain.actExportUpdate(Sender: TObject);
|
||||
begin
|
||||
TAction(Sender).Enabled := Assigned(FSymbolTable) and ( FSymbolTable.CurrentModule.InterfaceSection.Declarations.Count > 0 );
|
||||
end;
|
||||
|
||||
procedure TfMain.actFullCollapseExecute(Sender: TObject);
|
||||
begin
|
||||
trvSchema.FullCollapse();
|
||||
end;
|
||||
|
||||
procedure TfMain.actFullExpandExecute(Sender: TObject);
|
||||
begin
|
||||
trvSchema.FullExpand();
|
||||
end;
|
||||
|
||||
procedure TfMain.actIntfCreateExecute(Sender: TObject);
|
||||
var
|
||||
e : TPasClassType;
|
||||
begin
|
||||
e := CreateInterface(FSymbolTable);
|
||||
if Assigned(e) then begin
|
||||
FindPainter(e).Paint(FSymbolTable,e,GetInterfaceNode());
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfMain.actNewFileExecute(Sender: TObject);
|
||||
var
|
||||
res : Integer;
|
||||
begin
|
||||
res := MessageDlg(Application.Title,'Save the current file before ?',mtConfirmation,mbYesNoCancel,0,mbYes);
|
||||
if ( res = mrCancel ) then begin
|
||||
Exit;
|
||||
end;
|
||||
if ( res = mrYes ) then begin
|
||||
actSaveAs.Execute();
|
||||
end;
|
||||
FreeAndNil(FSymbolTable);
|
||||
FSymbolTable := CreateSymbolTable(ExtractFileName(DEF_FILE_NAME));
|
||||
RenderSymbols();
|
||||
end;
|
||||
|
||||
procedure TfMain.RenderSymbols();
|
||||
var
|
||||
objPtr : ISymbolPainter;
|
||||
nd : TTreeNode;
|
||||
begin
|
||||
trvSchema.BeginUpdate();
|
||||
try
|
||||
trvSchema.Items.Clear();
|
||||
srcInterface.ClearAll();
|
||||
nd := trvSchema.Items.AddFirst(nil,'Type Library Editor');
|
||||
nd.ImageIndex := -1;
|
||||
nd.StateIndex := -1;
|
||||
nd.SelectedIndex := -1;
|
||||
if Assigned(FSymbolTable) then begin
|
||||
objPtr := FindPainter(FSymbolTable.Package);
|
||||
if Assigned(objPtr) then begin
|
||||
objPtr.Paint(FSymbolTable,FSymbolTable.Package,trvSchema.TopItem);
|
||||
end;
|
||||
RenderSources();
|
||||
end;
|
||||
trvSchema.Items[0].Expand(False);
|
||||
trvSchema.Items[0].Items[0].Expand(False);
|
||||
finally
|
||||
trvSchema.EndUpdate();
|
||||
end;
|
||||
ShowStatusMessage(mtInfo,'');
|
||||
end;
|
||||
|
||||
procedure TfMain.RenderSources();
|
||||
|
||||
procedure LoadText(const AList : TStrings; ASrc : ISourceStream);
|
||||
var
|
||||
srcItemSV : ISavableSourceStream;
|
||||
begin
|
||||
if Supports(ASrc,ISavableSourceStream,srcItemSV) then begin
|
||||
srcItemSV.GetStream().Position := 0;
|
||||
AList.LoadFromStream(srcItemSV.GetStream());
|
||||
end;
|
||||
end;
|
||||
|
||||
var
|
||||
srcMngr : ISourceManager;
|
||||
begin
|
||||
if Assigned(FSymbolTable) then begin
|
||||
if ( FSymbolTable.CurrentModule.InterfaceSection.Declarations.Count > 0 ) then begin
|
||||
srcMngr := GenerateSource(FSymbolTable,[cloInterface,cloProxy,cloBinder,cloImp],otMemory,'',@ShowStatusMessage);
|
||||
if Assigned(srcMngr) and ( srcMngr.GetCount() > 0 ) then begin
|
||||
LoadText(srcInterface.Lines,srcMngr.GetItem(0));
|
||||
LoadText(srcProxy.Lines,srcMngr.GetItem(1));
|
||||
LoadText(srcBinder.Lines,srcMngr.GetItem(2));
|
||||
LoadText(srcImp.Lines,srcMngr.GetItem(3));
|
||||
end;
|
||||
end else begin
|
||||
srcInterface.ClearAll();
|
||||
srcProxy.ClearAll();
|
||||
srcBinder.ClearAll();
|
||||
srcImp.ClearAll();
|
||||
end;
|
||||
end;
|
||||
ShowStatusMessage(mtInfo,'');
|
||||
end;
|
||||
|
||||
constructor TfMain.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited Create(AOwner);
|
||||
FSymbolTable := CreateSymbolTable(ExtractFileName(DEF_FILE_NAME));
|
||||
trvSchema.Images := DM.IM;
|
||||
end;
|
||||
|
||||
destructor TfMain.Destroy();
|
||||
begin
|
||||
trvSchema.Items.Clear();
|
||||
FreeAndNil(FSymbolTable);
|
||||
inherited Destroy();
|
||||
end;
|
||||
|
||||
initialization
|
||||
SetHeapTraceOutput('heap_trace.txt');
|
||||
|
||||
{$I umain.lrs}
|
||||
|
||||
end.
|
||||
|
@ -1,7 +1,7 @@
|
||||
object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
||||
Left = 142
|
||||
Left = 217
|
||||
Height = 644
|
||||
Top = 192
|
||||
Top = 507
|
||||
Width = 833
|
||||
HorzScrollBar.Page = 832
|
||||
VertScrollBar.Page = 623
|
||||
@ -1985,7 +1985,7 @@ object fWstTypeLibraryEdit: TfWstTypeLibraryEdit
|
||||
end
|
||||
object OD: TOpenDialog
|
||||
Title = 'Ouvrir un fichier existant'
|
||||
Filter = 'WDSL files(*.WSDL)|*.WSDL'
|
||||
Filter = 'WDSL files(*.WSDL)|*.WSDL|Pascal file (*.pas)|*.pas'
|
||||
FilterIndex = 0
|
||||
InitialDir = '.\'
|
||||
Options = [ofPathMustExist, ofFileMustExist, ofEnableSizing, ofViewDetail]
|
||||
|
@ -1,8 +1,8 @@
|
||||
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
|
||||
|
||||
LazarusResources.Add('TfWstTypeLibraryEdit','FORMDATA',[
|
||||
'TPF0'#20'TfWstTypeLibraryEdit'#19'fWstTypeLibraryEdit'#4'Left'#3#142#0#6'Hei'
|
||||
+'ght'#3#132#2#3'Top'#3#192#0#5'Width'#3'A'#3#18'HorzScrollBar.Page'#3'@'#3#18
|
||||
'TPF0'#20'TfWstTypeLibraryEdit'#19'fWstTypeLibraryEdit'#4'Left'#3#217#0#6'Hei'
|
||||
+'ght'#3#132#2#3'Top'#3#251#1#5'Width'#3'A'#3#18'HorzScrollBar.Page'#3'@'#3#18
|
||||
+'VertScrollBar.Page'#3'o'#2#13'ActiveControl'#7#9'trvSchema'#7'Caption'#6'+['
|
||||
+'Web Services Toolkit ] Type Library Editor'#12'ClientHeight'#3'p'#2#11'Clie'
|
||||
+'ntWidth'#3'A'#3#4'Menu'#7#9'MainMenu1'#7'OnClose'#7#9'FormClose'#6'OnShow'#7
|
||||
@ -324,33 +324,33 @@ LazarusResources.Add('TfWstTypeLibraryEdit','FORMDATA',[
|
||||
,'DisableIfNoHandler'#9#9'OnExecute'#7#22'actFullCollapseExecute'#0#0#7'TActi'
|
||||
+'on'#7'actSave'#7'Caption'#6#4'Save'#18'DisableIfNoHandler'#9#9'OnExecute'#7
|
||||
+#14'actSaveExecute'#0#0#0#11'TOpenDialog'#2'OD'#5'Title'#6#26'Ouvrir un fich'
|
||||
+'ier existant'#6'Filter'#6#25'WDSL files(*.WSDL)|*.WSDL'#11'FilterIndex'#2#0
|
||||
+#10'InitialDir'#6#2'.\'#7'Options'#11#15'ofPathMustExist'#15'ofFileMustExist'
|
||||
+#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3#153#1#3'top'#2'X'#0#0#10'TS'
|
||||
+'ynPasSyn'#10'SynPasSyn1'#7'Enabled'#8#23'CommentAttri.Foreground'#7#6'clBlu'
|
||||
+'e'#18'CommentAttri.Style'#11#6'fsBold'#0#22'StringAttri.Foreground'#7#8'clM'
|
||||
+'aroon'#17'SymbolAttri.Style'#11#6'fsBold'#0#25'DirectiveAttri.Foreground'#7
|
||||
+#7'clGreen'#20'DirectiveAttri.Style'#11#6'fsBold'#0#14'NestedComments'#9#4'l'
|
||||
+'eft'#3#183#1#3'top'#2'h'#0#0#11'TSaveDialog'#2'SD'#5'Title'#6#27'Enregistre'
|
||||
+'r le fichier sous'#10'DefaultExt'#6#5'.WSDL'#6'Filter'#6#25'WDSL files(*.WS'
|
||||
+'DL)|*.WSDL'#11'FilterIndex'#2#0#7'Options'#11#15'ofPathMustExist'#14'ofEnab'
|
||||
+'leSizing'#12'ofViewDetail'#0#4'left'#3#242#1#3'top'#3#176#0#0#0#10'TPopupMe'
|
||||
+'nu'#10'PopupMenu1'#4'left'#3#128#1#3'top'#3#8#1#0#9'TMenuItem'#10'MenuItem2'
|
||||
+'8'#6'Action'#7#13'actFullExpand'#7'OnClick'#7#20'actFullExpandExecute'#0#0#9
|
||||
+'TMenuItem'#10'MenuItem27'#6'Action'#7#15'actFullCollapse'#7'OnClick'#7#22'a'
|
||||
+'ctFullCollapseExecute'#0#0#9'TMenuItem'#10'MenuItem26'#7'Caption'#6#1'-'#0#0
|
||||
+#9'TMenuItem'#9'MenuItem8'#6'Action'#7#13'actEnumCreate'#7'OnClick'#7#20'act'
|
||||
+'EnumCreateExecute'#0#0#9'TMenuItem'#10'MenuItem21'#6'Action'#7#17'actCompou'
|
||||
+'ndCreate'#7'OnClick'#7#24'actCompoundCreateExecute'#0#0#9'TMenuItem'#10'Men'
|
||||
+'uItem24'#6'Action'#7#13'actIntfCreate'#7'OnClick'#7#20'actIntfCreateExecute'
|
||||
+#0#0#9'TMenuItem'#10'MenuItem22'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuIt'
|
||||
+'em9'#6'Action'#7#15'actUpdateObject'#7'OnClick'#7#22'actUpdateObjectExecute'
|
||||
+#0#0#0#10'TPopupMenu'#10'PopupMenu2'#4'left'#3#16#2#3'top'#3#235#0#0#9'TMenu'
|
||||
+'Item'#10'MenuItem18'#6'Action'#7#14'actRefreshView'#7'OnClick'#7#21'actRefr'
|
||||
+'eshViewExecute'#0#0#9'TMenuItem'#10'MenuItem19'#7'Caption'#6#1'-'#0#0#9'TMe'
|
||||
+'nuItem'#10'MenuItem20'#6'Action'#7#9'actExport'#7'OnClick'#7#16'actExportEx'
|
||||
+'ecute'#0#0#0#10'TSynXMLSyn'#10'SynXMLSyn1'#13'DefaultFilter'#6#30'Documents'
|
||||
+' WSDL (*.wsdl)|*.wsdl'#7'Enabled'#8#23'ElementAttri.Foreground'#7#6'clNavy'
|
||||
+#30'AttributeValueAttri.Foreground'#7#8'clPurple'#16'WantBracesParsed'#8#4'l'
|
||||
+'eft'#3#210#1#3'top'#3#252#0#0#0#0
|
||||
+'ier existant'#6'Filter'#6'3WDSL files(*.WSDL)|*.WSDL|Pascal file (*.pas)|*.'
|
||||
+'pas'#11'FilterIndex'#2#0#10'InitialDir'#6#2'.\'#7'Options'#11#15'ofPathMust'
|
||||
+'Exist'#15'ofFileMustExist'#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3
|
||||
+#153#1#3'top'#2'X'#0#0#10'TSynPasSyn'#10'SynPasSyn1'#7'Enabled'#8#23'Comment'
|
||||
+'Attri.Foreground'#7#6'clBlue'#18'CommentAttri.Style'#11#6'fsBold'#0#22'Stri'
|
||||
+'ngAttri.Foreground'#7#8'clMaroon'#17'SymbolAttri.Style'#11#6'fsBold'#0#25'D'
|
||||
+'irectiveAttri.Foreground'#7#7'clGreen'#20'DirectiveAttri.Style'#11#6'fsBold'
|
||||
+#0#14'NestedComments'#9#4'left'#3#183#1#3'top'#2'h'#0#0#11'TSaveDialog'#2'SD'
|
||||
+#5'Title'#6#27'Enregistrer le fichier sous'#10'DefaultExt'#6#5'.WSDL'#6'Filt'
|
||||
+'er'#6#25'WDSL files(*.WSDL)|*.WSDL'#11'FilterIndex'#2#0#7'Options'#11#15'of'
|
||||
+'PathMustExist'#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3#242#1#3'top'
|
||||
+#3#176#0#0#0#10'TPopupMenu'#10'PopupMenu1'#4'left'#3#128#1#3'top'#3#8#1#0#9
|
||||
+'TMenuItem'#10'MenuItem28'#6'Action'#7#13'actFullExpand'#7'OnClick'#7#20'act'
|
||||
+'FullExpandExecute'#0#0#9'TMenuItem'#10'MenuItem27'#6'Action'#7#15'actFullCo'
|
||||
+'llapse'#7'OnClick'#7#22'actFullCollapseExecute'#0#0#9'TMenuItem'#10'MenuIte'
|
||||
+'m26'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem8'#6'Action'#7#13'actEnum'
|
||||
+'Create'#7'OnClick'#7#20'actEnumCreateExecute'#0#0#9'TMenuItem'#10'MenuItem2'
|
||||
+'1'#6'Action'#7#17'actCompoundCreate'#7'OnClick'#7#24'actCompoundCreateExecu'
|
||||
+'te'#0#0#9'TMenuItem'#10'MenuItem24'#6'Action'#7#13'actIntfCreate'#7'OnClick'
|
||||
+#7#20'actIntfCreateExecute'#0#0#9'TMenuItem'#10'MenuItem22'#7'Caption'#6#1'-'
|
||||
+#0#0#9'TMenuItem'#9'MenuItem9'#6'Action'#7#15'actUpdateObject'#7'OnClick'#7
|
||||
+#22'actUpdateObjectExecute'#0#0#0#10'TPopupMenu'#10'PopupMenu2'#4'left'#3#16
|
||||
+#2#3'top'#3#235#0#0#9'TMenuItem'#10'MenuItem18'#6'Action'#7#14'actRefreshVie'
|
||||
+'w'#7'OnClick'#7#21'actRefreshViewExecute'#0#0#9'TMenuItem'#10'MenuItem19'#7
|
||||
+'Caption'#6#1'-'#0#0#9'TMenuItem'#10'MenuItem20'#6'Action'#7#9'actExport'#7
|
||||
+'OnClick'#7#16'actExportExecute'#0#0#0#10'TSynXMLSyn'#10'SynXMLSyn1'#13'Defa'
|
||||
+'ultFilter'#6#30'Documents WSDL (*.wsdl)|*.wsdl'#7'Enabled'#8#23'ElementAttr'
|
||||
+'i.Foreground'#7#6'clNavy'#30'AttributeValueAttri.Foreground'#7#8'clPurple'
|
||||
+#16'WantBracesParsed'#8#4'left'#3#210#1#3'top'#3#252#0#0#0#0
|
||||
]);
|
||||
|
@ -12,7 +12,7 @@
|
||||
}
|
||||
unit uwsttypelibraryedit;
|
||||
|
||||
{$DEFINE WST_IDE}
|
||||
//{$DEFINE WST_IDE}
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
@ -146,7 +146,7 @@ implementation
|
||||
uses view_helper, DOM, XMLRead, XMLWrite, //HeapTrc,
|
||||
wsdl2pas_imp, source_utils, command_line_parser, generator, metadata_generator,
|
||||
binary_streamer, wst_resources_utils, wsdl_generator,
|
||||
uabout, edit_helper, udm, ufrmsaveoption
|
||||
uabout, edit_helper, udm, ufrmsaveoption, pparser
|
||||
{$IFDEF WST_IDE},LazIDEIntf,IDEMsgIntf{$ENDIF};
|
||||
|
||||
|
||||
@ -174,6 +174,50 @@ type
|
||||
TSourceType = cloInterface .. cloBinder;
|
||||
TSourceTypes = set of TSourceType;
|
||||
|
||||
function ParsePascalFile(
|
||||
const AFileName : string;
|
||||
const ANotifier : TOnParserMessage
|
||||
) : TwstPasTreeContainer;overload;
|
||||
const
|
||||
s_ostype =
|
||||
{$IFDEF WINDOWS}
|
||||
'WINDOWS'
|
||||
{$ELSE}
|
||||
{$IFDEF LINUX}
|
||||
'LINUX'
|
||||
{$ELSE}
|
||||
''
|
||||
{$ENDIF}
|
||||
{$ENDIF};
|
||||
|
||||
procedure DoNotify(const AMsgType : TMessageType; const AMsg : string);
|
||||
begin
|
||||
if ( ANotifier <> nil ) then
|
||||
ANotifier(AMsgType,AMsg);
|
||||
end;
|
||||
|
||||
var
|
||||
symName : string;
|
||||
begin
|
||||
symName := ChangeFileExt(ExtractFileName(AFileName),'');
|
||||
if ( symName[Length(symName)] = '.' ) then begin
|
||||
Delete(symName,Length(symName),1);
|
||||
end;
|
||||
Result := TwstPasTreeContainer.Create();
|
||||
try
|
||||
DoNotify(mtInfo,Format('Parsing file %s ...',[AFileName]));
|
||||
CreateWstInterfaceSymbolTable(Result);
|
||||
ParseSource(Result,AFileName,s_ostype,'');
|
||||
DoNotify(mtInfo,Format('File parsed %s .',[AFileName]));
|
||||
except
|
||||
on e : Exception do begin
|
||||
FreeAndNil(Result);
|
||||
DoNotify(mtError,e.Message);
|
||||
raise;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
function ParseWsdlFile(
|
||||
const AFileName : string;
|
||||
AContent : TStream;
|
||||
@ -448,12 +492,12 @@ end;
|
||||
|
||||
function TfWstTypeLibraryEdit.GetTypeNode(): TTreeNode;
|
||||
begin
|
||||
Result := trvSchema.TopItem.GetFirstChild().Items[1];
|
||||
Result := trvSchema.TopItem.GetFirstChild().Items[0];
|
||||
end;
|
||||
|
||||
function TfWstTypeLibraryEdit.GetInterfaceNode(): TTreeNode;
|
||||
begin
|
||||
Result := trvSchema.TopItem.GetFirstChild().Items[2];
|
||||
Result := trvSchema.TopItem.GetFirstChild().Items[1];
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.ShowStatusMessage(const AMsgType : TMessageType;const AMsg: string);
|
||||
@ -672,12 +716,17 @@ begin
|
||||
mmoLog.Clear();
|
||||
PC.ActivePage := tsLog;
|
||||
curLok := SetCursorHourGlass();
|
||||
if ( AContent = nil ) then
|
||||
tmpTable := ParseWsdlFile(AFileName,@ShowStatusMessage)
|
||||
else
|
||||
tmpTable := ParseWsdlFile(AFileName,AContent,@ShowStatusMessage);
|
||||
if AnsiSameText('.pas',ExtractFileExt(AFileName)) then begin
|
||||
tmpTable := ParsePascalFile(AFileName,@ShowStatusMessage);
|
||||
end else begin
|
||||
if ( AContent = nil ) then
|
||||
tmpTable := ParseWsdlFile(AFileName,@ShowStatusMessage)
|
||||
else
|
||||
tmpTable := ParseWsdlFile(AFileName,AContent,@ShowStatusMessage);
|
||||
end;
|
||||
if Assigned(tmpTable) then begin
|
||||
FCurrentFileName := AFileName;
|
||||
if AnsiSameText('.pas',ExtractFileExt(AFileName)) then
|
||||
FCurrentFileName := ChangeFileExt(AFileName,'.wsdl');
|
||||
trvSchema.Items.Clear();
|
||||
FreeAndNil(FSymbolTable);
|
||||
FSymbolTable := tmpTable;
|
||||
|
@ -539,7 +539,7 @@ end;
|
||||
class function TClassTypeDefinitionPainter.CanHandle(AObj : TObject): Boolean;
|
||||
begin
|
||||
Result := ( inherited CanHandle(AObj) ) and
|
||||
( AObj.InheritsFrom(TPasClassType) and ( TPasClassType(AObj).ObjKind = okClass ) )and
|
||||
( AObj.InheritsFrom(TPasClassType) and ( TPasClassType(AObj).ObjKind = okClass ) ) and
|
||||
( not AObj.InheritsFrom(TPasNativeClassType) );
|
||||
|
||||
end;
|
||||
@ -704,7 +704,7 @@ initialization
|
||||
FPainterRegistryInst.RegisterHandler(TTypeAliasDefinitionPainter);
|
||||
FPainterRegistryInst.RegisterHandler(TEnumTypeDefinitionPainter);
|
||||
FPainterRegistryInst.RegisterHandler(TClassTypeDefinitionPainter);
|
||||
FPainterRegistryInst.RegisterHandler(TAbstractConstantDefinitionPainter);
|
||||
//FPainterRegistryInst.RegisterHandler(TAbstractConstantDefinitionPainter);
|
||||
FPainterRegistryInst.RegisterHandler(TInterfaceDefinitionPainter);
|
||||
FPainterRegistryInst.RegisterHandler(TMethodDefinitionPainter);
|
||||
FPainterRegistryInst.RegisterHandler(TPasNativeSimpleTypePainter);
|
||||
|
@ -40,7 +40,7 @@ type
|
||||
IWsdlTypeHandlerRegistry = Interface
|
||||
['{C5666646-3426-4696-93EE-AFA8EE7CAE53}']
|
||||
function Find(
|
||||
ASymbol : TPTreeElement;
|
||||
ASymbol : TPasElement;
|
||||
out AHandler : IWsdlTypeHandler
|
||||
) : Boolean;
|
||||
procedure Register(AFactory : TBaseTypeHandlerClass);
|
||||
@ -53,7 +53,7 @@ type
|
||||
const ASymbol : TPasElement;
|
||||
AWsdlDocument : TDOMDocument
|
||||
);virtual;abstract;
|
||||
class function CanHandle(ASymbol : TClass) : Boolean;virtual;abstract;
|
||||
class function CanHandle(ASymbol : TObject) : Boolean;virtual;abstract;
|
||||
end;
|
||||
|
||||
{ TTypeDefinition_TypeHandler }
|
||||
@ -65,7 +65,7 @@ type
|
||||
const ASymbol : TPasElement;
|
||||
AWsdlDocument : TDOMDocument
|
||||
);override;
|
||||
class function CanHandle(ASymbol : TClass) : Boolean;override;
|
||||
class function CanHandle(ASymbol : TObject) : Boolean;override;
|
||||
end;
|
||||
|
||||
{ TTypeAliasDefinition_TypeHandler }
|
||||
@ -77,7 +77,7 @@ type
|
||||
const ASymbol : TPasElement;
|
||||
AWsdlDocument : TDOMDocument
|
||||
);override;
|
||||
class function CanHandle(ASymbol : TClass) : Boolean;override;
|
||||
class function CanHandle(ASymbol : TObject) : Boolean;override;
|
||||
end;
|
||||
|
||||
{ TEnumTypeHandler }
|
||||
@ -89,7 +89,7 @@ type
|
||||
const ASymbol : TPasElement;
|
||||
AWsdlDocument : TDOMDocument
|
||||
);override;
|
||||
class function CanHandle(ASymbol : TClass) : Boolean;override;
|
||||
class function CanHandle(ASymbol : TObject) : Boolean;override;
|
||||
end;
|
||||
|
||||
{ TClassTypeDefinition_TypeHandler }
|
||||
@ -101,7 +101,7 @@ type
|
||||
const ASymbol : TPasElement;
|
||||
AWsdlDocument : TDOMDocument
|
||||
);override;
|
||||
class function CanHandle(ASymbol : TClass) : Boolean;override;
|
||||
class function CanHandle(ASymbol : TObject) : Boolean;override;
|
||||
end;
|
||||
|
||||
{ TBaseArrayRemotable_TypeHandler }
|
||||
@ -113,7 +113,7 @@ type
|
||||
const ASymbol : TPasElement;
|
||||
AWsdlDocument : TDOMDocument
|
||||
);override;
|
||||
class function CanHandle(ASymbol : TClass) : Boolean;override;
|
||||
class function CanHandle(ASymbol : TObject) : Boolean;override;
|
||||
end;
|
||||
|
||||
procedure GenerateWSDL(ASymbolTable : TwstPasTreeContainer; ADoc : TDOMDocument);
|
||||
@ -146,11 +146,13 @@ const
|
||||
sBINDING = 'binding';
|
||||
sBODY = 'body';
|
||||
sCOMPLEX_TYPE = 'complexType';
|
||||
sCUSTOM_ATTRIBUTE = 'customAttributes';
|
||||
sDOCUMENT = 'document';
|
||||
sELEMENT = 'element';
|
||||
sENUMERATION = 'enumeration';
|
||||
sEXTENSION = 'extension';
|
||||
sGUID = 'GUID';
|
||||
sHEADER_Block = 'headerBlock';
|
||||
sITEM = 'item';
|
||||
sLOCATION = 'location';
|
||||
sMIN_OCCURS = 'minOccurs';
|
||||
@ -222,10 +224,10 @@ type
|
||||
private
|
||||
FList : TClassList;
|
||||
private
|
||||
function FindIndexOfHandler(ASymbol : TPTreeElement) : Integer;
|
||||
function FindIndexOfHandler(ASymbol : TPasElement) : Integer;
|
||||
protected
|
||||
function Find(
|
||||
ASymbol : TPTreeElement;
|
||||
ASymbol : TPasElement;
|
||||
out AHandler : IWsdlTypeHandler
|
||||
) : Boolean;
|
||||
procedure Register(AFactory : TBaseTypeHandlerClass);
|
||||
@ -236,7 +238,7 @@ type
|
||||
|
||||
{ TWsdlTypeHandlerRegistry }
|
||||
|
||||
function TWsdlTypeHandlerRegistry.FindIndexOfHandler(ASymbol: TPTreeElement): Integer;
|
||||
function TWsdlTypeHandlerRegistry.FindIndexOfHandler(ASymbol: TPasElement): Integer;
|
||||
Var
|
||||
i, c : Integer;
|
||||
begin
|
||||
@ -251,7 +253,7 @@ begin
|
||||
end;
|
||||
|
||||
function TWsdlTypeHandlerRegistry.Find(
|
||||
ASymbol : TPTreeElement;
|
||||
ASymbol : TPasElement;
|
||||
out AHandler : IWsdlTypeHandler
|
||||
) : Boolean;
|
||||
var
|
||||
@ -564,7 +566,7 @@ procedure GenerateWSDL(ASymbolTable : TwstPasTreeContainer; ADoc : TDOMDocument)
|
||||
( not tri.InheritsFrom(TPasNativeClassType) ) and
|
||||
( not tri.InheritsFrom(TPasNativeSimpleType) )
|
||||
then begin
|
||||
if gr.Find(TPTreeElement(tri.ClassType),g) then
|
||||
if gr.Find(tri,g) then
|
||||
g.Generate(ASymbolTable, tri,ADoc);
|
||||
end;
|
||||
end;
|
||||
@ -649,11 +651,21 @@ procedure TClassTypeDefinition_TypeHandler.Generate(
|
||||
const ASymbol : TPasElement;
|
||||
AWsdlDocument : TDOMDocument
|
||||
);
|
||||
var
|
||||
cplxNode, docNode : TDOMElement;
|
||||
|
||||
procedure CreateDocNode();
|
||||
begin
|
||||
if ( docNode = nil ) then begin
|
||||
docNode := CreateElement(sDOCUMENT,cplxNode,AWsdlDocument);
|
||||
end;
|
||||
end;
|
||||
|
||||
var
|
||||
typItm : TPasClassType;
|
||||
propTypItm : TPasType;
|
||||
s, prop_ns_shortName : string;
|
||||
defTypesNode, defSchemaNode, cplxNode, sqcNode, propNode, derivationNode : TDOMElement;
|
||||
defTypesNode, defSchemaNode, sqcNode, propNode, derivationNode : TDOMElement;
|
||||
i : Integer;
|
||||
p : TPasProperty;
|
||||
typeCategory : TTypeCategory;
|
||||
@ -661,6 +673,7 @@ var
|
||||
trueParent : TPasType;
|
||||
begin
|
||||
inherited;
|
||||
docNode := nil;
|
||||
typItm := ASymbol as TPasClassType;
|
||||
if Assigned(typItm) then begin
|
||||
GetNameSpaceShortName(AContainer.GetExternalName(AContainer.CurrentModule) ,AWsdlDocument);
|
||||
@ -677,6 +690,12 @@ begin
|
||||
hasSequence := True;
|
||||
if Assigned(typItm.AncestorType) then begin
|
||||
trueParent := typItm.AncestorType;
|
||||
|
||||
if trueParent.InheritsFrom(TPasNativeClassType) and AnsiSameText('THeaderBlock',trueParent.Name) then begin
|
||||
CreateDocNode();
|
||||
CreateElement(sCUSTOM_ATTRIBUTE,docNode,AWsdlDocument).SetAttribute(sHEADER_Block,'true');
|
||||
end;
|
||||
|
||||
if trueParent.InheritsFrom(TPasAliasType) then begin
|
||||
trueParent := GetUltimeType(trueParent);
|
||||
end;
|
||||
@ -755,7 +774,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
class function TClassTypeDefinition_TypeHandler.CanHandle(ASymbol: TClass): Boolean;
|
||||
class function TClassTypeDefinition_TypeHandler.CanHandle(ASymbol: TObject): Boolean;
|
||||
begin
|
||||
Result := inherited CanHandle(ASymbol) and
|
||||
( ASymbol.InheritsFrom(TPasClassType) and ( TPasClassType(ASymbol).ObjKind = okClass ));
|
||||
@ -808,7 +827,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
class function TEnumTypeHandler.CanHandle(ASymbol: TClass): Boolean;
|
||||
class function TEnumTypeHandler.CanHandle(ASymbol: TObject): Boolean;
|
||||
begin
|
||||
Result := inherited CanHandle(ASymbol) and ASymbol.InheritsFrom(TPasEnumType);
|
||||
end;
|
||||
@ -879,7 +898,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
class function TBaseArrayRemotable_TypeHandler.CanHandle(ASymbol: TClass): Boolean;
|
||||
class function TBaseArrayRemotable_TypeHandler.CanHandle(ASymbol: TObject): Boolean;
|
||||
begin
|
||||
Result := inherited CanHandle(ASymbol) and ASymbol.InheritsFrom(TPasArrayType);
|
||||
end;
|
||||
@ -895,7 +914,7 @@ begin
|
||||
Assert(ASymbol.InheritsFrom(TPasType));
|
||||
end;
|
||||
|
||||
class function TTypeDefinition_TypeHandler.CanHandle(ASymbol: TClass): Boolean;
|
||||
class function TTypeDefinition_TypeHandler.CanHandle(ASymbol: TObject): Boolean;
|
||||
begin
|
||||
Result := Assigned(ASymbol) and ASymbol.InheritsFrom(TPasType);
|
||||
end;
|
||||
@ -948,7 +967,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
class function TTypeAliasDefinition_TypeHandler.CanHandle(ASymbol: TClass): Boolean;
|
||||
class function TTypeAliasDefinition_TypeHandler.CanHandle(ASymbol: TObject): Boolean;
|
||||
begin
|
||||
Result := Assigned(ASymbol) and ASymbol.InheritsFrom(TPasAliasType);
|
||||
end;
|
||||
|
Reference in New Issue
Block a user