You've already forked lazarus-ccr
lazarus IDE integration :
- WSDL file import ( GUI ) menu Project/Web Services Toolkit/Import WSDL File ... - WSDL Type Library Editor ( GUI ) Project/Web Services Toolkit/Type Library Editor... git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@209 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
387
wst/trunk/ide/lazarus/test/test_import.lpi
Normal file
387
wst/trunk/ide/lazarus/test/test_import.lpi
Normal file
@ -0,0 +1,387 @@
|
||||
<?xml version="1.0"?>
|
||||
<CONFIG>
|
||||
<ProjectOptions>
|
||||
<PathDelim Value="\"/>
|
||||
<Version Value="5"/>
|
||||
<General>
|
||||
<MainUnit Value="0"/>
|
||||
<IconPath Value="./"/>
|
||||
<TargetFileExt Value=".exe"/>
|
||||
<ActiveEditorIndexAtStart Value="3"/>
|
||||
</General>
|
||||
<VersionInfo>
|
||||
<ProjectVersion Value=""/>
|
||||
</VersionInfo>
|
||||
<PublishOptions>
|
||||
<Version Value="2"/>
|
||||
<IgnoreBinaries Value="False"/>
|
||||
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
|
||||
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
|
||||
</PublishOptions>
|
||||
<RunParams>
|
||||
<local>
|
||||
<FormatVersion Value="1"/>
|
||||
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
|
||||
</local>
|
||||
</RunParams>
|
||||
<RequiredPackages Count="1">
|
||||
<Item1>
|
||||
<PackageName Value="LCL"/>
|
||||
</Item1>
|
||||
</RequiredPackages>
|
||||
<Units Count="39">
|
||||
<Unit0>
|
||||
<Filename Value="test_import.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="test_import"/>
|
||||
<CursorPos X="1" Y="17"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="73"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
<Filename Value="..\wstimportdlg.pas"/>
|
||||
<ComponentName Value="formImport"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="..\wstimportdlg.lrs"/>
|
||||
<UnitName Value="wstimportdlg"/>
|
||||
<CursorPos X="22" Y="256"/>
|
||||
<TopLine Value="233"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="73"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
<Filename Value="..\..\..\..\..\..\..\lazarus_23_215\lcl\interfaces\win32\interfaces.pp"/>
|
||||
<UnitName Value="Interfaces"/>
|
||||
<CursorPos X="41" Y="11"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit2>
|
||||
<Unit3>
|
||||
<Filename Value="..\..\..\ws_helper\command_line_parser.pas"/>
|
||||
<UnitName Value="command_line_parser"/>
|
||||
<CursorPos X="1" Y="31"/>
|
||||
<TopLine Value="16"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit3>
|
||||
<Unit4>
|
||||
<Filename Value="..\..\..\ws_helper\pscanner.pp"/>
|
||||
<UnitName Value="PScanner"/>
|
||||
<CursorPos X="12" Y="76"/>
|
||||
<TopLine Value="323"/>
|
||||
<UsageCount Value="14"/>
|
||||
</Unit4>
|
||||
<Unit5>
|
||||
<Filename Value="..\..\..\ws_helper\pascal_parser_intf.pas"/>
|
||||
<UnitName Value="pascal_parser_intf"/>
|
||||
<CursorPos X="1" Y="390"/>
|
||||
<TopLine Value="375"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<UsageCount Value="35"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit5>
|
||||
<Unit6>
|
||||
<Filename Value="..\..\..\..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\win32\classes.pp"/>
|
||||
<UnitName Value="Classes"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit6>
|
||||
<Unit7>
|
||||
<Filename Value="..\..\..\ws_helper\wsdl2pas_imp.pas"/>
|
||||
<UnitName Value="wsdl2pas_imp"/>
|
||||
<CursorPos X="18" Y="747"/>
|
||||
<TopLine Value="736"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="36"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit7>
|
||||
<Unit8>
|
||||
<Filename Value="..\..\..\ws_helper\logger_intf.pas"/>
|
||||
<UnitName Value="logger_intf"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit8>
|
||||
<Unit9>
|
||||
<Filename Value="..\..\..\ws_helper\source_utils.pas"/>
|
||||
<UnitName Value="source_utils"/>
|
||||
<CursorPos X="14" Y="311"/>
|
||||
<TopLine Value="291"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<UsageCount Value="11"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit9>
|
||||
<Unit10>
|
||||
<Filename Value="..\..\..\ws_helper\generator.pas"/>
|
||||
<UnitName Value="generator"/>
|
||||
<CursorPos X="31" Y="1645"/>
|
||||
<TopLine Value="1633"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<UsageCount Value="36"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit10>
|
||||
<Unit11>
|
||||
<Filename Value="..\..\..\ws_helper\metadata_generator.pas"/>
|
||||
<UnitName Value="metadata_generator"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="36"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit11>
|
||||
<Unit12>
|
||||
<Filename Value="..\..\..\binary_streamer.pas"/>
|
||||
<UnitName Value="binary_streamer"/>
|
||||
<CursorPos X="23" Y="21"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit12>
|
||||
<Unit13>
|
||||
<Filename Value="..\..\..\ws_helper\wst_resources_utils.pas"/>
|
||||
<UnitName Value="wst_resources_utils"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="36"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit13>
|
||||
<Unit14>
|
||||
<Filename Value="..\..\..\wst_rtti_filter\cursor_intf.pas"/>
|
||||
<UnitName Value="cursor_intf"/>
|
||||
<CursorPos X="1" Y="99"/>
|
||||
<TopLine Value="77"/>
|
||||
<UsageCount Value="16"/>
|
||||
</Unit14>
|
||||
<Unit15>
|
||||
<Filename Value="..\..\..\wst_rtti_filter\dom_cursors.pas"/>
|
||||
<UnitName Value="dom_cursors"/>
|
||||
<CursorPos X="1" Y="227"/>
|
||||
<TopLine Value="205"/>
|
||||
<UsageCount Value="16"/>
|
||||
</Unit15>
|
||||
<Unit16>
|
||||
<Filename Value="..\..\..\ws_helper\parserutils.pas"/>
|
||||
<UnitName Value="parserutils"/>
|
||||
<CursorPos X="9" Y="91"/>
|
||||
<TopLine Value="39"/>
|
||||
<UsageCount Value="11"/>
|
||||
</Unit16>
|
||||
<Unit17>
|
||||
<Filename Value="..\..\..\wst_rtti_filter\rtti_filters.pas"/>
|
||||
<UnitName Value="rtti_filters"/>
|
||||
<CursorPos X="1" Y="565"/>
|
||||
<TopLine Value="543"/>
|
||||
<UsageCount Value="11"/>
|
||||
</Unit17>
|
||||
<Unit18>
|
||||
<Filename Value="..\..\..\wst.inc"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit18>
|
||||
<Unit19>
|
||||
<Filename Value="..\..\..\wst_delphi.inc"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit19>
|
||||
<Unit20>
|
||||
<Filename Value="..\..\..\ws_helper\pastree.pp"/>
|
||||
<UnitName Value="PasTree"/>
|
||||
<CursorPos X="3" Y="663"/>
|
||||
<TopLine Value="659"/>
|
||||
<UsageCount Value="16"/>
|
||||
</Unit20>
|
||||
<Unit21>
|
||||
<Filename Value="uform2.pas"/>
|
||||
<ComponentName Value="Form2"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="uform2.lrs"/>
|
||||
<UnitName Value="uform2"/>
|
||||
<CursorPos X="5" Y="44"/>
|
||||
<TopLine Value="19"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="73"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit21>
|
||||
<Unit22>
|
||||
<Filename Value="..\..\..\..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\inc\heaptrc.pp"/>
|
||||
<UnitName Value="heaptrc"/>
|
||||
<CursorPos X="29" Y="46"/>
|
||||
<TopLine Value="34"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit22>
|
||||
<Unit23>
|
||||
<Filename Value="..\..\..\..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\inc\objpash.inc"/>
|
||||
<CursorPos X="22" Y="149"/>
|
||||
<TopLine Value="135"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit23>
|
||||
<Unit24>
|
||||
<Filename Value="..\..\..\..\..\..\..\lazarus_23_215\fpc\2.1.5\source\packages\fcl-base\src\inc\contnrs.pp"/>
|
||||
<UnitName Value="contnrs"/>
|
||||
<CursorPos X="15" Y="125"/>
|
||||
<TopLine Value="111"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit24>
|
||||
<Unit25>
|
||||
<Filename Value="..\..\..\..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\objpas\sysutils\sysutils.inc"/>
|
||||
<CursorPos X="1" Y="109"/>
|
||||
<TopLine Value="95"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit25>
|
||||
<Unit26>
|
||||
<Filename Value="..\..\..\..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\inc\objpas.inc"/>
|
||||
<CursorPos X="66" Y="85"/>
|
||||
<TopLine Value="58"/>
|
||||
<UsageCount Value="11"/>
|
||||
</Unit26>
|
||||
<Unit27>
|
||||
<Filename Value="..\..\..\..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\inc\wstrings.inc"/>
|
||||
<CursorPos X="1" Y="188"/>
|
||||
<TopLine Value="174"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit27>
|
||||
<Unit28>
|
||||
<Filename Value="..\..\..\..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\objpas\classes\lists.inc"/>
|
||||
<CursorPos X="1" Y="388"/>
|
||||
<TopLine Value="374"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit28>
|
||||
<Unit29>
|
||||
<Filename Value="..\..\..\..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\inc\heap.inc"/>
|
||||
<CursorPos X="1" Y="607"/>
|
||||
<TopLine Value="595"/>
|
||||
<UsageCount Value="11"/>
|
||||
</Unit29>
|
||||
<Unit30>
|
||||
<Filename Value="..\..\..\ws_helper\pparser.pp"/>
|
||||
<UnitName Value="PParser"/>
|
||||
<CursorPos X="22" Y="49"/>
|
||||
<TopLine Value="32"/>
|
||||
<UsageCount Value="15"/>
|
||||
</Unit30>
|
||||
<Unit31>
|
||||
<Filename Value="..\..\..\..\..\..\..\lazarus2204\lcl\include\screen.inc"/>
|
||||
<CursorPos X="1" Y="471"/>
|
||||
<TopLine Value="457"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit31>
|
||||
<Unit32>
|
||||
<Filename Value="..\wst_register.pas"/>
|
||||
<UnitName Value="wst_register"/>
|
||||
<CursorPos X="12" Y="8"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="30"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit32>
|
||||
<Unit33>
|
||||
<Filename Value="..\..\..\..\..\..\..\lazarus_23_215XX\lcl\graphics.pp"/>
|
||||
<UnitName Value="Graphics"/>
|
||||
<CursorPos X="15" Y="36"/>
|
||||
<TopLine Value="26"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit33>
|
||||
<Unit34>
|
||||
<Filename Value="..\..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\heaptrc.pp"/>
|
||||
<UnitName Value="heaptrc"/>
|
||||
<CursorPos X="8" Y="115"/>
|
||||
<TopLine Value="109"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit34>
|
||||
<Unit35>
|
||||
<Filename Value="..\..\..\..\..\..\..\lazarus2204\lcl\interfaces\win32\win32memostrings.inc"/>
|
||||
<CursorPos X="1" Y="74"/>
|
||||
<TopLine Value="60"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit35>
|
||||
<Unit36>
|
||||
<Filename Value="..\..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\classes\classesh.inc"/>
|
||||
<CursorPos X="14" Y="242"/>
|
||||
<TopLine Value="220"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit36>
|
||||
<Unit37>
|
||||
<Filename Value="..\..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysutilh.inc"/>
|
||||
<CursorPos X="13" Y="233"/>
|
||||
<TopLine Value="196"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit37>
|
||||
<Unit38>
|
||||
<Filename Value="..\..\..\..\..\..\..\lazarus_23_215XX\lcl\include\screen.inc"/>
|
||||
<CursorPos X="1" Y="480"/>
|
||||
<TopLine Value="465"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit38>
|
||||
</Units>
|
||||
<JumpHistory Count="0" HistoryIndex="-1"/>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="5"/>
|
||||
<PathDelim Value="\"/>
|
||||
<SearchPaths>
|
||||
<OtherUnitFiles Value="..\;..\..\..\;..\..\..\ws_helper\;..\..\..\wst_rtti_filter\"/>
|
||||
<UnitOutputDirectory Value="obj"/>
|
||||
</SearchPaths>
|
||||
<Parsing>
|
||||
<SyntaxOptions>
|
||||
<IncludeAssertionCode Value="True"/>
|
||||
<UseAnsiStrings Value="True"/>
|
||||
</SyntaxOptions>
|
||||
</Parsing>
|
||||
<CodeGeneration>
|
||||
<SmartLinkUnit Value="True"/>
|
||||
<Generate Value="Faster"/>
|
||||
<Optimizations>
|
||||
<OptimizationLevel Value="2"/>
|
||||
</Optimizations>
|
||||
</CodeGeneration>
|
||||
<Linking>
|
||||
<Debugging>
|
||||
<UseLineInfoUnit Value="False"/>
|
||||
</Debugging>
|
||||
<LinkSmart Value="True"/>
|
||||
<Options>
|
||||
<Win32>
|
||||
<GraphicApplication Value="True"/>
|
||||
</Win32>
|
||||
</Options>
|
||||
</Linking>
|
||||
<Other>
|
||||
<CompilerPath Value="$(CompPath)"/>
|
||||
</Other>
|
||||
</CompilerOptions>
|
||||
<Debugging>
|
||||
<BreakPoints Count="2">
|
||||
<Item1>
|
||||
<Source Value="..\..\..\ws_helper\wsdl2pas_imp.pas"/>
|
||||
<Line Value="1359"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<Source Value="..\..\..\ws_helper\source_utils.pas"/>
|
||||
<Line Value="207"/>
|
||||
</Item2>
|
||||
</BreakPoints>
|
||||
<Watches Count="3">
|
||||
<Item1>
|
||||
<Expression Value="FName"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<Expression Value="FRefCount"/>
|
||||
</Item2>
|
||||
<Item3>
|
||||
<Expression Value="Self"/>
|
||||
</Item3>
|
||||
</Watches>
|
||||
<Exceptions Count="2">
|
||||
<Item1>
|
||||
<Name Value="ECodetoolError"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<Name Value="EFOpenError"/>
|
||||
</Item2>
|
||||
</Exceptions>
|
||||
</Debugging>
|
||||
</CONFIG>
|
18
wst/trunk/ide/lazarus/test/test_import.lpr
Normal file
18
wst/trunk/ide/lazarus/test/test_import.lpr
Normal file
@ -0,0 +1,18 @@
|
||||
program test_import;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
uses
|
||||
{$IFDEF UNIX}{$IFDEF UseCThreads}
|
||||
cthreads,
|
||||
{$ENDIF}{$ENDIF}
|
||||
Interfaces, // this includes the LCL widgetset
|
||||
Forms
|
||||
{ add your units here }, wstimportdlg, uform2;
|
||||
|
||||
begin
|
||||
Application.Initialize;
|
||||
Application.CreateForm(TForm2, Form2);
|
||||
Application.Run;
|
||||
end.
|
||||
|
22
wst/trunk/ide/lazarus/test/uform2.lfm
Normal file
22
wst/trunk/ide/lazarus/test/uform2.lfm
Normal file
@ -0,0 +1,22 @@
|
||||
object Form2: TForm2
|
||||
Left = 322
|
||||
Height = 300
|
||||
Top = 275
|
||||
Width = 400
|
||||
HorzScrollBar.Page = 399
|
||||
VertScrollBar.Page = 299
|
||||
ActiveControl = Button1
|
||||
Caption = 'Form2'
|
||||
ClientHeight = 300
|
||||
ClientWidth = 400
|
||||
object Button1: TButton
|
||||
Left = 190
|
||||
Height = 25
|
||||
Top = 65
|
||||
Width = 75
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = 'Button1'
|
||||
OnClick = Button1Click
|
||||
TabOrder = 0
|
||||
end
|
||||
end
|
8
wst/trunk/ide/lazarus/test/uform2.lrs
Normal file
8
wst/trunk/ide/lazarus/test/uform2.lrs
Normal file
@ -0,0 +1,8 @@
|
||||
LazarusResources.Add('TForm2','FORMDATA',[
|
||||
'TPF0'#6'TForm2'#5'Form2'#4'Left'#3'B'#1#6'Height'#3','#1#3'Top'#3#19#1#5'Wid'
|
||||
+'th'#3#144#1#18'HorzScrollBar.Page'#3#143#1#18'VertScrollBar.Page'#3'+'#1#13
|
||||
+'ActiveControl'#7#7'Button1'#7'Caption'#6#5'Form2'#12'ClientHeight'#3','#1#11
|
||||
+'ClientWidth'#3#144#1#0#7'TButton'#7'Button1'#4'Left'#3#190#0#6'Height'#2#25
|
||||
+#3'Top'#2'A'#5'Width'#2'K'#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#7
|
||||
+'Button1'#7'OnClick'#7#12'Button1Click'#8'TabOrder'#2#0#0#0#0
|
||||
]);
|
48
wst/trunk/ide/lazarus/test/uform2.pas
Normal file
48
wst/trunk/ide/lazarus/test/uform2.pas
Normal file
@ -0,0 +1,48 @@
|
||||
unit uform2;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Buttons;
|
||||
|
||||
type
|
||||
|
||||
{ TForm2 }
|
||||
|
||||
TForm2 = class(TForm)
|
||||
Button1: TButton;
|
||||
procedure Button1Click(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
Form2: TForm2;
|
||||
|
||||
implementation
|
||||
uses wstimportdlg;//, HeapTrc;
|
||||
|
||||
{ TForm2 }
|
||||
|
||||
procedure TForm2.Button1Click(Sender: TObject);
|
||||
var
|
||||
f : TformImport;
|
||||
begin
|
||||
f := TformImport.Create(nil);
|
||||
try
|
||||
f.ShowModal();
|
||||
finally
|
||||
f.Release();
|
||||
end;
|
||||
end;
|
||||
|
||||
initialization
|
||||
//SetHeapTraceOutput('heapTrace.txt');
|
||||
{$I uform2.lrs}
|
||||
|
||||
end.
|
||||
|
96
wst/trunk/ide/lazarus/wst_design.lpk
Normal file
96
wst/trunk/ide/lazarus/wst_design.lpk
Normal file
@ -0,0 +1,96 @@
|
||||
<?xml version="1.0"?>
|
||||
<CONFIG>
|
||||
<Package Version="2">
|
||||
<PathDelim Value="\"/>
|
||||
<Name Value="wst_design"/>
|
||||
<Author Value="Inoussa OUEDRAOGO"/>
|
||||
<CompilerOptions>
|
||||
<Version Value="5"/>
|
||||
<PathDelim Value="\"/>
|
||||
<SearchPaths>
|
||||
<IncludeFiles Value="..\..\;..\..\ws_helper\;..\..\wst_rtti_filter\;..\..\type_lib_edtr\"/>
|
||||
<OtherUnitFiles Value="..\..\;..\..\ws_helper\;..\..\wst_rtti_filter\;..\..\type_lib_edtr\"/>
|
||||
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
|
||||
</SearchPaths>
|
||||
<Parsing>
|
||||
<SyntaxOptions>
|
||||
<UseAnsiStrings Value="True"/>
|
||||
</SyntaxOptions>
|
||||
</Parsing>
|
||||
<CodeGeneration>
|
||||
<Generate Value="Faster"/>
|
||||
</CodeGeneration>
|
||||
<Other>
|
||||
<CompilerPath Value="$(CompPath)"/>
|
||||
</Other>
|
||||
</CompilerOptions>
|
||||
<Description Value="Web Services Toolkit Lazarus IDE design time package"/>
|
||||
<Version Minor="1"/>
|
||||
<Files Count="10">
|
||||
<Item1>
|
||||
<Filename Value="wstimportdlg.lfm"/>
|
||||
<Type Value="LFM"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<Filename Value="wstimportdlg.lrs"/>
|
||||
<Type Value="LRS"/>
|
||||
</Item2>
|
||||
<Item3>
|
||||
<Filename Value="wstimportdlg.pas"/>
|
||||
<UnitName Value="wstimportdlg"/>
|
||||
</Item3>
|
||||
<Item4>
|
||||
<Filename Value="wst_register.pas"/>
|
||||
<HasRegisterProc Value="True"/>
|
||||
<UnitName Value="wst_register"/>
|
||||
</Item4>
|
||||
<Item5>
|
||||
<Filename Value="..\..\type_lib_edtr\uwsttypelibraryedit.lfm"/>
|
||||
<Type Value="LFM"/>
|
||||
</Item5>
|
||||
<Item6>
|
||||
<Filename Value="..\..\type_lib_edtr\uwsttypelibraryedit.lrs"/>
|
||||
<Type Value="LRS"/>
|
||||
</Item6>
|
||||
<Item7>
|
||||
<Filename Value="..\..\type_lib_edtr\uwsttypelibraryedit.pas"/>
|
||||
<UnitName Value="uwsttypelibraryedit"/>
|
||||
</Item7>
|
||||
<Item8>
|
||||
<Filename Value="..\..\type_lib_edtr\uabout.lfm"/>
|
||||
<Type Value="LFM"/>
|
||||
</Item8>
|
||||
<Item9>
|
||||
<Filename Value="..\..\type_lib_edtr\uabout.lrs"/>
|
||||
<Type Value="LRS"/>
|
||||
</Item9>
|
||||
<Item10>
|
||||
<Filename Value="..\..\type_lib_edtr\uabout.pas"/>
|
||||
<UnitName Value="uabout"/>
|
||||
</Item10>
|
||||
</Files>
|
||||
<Type Value="DesignTime"/>
|
||||
<RequiredPkgs Count="4">
|
||||
<Item1>
|
||||
<PackageName Value="SynEdit"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<PackageName Value="LCL"/>
|
||||
</Item2>
|
||||
<Item3>
|
||||
<PackageName Value="IDEIntf"/>
|
||||
</Item3>
|
||||
<Item4>
|
||||
<PackageName Value="FCL"/>
|
||||
<MinVersion Major="1" Valid="True"/>
|
||||
</Item4>
|
||||
</RequiredPkgs>
|
||||
<UsageOptions>
|
||||
<UnitPath Value="$(PkgOutDir)\"/>
|
||||
</UsageOptions>
|
||||
<PublishOptions>
|
||||
<Version Value="2"/>
|
||||
<IgnoreBinaries Value="False"/>
|
||||
</PublishOptions>
|
||||
</Package>
|
||||
</CONFIG>
|
21
wst/trunk/ide/lazarus/wst_design.pas
Normal file
21
wst/trunk/ide/lazarus/wst_design.pas
Normal file
@ -0,0 +1,21 @@
|
||||
{ Ce fichier a �t� automatiquement cr�� par Lazarus. Ne pas l'�diter !
|
||||
Cette source est seulement employ�e pour compiler et installer le paquet.
|
||||
}
|
||||
|
||||
unit wst_design;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
wstimportdlg, wst_register, uwsttypelibraryedit, uabout, LazarusPackageIntf;
|
||||
|
||||
implementation
|
||||
|
||||
procedure Register;
|
||||
begin
|
||||
RegisterUnit ('wst_register', @wst_register.Register );
|
||||
end;
|
||||
|
||||
initialization
|
||||
RegisterPackage ('wst_design', @Register );
|
||||
end.
|
58
wst/trunk/ide/lazarus/wst_register.pas
Normal file
58
wst/trunk/ide/lazarus/wst_register.pas
Normal file
@ -0,0 +1,58 @@
|
||||
unit wst_register;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils;
|
||||
|
||||
|
||||
procedure Register();
|
||||
|
||||
implementation
|
||||
uses MenuIntf, LazIDEIntf,
|
||||
wstimportdlg, uwsttypelibraryedit;
|
||||
|
||||
procedure ShowImportDialog(Sender: TObject);
|
||||
var
|
||||
f : TformImport;
|
||||
begin
|
||||
f := TformImport.Create(nil);
|
||||
try
|
||||
if ( LazarusIDE.ActiveProject <> nil ) and
|
||||
( LazarusIDE.ActiveProject.MainFile <> nil )
|
||||
then begin
|
||||
f.edtOutputDir.Text := ExtractFileDir(LazarusIDE.ActiveProject.MainFile.Filename);
|
||||
end;
|
||||
f.ShowModal();
|
||||
finally
|
||||
f.Release();
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure ShowTypeLibraryDialog(Sender: TObject);
|
||||
var
|
||||
f : TfWstTypeLibraryEdit;
|
||||
begin
|
||||
f := TfWstTypeLibraryEdit.Create(nil);
|
||||
try
|
||||
f.ShowModal();
|
||||
finally
|
||||
f.Release();
|
||||
end;
|
||||
end;
|
||||
|
||||
var
|
||||
itmWstSection : TIDEMenuSection;
|
||||
|
||||
procedure Register();
|
||||
begin
|
||||
itmWstSection := RegisterIDESubMenu(mnuProject,'itmWstSection','Web Services Toolkit',nil,nil);
|
||||
RegisterIDEMenuCommand(itmWstSection,'itmWstImportWsdlFile','Import WSDL File ...',nil,@ShowImportDialog);
|
||||
RegisterIDEMenuCommand(itmWstSection,'itmWstImportWsdlFile','Type Library Editor ...',nil,@ShowTypeLibraryDialog);
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
|
233
wst/trunk/ide/lazarus/wstimportdlg.lfm
Normal file
233
wst/trunk/ide/lazarus/wstimportdlg.lfm
Normal file
@ -0,0 +1,233 @@
|
||||
object formImport: TformImport
|
||||
Left = 431
|
||||
Height = 538
|
||||
Top = 153
|
||||
Width = 526
|
||||
HorzScrollBar.Page = 525
|
||||
VertScrollBar.Page = 537
|
||||
ActiveControl = Button1
|
||||
BorderStyle = bsSizeToolWin
|
||||
Caption = 'WSDL Importer'
|
||||
ClientHeight = 538
|
||||
ClientWidth = 526
|
||||
object Panel2: TPanel
|
||||
Height = 490
|
||||
Width = 526
|
||||
Align = alClient
|
||||
ClientHeight = 490
|
||||
ClientWidth = 526
|
||||
TabOrder = 1
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 8
|
||||
Height = 168
|
||||
Top = 8
|
||||
Width = 506
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
ClientHeight = 150
|
||||
ClientWidth = 502
|
||||
TabOrder = 0
|
||||
object Label1: TLabel
|
||||
Left = 9
|
||||
Height = 14
|
||||
Top = 4
|
||||
Width = 186
|
||||
Caption = 'Web Services Description File ( WSDL )'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 9
|
||||
Height = 14
|
||||
Top = 69
|
||||
Width = 81
|
||||
Caption = 'Output directory'
|
||||
ParentColor = False
|
||||
end
|
||||
object edtInputFile: TEdit
|
||||
Left = 9
|
||||
Height = 23
|
||||
Top = 31
|
||||
Width = 416
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabOrder = 0
|
||||
end
|
||||
object Button2: TButton
|
||||
Left = 443
|
||||
Height = 25
|
||||
Top = 31
|
||||
Width = 40
|
||||
Action = actOpenFile
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
TabOrder = 1
|
||||
end
|
||||
object edtOutputDir: TEdit
|
||||
Left = 9
|
||||
Height = 23
|
||||
Top = 88
|
||||
Width = 416
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabOrder = 2
|
||||
end
|
||||
object Button3: TButton
|
||||
Left = 443
|
||||
Height = 25
|
||||
Top = 88
|
||||
Width = 40
|
||||
Action = actOpenDir
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
TabOrder = 3
|
||||
end
|
||||
object edtAddToProject: TCheckBox
|
||||
Left = 9
|
||||
Height = 13
|
||||
Top = 128
|
||||
Width = 176
|
||||
Caption = 'Add the generated files to project'
|
||||
TabOrder = 4
|
||||
end
|
||||
end
|
||||
object GroupBox2: TGroupBox
|
||||
Left = 8
|
||||
Height = 162
|
||||
Top = 320
|
||||
Width = 506
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
Caption = ' Messages '
|
||||
ClientHeight = 144
|
||||
ClientWidth = 502
|
||||
TabOrder = 2
|
||||
object mmoLog: TMemo
|
||||
Height = 144
|
||||
Width = 502
|
||||
Align = alClient
|
||||
ReadOnly = True
|
||||
ScrollBars = ssBoth
|
||||
TabOrder = 0
|
||||
end
|
||||
end
|
||||
object GroupBox3: TGroupBox
|
||||
Left = 8
|
||||
Height = 120
|
||||
Top = 184
|
||||
Width = 506
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
Caption = ' Options '
|
||||
ClientHeight = 102
|
||||
ClientWidth = 502
|
||||
TabOrder = 1
|
||||
object edtOptionIntf: TCheckBox
|
||||
Left = 9
|
||||
Height = 13
|
||||
Top = 8
|
||||
Width = 78
|
||||
Caption = 'Interface file'
|
||||
Checked = True
|
||||
OnClick = edtOptionIntfClick
|
||||
State = cbChecked
|
||||
TabOrder = 0
|
||||
end
|
||||
object edtOptionProxy: TCheckBox
|
||||
Left = 9
|
||||
Height = 13
|
||||
Top = 56
|
||||
Width = 62
|
||||
Caption = 'Proxy file'
|
||||
Checked = True
|
||||
State = cbChecked
|
||||
TabOrder = 2
|
||||
end
|
||||
object edtOptionBinder: TCheckBox
|
||||
Left = 294
|
||||
Height = 13
|
||||
Top = 8
|
||||
Width = 105
|
||||
Caption = 'Service Binder file'
|
||||
TabOrder = 3
|
||||
end
|
||||
object edtOptionImp: TCheckBox
|
||||
Left = 294
|
||||
Height = 13
|
||||
Top = 56
|
||||
Width = 155
|
||||
Caption = 'Implementation Skeletton file'
|
||||
TabOrder = 4
|
||||
end
|
||||
object edtOptionIntfALL: TCheckBox
|
||||
Left = 30
|
||||
Height = 13
|
||||
Top = 32
|
||||
Width = 88
|
||||
Caption = 'Parse all types'
|
||||
OnClick = edtOptionIntfALLClick
|
||||
TabOrder = 1
|
||||
end
|
||||
end
|
||||
end
|
||||
object Panel1: TPanel
|
||||
Height = 48
|
||||
Top = 490
|
||||
Width = 526
|
||||
Align = alBottom
|
||||
ClientHeight = 48
|
||||
ClientWidth = 526
|
||||
TabOrder = 0
|
||||
object Button1: TButton
|
||||
Left = 351
|
||||
Height = 25
|
||||
Top = 8
|
||||
Width = 75
|
||||
Action = actOK
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Default = True
|
||||
TabOrder = 0
|
||||
end
|
||||
object Button4: TButton
|
||||
Left = 439
|
||||
Height = 25
|
||||
Top = 8
|
||||
Width = 75
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Cancel = True
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 1
|
||||
end
|
||||
end
|
||||
object AL: TActionList
|
||||
left = 104
|
||||
top = 328
|
||||
object actOK: TAction
|
||||
Caption = 'OK'
|
||||
DisableIfNoHandler = True
|
||||
OnExecute = actOKExecute
|
||||
OnUpdate = actOKUpdate
|
||||
end
|
||||
object actOpenFile: TAction
|
||||
Caption = '...'
|
||||
DisableIfNoHandler = True
|
||||
OnExecute = actOpenFileExecute
|
||||
end
|
||||
object actOpenDir: TAction
|
||||
Caption = '...'
|
||||
DisableIfNoHandler = True
|
||||
OnExecute = actOpenDirExecute
|
||||
end
|
||||
end
|
||||
object OD: TOpenDialog
|
||||
Title = 'Ouvrir un fichier existant'
|
||||
Filter = 'WSDL Files ( *.wsdl )|*.wsdl'
|
||||
FilterIndex = 0
|
||||
Options = [ofFileMustExist, ofEnableSizing, ofViewDetail]
|
||||
left = 160
|
||||
top = 16
|
||||
end
|
||||
object SDD: TSelectDirectoryDialog
|
||||
Title = 'Choisir un r�pertoire'
|
||||
FilterIndex = 0
|
||||
left = 224
|
||||
top = 176
|
||||
end
|
||||
end
|
65
wst/trunk/ide/lazarus/wstimportdlg.lrs
Normal file
65
wst/trunk/ide/lazarus/wstimportdlg.lrs
Normal file
@ -0,0 +1,65 @@
|
||||
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
|
||||
|
||||
LazarusResources.Add('TformImport','FORMDATA',[
|
||||
'TPF0'#11'TformImport'#10'formImport'#4'Left'#3#175#1#6'Height'#3#26#2#3'Top'
|
||||
+#3#153#0#5'Width'#3#14#2#18'HorzScrollBar.Page'#3#13#2#18'VertScrollBar.Page'
|
||||
+#3#25#2#13'ActiveControl'#7#7'Button1'#11'BorderStyle'#7#13'bsSizeToolWin'#7
|
||||
+'Caption'#6#13'WSDL Importer'#12'ClientHeight'#3#26#2#11'ClientWidth'#3#14#2
|
||||
+#0#6'TPanel'#6'Panel2'#6'Height'#3#234#1#5'Width'#3#14#2#5'Align'#7#8'alClie'
|
||||
+'nt'#12'ClientHeight'#3#234#1#11'ClientWidth'#3#14#2#8'TabOrder'#2#1#0#9'TGr'
|
||||
+'oupBox'#9'GroupBox1'#4'Left'#2#8#6'Height'#3#168#0#3'Top'#2#8#5'Width'#3#250
|
||||
+#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#12'ClientHeight'#3#150#0#11
|
||||
+'ClientWidth'#3#246#1#8'TabOrder'#2#0#0#6'TLabel'#6'Label1'#4'Left'#2#9#6'He'
|
||||
+'ight'#2#14#3'Top'#2#4#5'Width'#3#186#0#7'Caption'#6'&Web Services Descripti'
|
||||
+'on File ( WSDL )'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#9#6'H'
|
||||
+'eight'#2#14#3'Top'#2'E'#5'Width'#2'Q'#7'Caption'#6#16'Output directory'#11
|
||||
+'ParentColor'#8#0#0#5'TEdit'#12'edtInputFile'#4'Left'#2#9#6'Height'#2#23#3'T'
|
||||
+'op'#2#31#5'Width'#3#160#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'T'
|
||||
+'abOrder'#2#0#0#0#7'TButton'#7'Button2'#4'Left'#3#187#1#6'Height'#2#25#3'Top'
|
||||
+#2#31#5'Width'#2'('#6'Action'#7#11'actOpenFile'#7'Anchors'#11#5'akTop'#7'akR'
|
||||
+'ight'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#1#0#0#5'TEdit'#12'e'
|
||||
+'dtOutputDir'#4'Left'#2#9#6'Height'#2#23#3'Top'#2'X'#5'Width'#3#160#1#7'Anch'
|
||||
+'ors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#2#0#0#7'TButton'#7'Bu'
|
||||
+'tton3'#4'Left'#3#187#1#6'Height'#2#25#3'Top'#2'X'#5'Width'#2'('#6'Action'#7
|
||||
+#10'actOpenDir'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBo'
|
||||
+'rder'#2#4#8'TabOrder'#2#3#0#0#9'TCheckBox'#15'edtAddToProject'#4'Left'#2#9#6
|
||||
+'Height'#2#13#3'Top'#3#128#0#5'Width'#3#176#0#7'Caption'#6'"Add the generate'
|
||||
+'d files to project'#8'TabOrder'#2#4#0#0#0#9'TGroupBox'#9'GroupBox2'#4'Left'
|
||||
+#2#8#6'Height'#3#162#0#3'Top'#3'@'#1#5'Width'#3#250#1#7'Anchors'#11#5'akTop'
|
||||
+#6'akLeft'#7'akRight'#8'akBottom'#0#7'Caption'#6#12' Messages '#12'ClientH'
|
||||
+'eight'#3#144#0#11'ClientWidth'#3#246#1#8'TabOrder'#2#2#0#5'TMemo'#6'mmoLog'
|
||||
+#6'Height'#3#144#0#5'Width'#3#246#1#5'Align'#7#8'alClient'#8'ReadOnly'#9#10
|
||||
+'ScrollBars'#7#6'ssBoth'#8'TabOrder'#2#0#0#0#0#9'TGroupBox'#9'GroupBox3'#4'L'
|
||||
+'eft'#2#8#6'Height'#2'x'#3'Top'#3#184#0#5'Width'#3#250#1#7'Anchors'#11#5'akT'
|
||||
+'op'#6'akLeft'#7'akRight'#0#7'Caption'#6#11' Options '#12'ClientHeight'#2
|
||||
+'f'#11'ClientWidth'#3#246#1#8'TabOrder'#2#1#0#9'TCheckBox'#13'edtOptionIntf'
|
||||
+#4'Left'#2#9#6'Height'#2#13#3'Top'#2#8#5'Width'#2'N'#7'Caption'#6#14'Interfa'
|
||||
+'ce file'#7'Checked'#9#7'OnClick'#7#18'edtOptionIntfClick'#5'State'#7#9'cbCh'
|
||||
+'ecked'#8'TabOrder'#2#0#0#0#9'TCheckBox'#14'edtOptionProxy'#4'Left'#2#9#6'He'
|
||||
+'ight'#2#13#3'Top'#2'8'#5'Width'#2'>'#7'Caption'#6#10'Proxy file'#7'Checked'
|
||||
+#9#5'State'#7#9'cbChecked'#8'TabOrder'#2#2#0#0#9'TCheckBox'#15'edtOptionBind'
|
||||
+'er'#4'Left'#3'&'#1#6'Height'#2#13#3'Top'#2#8#5'Width'#2'i'#7'Caption'#6#19
|
||||
+'Service Binder file'#8'TabOrder'#2#3#0#0#9'TCheckBox'#12'edtOptionImp'#4'Le'
|
||||
+'ft'#3'&'#1#6'Height'#2#13#3'Top'#2'8'#5'Width'#3#155#0#7'Caption'#6#29'Impl'
|
||||
+'ementation Skeletton file'#8'TabOrder'#2#4#0#0#9'TCheckBox'#16'edtOptionInt'
|
||||
+'fALL'#4'Left'#2#30#6'Height'#2#13#3'Top'#2' '#5'Width'#2'X'#7'Caption'#6#15
|
||||
+'Parse all types'#7'OnClick'#7#21'edtOptionIntfALLClick'#8'TabOrder'#2#1#0#0
|
||||
+#0#0#6'TPanel'#6'Panel1'#6'Height'#2'0'#3'Top'#3#234#1#5'Width'#3#14#2#5'Ali'
|
||||
+'gn'#7#8'alBottom'#12'ClientHeight'#2'0'#11'ClientWidth'#3#14#2#8'TabOrder'#2
|
||||
+#0#0#7'TButton'#7'Button1'#4'Left'#3'_'#1#6'Height'#2#25#3'Top'#2#8#5'Width'
|
||||
+#2'K'#6'Action'#7#5'actOK'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpac'
|
||||
+'ing.InnerBorder'#2#4#7'Default'#9#8'TabOrder'#2#0#0#0#7'TButton'#7'Button4'
|
||||
+#4'Left'#3#183#1#6'Height'#2#25#3'Top'#2#8#5'Width'#2'K'#7'Anchors'#11#5'akT'
|
||||
+'op'#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#11'TActionList'#2'AL'#4
|
||||
+'left'#2'h'#3'top'#3'H'#1#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#18'Disabl'
|
||||
+'eIfNoHandler'#9#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actOKUpdat'
|
||||
+'e'#0#0#7'TAction'#11'actOpenFile'#7'Caption'#6#3'...'#18'DisableIfNoHandler'
|
||||
+#9#9'OnExecute'#7#18'actOpenFileExecute'#0#0#7'TAction'#10'actOpenDir'#7'Cap'
|
||||
+'tion'#6#3'...'#18'DisableIfNoHandler'#9#9'OnExecute'#7#17'actOpenDirExecute'
|
||||
+#0#0#0#11'TOpenDialog'#2'OD'#5'Title'#6#26'Ouvrir un fichier existant'#6'Fil'
|
||||
+'ter'#6#28'WSDL Files ( *.wsdl )|*.wsdl'#11'FilterIndex'#2#0#7'Options'#11#15
|
||||
+'ofFileMustExist'#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3#160#0#3'to'
|
||||
+'p'#2#16#0#0#22'TSelectDirectoryDialog'#3'SDD'#5'Title'#6#21'Choisir un r'
|
||||
+#233'pertoire'#11'FilterIndex'#2#0#4'left'#3#224#0#3'top'#3#176#0#0#0#0
|
||||
]);
|
308
wst/trunk/ide/lazarus/wstimportdlg.pas
Normal file
308
wst/trunk/ide/lazarus/wstimportdlg.pas
Normal file
@ -0,0 +1,308 @@
|
||||
|
||||
unit wstimportdlg;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
{$DEFINE WST_IDE}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
|
||||
ExtCtrls, Buttons, ActnList, logger_intf;
|
||||
|
||||
type
|
||||
|
||||
TGenOption = (
|
||||
goInterface, goInterfaceALL,
|
||||
goProxy, goImp, goBinder
|
||||
);
|
||||
TGenOptions = set of TGenOption;
|
||||
|
||||
TOnParserMessage = procedure (const AMsgType : TMessageType; const AMsg : string) of object;
|
||||
|
||||
{ TformImport }
|
||||
|
||||
TformImport = class(TForm)
|
||||
actOpenDir: TAction;
|
||||
actOpenFile: TAction;
|
||||
actOK: TAction;
|
||||
AL: TActionList;
|
||||
Button1: TButton;
|
||||
Button2: TButton;
|
||||
Button3: TButton;
|
||||
Button4: TButton;
|
||||
edtAddToProject : TCheckBox;
|
||||
edtOptionIntfALL: TCheckBox;
|
||||
edtOptionIntf: TCheckBox;
|
||||
edtOptionProxy: TCheckBox;
|
||||
edtOptionBinder: TCheckBox;
|
||||
edtOptionImp: TCheckBox;
|
||||
edtInputFile: TEdit;
|
||||
edtOutputDir: TEdit;
|
||||
GroupBox1: TGroupBox;
|
||||
GroupBox2: TGroupBox;
|
||||
GroupBox3: TGroupBox;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
mmoLog: TMemo;
|
||||
OD: TOpenDialog;
|
||||
Panel1: TPanel;
|
||||
Panel2: TPanel;
|
||||
SDD: TSelectDirectoryDialog;
|
||||
procedure actOKExecute(Sender: TObject);
|
||||
procedure actOKUpdate(Sender: TObject);
|
||||
procedure actOpenDirExecute(Sender: TObject);
|
||||
procedure actOpenFileExecute(Sender: TObject);
|
||||
procedure edtOptionIntfALLClick(Sender: TObject);
|
||||
procedure edtOptionIntfClick(Sender: TObject);
|
||||
private
|
||||
FStatusMessageTag : Integer;
|
||||
procedure ShowStatusMessage(const AMsgType : TMessageType;const AMsg : string);
|
||||
public
|
||||
function GetOptions() : TGenOptions;
|
||||
end;
|
||||
|
||||
var
|
||||
formImport: TformImport;
|
||||
|
||||
implementation
|
||||
uses DOM, XMLRead, pastree, pascal_parser_intf, wsdl2pas_imp, source_utils,
|
||||
generator, metadata_generator, binary_streamer, wst_resources_utils
|
||||
{$IFDEF WST_IDE},LazIDEIntf{$ENDIF};
|
||||
|
||||
type
|
||||
TSourceType = goInterface .. goBinder;
|
||||
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 ( ( [goInterface,goInterfaceALL] * AOptions ) <> [] ) then begin
|
||||
Notify('Interface file generation...');
|
||||
g := TInftGenerator.Create(ASymbolTable,Result);
|
||||
g.Execute();
|
||||
FreeAndNil(g);
|
||||
end;
|
||||
|
||||
if ( goProxy in AOptions ) then begin
|
||||
Notify('Proxy file generation...');
|
||||
g := TProxyGenerator.Create(ASymbolTable,Result);
|
||||
g.Execute();
|
||||
FreeAndNil(g);
|
||||
end;
|
||||
|
||||
if ( goBinder in AOptions ) then begin
|
||||
Notify('Binder file generation...');
|
||||
g := TBinderGenerator.Create(ASymbolTable,Result);
|
||||
g.Execute();
|
||||
FreeAndNil(g);
|
||||
end;
|
||||
|
||||
if ( goImp in AOptions ) then begin
|
||||
Notify('Implementation file generation...');
|
||||
g := TImplementationGenerator.Create(ASymbolTable,Result);
|
||||
g.Execute();
|
||||
FreeAndNil(g);
|
||||
end;
|
||||
|
||||
if ( AOutputType = otFileSystem ) and ( [goBinder,goProxy]*AOptions <> [] ) then begin
|
||||
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;
|
||||
|
||||
{ TformImport }
|
||||
|
||||
procedure TformImport.actOpenFileExecute(Sender: TObject);
|
||||
begin
|
||||
if OD.Execute() then begin
|
||||
edtInputFile.Text := OD.FileName;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TformImport.edtOptionIntfALLClick(Sender: TObject);
|
||||
begin
|
||||
if edtOptionIntfALL.Checked and ( not edtOptionIntf.Checked ) then
|
||||
edtOptionIntf.Checked := True;
|
||||
end;
|
||||
|
||||
procedure TformImport.edtOptionIntfClick(Sender: TObject);
|
||||
begin
|
||||
if ( not edtOptionIntf.Checked ) and edtOptionIntfALL.Checked then
|
||||
edtOptionIntfALL.Checked := False;
|
||||
end;
|
||||
|
||||
procedure TformImport.ShowStatusMessage(const AMsgType: TMessageType;const AMsg: string);
|
||||
begin
|
||||
mmoLog.Lines.Add(Format('%s : %s',[MessageTypeNames[AMsgType],AMsg]));
|
||||
Inc(FStatusMessageTag);
|
||||
if ( (FStatusMessageTag) > 23 ) then begin
|
||||
FStatusMessageTag := 0;
|
||||
Application.ProcessMessages();
|
||||
end;
|
||||
end;
|
||||
|
||||
function TformImport.GetOptions(): TGenOptions;
|
||||
begin
|
||||
Result := [];
|
||||
if edtOptionIntf.Checked then begin
|
||||
Result := Result + [goInterface];
|
||||
if edtOptionIntfALL.Checked then begin
|
||||
Result := Result + [goInterfaceALL];
|
||||
end;
|
||||
end;
|
||||
if edtOptionProxy.Checked then
|
||||
Include(Result,goProxy);
|
||||
if edtOptionBinder.Checked then
|
||||
Include(Result,goBinder);
|
||||
if edtOptionImp.Checked then
|
||||
Include(Result,goImp);
|
||||
end;
|
||||
|
||||
procedure TformImport.actOpenDirExecute(Sender: TObject);
|
||||
begin
|
||||
if SDD.Execute() then begin
|
||||
if not DirectoryExists(SDD.FileName) then
|
||||
ForceDirectories(SDD.FileName);
|
||||
edtOutputDir.Text := SDD.FileName;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TformImport.actOKUpdate(Sender: TObject);
|
||||
begin
|
||||
TAction(Sender).Enabled := FileExists(edtInputFile.Text) and
|
||||
DirectoryExists(edtOutputDir.Text) and
|
||||
( GetOptions() <> [] );
|
||||
end;
|
||||
|
||||
procedure TformImport.actOKExecute(Sender: TObject);
|
||||
var
|
||||
tree : TwstPasTreeContainer;
|
||||
oldCursor : TCursor;
|
||||
srcMgnr : ISourceManager;
|
||||
i : Integer;
|
||||
{$IFDEF WST_IDE}
|
||||
j, c : Integer;
|
||||
srcItm : ISourceStream;
|
||||
trueOpenFlags, openFlags : TOpenFlags;
|
||||
destPath : string;
|
||||
{$ENDIF}
|
||||
begin
|
||||
oldCursor := Screen.Cursor;
|
||||
Screen.Cursor := crHourGlass;
|
||||
try
|
||||
tree := ParseWsdlFile(edtInputFile.Text,@ShowStatusMessage);
|
||||
try
|
||||
srcMgnr := GenerateSource(tree,GetOptions(),otFileSystem,edtOutputDir.Text,@ShowStatusMessage);
|
||||
ShowStatusMessage(mtInfo,'');
|
||||
{$IFDEF WST_IDE}
|
||||
openFlags := [];
|
||||
if edtAddToProject.Checked then begin
|
||||
Include(openFlags,ofAddToProject);
|
||||
end;
|
||||
destPath := IncludeTrailingPathDelimiter(edtOutputDir.Text);
|
||||
c := srcMgnr.GetCount();
|
||||
for i := 0 to Pred(c) do begin
|
||||
srcItm := srcMgnr.GetItem(i);
|
||||
trueOpenFlags := openFlags;
|
||||
for j := 0 to Pred(LazarusIDE.ActiveProject.FileCount) do begin
|
||||
if AnsiSameText(srcItm.GetFileName(),ExtractFileName(LazarusIDE.ActiveProject.Files[j].Filename)) then
|
||||
trueOpenFlags := trueOpenFlags - [ofAddToProject];
|
||||
end;
|
||||
LazarusIDE.DoOpenEditorFile(destPath + srcItm.GetFileName(),-1,trueOpenFlags);
|
||||
end;
|
||||
{$ENDIF}
|
||||
finally
|
||||
srcMgnr := nil;
|
||||
tree.Free();
|
||||
end;
|
||||
finally
|
||||
Screen.Cursor := oldCursor;
|
||||
end;
|
||||
ShowMessage('File parsed succefully.');
|
||||
Self.Close();
|
||||
ModalResult := mrOK;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I wstimportdlg.lrs}
|
||||
|
||||
end.
|
||||
|
@ -138,12 +138,7 @@
|
||||
<UsageCount Value="10"/>
|
||||
</Unit13>
|
||||
</Units>
|
||||
<JumpHistory Count="1" HistoryIndex="0">
|
||||
<Position1>
|
||||
<Filename Value="mod_wst.lpr"/>
|
||||
<Caret Line="39" Column="14" TopLine="23"/>
|
||||
</Position1>
|
||||
</JumpHistory>
|
||||
<JumpHistory Count="0" HistoryIndex="-1"/>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="5"/>
|
||||
|
@ -33,7 +33,7 @@
|
||||
<CursorPos X="17" Y="32"/>
|
||||
<TopLine Value="17"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="20"/>
|
||||
<UsageCount Value="23"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
@ -42,7 +42,7 @@
|
||||
<CursorPos X="74" Y="92"/>
|
||||
<TopLine Value="78"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="10"/>
|
||||
<UsageCount Value="12"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
@ -51,7 +51,7 @@
|
||||
<CursorPos X="43" Y="179"/>
|
||||
<TopLine Value="157"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="10"/>
|
||||
<UsageCount Value="12"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit2>
|
||||
<Unit3>
|
||||
@ -60,7 +60,7 @@
|
||||
<CursorPos X="53" Y="43"/>
|
||||
<TopLine Value="184"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="10"/>
|
||||
<UsageCount Value="12"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit3>
|
||||
<Unit4>
|
||||
@ -69,7 +69,7 @@
|
||||
<CursorPos X="54" Y="32"/>
|
||||
<TopLine Value="22"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="10"/>
|
||||
<UsageCount Value="12"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit4>
|
||||
<Unit5>
|
||||
@ -78,7 +78,7 @@
|
||||
<CursorPos X="52" Y="4125"/>
|
||||
<TopLine Value="4118"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<UsageCount Value="10"/>
|
||||
<UsageCount Value="12"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit5>
|
||||
<Unit6>
|
||||
@ -87,7 +87,7 @@
|
||||
<CursorPos X="1" Y="96"/>
|
||||
<TopLine Value="72"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="10"/>
|
||||
<UsageCount Value="12"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit6>
|
||||
</Units>
|
||||
|
@ -38,7 +38,7 @@
|
||||
<CursorPos X="40" Y="150"/>
|
||||
<TopLine Value="133"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="50"/>
|
||||
<UsageCount Value="53"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
@ -47,7 +47,7 @@
|
||||
<CursorPos X="1" Y="68"/>
|
||||
<TopLine Value="54"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="23"/>
|
||||
<UsageCount Value="25"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
@ -56,7 +56,7 @@
|
||||
<CursorPos X="29" Y="132"/>
|
||||
<TopLine Value="101"/>
|
||||
<EditorIndex Value="9"/>
|
||||
<UsageCount Value="25"/>
|
||||
<UsageCount Value="27"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit2>
|
||||
<Unit3>
|
||||
@ -65,7 +65,7 @@
|
||||
<CursorPos X="3" Y="31"/>
|
||||
<TopLine Value="9"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="25"/>
|
||||
<UsageCount Value="27"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit3>
|
||||
<Unit4>
|
||||
@ -74,7 +74,7 @@
|
||||
<CursorPos X="3" Y="3"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="22"/>
|
||||
<UsageCount Value="24"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit4>
|
||||
<Unit5>
|
||||
@ -90,7 +90,7 @@
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="25"/>
|
||||
<UsageCount Value="27"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit6>
|
||||
<Unit7>
|
||||
@ -191,7 +191,7 @@
|
||||
<CursorPos X="18" Y="139"/>
|
||||
<TopLine Value="128"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<UsageCount Value="36"/>
|
||||
<UsageCount Value="39"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit21>
|
||||
<Unit22>
|
||||
@ -200,7 +200,7 @@
|
||||
<CursorPos X="17" Y="23"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<UsageCount Value="18"/>
|
||||
<UsageCount Value="20"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit22>
|
||||
<Unit23>
|
||||
@ -215,7 +215,7 @@
|
||||
<CursorPos X="1" Y="1323"/>
|
||||
<TopLine Value="1309"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<UsageCount Value="18"/>
|
||||
<UsageCount Value="20"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit24>
|
||||
<Unit25>
|
||||
@ -224,7 +224,7 @@
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="17"/>
|
||||
<UsageCount Value="19"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit25>
|
||||
<Unit26>
|
||||
|
41
wst/trunk/type_lib_edtr/common_gui_utils.pas
Normal file
41
wst/trunk/type_lib_edtr/common_gui_utils.pas
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
This file is part of the Web Service Toolkit
|
||||
Copyright (c) 2007 by Inoussa OUEDRAOGO
|
||||
|
||||
This file is provide under modified LGPL licence
|
||||
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
}
|
||||
unit common_gui_utils;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, ComCtrls;
|
||||
|
||||
function FindItem(const ACaption : string; AList : TListItems) : TListItem ;
|
||||
|
||||
implementation
|
||||
|
||||
function FindItem(const ACaption : string; AList : TListItems) : TListItem ;
|
||||
var
|
||||
i : Integer;
|
||||
begin
|
||||
for i := 0 to Pred(AList.Count) do begin
|
||||
if AnsiSameText(ACaption,AList[i].Caption) then begin
|
||||
Result := AList[i];
|
||||
Exit;
|
||||
end;
|
||||
end;
|
||||
Result := nil;
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
|
@ -1,3 +1,15 @@
|
||||
{
|
||||
This file is part of the Web Service Toolkit
|
||||
Copyright (c) 2007 by Inoussa OUEDRAOGO
|
||||
|
||||
This file is provide under modified LGPL licence
|
||||
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
}
|
||||
unit edit_helper;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
@ -27,7 +39,17 @@ type
|
||||
function CreateEnum(AContainer : TwstPasTreeContainer) : TPasEnumType;
|
||||
function CreateCompoundObject(ASymbolTable : TwstPasTreeContainer) : TPasClassType;
|
||||
function CreateInterface(ASymbolTable : TwstPasTreeContainer) : TPasClassType;
|
||||
|
||||
function CreateMethod(
|
||||
AOwner : TPasClassType;
|
||||
ASymbolTable : TwstPasTreeContainer
|
||||
) : TPasProcedure;
|
||||
function CreateArgument(
|
||||
AOwner : TPasProcedureType;
|
||||
ASymbolTable : TwstPasTreeContainer
|
||||
) : TPasArgument;
|
||||
|
||||
|
||||
|
||||
function HasEditor(AObject : TPasElement):Boolean;
|
||||
function UpdateObject(
|
||||
AObject : TPasElement;
|
||||
@ -35,9 +57,15 @@ type
|
||||
):Boolean;
|
||||
|
||||
procedure FillList(ALs : TStrings;AContainer : TwstPasTreeContainer);
|
||||
|
||||
procedure FillTypeList(
|
||||
ALs : TStrings;
|
||||
ASymbol : TwstPasTreeContainer
|
||||
);
|
||||
|
||||
|
||||
implementation
|
||||
uses Contnrs, Forms, ufEnumedit, ufclassedit, uinterfaceedit;
|
||||
uses Contnrs, Forms, ufEnumedit, ufclassedit, uinterfaceedit, uprocedit,
|
||||
uargedit, umoduleedit, ubindingedit;
|
||||
|
||||
type
|
||||
|
||||
@ -124,6 +152,146 @@ type
|
||||
):Boolean;override;
|
||||
end;
|
||||
|
||||
{ TMethodUpdater }
|
||||
|
||||
TMethodUpdater = class(TObjectUpdater)
|
||||
public
|
||||
class function CanHandle(AObject : TObject):Boolean;override;
|
||||
class function UpdateObject(
|
||||
AObject : TPasElement;
|
||||
ASymbolTable : TwstPasTreeContainer
|
||||
):Boolean;override;
|
||||
end;
|
||||
|
||||
{ TArgumentUpdater }
|
||||
|
||||
TArgumentUpdater = class(TObjectUpdater)
|
||||
public
|
||||
class function CanHandle(AObject : TObject):Boolean;override;
|
||||
class function UpdateObject(
|
||||
AObject : TPasElement;
|
||||
ASymbolTable : TwstPasTreeContainer
|
||||
):Boolean;override;
|
||||
end;
|
||||
|
||||
{ TModuleUpdater }
|
||||
|
||||
TModuleUpdater = class(TObjectUpdater)
|
||||
public
|
||||
class function CanHandle(AObject : TObject):Boolean;override;
|
||||
class function UpdateObject(
|
||||
AObject : TPasElement;
|
||||
ASymbolTable : TwstPasTreeContainer
|
||||
):Boolean;override;
|
||||
end;
|
||||
|
||||
{ TBindingUpdater }
|
||||
|
||||
TBindingUpdater = class(TObjectUpdater)
|
||||
public
|
||||
class function CanHandle(AObject : TObject):Boolean;override;
|
||||
class function UpdateObject(
|
||||
AObject : TPasElement;
|
||||
ASymbolTable : TwstPasTreeContainer
|
||||
):Boolean;override;
|
||||
end;
|
||||
|
||||
{ TBindingUpdater }
|
||||
|
||||
class function TBindingUpdater.CanHandle(AObject: TObject): Boolean;
|
||||
begin
|
||||
Result := ( inherited CanHandle(AObject) ) and AObject.InheritsFrom(TwstBinding);
|
||||
end;
|
||||
|
||||
class function TBindingUpdater.UpdateObject(
|
||||
AObject: TPasElement;
|
||||
ASymbolTable: TwstPasTreeContainer
|
||||
): Boolean;
|
||||
var
|
||||
f : TfBindingEdit;
|
||||
e : TwstBinding;
|
||||
begin
|
||||
e := AObject as TwstBinding;
|
||||
f := TfBindingEdit.Create(Application);
|
||||
try
|
||||
Result := f.UpdateObject(e,etUpdate,ASymbolTable);
|
||||
finally
|
||||
f.Release();
|
||||
end;
|
||||
end;
|
||||
|
||||
{ TModuleUpdater }
|
||||
|
||||
class function TModuleUpdater.CanHandle(AObject: TObject): Boolean;
|
||||
begin
|
||||
Result := ( inherited CanHandle(AObject) ) and AObject.InheritsFrom(TPasModule);
|
||||
end;
|
||||
|
||||
class function TModuleUpdater.UpdateObject(
|
||||
AObject: TPasElement;
|
||||
ASymbolTable: TwstPasTreeContainer
|
||||
): Boolean;
|
||||
var
|
||||
f : TfModuleEdit;
|
||||
e : TPasModule;
|
||||
begin
|
||||
e := AObject as TPasModule;
|
||||
f := TfModuleEdit.Create(Application);
|
||||
try
|
||||
Result := f.UpdateObject(e,etUpdate,ASymbolTable);
|
||||
finally
|
||||
f.Release();
|
||||
end;
|
||||
end;
|
||||
|
||||
{ TArgumentUpdater }
|
||||
|
||||
class function TArgumentUpdater.CanHandle(AObject: TObject): Boolean;
|
||||
begin
|
||||
Result := ( inherited CanHandle(AObject) ) and AObject.InheritsFrom(TPasArgument);
|
||||
end;
|
||||
|
||||
class function TArgumentUpdater.UpdateObject(
|
||||
AObject : TPasElement;
|
||||
ASymbolTable : TwstPasTreeContainer
|
||||
): Boolean;
|
||||
var
|
||||
f : TfArgEdit;
|
||||
e : TPasArgument;
|
||||
begin
|
||||
e := AObject as TPasArgument;
|
||||
f := TfArgEdit.Create(Application);
|
||||
try
|
||||
Result := f.UpdateObject(e,etUpdate,ASymbolTable);
|
||||
finally
|
||||
f.Release();
|
||||
end;
|
||||
end;
|
||||
|
||||
{ TMethodUpdater }
|
||||
|
||||
class function TMethodUpdater.CanHandle(AObject: TObject): Boolean;
|
||||
begin
|
||||
Result := ( inherited CanHandle(AObject) ) and AObject.InheritsFrom(TPasProcedure);
|
||||
end;
|
||||
|
||||
class function TMethodUpdater.UpdateObject(
|
||||
AObject: TPasElement;
|
||||
ASymbolTable: TwstPasTreeContainer
|
||||
): Boolean;
|
||||
var
|
||||
f : TfProcEdit;
|
||||
e : TPasProcedure;
|
||||
begin
|
||||
e := AObject as TPasProcedure;
|
||||
f := TfProcEdit.Create(Application);
|
||||
try
|
||||
Result := f.UpdateObject(e,etUpdate,ASymbolTable);
|
||||
finally
|
||||
f.Release();
|
||||
end;
|
||||
end;
|
||||
|
||||
{ TInterfaceUpdater }
|
||||
|
||||
class function TInterfaceUpdater.CanHandle(AObject: TObject): Boolean;
|
||||
@ -269,6 +437,40 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
function CreateMethod(
|
||||
AOwner : TPasClassType;
|
||||
ASymbolTable : TwstPasTreeContainer
|
||||
) : TPasProcedure;
|
||||
var
|
||||
f : TfProcEdit;
|
||||
begin
|
||||
Result := TPasProcedure(ASymbolTable.CreateElement(TPasProcedure,'new_proc',AOwner,visPublic,'',0));
|
||||
Result.ProcType := TPasProcedureType(ASymbolTable.CreateElement(TPasProcedureType,'',Result,visDefault,'',0));
|
||||
AOwner.Members.Add(Result);
|
||||
f := TfProcEdit.Create(Application);
|
||||
try
|
||||
f.UpdateObject(Result,etCreate,ASymbolTable);
|
||||
finally
|
||||
f.Release();
|
||||
end;
|
||||
end;
|
||||
|
||||
function CreateArgument(
|
||||
AOwner : TPasProcedureType;
|
||||
ASymbolTable : TwstPasTreeContainer
|
||||
) : TPasArgument;
|
||||
var
|
||||
f : TfArgEdit;
|
||||
begin
|
||||
Result := TPasArgument(ASymbolTable.CreateElement(TPasArgument,'AValue',AOwner,visPublic,'',0));
|
||||
Result.ArgType := ASymbolTable.FindElement('string') as TPasType;
|
||||
f := TfArgEdit.Create(Application);
|
||||
try
|
||||
f.UpdateObject(Result,etCreate,ASymbolTable);
|
||||
finally
|
||||
f.Release();
|
||||
end;
|
||||
end;
|
||||
|
||||
{ TObjectUpdater }
|
||||
|
||||
@ -326,11 +528,56 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure InternalFillTypeList(ALs : TStrings; AContainer : TwstPasTreeContainer);
|
||||
var
|
||||
i, j : Integer;
|
||||
sym : TPasElement;
|
||||
moduleList, decList : TList;
|
||||
mdl : TPasModule;
|
||||
begin
|
||||
moduleList := AContainer.Package.Modules;
|
||||
for i := 0 to Pred(moduleList.Count) do begin
|
||||
mdl := TPasModule(moduleList[i]);
|
||||
decList := mdl.InterfaceSection.Declarations;
|
||||
for j := 0 to Pred(decList.Count) do begin
|
||||
sym := TPasElement(decList[j]);
|
||||
if sym.InheritsFrom(TPasType) then begin
|
||||
if ( ALs.IndexOfObject(sym) = -1 ) then begin
|
||||
ALs.AddObject(AContainer.GetExternalName(sym),sym);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure FillTypeList(
|
||||
ALs : TStrings;
|
||||
ASymbol : TwstPasTreeContainer
|
||||
);
|
||||
var
|
||||
locLST : TStringList;
|
||||
begin
|
||||
locLST := TStringList.Create();
|
||||
try
|
||||
locLST.Assign(ALs);
|
||||
locLST.Duplicates := dupAccept;
|
||||
InternalFillTypeList(locLST,ASymbol);
|
||||
locLST.Sort();
|
||||
ALs.Assign(locLST);
|
||||
finally
|
||||
FreeAndNil(locLST);
|
||||
end;
|
||||
end;
|
||||
|
||||
initialization
|
||||
UpdaterRegistryInst := TUpdaterRegistry.Create();
|
||||
UpdaterRegistryInst.RegisterHandler(TEnumUpdater);
|
||||
UpdaterRegistryInst.RegisterHandler(TClassUpdater);
|
||||
UpdaterRegistryInst.RegisterHandler(TInterfaceUpdater);
|
||||
UpdaterRegistryInst.RegisterHandler(TMethodUpdater);
|
||||
UpdaterRegistryInst.RegisterHandler(TArgumentUpdater);
|
||||
UpdaterRegistryInst.RegisterHandler(TModuleUpdater);
|
||||
UpdaterRegistryInst.RegisterHandler(TBindingUpdater);
|
||||
|
||||
finalization
|
||||
FreeAndNil(UpdaterRegistryInst);
|
||||
|
@ -7,7 +7,7 @@
|
||||
<MainUnit Value="0"/>
|
||||
<IconPath Value="./"/>
|
||||
<TargetFileExt Value=".exe"/>
|
||||
<ActiveEditorIndexAtStart Value="8"/>
|
||||
<ActiveEditorIndexAtStart Value="1"/>
|
||||
</General>
|
||||
<VersionInfo>
|
||||
<ProjectVersion Value=""/>
|
||||
@ -32,27 +32,25 @@
|
||||
<PackageName Value="LCL"/>
|
||||
</Item2>
|
||||
</RequiredPackages>
|
||||
<Units Count="42">
|
||||
<Units Count="69">
|
||||
<Unit0>
|
||||
<Filename Value="typ_lib_edtr.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<CursorPos X="39" Y="13"/>
|
||||
<CursorPos X="24" Y="11"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="17"/>
|
||||
<UsageCount Value="112"/>
|
||||
<Loaded Value="True"/>
|
||||
<UsageCount Value="180"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
<Filename Value="umain.pas"/>
|
||||
<ComponentName Value="fMain"/>
|
||||
<Filename Value="uwsttypelibraryedit.pas"/>
|
||||
<ComponentName Value="fWstTypeLibraryEdit"/>
|
||||
<HasResources Value="True"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="umain.lrs"/>
|
||||
<UnitName Value="umain"/>
|
||||
<CursorPos X="27" Y="103"/>
|
||||
<TopLine Value="91"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="112"/>
|
||||
<ResourceFilename Value="uwsttypelibraryedit.lrs"/>
|
||||
<UnitName Value="uwsttypelibraryedit"/>
|
||||
<CursorPos X="1" Y="15"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="180"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
@ -60,28 +58,29 @@
|
||||
<UnitName Value="parserdefs"/>
|
||||
<CursorPos X="1" Y="35"/>
|
||||
<TopLine Value="22"/>
|
||||
<UsageCount Value="47"/>
|
||||
<UsageCount Value="43"/>
|
||||
</Unit2>
|
||||
<Unit3>
|
||||
<Filename Value="..\ws_helper\wsdl2pas_imp.pas"/>
|
||||
<UnitName Value="wsdl2pas_imp"/>
|
||||
<CursorPos X="1" Y="214"/>
|
||||
<TopLine Value="205"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<UsageCount Value="53"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="73"/>
|
||||
<Bookmarks Count="1">
|
||||
<Item0 X="1" Y="1265" ID="1"/>
|
||||
<Item0 X="65" Y="748" ID="2"/>
|
||||
</Bookmarks>
|
||||
<Loaded Value="True"/>
|
||||
</Unit3>
|
||||
<Unit4>
|
||||
<Filename Value="wsdl_generator.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="wsdl_generator"/>
|
||||
<CursorPos X="60" Y="32"/>
|
||||
<TopLine Value="11"/>
|
||||
<EditorIndex Value="15"/>
|
||||
<UsageCount Value="112"/>
|
||||
<CursorPos X="2" Y="16"/>
|
||||
<TopLine Value="3"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="180"/>
|
||||
<Bookmarks Count="1">
|
||||
<Item0 X="49" Y="444" ID="1"/>
|
||||
</Bookmarks>
|
||||
<Loaded Value="True"/>
|
||||
</Unit4>
|
||||
<Unit5>
|
||||
@ -91,9 +90,9 @@
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="uabout.lrs"/>
|
||||
<UnitName Value="uabout"/>
|
||||
<CursorPos X="34" Y="13"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="112"/>
|
||||
<UsageCount Value="180"/>
|
||||
</Unit5>
|
||||
<Unit6>
|
||||
<Filename Value="ufenumedit.pas"/>
|
||||
@ -102,41 +101,33 @@
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="ufenumedit.lrs"/>
|
||||
<UnitName Value="ufEnumedit"/>
|
||||
<CursorPos X="1" Y="133"/>
|
||||
<TopLine Value="121"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="112"/>
|
||||
<Loaded Value="True"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="180"/>
|
||||
</Unit6>
|
||||
<Unit7>
|
||||
<Filename Value="view_helper.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="view_helper"/>
|
||||
<CursorPos X="31" Y="566"/>
|
||||
<TopLine Value="560"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<UsageCount Value="112"/>
|
||||
<Loaded Value="True"/>
|
||||
<CursorPos X="36" Y="14"/>
|
||||
<TopLine Value="22"/>
|
||||
<UsageCount Value="180"/>
|
||||
</Unit7>
|
||||
<Unit8>
|
||||
<Filename Value="..\ws_helper\source_utils.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="source_utils"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="40"/>
|
||||
<EditorIndex Value="18"/>
|
||||
<UsageCount Value="112"/>
|
||||
<Loaded Value="True"/>
|
||||
<CursorPos X="18" Y="20"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="180"/>
|
||||
</Unit8>
|
||||
<Unit9>
|
||||
<Filename Value="edit_helper.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="edit_helper"/>
|
||||
<CursorPos X="15" Y="54"/>
|
||||
<TopLine Value="32"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="112"/>
|
||||
<Loaded Value="True"/>
|
||||
<CursorPos X="36" Y="68"/>
|
||||
<TopLine Value="49"/>
|
||||
<UsageCount Value="180"/>
|
||||
</Unit9>
|
||||
<Unit10>
|
||||
<Filename Value="ufclassedit.pas"/>
|
||||
@ -145,11 +136,9 @@
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="ufclassedit.lrs"/>
|
||||
<UnitName Value="ufclassedit"/>
|
||||
<CursorPos X="1" Y="129"/>
|
||||
<TopLine Value="113"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="112"/>
|
||||
<Loaded Value="True"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="180"/>
|
||||
</Unit10>
|
||||
<Unit11>
|
||||
<Filename Value="ufpropedit.pas"/>
|
||||
@ -157,237 +146,446 @@
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="ufpropedit.lrs"/>
|
||||
<UnitName Value="ufpropedit"/>
|
||||
<CursorPos X="27" Y="201"/>
|
||||
<TopLine Value="178"/>
|
||||
<EditorIndex Value="14"/>
|
||||
<UsageCount Value="112"/>
|
||||
<Loaded Value="True"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="180"/>
|
||||
</Unit11>
|
||||
<Unit12>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\lcl\comctrls.pp"/>
|
||||
<UnitName Value="ComCtrls"/>
|
||||
<CursorPos X="15" Y="1781"/>
|
||||
<TopLine Value="1768"/>
|
||||
<UsageCount Value="6"/>
|
||||
<UsageCount Value="2"/>
|
||||
</Unit12>
|
||||
<Unit13>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\lcl\include\listitems.inc"/>
|
||||
<CursorPos X="53" Y="288"/>
|
||||
<TopLine Value="270"/>
|
||||
<UsageCount Value="2"/>
|
||||
</Unit13>
|
||||
<Unit14>
|
||||
<Filename Value="umain.lfm"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="2"/>
|
||||
<SyntaxHighlighter Value="LFM"/>
|
||||
</Unit14>
|
||||
<Unit15>
|
||||
<Filename Value="..\ws_helper\parserutils.pas"/>
|
||||
<UnitName Value="parserutils"/>
|
||||
<CursorPos X="17" Y="20"/>
|
||||
<TopLine Value="19"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="38"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit15>
|
||||
<Unit16>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="61"/>
|
||||
</Unit13>
|
||||
<Unit14>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\i386\i386.inc"/>
|
||||
<CursorPos X="2" Y="1284"/>
|
||||
<TopLine Value="1263"/>
|
||||
<UsageCount Value="3"/>
|
||||
</Unit16>
|
||||
<Unit17>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit14>
|
||||
<Unit15>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\inc\except.inc"/>
|
||||
<CursorPos X="1" Y="223"/>
|
||||
<TopLine Value="209"/>
|
||||
<UsageCount Value="3"/>
|
||||
</Unit17>
|
||||
<Unit18>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit15>
|
||||
<Unit16>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\inc\objpas.inc"/>
|
||||
<CursorPos X="1" Y="152"/>
|
||||
<TopLine Value="138"/>
|
||||
<UsageCount Value="15"/>
|
||||
</Unit18>
|
||||
<Unit19>
|
||||
<UsageCount Value="11"/>
|
||||
</Unit16>
|
||||
<Unit17>
|
||||
<Filename Value="ufclassedit.lrs"/>
|
||||
<CursorPos X="39" Y="2"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="6"/>
|
||||
</Unit19>
|
||||
<Unit20>
|
||||
<UsageCount Value="2"/>
|
||||
</Unit17>
|
||||
<Unit18>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\inc\wstrings.inc"/>
|
||||
<CursorPos X="1" Y="317"/>
|
||||
<TopLine Value="303"/>
|
||||
<UsageCount Value="6"/>
|
||||
</Unit20>
|
||||
<Unit21>
|
||||
<UsageCount Value="2"/>
|
||||
</Unit18>
|
||||
<Unit19>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\packages\fcl-xml\src\dom.pp"/>
|
||||
<UnitName Value="DOM"/>
|
||||
<CursorPos X="3" Y="2064"/>
|
||||
<TopLine Value="2041"/>
|
||||
<UsageCount Value="6"/>
|
||||
</Unit21>
|
||||
<Unit22>
|
||||
<UsageCount Value="2"/>
|
||||
</Unit19>
|
||||
<Unit20>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\lcl\stdctrls.pp"/>
|
||||
<UnitName Value="StdCtrls"/>
|
||||
<CursorPos X="24" Y="362"/>
|
||||
<TopLine Value="348"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit22>
|
||||
<Unit23>
|
||||
<UsageCount Value="1"/>
|
||||
</Unit20>
|
||||
<Unit21>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\objpas\classes\classesh.inc"/>
|
||||
<CursorPos X="12" Y="64"/>
|
||||
<TopLine Value="49"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit23>
|
||||
<Unit24>
|
||||
<UsageCount Value="1"/>
|
||||
</Unit21>
|
||||
<Unit22>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\objpas\classes\stringl.inc"/>
|
||||
<CursorPos X="15" Y="1071"/>
|
||||
<TopLine Value="1056"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit24>
|
||||
<Unit25>
|
||||
<UsageCount Value="1"/>
|
||||
</Unit22>
|
||||
<Unit23>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\objpas\types.pp"/>
|
||||
<UnitName Value="types"/>
|
||||
<CursorPos X="6" Y="15"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit25>
|
||||
<Unit26>
|
||||
<UsageCount Value="1"/>
|
||||
</Unit23>
|
||||
<Unit24>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\objpas\sysutils\sysstrh.inc"/>
|
||||
<CursorPos X="10" Y="104"/>
|
||||
<TopLine Value="90"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit26>
|
||||
<Unit27>
|
||||
<UsageCount Value="1"/>
|
||||
</Unit24>
|
||||
<Unit25>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\fpc\2.1.3\source\rtl\objpas\sysutils\sysstr.inc"/>
|
||||
<CursorPos X="1" Y="689"/>
|
||||
<TopLine Value="686"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit27>
|
||||
<Unit28>
|
||||
<UsageCount Value="1"/>
|
||||
</Unit25>
|
||||
<Unit26>
|
||||
<Filename Value="uinterfaceedit.pas"/>
|
||||
<ComponentName Value="fInterfaceEdit"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="uinterfaceedit.lrs"/>
|
||||
<UnitName Value="uinterfaceedit"/>
|
||||
<CursorPos X="26" Y="36"/>
|
||||
<TopLine Value="127"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="76"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit28>
|
||||
<Unit29>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="144"/>
|
||||
</Unit26>
|
||||
<Unit27>
|
||||
<Filename Value="uinterfaceedit.lfm"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="5"/>
|
||||
<UsageCount Value="1"/>
|
||||
<SyntaxHighlighter Value="LFM"/>
|
||||
</Unit29>
|
||||
<Unit30>
|
||||
</Unit27>
|
||||
<Unit28>
|
||||
<Filename Value="udm.pas"/>
|
||||
<ComponentName Value="DM"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="udm.lrs"/>
|
||||
<UnitName Value="udm"/>
|
||||
<CursorPos X="68" Y="11"/>
|
||||
<CursorPos X="15" Y="2"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="71"/>
|
||||
</Unit30>
|
||||
<Unit31>
|
||||
<UsageCount Value="139"/>
|
||||
</Unit28>
|
||||
<Unit29>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\lcl\include\treeview.inc"/>
|
||||
<CursorPos X="25" Y="68"/>
|
||||
<TopLine Value="61"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit31>
|
||||
<Unit32>
|
||||
<UsageCount Value="6"/>
|
||||
</Unit29>
|
||||
<Unit30>
|
||||
<Filename Value="..\ws_helper\pascal_parser_intf.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="pascal_parser_intf"/>
|
||||
<CursorPos X="20" Y="540"/>
|
||||
<TopLine Value="528"/>
|
||||
<EditorIndex Value="12"/>
|
||||
<UsageCount Value="34"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit32>
|
||||
<Unit33>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="102"/>
|
||||
</Unit30>
|
||||
<Unit31>
|
||||
<Filename Value="..\ws_helper\pparser.pp"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="PParser"/>
|
||||
<CursorPos X="25" Y="22"/>
|
||||
<TopLine Value="7"/>
|
||||
<EditorIndex Value="16"/>
|
||||
<UsageCount Value="34"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit33>
|
||||
<Unit34>
|
||||
<UsageCount Value="102"/>
|
||||
</Unit31>
|
||||
<Unit32>
|
||||
<Filename Value="..\ws_helper\logger_intf.pas"/>
|
||||
<UnitName Value="logger_intf"/>
|
||||
<CursorPos X="5" Y="43"/>
|
||||
<TopLine Value="29"/>
|
||||
<EditorIndex Value="11"/>
|
||||
<UsageCount Value="26"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit34>
|
||||
<Unit35>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="37"/>
|
||||
<UsageCount Value="37"/>
|
||||
</Unit32>
|
||||
<Unit33>
|
||||
<Filename Value="..\ws_helper\pastree.pp"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="PasTree"/>
|
||||
<CursorPos X="1" Y="533"/>
|
||||
<TopLine Value="521"/>
|
||||
<EditorIndex Value="9"/>
|
||||
<UsageCount Value="34"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit35>
|
||||
<Unit36>
|
||||
<CursorPos X="3" Y="75"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="102"/>
|
||||
</Unit33>
|
||||
<Unit34>
|
||||
<Filename Value="..\..\..\..\lazarus_23_215\lcl\include\treeview.inc"/>
|
||||
<CursorPos X="35" Y="71"/>
|
||||
<TopLine Value="58"/>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit36>
|
||||
<Unit37>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit34>
|
||||
<Unit35>
|
||||
<Filename Value="..\..\..\..\lazarus23_213\lcl\include\customcheckbox.inc"/>
|
||||
<CursorPos X="1" Y="120"/>
|
||||
<TopLine Value="108"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit37>
|
||||
<Unit38>
|
||||
<UsageCount Value="6"/>
|
||||
</Unit35>
|
||||
<Unit36>
|
||||
<Filename Value="umain.lrs"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit38>
|
||||
<Unit39>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit36>
|
||||
<Unit37>
|
||||
<Filename Value="..\wst_rtti_filter\rtti_filters.pas"/>
|
||||
<UnitName Value="rtti_filters"/>
|
||||
<CursorPos X="3" Y="296"/>
|
||||
<TopLine Value="305"/>
|
||||
<EditorIndex Value="10"/>
|
||||
<UsageCount Value="13"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit39>
|
||||
<Unit40>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="24"/>
|
||||
</Unit37>
|
||||
<Unit38>
|
||||
<Filename Value="..\ws_helper\generator.pas"/>
|
||||
<UnitName Value="generator"/>
|
||||
<CursorPos X="53" Y="2145"/>
|
||||
<TopLine Value="2127"/>
|
||||
<EditorIndex Value="13"/>
|
||||
<UsageCount Value="13"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit40>
|
||||
<Unit41>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="10"/>
|
||||
<UsageCount Value="24"/>
|
||||
</Unit38>
|
||||
<Unit39>
|
||||
<Filename Value="..\wst_rtti_filter\dom_cursors.pas"/>
|
||||
<UnitName Value="dom_cursors"/>
|
||||
<CursorPos X="3" Y="17"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<UsageCount Value="10"/>
|
||||
<Loaded Value="True"/>
|
||||
<UsageCount Value="21"/>
|
||||
</Unit39>
|
||||
<Unit40>
|
||||
<Filename Value="..\ws_helper\command_line_parser.pas"/>
|
||||
<UnitName Value="command_line_parser"/>
|
||||
<CursorPos X="20" Y="31"/>
|
||||
<TopLine Value="17"/>
|
||||
<UsageCount Value="22"/>
|
||||
</Unit40>
|
||||
<Unit41>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215\lcl\forms.pp"/>
|
||||
<UnitName Value="Forms"/>
|
||||
<CursorPos X="44" Y="10"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit41>
|
||||
<Unit42>
|
||||
<Filename Value="..\ws_helper\pscanner.pp"/>
|
||||
<UnitName Value="PScanner"/>
|
||||
<CursorPos X="19" Y="505"/>
|
||||
<TopLine Value="491"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit42>
|
||||
<Unit43>
|
||||
<Filename Value="..\ws_helper\metadata_generator.pas"/>
|
||||
<UnitName Value="metadata_generator"/>
|
||||
<CursorPos X="11" Y="20"/>
|
||||
<TopLine Value="14"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit43>
|
||||
<Unit44>
|
||||
<Filename Value="..\ide\lazarus\wst_register.pas"/>
|
||||
<UnitName Value="wst_register"/>
|
||||
<CursorPos X="42" Y="6"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="12"/>
|
||||
</Unit44>
|
||||
<Unit45>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215\ideintf\menuintf.pas"/>
|
||||
<UnitName Value="MenuIntf"/>
|
||||
<CursorPos X="53" Y="417"/>
|
||||
<TopLine Value="409"/>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit45>
|
||||
<Unit46>
|
||||
<Filename Value="..\ide\lazarus\wstimportdlg.pas"/>
|
||||
<ComponentName Value="formImport"/>
|
||||
<HasResources Value="True"/>
|
||||
<UnitName Value="wstimportdlg"/>
|
||||
<CursorPos X="42" Y="71"/>
|
||||
<TopLine Value="52"/>
|
||||
<UsageCount Value="12"/>
|
||||
</Unit46>
|
||||
<Unit47>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215\ideintf\lazideintf.pas"/>
|
||||
<UnitName Value="LazIDEIntf"/>
|
||||
<CursorPos X="33" Y="174"/>
|
||||
<TopLine Value="162"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit47>
|
||||
<Unit48>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215\ideintf\projectintf.pas"/>
|
||||
<UnitName Value="ProjectIntf"/>
|
||||
<CursorPos X="3" Y="284"/>
|
||||
<TopLine Value="262"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit48>
|
||||
<Unit49>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215\ideintf\idecommands.pas"/>
|
||||
<UnitName Value="IDECommands"/>
|
||||
<CursorPos X="47" Y="291"/>
|
||||
<TopLine Value="279"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit49>
|
||||
<Unit50>
|
||||
<Filename Value="uprocedit.pas"/>
|
||||
<ComponentName Value="fProcEdit"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="uprocedit.lrs"/>
|
||||
<UnitName Value="uprocedit"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="58"/>
|
||||
</Unit50>
|
||||
<Unit51>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\lcl\comctrls.pp"/>
|
||||
<UnitName Value="ComCtrls"/>
|
||||
<CursorPos X="4" Y="1660"/>
|
||||
<TopLine Value="1660"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit51>
|
||||
<Unit52>
|
||||
<Filename Value="common_gui_utils.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="common_gui_utils"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="56"/>
|
||||
</Unit52>
|
||||
<Unit53>
|
||||
<Filename Value="..\..\..\..\..\DOCUME~1\ADMINI~1\LOCALS~1\Temp\DestBug.pas"/>
|
||||
<UnitName Value="DestBug"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit53>
|
||||
<Unit54>
|
||||
<Filename Value="uargedit.pas"/>
|
||||
<ComponentName Value="fArgEdit"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="uargedit.lrs"/>
|
||||
<UnitName Value="uargedit"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="49"/>
|
||||
</Unit54>
|
||||
<Unit55>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\lcl\interfaces\win32\win32wscontrols.pp"/>
|
||||
<UnitName Value="Win32WSControls"/>
|
||||
<CursorPos X="1" Y="226"/>
|
||||
<TopLine Value="212"/>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit55>
|
||||
<Unit56>
|
||||
<Filename Value="umain.lfm"/>
|
||||
<CursorPos X="19" Y="1822"/>
|
||||
<TopLine Value="1858"/>
|
||||
<UsageCount Value="9"/>
|
||||
<SyntaxHighlighter Value="LFM"/>
|
||||
</Unit56>
|
||||
<Unit57>
|
||||
<Filename Value="umoduleedit.pas"/>
|
||||
<ComponentName Value="fModuleEdit"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="umoduleedit.lrs"/>
|
||||
<UnitName Value="umoduleedit"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="41"/>
|
||||
</Unit57>
|
||||
<Unit58>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\lcl\stdctrls.pp"/>
|
||||
<UnitName Value="StdCtrls"/>
|
||||
<CursorPos X="3" Y="1020"/>
|
||||
<TopLine Value="1006"/>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit58>
|
||||
<Unit59>
|
||||
<Filename Value="ubindingedit.pas"/>
|
||||
<ComponentName Value="fBindingEdit"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="ubindingedit.lrs"/>
|
||||
<UnitName Value="ubindingedit"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="31"/>
|
||||
</Unit59>
|
||||
<Unit60>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\objpash.inc"/>
|
||||
<CursorPos X="26" Y="158"/>
|
||||
<TopLine Value="135"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit60>
|
||||
<Unit61>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\objpas.inc"/>
|
||||
<CursorPos X="11" Y="550"/>
|
||||
<TopLine Value="645"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit61>
|
||||
<Unit62>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\classes\classesh.inc"/>
|
||||
<CursorPos X="14" Y="248"/>
|
||||
<TopLine Value="226"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit62>
|
||||
<Unit63>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\classes\lists.inc"/>
|
||||
<CursorPos X="3" Y="408"/>
|
||||
<TopLine Value="406"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit63>
|
||||
<Unit64>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-base\src\inc\contnrs.pp"/>
|
||||
<UnitName Value="contnrs"/>
|
||||
<CursorPos X="3" Y="701"/>
|
||||
<TopLine Value="698"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit64>
|
||||
<Unit65>
|
||||
<Filename Value="ufrmsaveoption.pas"/>
|
||||
<ComponentName Value="frmSaveOptions"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="ufrmsaveoption.lrs"/>
|
||||
<UnitName Value="ufrmsaveoption"/>
|
||||
<CursorPos X="42" Y="64"/>
|
||||
<TopLine Value="42"/>
|
||||
<UsageCount Value="27"/>
|
||||
</Unit65>
|
||||
<Unit66>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\lcl\dialogs.pp"/>
|
||||
<UnitName Value="Dialogs"/>
|
||||
<CursorPos X="3" Y="44"/>
|
||||
<TopLine Value="27"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit66>
|
||||
<Unit67>
|
||||
<Filename Value="..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-xml\src\dom.pp"/>
|
||||
<UnitName Value="DOM"/>
|
||||
<CursorPos X="3" Y="1459"/>
|
||||
<TopLine Value="1455"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit67>
|
||||
<Unit68>
|
||||
<Filename Value="..\wst_rtti_filter\cursor_intf.pas"/>
|
||||
<UnitName Value="cursor_intf"/>
|
||||
<CursorPos X="2" Y="12"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit68>
|
||||
</Units>
|
||||
<JumpHistory Count="0" HistoryIndex="-1"/>
|
||||
<JumpHistory Count="6" HistoryIndex="5">
|
||||
<Position1>
|
||||
<Filename Value="uwsttypelibraryedit.pas"/>
|
||||
<Caret Line="13" Column="3" TopLine="1"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="uwsttypelibraryedit.pas"/>
|
||||
<Caret Line="136" Column="52" TopLine="120"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="uwsttypelibraryedit.pas"/>
|
||||
<Caret Line="135" Column="16" TopLine="112"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="uwsttypelibraryedit.pas"/>
|
||||
<Caret Line="135" Column="16" TopLine="112"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="uwsttypelibraryedit.pas"/>
|
||||
<Caret Line="23" Column="18" TopLine="1"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="wsdl_generator.pas"/>
|
||||
<Caret Line="963" Column="5" TopLine="886"/>
|
||||
</Position6>
|
||||
</JumpHistory>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="5"/>
|
||||
@ -412,7 +610,6 @@
|
||||
<Linking>
|
||||
<Debugging>
|
||||
<GenerateDebugInfo Value="True"/>
|
||||
<UseHeaptrc Value="True"/>
|
||||
</Debugging>
|
||||
<Options>
|
||||
<Win32>
|
||||
|
@ -8,14 +8,14 @@ uses
|
||||
{$ENDIF}{$ENDIF}
|
||||
Interfaces, // this includes the LCL widgetset
|
||||
Forms
|
||||
, umain, view_helper, source_utils, uabout, ufEnumedit,
|
||||
, uwsttypelibraryedit, view_helper, source_utils, uabout, ufEnumedit,
|
||||
edit_helper, ufclassedit, wsdl_generator, ufpropedit, uinterfaceedit, udm,
|
||||
pascal_parser_intf, PasTree, PParser;
|
||||
pascal_parser_intf, PasTree, PParser, uprocedit, common_gui_utils, uargedit,
|
||||
umoduleedit, ubindingedit, ufrmsaveoption;
|
||||
|
||||
begin
|
||||
Application.Initialize;
|
||||
Application.CreateForm(TDM, DM);
|
||||
Application.CreateForm(TfMain, fMain);
|
||||
Application.CreateForm (TfWstTypeLibraryEdit, fWstTypeLibraryEdit );
|
||||
Application.Run;
|
||||
end.
|
||||
|
||||
|
@ -18,7 +18,6 @@ object fAbout: TfAbout
|
||||
Top = 24
|
||||
Width = 211
|
||||
Caption = 'Web Services Toolkit for FPC/Lazarus'
|
||||
Color = clNone
|
||||
Font.Style = [fsBold]
|
||||
ParentColor = False
|
||||
end
|
||||
@ -28,7 +27,6 @@ object fAbout: TfAbout
|
||||
Top = 56
|
||||
Width = 113
|
||||
Caption = 'Type Librarry Editor'
|
||||
Color = clNone
|
||||
Font.Style = [fsBold, fsItalic]
|
||||
ParentColor = False
|
||||
end
|
||||
@ -38,7 +36,6 @@ object fAbout: TfAbout
|
||||
Top = 112
|
||||
Width = 200
|
||||
Caption = 'Copyright (c) 2007 Inoussa OUEDRAOGO'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object Button1: TButton
|
||||
|
@ -7,13 +7,12 @@ LazarusResources.Add('TfAbout','FORMDATA',[
|
||||
+'derStyle'#7#8'bsDialog'#7'Caption'#6#5'About'#12'ClientHeight'#3#182#0#11'C'
|
||||
+'lientWidth'#3'+'#1#8'Position'#7#15'poDesktopCenter'#0#6'TLabel'#6'Label1'#4
|
||||
+'Left'#2','#6'Height'#2#14#3'Top'#2#24#5'Width'#3#211#0#7'Caption'#6'$Web Se'
|
||||
+'rvices Toolkit for FPC/Lazarus'#5'Color'#7#6'clNone'#10'Font.Style'#11#6'fs'
|
||||
+'Bold'#0#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2']'#6'Height'#2
|
||||
+#14#3'Top'#2'8'#5'Width'#2'q'#7'Caption'#6#20'Type Librarry Editor'#5'Color'
|
||||
+#7#6'clNone'#10'Font.Style'#11#6'fsBold'#8'fsItalic'#0#11'ParentColor'#8#0#0
|
||||
+#6'TLabel'#6'Label3'#4'Left'#2'1'#6'Height'#2#14#3'Top'#2'p'#5'Width'#3#200#0
|
||||
+#7'Caption'#6'$Copyright (c) 2007 Inoussa OUEDRAOGO'#5'Color'#7#6'clNone'#11
|
||||
+'ParentColor'#8#0#0#7'TButton'#7'Button1'#4'Left'#2'p'#6'Height'#2#25#3'Top'
|
||||
+#3#142#0#5'Width'#2'K'#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#2'OK'
|
||||
+#11'ModalResult'#2#1#8'TabOrder'#2#0#0#0#0
|
||||
+'rvices Toolkit for FPC/Lazarus'#10'Font.Style'#11#6'fsBold'#0#11'ParentColo'
|
||||
+'r'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2']'#6'Height'#2#14#3'Top'#2'8'#5'Widt'
|
||||
+'h'#2'q'#7'Caption'#6#20'Type Librarry Editor'#10'Font.Style'#11#6'fsBold'#8
|
||||
+'fsItalic'#0#11'ParentColor'#8#0#0#6'TLabel'#6'Label3'#4'Left'#2'1'#6'Height'
|
||||
+#2#14#3'Top'#2'p'#5'Width'#3#200#0#7'Caption'#6'$Copyright (c) 2007 Inoussa '
|
||||
+'OUEDRAOGO'#11'ParentColor'#8#0#0#7'TButton'#7'Button1'#4'Left'#2'p'#6'Heigh'
|
||||
+'t'#2#25#3'Top'#3#142#0#5'Width'#2'K'#25'BorderSpacing.InnerBorder'#2#4#7'Ca'
|
||||
+'ption'#6#2'OK'#11'ModalResult'#2#1#8'TabOrder'#2#0#0#0#0
|
||||
]);
|
||||
|
@ -1,3 +1,15 @@
|
||||
{
|
||||
This file is part of the Web Service Toolkit
|
||||
Copyright (c) 2007 by Inoussa OUEDRAOGO
|
||||
|
||||
This file is provide under modified LGPL licence
|
||||
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
}
|
||||
unit uabout;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
133
wst/trunk/type_lib_edtr/uargedit.lfm
Normal file
133
wst/trunk/type_lib_edtr/uargedit.lfm
Normal file
@ -0,0 +1,133 @@
|
||||
object fArgEdit: TfArgEdit
|
||||
Left = 755
|
||||
Height = 393
|
||||
Top = 180
|
||||
Width = 400
|
||||
HorzScrollBar.Page = 399
|
||||
VertScrollBar.Page = 392
|
||||
ActiveControl = Button1
|
||||
BorderStyle = bsSizeToolWin
|
||||
Caption = 'fArgEdit'
|
||||
ClientHeight = 393
|
||||
ClientWidth = 400
|
||||
Position = poMainFormCenter
|
||||
object Panel1: TPanel
|
||||
Height = 50
|
||||
Top = 343
|
||||
Width = 400
|
||||
Align = alBottom
|
||||
ClientHeight = 50
|
||||
ClientWidth = 400
|
||||
TabOrder = 0
|
||||
object Button1: TButton
|
||||
Left = 224
|
||||
Height = 25
|
||||
Top = 11
|
||||
Width = 75
|
||||
Action = actOK
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Default = True
|
||||
TabOrder = 0
|
||||
end
|
||||
object Button2: TButton
|
||||
Left = 312
|
||||
Height = 25
|
||||
Top = 10
|
||||
Width = 75
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Cancel = True
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 1
|
||||
end
|
||||
end
|
||||
object PageControl1: TPageControl
|
||||
Height = 343
|
||||
Width = 400
|
||||
ActivePage = TabSheet1
|
||||
Align = alClient
|
||||
TabIndex = 0
|
||||
TabOrder = 1
|
||||
object TabSheet1: TTabSheet
|
||||
Caption = 'Argument'
|
||||
ClientHeight = 317
|
||||
ClientWidth = 392
|
||||
object Label1: TLabel
|
||||
Left = 20
|
||||
Height = 14
|
||||
Top = 26
|
||||
Width = 28
|
||||
Caption = 'Name'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 20
|
||||
Height = 14
|
||||
Top = 95
|
||||
Width = 25
|
||||
Caption = 'Type'
|
||||
ParentColor = False
|
||||
end
|
||||
object edtName: TEdit
|
||||
Left = 20
|
||||
Height = 23
|
||||
Top = 47
|
||||
Width = 352
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabOrder = 0
|
||||
Text = 'edtName'
|
||||
end
|
||||
object edtType: TComboBox
|
||||
Left = 20
|
||||
Height = 21
|
||||
Top = 114
|
||||
Width = 352
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
|
||||
ItemHeight = 13
|
||||
MaxLength = 0
|
||||
Style = csDropDownList
|
||||
TabOrder = 1
|
||||
end
|
||||
object edtModifier: TRadioGroup
|
||||
Left = 20
|
||||
Height = 133
|
||||
Top = 157
|
||||
Width = 352
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
AutoFill = True
|
||||
Caption = ' Modifier '
|
||||
ChildSizing.LeftRightSpacing = 6
|
||||
ChildSizing.TopBottomSpacing = 6
|
||||
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
|
||||
ChildSizing.EnlargeVertical = crsHomogenousChildResize
|
||||
ChildSizing.ShrinkHorizontal = crsScaleChilds
|
||||
ChildSizing.ShrinkVertical = crsScaleChilds
|
||||
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
||||
ChildSizing.ControlsPerLine = 2
|
||||
ClientHeight = 115
|
||||
ClientWidth = 348
|
||||
Columns = 2
|
||||
Items.Strings = (
|
||||
'Default'
|
||||
'Const'
|
||||
'Var'
|
||||
'Out'
|
||||
)
|
||||
TabOrder = 2
|
||||
end
|
||||
end
|
||||
end
|
||||
object AL: TActionList
|
||||
left = 152
|
||||
top = 213
|
||||
object actOK: TAction
|
||||
Caption = 'OK'
|
||||
DisableIfNoHandler = True
|
||||
OnExecute = actOKExecute
|
||||
OnUpdate = actOKUpdate
|
||||
end
|
||||
end
|
||||
end
|
39
wst/trunk/type_lib_edtr/uargedit.lrs
Normal file
39
wst/trunk/type_lib_edtr/uargedit.lrs
Normal file
@ -0,0 +1,39 @@
|
||||
LazarusResources.Add('TfArgEdit','FORMDATA',[
|
||||
'TPF0'#9'TfArgEdit'#8'fArgEdit'#4'Left'#3#243#2#6'Height'#3#137#1#3'Top'#3#180
|
||||
+#0#5'Width'#3#144#1#18'HorzScrollBar.Page'#3#143#1#18'VertScrollBar.Page'#3
|
||||
+#136#1#13'ActiveControl'#7#7'Button1'#11'BorderStyle'#7#13'bsSizeToolWin'#7
|
||||
+'Caption'#6#8'fArgEdit'#12'ClientHeight'#3#137#1#11'ClientWidth'#3#144#1#8'P'
|
||||
+'osition'#7#16'poMainFormCenter'#0#6'TPanel'#6'Panel1'#6'Height'#2'2'#3'Top'
|
||||
+#3'W'#1#5'Width'#3#144#1#5'Align'#7#8'alBottom'#12'ClientHeight'#2'2'#11'Cli'
|
||||
+'entWidth'#3#144#1#8'TabOrder'#2#0#0#7'TButton'#7'Button1'#4'Left'#3#224#0#6
|
||||
+'Height'#2#25#3'Top'#2#11#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#0#0#0#7'TButton'#7'Button2'#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.InnerBor'
|
||||
+'der'#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'W'#1#5'Width'#3#144
|
||||
+#1#10'ActivePage'#7#9'TabSheet1'#5'Align'#7#8'alClient'#8'TabIndex'#2#0#8'Ta'
|
||||
+'bOrder'#2#1#0#9'TTabSheet'#9'TabSheet1'#7'Caption'#6#8'Argument'#12'ClientH'
|
||||
+'eight'#3'='#1#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'_'#5'Width'#2
|
||||
+#25#7'Caption'#6#4'Type'#11'ParentColor'#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'akLe'
|
||||
+'ft'#7'akRight'#0#8'TabOrder'#2#0#4'Text'#6#7'edtName'#0#0#9'TComboBox'#7'ed'
|
||||
+'tType'#4'Left'#2#20#6'Height'#2#21#3'Top'#2'r'#5'Width'#3'`'#1#7'Anchors'#11
|
||||
+#5'akTop'#6'akLeft'#7'akRight'#0#16'AutoCompleteText'#11#22'cbactEndOfLineCo'
|
||||
+'mplete'#20'cbactSearchAscending'#0#10'ItemHeight'#2#13#9'MaxLength'#2#0#5'S'
|
||||
+'tyle'#7#14'csDropDownList'#8'TabOrder'#2#1#0#0#11'TRadioGroup'#11'edtModifi'
|
||||
+'er'#4'Left'#2#20#6'Height'#3#133#0#3'Top'#3#157#0#5'Width'#3'`'#1#7'Anchors'
|
||||
+#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#8'AutoFill'#9#7'Caption'#6#12
|
||||
+' Modifier '#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottom'
|
||||
+'Spacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResiz'
|
||||
+'e'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildS'
|
||||
+'izing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'
|
||||
+#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBot'
|
||||
+'tom'#27'ChildSizing.ControlsPerLine'#2#2#12'ClientHeight'#2's'#11'ClientWid'
|
||||
+'th'#3'\'#1#7'Columns'#2#2#13'Items.Strings'#1#6#7'Default'#6#5'Const'#6#3'V'
|
||||
+'ar'#6#3'Out'#0#8'TabOrder'#2#2#0#0#0#0#11'TActionList'#2'AL'#4'left'#3#152#0
|
||||
+#3'top'#3#213#0#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#18'DisableIfNoHandl'
|
||||
+'er'#9#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#0#0
|
||||
]);
|
157
wst/trunk/type_lib_edtr/uargedit.pas
Normal file
157
wst/trunk/type_lib_edtr/uargedit.pas
Normal file
@ -0,0 +1,157 @@
|
||||
{
|
||||
This file is part of the Web Service Toolkit
|
||||
Copyright (c) 2007 by Inoussa OUEDRAOGO
|
||||
|
||||
This file is provide under modified LGPL licence
|
||||
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
}
|
||||
unit uargedit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls,
|
||||
ComCtrls, StdCtrls, ActnList,
|
||||
pastree, pascal_parser_intf, edit_helper, Buttons;
|
||||
|
||||
type
|
||||
|
||||
{ TfArgEdit }
|
||||
|
||||
TfArgEdit = class(TForm)
|
||||
actOK: TAction;
|
||||
AL: TActionList;
|
||||
Button1: TButton;
|
||||
Button2: TButton;
|
||||
edtType: TComboBox;
|
||||
edtName: TEdit;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
PageControl1: TPageControl;
|
||||
Panel1: TPanel;
|
||||
edtModifier: TRadioGroup;
|
||||
TabSheet1: TTabSheet;
|
||||
procedure actOKExecute(Sender: TObject);
|
||||
procedure actOKUpdate(Sender: TObject);
|
||||
private
|
||||
FUpdateType : TEditType;
|
||||
FObject : TPasArgument;
|
||||
FSymbolTable : TwstPasTreeContainer;
|
||||
private
|
||||
property UpdateType : TEditType read FUpdateType;
|
||||
private
|
||||
procedure LoadFromObject();
|
||||
procedure SaveToObject();
|
||||
public
|
||||
function UpdateObject(
|
||||
var AObject : TPasArgument;
|
||||
const AUpdateType : TEditType;
|
||||
ASymbolTable : TwstPasTreeContainer
|
||||
) : Boolean;
|
||||
end;
|
||||
|
||||
var
|
||||
fArgEdit: TfArgEdit;
|
||||
|
||||
implementation
|
||||
uses parserutils;
|
||||
|
||||
{ TfArgEdit }
|
||||
|
||||
procedure TfArgEdit.actOKUpdate(Sender: TObject);
|
||||
var
|
||||
b : Boolean;
|
||||
i : Integer;
|
||||
locArg : TPasArgument;
|
||||
argList : TList;
|
||||
begin
|
||||
b := ( not IsStrEmpty(edtName.Text) ) and
|
||||
( edtType.ItemIndex > -1 );
|
||||
if b then begin
|
||||
argList := TPasProcedureType(FObject.Parent).Args;
|
||||
for i := 0 to Pred(argList.Count) do begin
|
||||
locArg := TPasArgument(argList[i]);
|
||||
if ( locArg <> FObject ) and
|
||||
( AnsiSameText(locArg.Name,FObject.Name) or
|
||||
AnsiSameText(FSymbolTable.GetExternalName(locArg),FSymbolTable.GetExternalName(FObject))
|
||||
)
|
||||
then begin
|
||||
b := False;
|
||||
Break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
TAction(Sender).Enabled := b;
|
||||
end;
|
||||
|
||||
procedure TfArgEdit.actOKExecute(Sender: TObject);
|
||||
begin
|
||||
ModalResult := mrOK;
|
||||
end;
|
||||
|
||||
procedure TfArgEdit.LoadFromObject();
|
||||
begin
|
||||
edtName.Text := FSymbolTable.GetExternalName(FObject);
|
||||
edtModifier.ItemIndex := Ord(FObject.Access);
|
||||
Caption := edtName.Caption;
|
||||
edtType.Items.BeginUpdate();
|
||||
try
|
||||
edtType.Items.Clear();
|
||||
FillTypeList(edtType.Items,FSymbolTable);
|
||||
edtType.ItemIndex := edtType.Items.IndexOfObject(FObject.ArgType);
|
||||
finally
|
||||
edtType.Items.EndUpdate();
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfArgEdit.SaveToObject();
|
||||
var
|
||||
locObj : TPasArgument;
|
||||
typExtName, typIntName : string;
|
||||
propType : TPasType;
|
||||
begin
|
||||
locObj := nil;
|
||||
typExtName := ExtractIdentifier(edtName.Text);
|
||||
typIntName := MakeInternalSymbolNameFrom(typExtName);
|
||||
propType := edtType.Items.Objects[edtType.ItemIndex] as TPasType;
|
||||
locObj := FObject;
|
||||
if ( propType <> locObj.ArgType ) then begin
|
||||
if ( locObj.ArgType <> nil ) then
|
||||
locObj.ArgType.Release();
|
||||
locObj.ArgType := propType;
|
||||
locObj.ArgType.AddRef();
|
||||
end;
|
||||
locObj.Name := typIntName;
|
||||
FSymbolTable.RegisterExternalAlias(locObj,typExtName);
|
||||
locObj.Access := TArgumentAccess(edtModifier.ItemIndex);
|
||||
end;
|
||||
|
||||
function TfArgEdit.UpdateObject(
|
||||
var AObject: TPasArgument;
|
||||
const AUpdateType: TEditType;
|
||||
ASymbolTable: TwstPasTreeContainer
|
||||
): Boolean;
|
||||
begin
|
||||
FSymbolTable := ASymbolTable;
|
||||
FUpdateType := AUpdateType;
|
||||
FObject := AObject;
|
||||
LoadFromObject();
|
||||
Result := ( ShowModal() = mrOK );
|
||||
if Result then begin
|
||||
SaveToObject();
|
||||
AObject := FObject;
|
||||
end;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I uargedit.lrs}
|
||||
|
||||
end.
|
||||
|
127
wst/trunk/type_lib_edtr/ubindingedit.lfm
Normal file
127
wst/trunk/type_lib_edtr/ubindingedit.lfm
Normal file
@ -0,0 +1,127 @@
|
||||
object fBindingEdit: TfBindingEdit
|
||||
Left = 759
|
||||
Height = 354
|
||||
Top = 90
|
||||
Width = 400
|
||||
HorzScrollBar.Page = 399
|
||||
VertScrollBar.Page = 353
|
||||
ActiveControl = edtName
|
||||
BorderStyle = bsSizeToolWin
|
||||
Caption = 'fBindingEdit'
|
||||
ClientHeight = 354
|
||||
ClientWidth = 400
|
||||
Position = poMainFormCenter
|
||||
object Panel1: TPanel
|
||||
Height = 50
|
||||
Top = 304
|
||||
Width = 400
|
||||
Align = alBottom
|
||||
ClientHeight = 50
|
||||
ClientWidth = 400
|
||||
TabOrder = 0
|
||||
object Button1: TButton
|
||||
Left = 224
|
||||
Height = 25
|
||||
Top = 10
|
||||
Width = 75
|
||||
Action = actOK
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Default = True
|
||||
TabOrder = 0
|
||||
end
|
||||
object Button2: TButton
|
||||
Left = 312
|
||||
Height = 25
|
||||
Top = 10
|
||||
Width = 75
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Cancel = True
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 1
|
||||
end
|
||||
end
|
||||
object PageControl1: TPageControl
|
||||
Height = 304
|
||||
Width = 400
|
||||
ActivePage = TabSheet1
|
||||
Align = alClient
|
||||
TabIndex = 0
|
||||
TabOrder = 1
|
||||
object TabSheet1: TTabSheet
|
||||
Caption = 'Interface Binding'
|
||||
ClientHeight = 278
|
||||
ClientWidth = 392
|
||||
object Label1: TLabel
|
||||
Left = 12
|
||||
Height = 14
|
||||
Top = 26
|
||||
Width = 28
|
||||
Caption = 'Name'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 12
|
||||
Height = 14
|
||||
Top = 98
|
||||
Width = 40
|
||||
Caption = 'Address'
|
||||
ParentColor = False
|
||||
end
|
||||
object edtName: TEdit
|
||||
Left = 12
|
||||
Height = 23
|
||||
Top = 50
|
||||
Width = 360
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabOrder = 0
|
||||
Text = 'edtName'
|
||||
end
|
||||
object edtAddress: TEdit
|
||||
Left = 12
|
||||
Height = 23
|
||||
Top = 114
|
||||
Width = 360
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabOrder = 1
|
||||
Text = 'edtAddress'
|
||||
end
|
||||
object edtStyle: TRadioGroup
|
||||
Left = 12
|
||||
Height = 92
|
||||
Top = 165
|
||||
Width = 360
|
||||
AutoFill = True
|
||||
Caption = ' Style '
|
||||
ChildSizing.LeftRightSpacing = 6
|
||||
ChildSizing.TopBottomSpacing = 6
|
||||
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
|
||||
ChildSizing.EnlargeVertical = crsHomogenousChildResize
|
||||
ChildSizing.ShrinkHorizontal = crsScaleChilds
|
||||
ChildSizing.ShrinkVertical = crsScaleChilds
|
||||
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
||||
ChildSizing.ControlsPerLine = 2
|
||||
ClientHeight = 74
|
||||
ClientWidth = 356
|
||||
Columns = 2
|
||||
Items.Strings = (
|
||||
'Document'
|
||||
'RPC'
|
||||
)
|
||||
TabOrder = 2
|
||||
end
|
||||
end
|
||||
end
|
||||
object AL: TActionList
|
||||
left = 85
|
||||
top = 100
|
||||
object actOK: TAction
|
||||
Caption = 'OK'
|
||||
DisableIfNoHandler = True
|
||||
OnExecute = actOKExecute
|
||||
OnUpdate = actOKUpdate
|
||||
end
|
||||
end
|
||||
end
|
39
wst/trunk/type_lib_edtr/ubindingedit.lrs
Normal file
39
wst/trunk/type_lib_edtr/ubindingedit.lrs
Normal file
@ -0,0 +1,39 @@
|
||||
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
|
||||
|
||||
LazarusResources.Add('TfBindingEdit','FORMDATA',[
|
||||
'TPF0'#13'TfBindingEdit'#12'fBindingEdit'#4'Left'#3#247#2#6'Height'#3'b'#1#3
|
||||
+'Top'#2'Z'#5'Width'#3#144#1#18'HorzScrollBar.Page'#3#143#1#18'VertScrollBar.'
|
||||
+'Page'#3'a'#1#13'ActiveControl'#7#7'edtName'#11'BorderStyle'#7#13'bsSizeTool'
|
||||
+'Win'#7'Caption'#6#12'fBindingEdit'#12'ClientHeight'#3'b'#1#11'ClientWidth'#3
|
||||
+#144#1#8'Position'#7#16'poMainFormCenter'#0#6'TPanel'#6'Panel1'#6'Height'#2
|
||||
+'2'#3'Top'#3'0'#1#5'Width'#3#144#1#5'Align'#7#8'alBottom'#12'ClientHeight'#2
|
||||
+'2'#11'ClientWidth'#3#144#1#8'TabOrder'#2#0#0#7'TButton'#7'Button1'#4'Left'#3
|
||||
+#224#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'Button2'#4'Left'#3'8'#1#6'Height'#2#25#3'T'
|
||||
+'op'#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'ModalResult'#2#2#8
|
||||
+'TabOrder'#2#1#0#0#0#12'TPageControl'#12'PageControl1'#6'Height'#3'0'#1#5'Wi'
|
||||
+'dth'#3#144#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#17'Interfac'
|
||||
+'e Binding'#12'ClientHeight'#3#22#1#11'ClientWidth'#3#136#1#0#6'TLabel'#6'La'
|
||||
+'bel1'#4'Left'#2#12#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#12#6'Height'#2#14
|
||||
+#3'Top'#2'b'#5'Width'#2'('#7'Caption'#6#7'Address'#11'ParentColor'#8#0#0#5'T'
|
||||
+'Edit'#7'edtName'#4'Left'#2#12#6'Height'#2#23#3'Top'#2'2'#5'Width'#3'h'#1#7
|
||||
+'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0#4'Text'#6#7'edt'
|
||||
+'Name'#0#0#5'TEdit'#10'edtAddress'#4'Left'#2#12#6'Height'#2#23#3'Top'#2'r'#5
|
||||
+'Width'#3'h'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#1
|
||||
+#4'Text'#6#10'edtAddress'#0#0#11'TRadioGroup'#8'edtStyle'#4'Left'#2#12#6'Hei'
|
||||
+'ght'#2'\'#3'Top'#3#165#0#5'Width'#3'h'#1#8'AutoFill'#9#7'Caption'#6#9' Sty'
|
||||
+'le '#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'
|
||||
+#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'Chi'
|
||||
+'ldSizing.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.Shr'
|
||||
+'inkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crs'
|
||||
+'ScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27
|
||||
+'ChildSizing.ControlsPerLine'#2#2#12'ClientHeight'#2'J'#11'ClientWidth'#3'd'
|
||||
+#1#7'Columns'#2#2#13'Items.Strings'#1#6#8'Document'#6#3'RPC'#0#8'TabOrder'#2
|
||||
+#2#0#0#0#0#11'TActionList'#2'AL'#4'left'#2'U'#3'top'#2'd'#0#7'TAction'#5'act'
|
||||
+'OK'#7'Caption'#6#2'OK'#18'DisableIfNoHandler'#9#9'OnExecute'#7#12'actOKExec'
|
||||
+'ute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#0#0
|
||||
]);
|
120
wst/trunk/type_lib_edtr/ubindingedit.pas
Normal file
120
wst/trunk/type_lib_edtr/ubindingedit.pas
Normal file
@ -0,0 +1,120 @@
|
||||
{
|
||||
This file is part of the Web Service Toolkit
|
||||
Copyright (c) 2007 by Inoussa OUEDRAOGO
|
||||
|
||||
This file is provide under modified LGPL licence
|
||||
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
}
|
||||
unit ubindingedit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls,
|
||||
ComCtrls, StdCtrls, ActnList,
|
||||
pastree, pascal_parser_intf,
|
||||
edit_helper;
|
||||
|
||||
type
|
||||
|
||||
{ TfBindingEdit }
|
||||
|
||||
TfBindingEdit = class(TForm)
|
||||
actOK: TAction;
|
||||
AL: TActionList;
|
||||
Button1: TButton;
|
||||
Button2: TButton;
|
||||
edtName: TEdit;
|
||||
edtAddress: TEdit;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
PageControl1: TPageControl;
|
||||
Panel1: TPanel;
|
||||
edtStyle: TRadioGroup;
|
||||
TabSheet1: TTabSheet;
|
||||
procedure actOKExecute(Sender: TObject);
|
||||
procedure actOKUpdate(Sender: TObject);
|
||||
private
|
||||
FUpdateType : TEditType;
|
||||
FObject : TwstBinding;
|
||||
FSymbolTable : TwstPasTreeContainer;
|
||||
private
|
||||
property UpdateType : TEditType read FUpdateType;
|
||||
private
|
||||
procedure LoadFromObject();
|
||||
procedure SaveToObject();
|
||||
public
|
||||
function UpdateObject(
|
||||
var AObject : TwstBinding;
|
||||
const AUpdateType : TEditType;
|
||||
ASymbolTable : TwstPasTreeContainer
|
||||
):Boolean;
|
||||
end;
|
||||
|
||||
var
|
||||
fBindingEdit: TfBindingEdit;
|
||||
|
||||
implementation
|
||||
uses parserutils;
|
||||
|
||||
{ TfBindingEdit }
|
||||
|
||||
procedure TfBindingEdit.actOKUpdate(Sender: TObject);
|
||||
begin
|
||||
TAction(Sender).Enabled := ( not IsStrEmpty(edtName.Text) ) and ( edtStyle.ItemIndex >= 0 );
|
||||
end;
|
||||
|
||||
procedure TfBindingEdit.actOKExecute(Sender: TObject);
|
||||
begin
|
||||
ModalResult := mrOK;
|
||||
end;
|
||||
|
||||
procedure TfBindingEdit.LoadFromObject();
|
||||
var
|
||||
i : Integer;
|
||||
begin
|
||||
edtName.Text := FSymbolTable.GetExternalName(FObject);
|
||||
Caption := edtName.Text;
|
||||
edtAddress.Text := FObject.Address;
|
||||
i := Ord(FObject.BindingStyle);
|
||||
if ( i > Pred(edtStyle.Items.Count) ) then
|
||||
i := Pred(edtStyle.Items.Count);
|
||||
edtStyle.ItemIndex := i;
|
||||
end;
|
||||
|
||||
procedure TfBindingEdit.SaveToObject();
|
||||
begin
|
||||
FObject.Name := ExtractIdentifier(edtName.Text);
|
||||
FObject.Address := Trim(edtAddress.Text);
|
||||
FObject.BindingStyle := TBindingStyle(edtStyle.ItemIndex);
|
||||
end;
|
||||
|
||||
function TfBindingEdit.UpdateObject(
|
||||
var AObject: TwstBinding;
|
||||
const AUpdateType: TEditType;
|
||||
ASymbolTable: TwstPasTreeContainer
|
||||
): Boolean;
|
||||
begin
|
||||
Assert(Assigned(ASymbolTable));
|
||||
FSymbolTable := ASymbolTable;
|
||||
FUpdateType := AUpdateType;
|
||||
FObject := AObject;
|
||||
LoadFromObject();
|
||||
Result := ( ShowModal() = mrOK );
|
||||
if Result then begin
|
||||
SaveToObject();
|
||||
end;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I ubindingedit.lrs}
|
||||
|
||||
end.
|
||||
|
@ -7,7 +7,7 @@ object DM: TDM
|
||||
left = 208
|
||||
top = 200
|
||||
Bitmap = {
|
||||
6C690A0000001000000010000000DB0300002F2A2058504D202A2F0D0A737461
|
||||
6C690B0000001000000010000000DB0300002F2A2058504D202A2F0D0A737461
|
||||
7469632063686172202A20706B675F70726F6A6563745F78706D5B5D203D207B
|
||||
0D0A2231382031382033322031222C0D0A22200963204E6F6E65222C0D0A222E
|
||||
09632023413041304130222C0D0A222B09632023383038303830222C0D0A2240
|
||||
@ -636,7 +636,82 @@ object DM: TDM
|
||||
3E3D2A2E2020222C0D0A22202E2E263B403E2C2C3E403B262E2E20222C0D0A22
|
||||
202E4025262A3D2D2D3D2A2625402E20222C0D0A2220202E402E2E232424232E
|
||||
2E402E2020222C0D0A222020202E2E202E2B2B2E202E2E202020222C0D0A2220
|
||||
20202020202E2E2E2E202020202020227D3B0D0A
|
||||
20202020202E2E2E2E202020202020227D3B0D0A490900002F2A2058504D202A
|
||||
2F0D0A7374617469632063686172202A2063655F696D706C656D656E74617469
|
||||
6F6E5F78706D5B5D203D207B0D0A223136203136203130312032222C0D0A2220
|
||||
200963204E6F6E65222C0D0A222E2009632023414441444144222C0D0A222B20
|
||||
09632023394339423942222C0D0A22402009632023373937383738222C0D0A22
|
||||
232009632023373637363736222C0D0A22242009632023364236423642222C0D
|
||||
0A22252009632023384538453845222C0D0A2226200963202341334132413222
|
||||
2C0D0A222A2009632023384438433842222C0D0A223D20096320233931393139
|
||||
31222C0D0A222D2009632023383538353835222C0D0A223B2009632023374137
|
||||
413741222C0D0A223E2009632023373137313731222C0D0A222C200963202336
|
||||
3836383638222C0D0A22272009632023393039303930222C0D0A222920096320
|
||||
23413041303946222C0D0A22212009632023393639343933222C0D0A227E2009
|
||||
632023413041304130222C0D0A227B2009632023394139413941222C0D0A225D
|
||||
2009632023393239323932222C0D0A225E2009632023383938393839222C0D0A
|
||||
222F2009632023374637463746222C0D0A22282009632023373737373737222C
|
||||
0D0A225F2009632023373037303730222C0D0A223A2009632023393439343934
|
||||
222C0D0A223C2009632023394139383938222C0D0A225B200963202339333846
|
||||
3844222C0D0A227D2009632023413641364136222C0D0A227C20096320234132
|
||||
41324132222C0D0A22312009632023394239423942222C0D0A22322009632023
|
||||
384238423842222C0D0A22332009632023374437443744222C0D0A2234200963
|
||||
2023363936393639222C0D0A22352009632023414341434143222C0D0A223620
|
||||
09632023424242414241222C0D0A22372009632023413039433942222C0D0A22
|
||||
382009632023423142314231222C0D0A22392009632023414241424142222C0D
|
||||
0A22302009632023413541354135222C0D0A2261200963202341344134413422
|
||||
2C0D0A22622009632023394439443944222C0D0A226320096320233936393639
|
||||
36222C0D0A22642009632023384438443844222C0D0A22652009632023383738
|
||||
373837222C0D0A22662009632023383238323832222C0D0A2267200963202337
|
||||
4337433743222C0D0A22682009632023373337333733222C0D0A226920096320
|
||||
23363536353635222C0D0A226A2009632023384638463846222C0D0A226B2009
|
||||
632023423542354235222C0D0A226C2009632023393339333933222C0D0A226D
|
||||
2009632023394339433943222C0D0A226E2009632023413141314131222C0D0A
|
||||
226F2009632023393839383938222C0D0A22702009632023373637363737222C
|
||||
0D0A22712009632023383337443741222C0D0A22722009632023374336333534
|
||||
222C0D0A22732009632023393939393939222C0D0A2274200963202339423942
|
||||
3941222C0D0A22752009632023423342334233222C0D0A227620096320234138
|
||||
41384138222C0D0A22772009632023394639463946222C0D0A22782009632023
|
||||
393539353935222C0D0A22792009632023383338333833222C0D0A227A200963
|
||||
2023384638373834222C0D0A22412009632023383736433543222C0D0A224220
|
||||
09632023384338333831222C0D0A22432009632023384536463542222C0D0A22
|
||||
442009632023413741374137222C0D0A22452009632023384538373834222C0D
|
||||
0A22462009632023383536463631222C0D0A2247200963202339413930384322
|
||||
2C0D0A22482009632023393437323543222C0D0A224920096320234237423342
|
||||
31222C0D0A224A2009632023423539373835222C0D0A224B2009632023373437
|
||||
343734222C0D0A224C2009632023383138303830222C0D0A224D200963202339
|
||||
3138373832222C0D0A224E2009632023383836423541222C0D0A224F20096320
|
||||
23394539333846222C0D0A22502009632023393237303543222C0D0A22512009
|
||||
632023423642314146222C0D0A22522009632023424539433838222C0D0A2253
|
||||
2009632023433141383938222C0D0A22542009632023363036303630222C0D0A
|
||||
22552009632023393138383835222C0D0A22562009632023383935453435222C
|
||||
0D0A22572009632023394238463841222C0D0A22582009632023393537323544
|
||||
222C0D0A22592009632023423641464143222C0D0A225A200963202342463944
|
||||
3839222C0D0A22602009632023433941423941222C0D0A22202E096320233944
|
||||
39333931222C0D0A222E2E09632023393436343438222C0D0A222B2E09632023
|
||||
414341364133222C0D0A22402E09632023433039453841222C0D0A22232E0963
|
||||
2023433841413938222C0D0A22242E09632023423342304146222C0D0A22252E
|
||||
09632023424439413835222C0D0A22262E09632023434442304130222C0D0A22
|
||||
2A2E09632023434241453944222C0D0A22202020202020202020202020202020
|
||||
2020202020202020202020202020202020222C0D0A2220202020202020202020
|
||||
202020202020202020202E2020202020202020202020222C0D0A222020202020
|
||||
20202020202020202020202B204020232024202520202020202020222C0D0A22
|
||||
20202020202020202020202026202A203D202D203B203E202C20272020202020
|
||||
222C0D0A222020202020202020292021207E207B205D205E202F2028205F2024
|
||||
203A202020222C0D0A22202020203C205B207D207D207C2031203A2032202D20
|
||||
332023205F2034203520222C0D0A223620372038203920302061207C20622063
|
||||
206420652066206720682069206A20222C0D0A22352036206B206C2065206D20
|
||||
6E2062206F2027205E2066207020712072206320222C0D0A227320742075207C
|
||||
207620762077207B207820252079207A204120422043202020222C0D0A222E20
|
||||
2D206420762044207E2031203A206520452046204720482049204A202020222C
|
||||
0D0A2220206E204B2023206C203D204C204D204E204F20502051205220202053
|
||||
202020222C0D0A22202020206D2054203420552056205720582059205A202020
|
||||
6020202020202020222C0D0A2220202020202078205420202E2E2E2B2E402E20
|
||||
20232E20202020202020202020222C0D0A2220202020202020203920242E252E
|
||||
2020262E2020202020202020202020202020222C0D0A22202020202020202020
|
||||
2020202A2E202020202020202020202020202020202020222C0D0A2220202020
|
||||
20202020202020202020202020202020202020202020202020202020227D3B0D
|
||||
0A
|
||||
}
|
||||
end
|
||||
end
|
||||
|
@ -3,24 +3,24 @@
|
||||
LazarusResources.Add('TDM','FORMDATA',[
|
||||
'TPF0'#3'TDM'#2'DM'#6'Height'#3','#1#16'HorizontalOffset'#3'}'#1#14'VerticalO'
|
||||
+'ffset'#3#236#0#5'Width'#3#144#1#0#10'TImageList'#2'IM'#4'left'#3#208#0#3'to'
|
||||
+'p'#3#200#0#6'Bitmap'#10#180'N'#0#0'li'#10#0#0#0#16#0#0#0#16#0#0#0#219#3#0#0
|
||||
+'/* XPM */'#13#10'static char * pkg_project_xpm[] = {'#13#10'"18 18 32 1",'
|
||||
+#13#10'" '#9'c None",'#13#10'".'#9'c #A0A0A0",'#13#10'"+'#9'c #808080",'#13
|
||||
+#10'"@'#9'c #404000",'#13#10'"#'#9'c #FFFFFF",'#13#10'"$'#9'c #DCDCDC",'#13
|
||||
+#10'"%'#9'c #C0C0FF",'#13#10'"&'#9'c #C3C3C3",'#13#10'"*'#9'c #8080FF",'#13
|
||||
+#10'"='#9'c #585858",'#13#10'"-'#9'c #303030",'#13#10'";'#9'c #008080",'#13
|
||||
+#10'">'#9'c #004040",'#13#10'",'#9'c #FFC0C0",'#13#10'"'''#9'c #0000FF",'#13
|
||||
+#10'")'#9'c #FFDCA8",'#13#10'"!'#9'c #C05800",'#13#10'"~'#9'c #FF8000",'#13
|
||||
+#10'"{'#9'c #FFA858",'#13#10'"]'#9'c #808000",'#13#10'"^'#9'c #FF00FF",'#13
|
||||
+#10'"/'#9'c #C000C0",'#13#10'"('#9'c #800080",'#13#10'"_'#9'c #00C0C0",'#13
|
||||
+#10'":'#9'c #C0FFC0",'#13#10'"<'#9'c #00C000",'#13#10'"['#9'c #008000",'#13
|
||||
+#10'"}'#9'c #800000",'#13#10'"|'#9'c #004000",'#13#10'"1'#9'c #FF0000",'#13
|
||||
+#10'"2'#9'c #C00000",'#13#10'"3'#9'c #C0C000",'#13#10'" ....+++@ ",'
|
||||
+#13#10'" .######.+ ",'#13#10'" .######.$+ ",'#13#10'" .#%%.#'
|
||||
+'#&$#+ ",'#13#10'" .%%%**#&.==- ",'#13#10'" .*;*;>###$&@ ",'#13#10
|
||||
+'" $*;=>>##$$$= ",'#13#10'" ,,,==>>''###)$= ",'#13#10'" !~{=-=>=])#$$'
|
||||
+'= ",'#13#10'" !^/(&_:<[$)))= ",'#13#10'" !!}}<<[=|#$$$= ",'#13#10'" '
|
||||
+'12-<][=|$),)= ",'#13#10'" .#<[[||$$$&= ",'#13#10'" +)#)@)$)),)= ",'
|
||||
+'p'#3#200#0#6'Bitmap'#10#1'X'#0#0'li'#11#0#0#0#16#0#0#0#16#0#0#0#219#3#0#0'/'
|
||||
+'* XPM */'#13#10'static char * pkg_project_xpm[] = {'#13#10'"18 18 32 1",'#13
|
||||
+#10'" '#9'c None",'#13#10'".'#9'c #A0A0A0",'#13#10'"+'#9'c #808080",'#13#10
|
||||
+'"@'#9'c #404000",'#13#10'"#'#9'c #FFFFFF",'#13#10'"$'#9'c #DCDCDC",'#13#10
|
||||
+'"%'#9'c #C0C0FF",'#13#10'"&'#9'c #C3C3C3",'#13#10'"*'#9'c #8080FF",'#13#10
|
||||
+'"='#9'c #585858",'#13#10'"-'#9'c #303030",'#13#10'";'#9'c #008080",'#13#10
|
||||
+'">'#9'c #004040",'#13#10'",'#9'c #FFC0C0",'#13#10'"'''#9'c #0000FF",'#13#10
|
||||
+'")'#9'c #FFDCA8",'#13#10'"!'#9'c #C05800",'#13#10'"~'#9'c #FF8000",'#13#10
|
||||
+'"{'#9'c #FFA858",'#13#10'"]'#9'c #808000",'#13#10'"^'#9'c #FF00FF",'#13#10
|
||||
+'"/'#9'c #C000C0",'#13#10'"('#9'c #800080",'#13#10'"_'#9'c #00C0C0",'#13#10
|
||||
+'":'#9'c #C0FFC0",'#13#10'"<'#9'c #00C000",'#13#10'"['#9'c #008000",'#13#10
|
||||
+'"}'#9'c #800000",'#13#10'"|'#9'c #004000",'#13#10'"1'#9'c #FF0000",'#13#10
|
||||
+'"2'#9'c #C00000",'#13#10'"3'#9'c #C0C000",'#13#10'" ....+++@ ",'#13
|
||||
+#10'" .######.+ ",'#13#10'" .######.$+ ",'#13#10'" .#%%.##&$'
|
||||
+'#+ ",'#13#10'" .%%%**#&.==- ",'#13#10'" .*;*;>###$&@ ",'#13#10'" '
|
||||
+' $*;=>>##$$$= ",'#13#10'" ,,,==>>''###)$= ",'#13#10'" !~{=-=>=])#$$= '
|
||||
+' ",'#13#10'" !^/(&_:<[$)))= ",'#13#10'" !!}}<<[=|#$$$= ",'#13#10'" 12'
|
||||
+'-<][=|$),)= ",'#13#10'" .#<[[||$$$&= ",'#13#10'" +)#)@)$)),)= ",'
|
||||
+#13#10'" .$#$$)$&,3,= ",'#13#10'" @++++=]=+=+@ ",'#13#10'" '
|
||||
+' ",'#13#10'" "};'#13#10'Z'#13#0#0'/* XPM */'#13#10
|
||||
+'static char * pkg_include_xpm[] = {'#13#10'"18 18 154 2",'#13#10'" '#9'c N'
|
||||
@ -391,5 +391,51 @@ LazarusResources.Add('TDM','FORMDATA',[
|
||||
+'"..#=>*. .*>=#..",'#13#10'".+$-,'' '',-$+.",'#13#10'".+$-,'' '',-$+.'
|
||||
+'",'#13#10'"..#=>*. .*>=#..",'#13#10'" .*=>*''''*>=*. ",'#13#10'" ..&;@>,'
|
||||
+',>@;&.. ",'#13#10'" .@%&*=--=*&%@. ",'#13#10'" .@..#$$#..@. ",'#13#10'" '
|
||||
+' .. .++. .. ",'#13#10'" .... "};'#13#10#0#0#0
|
||||
+' .. .++. .. ",'#13#10'" .... "};'#13#10'I'#9#0#0'/* XPM */'#13
|
||||
+#10'static char * ce_implementation_xpm[] = {'#13#10'"16 16 101 2",'#13#10'"'
|
||||
+' '#9'c None",'#13#10'". '#9'c #ADADAD",'#13#10'"+ '#9'c #9C9B9B",'#13#10'"'
|
||||
+'@ '#9'c #797878",'#13#10'"# '#9'c #767676",'#13#10'"$ '#9'c #6B6B6B",'#13#10
|
||||
+'"% '#9'c #8E8E8E",'#13#10'"& '#9'c #A3A2A2",'#13#10'"* '#9'c #8D8C8B",'#13
|
||||
+#10'"= '#9'c #919191",'#13#10'"- '#9'c #858585",'#13#10'"; '#9'c #7A7A7A",'
|
||||
+#13#10'"> '#9'c #717171",'#13#10'", '#9'c #686868",'#13#10'"'' '#9'c #909090'
|
||||
+'",'#13#10'") '#9'c #A0A09F",'#13#10'"! '#9'c #969493",'#13#10'"~ '#9'c #A0A'
|
||||
+'0A0",'#13#10'"{ '#9'c #9A9A9A",'#13#10'"] '#9'c #929292",'#13#10'"^ '#9'c #'
|
||||
+'898989",'#13#10'"/ '#9'c #7F7F7F",'#13#10'"( '#9'c #777777",'#13#10'"_ '#9
|
||||
+'c #707070",'#13#10'": '#9'c #949494",'#13#10'"< '#9'c #9A9898",'#13#10'"[ '
|
||||
+#9'c #938F8D",'#13#10'"} '#9'c #A6A6A6",'#13#10'"| '#9'c #A2A2A2",'#13#10'"1'
|
||||
+' '#9'c #9B9B9B",'#13#10'"2 '#9'c #8B8B8B",'#13#10'"3 '#9'c #7D7D7D",'#13#10
|
||||
+'"4 '#9'c #696969",'#13#10'"5 '#9'c #ACACAC",'#13#10'"6 '#9'c #BBBABA",'#13
|
||||
+#10'"7 '#9'c #A09C9B",'#13#10'"8 '#9'c #B1B1B1",'#13#10'"9 '#9'c #ABABAB",'
|
||||
+#13#10'"0 '#9'c #A5A5A5",'#13#10'"a '#9'c #A4A4A4",'#13#10'"b '#9'c #9D9D9D"'
|
||||
+','#13#10'"c '#9'c #969696",'#13#10'"d '#9'c #8D8D8D",'#13#10'"e '#9'c #8787'
|
||||
+'87",'#13#10'"f '#9'c #828282",'#13#10'"g '#9'c #7C7C7C",'#13#10'"h '#9'c #7'
|
||||
+'37373",'#13#10'"i '#9'c #656565",'#13#10'"j '#9'c #8F8F8F",'#13#10'"k '#9'c'
|
||||
+' #B5B5B5",'#13#10'"l '#9'c #939393",'#13#10'"m '#9'c #9C9C9C",'#13#10'"n '#9
|
||||
+'c #A1A1A1",'#13#10'"o '#9'c #989898",'#13#10'"p '#9'c #767677",'#13#10'"q '
|
||||
+#9'c #837D7A",'#13#10'"r '#9'c #7C6354",'#13#10'"s '#9'c #999999",'#13#10'"t'
|
||||
+' '#9'c #9B9B9A",'#13#10'"u '#9'c #B3B3B3",'#13#10'"v '#9'c #A8A8A8",'#13#10
|
||||
+'"w '#9'c #9F9F9F",'#13#10'"x '#9'c #959595",'#13#10'"y '#9'c #838383",'#13
|
||||
+#10'"z '#9'c #8F8784",'#13#10'"A '#9'c #876C5C",'#13#10'"B '#9'c #8C8381",'
|
||||
+#13#10'"C '#9'c #8E6F5B",'#13#10'"D '#9'c #A7A7A7",'#13#10'"E '#9'c #8E8784"'
|
||||
+','#13#10'"F '#9'c #856F61",'#13#10'"G '#9'c #9A908C",'#13#10'"H '#9'c #9472'
|
||||
+'5C",'#13#10'"I '#9'c #B7B3B1",'#13#10'"J '#9'c #B59785",'#13#10'"K '#9'c #7'
|
||||
+'47474",'#13#10'"L '#9'c #818080",'#13#10'"M '#9'c #918782",'#13#10'"N '#9'c'
|
||||
+' #886B5A",'#13#10'"O '#9'c #9E938F",'#13#10'"P '#9'c #92705C",'#13#10'"Q '#9
|
||||
+'c #B6B1AF",'#13#10'"R '#9'c #BE9C88",'#13#10'"S '#9'c #C1A898",'#13#10'"T '
|
||||
+#9'c #606060",'#13#10'"U '#9'c #918885",'#13#10'"V '#9'c #895E45",'#13#10'"W'
|
||||
+' '#9'c #9B8F8A",'#13#10'"X '#9'c #95725D",'#13#10'"Y '#9'c #B6AFAC",'#13#10
|
||||
+'"Z '#9'c #BF9D89",'#13#10'"` '#9'c #C9AB9A",'#13#10'" .'#9'c #9D9391",'#13
|
||||
+#10'"..'#9'c #946448",'#13#10'"+.'#9'c #ACA6A3",'#13#10'"@.'#9'c #C09E8A",'
|
||||
+#13#10'"#.'#9'c #C8AA98",'#13#10'"$.'#9'c #B3B0AF",'#13#10'"%.'#9'c #BD9A85"'
|
||||
+','#13#10'"&.'#9'c #CDB0A0",'#13#10'"*.'#9'c #CBAE9D",'#13#10'" '
|
||||
+' ",'#13#10'" . ",'#13#10'" '
|
||||
+' + @ # $ % ",'#13#10'" & * = - ; > , '' "'
|
||||
+','#13#10'" ) ! ~ { ] ^ / ( _ $ : ",'#13#10'" < [ } } | 1 : 2 - '
|
||||
+'3 # _ 4 5 ",'#13#10'"6 7 8 9 0 a | b c d e f g h i j ",'#13#10'"5 6 k l e m'
|
||||
+' n b o '' ^ f p q r c ",'#13#10'"s t u | v v w { x % y z A B C ",'#13#10
|
||||
+'". - d v D ~ 1 : e E F G H I J ",'#13#10'" n K # l = L M N O P Q R S '
|
||||
+' ",'#13#10'" m T 4 U V W X Y Z ` ",'#13#10'" x T ...+.@. '
|
||||
+'#. ",'#13#10'" 9 $.%. &. ",'#13#10'" '
|
||||
+' *. ",'#13#10'" "};'#13#10
|
||||
+#0#0#0
|
||||
]);
|
||||
|
@ -1,7 +1,7 @@
|
||||
object fClassEdit: TfClassEdit
|
||||
Left = 754
|
||||
Left = 702
|
||||
Height = 547
|
||||
Top = 162
|
||||
Top = 150
|
||||
Width = 518
|
||||
HorzScrollBar.Page = 517
|
||||
VertScrollBar.Page = 546
|
||||
@ -60,7 +60,6 @@ object fClassEdit: TfClassEdit
|
||||
Top = 18
|
||||
Width = 28
|
||||
Caption = 'Name'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
@ -69,7 +68,6 @@ object fClassEdit: TfClassEdit
|
||||
Top = 59
|
||||
Width = 67
|
||||
Caption = 'Inheritts from'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object edtName: TEdit
|
||||
@ -119,26 +117,29 @@ object fClassEdit: TfClassEdit
|
||||
Left = 4
|
||||
Height = 25
|
||||
Top = 421
|
||||
Width = 91
|
||||
Width = 100
|
||||
Action = actPropAdd
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
TabOrder = 2
|
||||
end
|
||||
object Button4: TButton
|
||||
Left = 100
|
||||
Left = 116
|
||||
Height = 25
|
||||
Top = 421
|
||||
Width = 91
|
||||
Width = 100
|
||||
Action = actPropEdit
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
TabOrder = 3
|
||||
end
|
||||
object Button5: TButton
|
||||
Left = 196
|
||||
Left = 228
|
||||
Height = 25
|
||||
Top = 421
|
||||
Width = 91
|
||||
Width = 100
|
||||
Action = actPropDelete
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
TabOrder = 4
|
||||
end
|
||||
@ -148,6 +149,7 @@ object fClassEdit: TfClassEdit
|
||||
Top = 59
|
||||
Width = 406
|
||||
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
|
||||
ItemHeight = 13
|
||||
MaxLength = 0
|
||||
Style = csDropDownList
|
||||
TabOrder = 5
|
||||
@ -155,8 +157,8 @@ object fClassEdit: TfClassEdit
|
||||
end
|
||||
end
|
||||
object ActionList1: TActionList
|
||||
left = 275
|
||||
top = 147
|
||||
left = 232
|
||||
top = 200
|
||||
object actOK: TAction
|
||||
Caption = 'OK'
|
||||
DisableIfNoHandler = True
|
||||
|
@ -1,8 +1,6 @@
|
||||
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
|
||||
|
||||
LazarusResources.Add('TfClassEdit','FORMDATA',[
|
||||
'TPF0'#11'TfClassEdit'#10'fClassEdit'#4'Left'#3#242#2#6'Height'#3'#'#2#3'Top'
|
||||
+#3#162#0#5'Width'#3#6#2#18'HorzScrollBar.Page'#3#5#2#18'VertScrollBar.Page'#3
|
||||
'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
|
||||
+'"'#2#13'ActiveControl'#7#7'Button1'#11'BorderStyle'#7#13'bsSizeToolWin'#7'C'
|
||||
+'aption'#6#10'fClassEdit'#12'ClientHeight'#3'#'#2#11'ClientWidth'#3#6#2#8'Po'
|
||||
+'sition'#7#15'poDesktopCenter'#0#6'TPanel'#6'Panel1'#6'Height'#2'2'#3'Top'#3
|
||||
@ -17,40 +15,41 @@ LazarusResources.Add('TfClassEdit','FORMDATA',[
|
||||
+#9'TabSheet1'#5'Align'#7#8'alClient'#8'TabIndex'#2#0#8'TabOrder'#2#1#0#9'TTa'
|
||||
+'bSheet'#9'TabSheet1'#7'Caption'#6#15'Compound Object'#12'ClientHeight'#3#215
|
||||
+#1#11'ClientWidth'#3#254#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'#5'Color'#7#6'clNone'#11'Parent'
|
||||
+'Color'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#4#6'Height'#2#14#3'Top'#2';'#5'W'
|
||||
+'idth'#2'C'#7'Caption'#6#14'Inheritts from'#5'Color'#7#6'clNone'#11'ParentCo'
|
||||
+'lor'#8#0#0#5'TEdit'#7'edtName'#4'Left'#2'\'#6'Height'#2#23#3'Top'#2#18#5'Wi'
|
||||
+'dth'#3#150#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'8'#1#3'Top'#2'b'#5'Widt'
|
||||
+'h'#3#239#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#7'Capt'
|
||||
+'ion'#6#14' Properties '#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'alClient'#11'BorderWidth'#2#2#7'Columns'#14#1#8'AutoSize'#9#7'Ca'
|
||||
+'ption'#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#8'Attrbute'#0#0#9'PopupMenu'#7#10'PopupMenu1'#9'RowSelect'
|
||||
+#9#8'TabOrder'#2#0#9'ViewStyle'#7#8'vsReport'#10'OnDblClick'#7#15'edtPropDbl'
|
||||
+'Click'#0#0#0#7'TButton'#7'Button3'#4'Left'#2#4#6'Height'#2#25#3'Top'#3#165#1
|
||||
+#5'Width'#2'['#6'Action'#7#10'actPropAdd'#25'BorderSpacing.InnerBorder'#2#4#8
|
||||
+'TabOrder'#2#2#0#0#7'TButton'#7'Button4'#4'Left'#2'd'#6'Height'#2#25#3'Top'#3
|
||||
+#165#1#5'Width'#2'['#6'Action'#7#11'actPropEdit'#25'BorderSpacing.InnerBorde'
|
||||
+'r'#2#4#8'TabOrder'#2#3#0#0#7'TButton'#7'Button5'#4'Left'#3#196#0#6'Height'#2
|
||||
+#25#3'Top'#3#165#1#5'Width'#2'['#6'Action'#7#13'actPropDelete'#25'BorderSpac'
|
||||
+'ing.InnerBorder'#2#4#8'TabOrder'#2#4#0#0#9'TComboBox'#9'edtParent'#4'Left'#2
|
||||
+'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'akTop'#6'akLeft'#7
|
||||
+'akRight'#0#8'TabOrder'#2#0#0#0#9'TGroupBox'#9'GroupBox1'#4'Left'#2#4#6'Heig'
|
||||
+'ht'#3'8'#1#3'Top'#2'b'#5'Width'#3#239#1#7'Anchors'#11#5'akTop'#6'akLeft'#7
|
||||
+'akRight'#8'akBottom'#0#7'Caption'#6#14' Properties '#12'ClientHeight'#3'&'
|
||||
+#1#11'ClientWidth'#3#235#1#8'TabOrder'#2#1#0#9'TListView'#7'edtProp'#6'Heigh'
|
||||
+'t'#3'&'#1#5'Width'#3#235#1#5'Align'#7#8'alClient'#11'BorderWidth'#2#2#7'Col'
|
||||
+'umns'#14#1#8'AutoSize'#9#7'Caption'#6#4'Name'#5'Width'#3#210#0#0#1#7'Captio'
|
||||
+'n'#6#4'Type'#5'Width'#3#200#0#0#1#7'Caption'#6#8'Attrbute'#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'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'An'
|
||||
+'chors'#11#6'akLeft'#8'akBottom'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOr'
|
||||
+'der'#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'actPropEdit'#7'Anchors'#11#6'akLeft'#8'akBot'
|
||||
+'tom'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#3#0#0#7'TButton'#7'B'
|
||||
+'utton5'#4'Left'#3#228#0#6'Height'#2#25#3'Top'#3#165#1#5'Width'#2'd'#6'Actio'
|
||||
+'n'#7#13'actPropDelete'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#25'BorderSpaci'
|
||||
+'ng.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#16'AutoCompleteText'#11#22'c'
|
||||
+'bactEndOfLineComplete'#20'cbactSearchAscending'#0#9'MaxLength'#2#0#5'Style'
|
||||
+#7#14'csDropDownList'#8'TabOrder'#2#5#0#0#0#0#11'TActionList'#11'ActionList1'
|
||||
+#4'left'#3#19#1#3'top'#3#147#0#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#18'D'
|
||||
+'isableIfNoHandler'#9#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actOK'
|
||||
+'Update'#0#0#7'TAction'#10'actPropAdd'#7'Caption'#6#12'New Property'#18'Disa'
|
||||
+'bleIfNoHandler'#9#9'OnExecute'#7#17'actPropAddExecute'#0#0#7'TAction'#11'ac'
|
||||
+'tPropEdit'#7'Caption'#6#13'Edit Property'#18'DisableIfNoHandler'#9#9'OnExec'
|
||||
+'ute'#7#18'actPropEditExecute'#8'OnUpdate'#7#17'actPropEditUpdate'#0#0#7'TAc'
|
||||
+'tion'#13'actPropDelete'#7'Caption'#6#15'Delete Property'#18'DisableIfNoHand'
|
||||
+'ler'#9#9'OnExecute'#7#20'actPropDeleteExecute'#8'OnUpdate'#7#17'actPropEdit'
|
||||
+'Update'#0#0#0#10'TPopupMenu'#10'PopupMenu1'#4'left'#2'i'#3'top'#3#186#0#0#9
|
||||
+'TMenuItem'#9'MenuItem1'#6'Action'#7#10'actPropAdd'#7'OnClick'#7#17'actPropA'
|
||||
+'ddExecute'#0#0#9'TMenuItem'#9'MenuItem2'#6'Action'#7#11'actPropEdit'#7'OnCl'
|
||||
+'ick'#7#18'actPropEditExecute'#0#0#9'TMenuItem'#9'MenuItem3'#6'Action'#7#13
|
||||
+'actPropDelete'#7'OnClick'#7#20'actPropDeleteExecute'#0#0#0#0
|
||||
+'bactEndOfLineComplete'#20'cbactSearchAscending'#0#10'ItemHeight'#2#13#9'Max'
|
||||
+'Length'#2#0#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#5#0#0#0#0#11'TActio'
|
||||
+'nList'#11'ActionList1'#4'left'#3#232#0#3'top'#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'OnExecute'#7#17'actPropAddExecute'
|
||||
+#0#0#7'TAction'#11'actPropEdit'#7'Caption'#6#13'Edit Property'#18'DisableIfN'
|
||||
+'oHandler'#9#9'OnExecute'#7#18'actPropEditExecute'#8'OnUpdate'#7#17'actPropE'
|
||||
+'ditUpdate'#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'left'#2'i'#3
|
||||
+'top'#3#186#0#0#9'TMenuItem'#9'MenuItem1'#6'Action'#7#10'actPropAdd'#7'OnCli'
|
||||
+'ck'#7#17'actPropAddExecute'#0#0#9'TMenuItem'#9'MenuItem2'#6'Action'#7#11'ac'
|
||||
+'tPropEdit'#7'OnClick'#7#18'actPropEditExecute'#0#0#9'TMenuItem'#9'MenuItem3'
|
||||
+#6'Action'#7#13'actPropDelete'#7'OnClick'#7#20'actPropDeleteExecute'#0#0#0#0
|
||||
]);
|
||||
|
@ -1,3 +1,15 @@
|
||||
{
|
||||
This file is part of the Web Service Toolkit
|
||||
Copyright (c) 2007 by Inoussa OUEDRAOGO
|
||||
|
||||
This file is provide under modified LGPL licence
|
||||
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
}
|
||||
unit ufclassedit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
@ -7,7 +19,7 @@ interface
|
||||
uses
|
||||
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ActnList,
|
||||
ExtCtrls, ComCtrls, Buttons, StdCtrls,
|
||||
pastree, pascal_parser_intf, //parserdefs,
|
||||
pastree, pascal_parser_intf,
|
||||
edit_helper, Menus;
|
||||
|
||||
type
|
||||
@ -70,20 +82,8 @@ var
|
||||
fClassEdit: TfClassEdit;
|
||||
|
||||
implementation
|
||||
uses parserutils, ufpropedit;
|
||||
uses parserutils, ufpropedit, common_gui_utils;
|
||||
|
||||
function FindItem(const ACaption : string; AList : TListItems) : TListItem ;
|
||||
var
|
||||
i : Integer;
|
||||
begin
|
||||
for i := 0 to Pred(AList.Count) do begin
|
||||
if AnsiSameText(ACaption,AList[i].Caption) then begin
|
||||
Result := AList[i];
|
||||
Exit;
|
||||
end;
|
||||
end;
|
||||
Result := nil;
|
||||
end;
|
||||
|
||||
{ TfClassEdit }
|
||||
|
||||
|
@ -10,6 +10,7 @@ object fEnumEdit: TfEnumEdit
|
||||
Caption = 'fEnumEdit'
|
||||
ClientHeight = 368
|
||||
ClientWidth = 400
|
||||
Position = poMainFormCenter
|
||||
object PC: TPageControl
|
||||
Height = 318
|
||||
Width = 400
|
||||
@ -27,7 +28,6 @@ object fEnumEdit: TfEnumEdit
|
||||
Top = 18
|
||||
Width = 28
|
||||
Caption = 'Name'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object edtName: TEdit
|
||||
|
@ -2,28 +2,28 @@ 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#0#12
|
||||
+'TPageControl'#2'PC'#6'Height'#3'>'#1#5'Width'#3#144#1#10'ActivePage'#7#9'Ta'
|
||||
+'bSheet1'#5'Align'#7#8'alClient'#8'TabIndex'#2#0#8'TabOrder'#2#0#0#9'TTabShe'
|
||||
+'et'#9'TabSheet1'#7'Caption'#6#11'Enumeration'#12'ClientHeight'#3'$'#1#11'Cl'
|
||||
+'ientWidth'#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'#5'Color'#7#6'clNone'#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'TG'
|
||||
+'roupBox'#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'TabOrder'#2#1
|
||||
+#0#5'TMemo'#8'edtItems'#6'Height'#3#213#0#5'Width'#3'u'#1#5'Align'#7#8'alCli'
|
||||
+'ent'#10'ScrollBars'#7#6'ssBoth'#8'TabOrder'#2#0#0#0#0#0#0#6'TPanel'#6'Panel'
|
||||
+'1'#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'B'
|
||||
+'utton1'#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'Cancel'#9#7'Ca'
|
||||
+'ption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#0#0#0#7'TButton'#7'But'
|
||||
+'ton2'#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.InnerBorder'#2#4
|
||||
+#7'Default'#9#8'TabOrder'#2#1#0#0#0#11'TActionList'#11'ActionList1'#4'left'#3
|
||||
+#248#0#3'top'#2'x'#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#18'DisableIfNoHa'
|
||||
+'ndler'#9#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#0
|
||||
+#0
|
||||
+'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
|
||||
]);
|
||||
|
@ -1,3 +1,15 @@
|
||||
{
|
||||
This file is part of the Web Service Toolkit
|
||||
Copyright (c) 2007 by Inoussa OUEDRAOGO
|
||||
|
||||
This file is provide under modified LGPL licence
|
||||
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
}
|
||||
unit ufEnumedit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
@ -1,7 +1,7 @@
|
||||
object fPropEdit: TfPropEdit
|
||||
Left = 474
|
||||
Left = 306
|
||||
Height = 272
|
||||
Top = 186
|
||||
Top = 266
|
||||
Width = 324
|
||||
HorzScrollBar.Page = 323
|
||||
VertScrollBar.Page = 271
|
||||
@ -61,7 +61,6 @@ object fPropEdit: TfPropEdit
|
||||
Top = 24
|
||||
Width = 28
|
||||
Caption = 'Name'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
@ -70,7 +69,6 @@ object fPropEdit: TfPropEdit
|
||||
Top = 98
|
||||
Width = 25
|
||||
Caption = 'Type'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object edtName: TEdit
|
||||
@ -86,6 +84,7 @@ object fPropEdit: TfPropEdit
|
||||
Top = 116
|
||||
Width = 272
|
||||
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
|
||||
ItemHeight = 13
|
||||
MaxLength = 0
|
||||
Style = csDropDownList
|
||||
TabOrder = 1
|
||||
|
@ -1,10 +1,10 @@
|
||||
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
|
||||
|
||||
LazarusResources.Add('TfPropEdit','FORMDATA',[
|
||||
'TPF0'#10'TfPropEdit'#9'fPropEdit'#4'Left'#3#218#1#6'Height'#3#16#1#3'Top'#3
|
||||
+#186#0#5'Width'#3'D'#1#18'HorzScrollBar.Page'#3'C'#1#18'VertScrollBar.Page'#3
|
||||
+#15#1#13'ActiveControl'#7#7'Button1'#11'BorderIcons'#11#12'biSystemMenu'#0#11
|
||||
+'BorderStyle'#7#8'bsDialog'#7'Caption'#6#9'fPropEdit'#12'ClientHeight'#3#16#1
|
||||
'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
|
||||
+#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
|
||||
+#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
|
||||
+'ClientHeight'#2'2'#11'ClientWidth'#3'D'#1#8'TabOrder'#2#0#0#7'TButton'#7'Bu'
|
||||
@ -18,16 +18,15 @@ LazarusResources.Add('TfPropEdit','FORMDATA',[
|
||||
+'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
|
||||
+'Label1'#4'Left'#2#20#6'Height'#2#14#3'Top'#2#24#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'b'#5'Width'#2#25#7'Caption'#6#4'Type'#5'Color'
|
||||
+#7#6'clNone'#11'ParentColor'#8#0#0#5'TEdit'#7'edtName'#4'Left'#2#20#6'Height'
|
||||
+#2#23#3'Top'#2'*'#5'Width'#3#16#1#8'TabOrder'#2#0#0#0#9'TComboBox'#7'edtType'
|
||||
+#4'Left'#2#20#6'Height'#2#21#3'Top'#2't'#5'Width'#3#16#1#16'AutoCompleteText'
|
||||
+#11#22'cbactEndOfLineComplete'#20'cbactSearchAscending'#0#9'MaxLength'#2#0#5
|
||||
+'Style'#7#14'csDropDownList'#8'TabOrder'#2#1#0#0#9'TCheckBox'#12'edtAttribut'
|
||||
+'e'#4'Left'#2#20#6'Height'#2#13#3'Top'#3#170#0#5'Width'#2'e'#7'Caption'#6#18
|
||||
+'Attribute Property'#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'Disabl'
|
||||
+'eIfNoHandler'#9#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actOKUpdat'
|
||||
+'e'#0#0#0#0
|
||||
+'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'
|
||||
+'t'#7'edtName'#4'Left'#2#20#6'Height'#2#23#3'Top'#2'*'#5'Width'#3#16#1#8'Tab'
|
||||
+'Order'#2#0#0#0#9'TComboBox'#7'edtType'#4'Left'#2#20#6'Height'#2#21#3'Top'#2
|
||||
+'t'#5'Width'#3#16#1#16'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20'cb'
|
||||
+'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
|
||||
]);
|
||||
|
@ -1,3 +1,15 @@
|
||||
{
|
||||
This file is part of the Web Service Toolkit
|
||||
Copyright (c) 2007 by Inoussa OUEDRAOGO
|
||||
|
||||
This file is provide under modified LGPL licence
|
||||
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
}
|
||||
unit ufpropedit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
@ -84,47 +96,6 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure InternalFillList(ALs : TStrings; AContainer : TwstPasTreeContainer);
|
||||
var
|
||||
i, j : Integer;
|
||||
sym : TPasElement;
|
||||
moduleList, decList : TList;
|
||||
mdl : TPasModule;
|
||||
begin
|
||||
moduleList := AContainer.Package.Modules;
|
||||
for i := 0 to Pred(moduleList.Count) do begin
|
||||
mdl := TPasModule(moduleList[i]);
|
||||
decList := mdl.InterfaceSection.Declarations;
|
||||
for j := 0 to Pred(decList.Count) do begin
|
||||
sym := TPasElement(decList[i]);
|
||||
if sym.InheritsFrom(TPasType) then begin
|
||||
if ( ALs.IndexOfObject(sym) = -1 ) then begin
|
||||
ALs.AddObject(AContainer.GetExternalName(sym),sym);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure FillList(
|
||||
ALs : TStrings;
|
||||
ASymbol : TwstPasTreeContainer
|
||||
);
|
||||
var
|
||||
locLST : TStringList;
|
||||
begin
|
||||
locLST := TStringList.Create();
|
||||
try
|
||||
locLST.Assign(ALs);
|
||||
locLST.Duplicates := dupAccept;
|
||||
InternalFillList(locLST,ASymbol);
|
||||
locLST.Sort();
|
||||
ALs.Assign(locLST);
|
||||
finally
|
||||
FreeAndNil(locLST);
|
||||
end;
|
||||
end;
|
||||
|
||||
{ TfPropEdit }
|
||||
|
||||
procedure TfPropEdit.actOKUpdate(Sender: TObject);
|
||||
@ -150,7 +121,7 @@ begin
|
||||
edtType.Items.BeginUpdate();
|
||||
try
|
||||
edtType.Items.Clear();
|
||||
FillList(edtType.Items,FSymbolTable);
|
||||
FillTypeList(edtType.Items,FSymbolTable);
|
||||
finally
|
||||
edtType.Items.EndUpdate();
|
||||
end;
|
||||
|
143
wst/trunk/type_lib_edtr/ufrmsaveoption.lfm
Normal file
143
wst/trunk/type_lib_edtr/ufrmsaveoption.lfm
Normal file
@ -0,0 +1,143 @@
|
||||
object frmSaveOptions: TfrmSaveOptions
|
||||
Left = 775
|
||||
Height = 292
|
||||
Top = 93
|
||||
Width = 402
|
||||
HorzScrollBar.Page = 401
|
||||
VertScrollBar.Page = 291
|
||||
ActiveControl = edtInterface
|
||||
BorderStyle = bsSizeToolWin
|
||||
Caption = 'Export file options ...'
|
||||
ClientHeight = 292
|
||||
ClientWidth = 402
|
||||
Position = poMainFormCenter
|
||||
object Panel1: TPanel
|
||||
Height = 50
|
||||
Top = 242
|
||||
Width = 402
|
||||
Align = alBottom
|
||||
ClientHeight = 50
|
||||
ClientWidth = 402
|
||||
TabOrder = 0
|
||||
object Button1: TButton
|
||||
Left = 312
|
||||
Height = 25
|
||||
Top = 14
|
||||
Width = 75
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Cancel = True
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 0
|
||||
end
|
||||
object Button2: TButton
|
||||
Left = 224
|
||||
Height = 25
|
||||
Top = 14
|
||||
Width = 75
|
||||
Action = actOK
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Default = True
|
||||
TabOrder = 1
|
||||
end
|
||||
end
|
||||
object Panel2: TPanel
|
||||
Height = 242
|
||||
Width = 402
|
||||
Align = alClient
|
||||
ClientHeight = 242
|
||||
ClientWidth = 402
|
||||
TabOrder = 1
|
||||
object Label1: TLabel
|
||||
Left = 16
|
||||
Height = 14
|
||||
Top = 16
|
||||
Width = 81
|
||||
Caption = 'Output directory'
|
||||
ParentColor = False
|
||||
end
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 16
|
||||
Height = 134
|
||||
Top = 80
|
||||
Width = 369
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
Caption = ' File type '
|
||||
ClientHeight = 116
|
||||
ClientWidth = 365
|
||||
TabOrder = 0
|
||||
object edtInterface: TCheckBox
|
||||
Left = 14
|
||||
Height = 13
|
||||
Top = 16
|
||||
Width = 62
|
||||
Caption = 'Interface'
|
||||
TabOrder = 0
|
||||
end
|
||||
object edtProxy: TCheckBox
|
||||
Left = 14
|
||||
Height = 13
|
||||
Top = 72
|
||||
Width = 46
|
||||
Anchors = [akLeft, akBottom]
|
||||
Caption = 'Proxy'
|
||||
TabOrder = 1
|
||||
end
|
||||
object edtImplementation: TCheckBox
|
||||
Left = 245
|
||||
Height = 13
|
||||
Top = 14
|
||||
Width = 91
|
||||
Anchors = [akTop, akRight]
|
||||
Caption = 'Implementation'
|
||||
TabOrder = 2
|
||||
end
|
||||
object edtBinder: TCheckBox
|
||||
Left = 245
|
||||
Height = 13
|
||||
Top = 72
|
||||
Width = 50
|
||||
Anchors = [akRight, akBottom]
|
||||
Caption = 'Binder'
|
||||
TabOrder = 3
|
||||
end
|
||||
end
|
||||
object edtOutputDir: TEdit
|
||||
Left = 16
|
||||
Height = 23
|
||||
Top = 38
|
||||
Width = 336
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabOrder = 1
|
||||
end
|
||||
object btnSelectDir: TButton
|
||||
Left = 362
|
||||
Height = 25
|
||||
Top = 36
|
||||
Width = 25
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = '...'
|
||||
OnClick = btnSelectDirClick
|
||||
TabOrder = 2
|
||||
end
|
||||
end
|
||||
object AL: TActionList
|
||||
left = 144
|
||||
top = 160
|
||||
object actOK: TAction
|
||||
Caption = 'OK'
|
||||
DisableIfNoHandler = True
|
||||
OnExecute = actOKExecute
|
||||
OnUpdate = actOKUpdate
|
||||
end
|
||||
end
|
||||
object SD: TSelectDirectoryDialog
|
||||
Title = 'Choisir un r�pertoire'
|
||||
FilterIndex = 0
|
||||
left = 101
|
||||
top = 142
|
||||
end
|
||||
end
|
41
wst/trunk/type_lib_edtr/ufrmsaveoption.lrs
Normal file
41
wst/trunk/type_lib_edtr/ufrmsaveoption.lrs
Normal file
@ -0,0 +1,41 @@
|
||||
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
|
||||
|
||||
LazarusResources.Add('TfrmSaveOptions','FORMDATA',[
|
||||
'TPF0'#15'TfrmSaveOptions'#14'frmSaveOptions'#4'Left'#3#7#3#6'Height'#3'$'#1#3
|
||||
+'Top'#2']'#5'Width'#3#146#1#18'HorzScrollBar.Page'#3#145#1#18'VertScrollBar.'
|
||||
+'Page'#3'#'#1#13'ActiveControl'#7#12'edtInterface'#11'BorderStyle'#7#13'bsSi'
|
||||
+'zeToolWin'#7'Caption'#6#23'Export file options ...'#12'ClientHeight'#3'$'#1
|
||||
+#11'ClientWidth'#3#146#1#8'Position'#7#16'poMainFormCenter'#0#6'TPanel'#6'Pa'
|
||||
+'nel1'#6'Height'#2'2'#3'Top'#3#242#0#5'Width'#3#146#1#5'Align'#7#8'alBottom'
|
||||
+#12'ClientHeight'#2'2'#11'ClientWidth'#3#146#1#8'TabOrder'#2#0#0#7'TButton'#7
|
||||
+'Button1'#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'Cancel'#9#7'Ca'
|
||||
+'ption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#0#0#0#7'TButton'#7'But'
|
||||
+'ton2'#4'Left'#3#224#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.InnerBorder'#2#4
|
||||
+#7'Default'#9#8'TabOrder'#2#1#0#0#0#6'TPanel'#6'Panel2'#6'Height'#3#242#0#5
|
||||
+'Width'#3#146#1#5'Align'#7#8'alClient'#12'ClientHeight'#3#242#0#11'ClientWid'
|
||||
+'th'#3#146#1#8'TabOrder'#2#1#0#6'TLabel'#6'Label1'#4'Left'#2#16#6'Height'#2
|
||||
+#14#3'Top'#2#16#5'Width'#2'Q'#7'Caption'#6#16'Output directory'#11'ParentCol'
|
||||
+'or'#8#0#0#9'TGroupBox'#9'GroupBox1'#4'Left'#2#16#6'Height'#3#134#0#3'Top'#2
|
||||
+'P'#5'Width'#3'q'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0
|
||||
+#7'Caption'#6#13' File type '#12'ClientHeight'#2't'#11'ClientWidth'#3'm'#1
|
||||
+#8'TabOrder'#2#0#0#9'TCheckBox'#12'edtInterface'#4'Left'#2#14#6'Height'#2#13
|
||||
+#3'Top'#2#16#5'Width'#2'>'#7'Caption'#6#9'Interface'#8'TabOrder'#2#0#0#0#9'T'
|
||||
+'CheckBox'#8'edtProxy'#4'Left'#2#14#6'Height'#2#13#3'Top'#2'H'#5'Width'#2'.'
|
||||
+#7'Anchors'#11#6'akLeft'#8'akBottom'#0#7'Caption'#6#5'Proxy'#8'TabOrder'#2#1
|
||||
+#0#0#9'TCheckBox'#17'edtImplementation'#4'Left'#3#245#0#6'Height'#2#13#3'Top'
|
||||
+#2#14#5'Width'#2'['#7'Anchors'#11#5'akTop'#7'akRight'#0#7'Caption'#6#14'Impl'
|
||||
+'ementation'#8'TabOrder'#2#2#0#0#9'TCheckBox'#9'edtBinder'#4'Left'#3#245#0#6
|
||||
+'Height'#2#13#3'Top'#2'H'#5'Width'#2'2'#7'Anchors'#11#7'akRight'#8'akBottom'
|
||||
+#0#7'Caption'#6#6'Binder'#8'TabOrder'#2#3#0#0#0#5'TEdit'#12'edtOutputDir'#4
|
||||
+'Left'#2#16#6'Height'#2#23#3'Top'#2'&'#5'Width'#3'P'#1#7'Anchors'#11#5'akTop'
|
||||
+#6'akLeft'#7'akRight'#0#8'TabOrder'#2#1#0#0#7'TButton'#12'btnSelectDir'#4'Le'
|
||||
+'ft'#3'j'#1#6'Height'#2#25#3'Top'#2'$'#5'Width'#2#25#7'Anchors'#11#5'akTop'#7
|
||||
+'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#3'...'#7'OnClick'
|
||||
+#7#17'btnSelectDirClick'#8'TabOrder'#2#2#0#0#0#11'TActionList'#2'AL'#4'left'
|
||||
+#3#144#0#3'top'#3#160#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#0#22'TSelectDirectoryDialog'#2'SD'#5'Title'#6#21'Choisir un r'#233'pert'
|
||||
+'oire'#11'FilterIndex'#2#0#4'left'#2'e'#3'top'#3#142#0#0#0#0
|
||||
]);
|
75
wst/trunk/type_lib_edtr/ufrmsaveoption.pas
Normal file
75
wst/trunk/type_lib_edtr/ufrmsaveoption.pas
Normal file
@ -0,0 +1,75 @@
|
||||
unit ufrmsaveoption;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls,
|
||||
StdCtrls, ActnList;
|
||||
|
||||
type
|
||||
|
||||
{ TfrmSaveOptions }
|
||||
|
||||
TfrmSaveOptions = class (TForm )
|
||||
actOK : TAction;
|
||||
AL : TActionList;
|
||||
Button1 : TButton;
|
||||
Button2 : TButton;
|
||||
btnSelectDir : TButton;
|
||||
edtInterface : TCheckBox;
|
||||
edtProxy : TCheckBox;
|
||||
edtImplementation : TCheckBox;
|
||||
edtBinder : TCheckBox;
|
||||
edtOutputDir : TEdit;
|
||||
GroupBox1 : TGroupBox;
|
||||
Label1 : TLabel;
|
||||
Panel1 : TPanel;
|
||||
Panel2 : TPanel;
|
||||
SD : TSelectDirectoryDialog;
|
||||
procedure actOKExecute (Sender : TObject );
|
||||
procedure actOKUpdate (Sender : TObject );
|
||||
procedure btnSelectDirClick (Sender : TObject );
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
frmSaveOptions : TfrmSaveOptions;
|
||||
|
||||
implementation
|
||||
|
||||
{ TfrmSaveOptions }
|
||||
|
||||
procedure TfrmSaveOptions.actOKUpdate (Sender : TObject );
|
||||
begin
|
||||
TAction(Sender).Enabled :=
|
||||
( Trim(edtOutputDir.Text) <> '' ) and
|
||||
( edtInterface.Checked or edtProxy.Checked or
|
||||
edtImplementation.Checked or edtBinder.Checked
|
||||
);
|
||||
end;
|
||||
|
||||
procedure TfrmSaveOptions.btnSelectDirClick (Sender : TObject );
|
||||
begin
|
||||
SD.FileName := edtOutputDir.Text;
|
||||
if SD.Execute() then begin
|
||||
edtOutputDir.Text := SD.FileName;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure TfrmSaveOptions.actOKExecute (Sender : TObject );
|
||||
begin
|
||||
ForceDirectories(edtOutputDir.Text);
|
||||
ModalResult := mrOK;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I ufrmsaveoption.lrs}
|
||||
|
||||
end.
|
||||
|
@ -1,7 +1,7 @@
|
||||
object fInterfaceEdit: TfInterfaceEdit
|
||||
Left = 627
|
||||
Left = 340
|
||||
Height = 564
|
||||
Top = 101
|
||||
Top = 122
|
||||
Width = 531
|
||||
HorzScrollBar.Page = 530
|
||||
VertScrollBar.Page = 563
|
||||
@ -61,7 +61,6 @@ object fInterfaceEdit: TfInterfaceEdit
|
||||
Top = 26
|
||||
Width = 28
|
||||
Caption = 'Name'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object edtName: TEdit
|
||||
@ -74,32 +73,116 @@ object fInterfaceEdit: TfInterfaceEdit
|
||||
end
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 20
|
||||
Height = 384
|
||||
Height = 368
|
||||
Top = 74
|
||||
Width = 484
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
Caption = ' Methods '
|
||||
ClientHeight = 366
|
||||
ClientHeight = 350
|
||||
ClientWidth = 480
|
||||
TabOrder = 1
|
||||
object trvMethods: TTreeView
|
||||
Height = 366
|
||||
Height = 350
|
||||
Width = 480
|
||||
Align = alClient
|
||||
DefaultItemHeight = 15
|
||||
PopupMenu = PopupMenu1
|
||||
TabOrder = 0
|
||||
end
|
||||
end
|
||||
object Button3: TButton
|
||||
Left = 20
|
||||
Height = 25
|
||||
Top = 450
|
||||
Width = 99
|
||||
Action = actNewMethod
|
||||
BorderSpacing.InnerBorder = 4
|
||||
TabOrder = 2
|
||||
end
|
||||
object Button4: TButton
|
||||
Left = 132
|
||||
Height = 25
|
||||
Top = 450
|
||||
Width = 107
|
||||
Action = actUpdateOperation
|
||||
BorderSpacing.InnerBorder = 4
|
||||
TabOrder = 3
|
||||
end
|
||||
object Button5: TButton
|
||||
Left = 252
|
||||
Height = 25
|
||||
Top = 450
|
||||
Width = 104
|
||||
Action = actDeleteOperation
|
||||
BorderSpacing.InnerBorder = 4
|
||||
TabOrder = 4
|
||||
end
|
||||
object Button6: TButton
|
||||
Left = 396
|
||||
Height = 25
|
||||
Top = 450
|
||||
Width = 107
|
||||
Action = actBindingEdit
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
TabOrder = 5
|
||||
end
|
||||
end
|
||||
end
|
||||
object AL: TActionList
|
||||
left = 130
|
||||
top = 201
|
||||
top = 200
|
||||
object actOK: TAction
|
||||
Caption = 'OK'
|
||||
DisableIfNoHandler = True
|
||||
OnExecute = actOKExecute
|
||||
OnUpdate = actOKUpdate
|
||||
end
|
||||
object actNewMethod: TAction
|
||||
Caption = 'New operation'
|
||||
DisableIfNoHandler = True
|
||||
OnExecute = actNewMethodExecute
|
||||
end
|
||||
object actUpdateOperation: TAction
|
||||
Caption = 'Edit Operation'
|
||||
DisableIfNoHandler = True
|
||||
OnExecute = actUpdateOperationExecute
|
||||
OnUpdate = actUpdateOperationUpdate
|
||||
end
|
||||
object actDeleteOperation: TAction
|
||||
Caption = 'Delete Operation'
|
||||
DisableIfNoHandler = True
|
||||
OnExecute = actDeleteOperationExecute
|
||||
OnUpdate = actUpdateOperationUpdate
|
||||
end
|
||||
object actBindingEdit: TAction
|
||||
Caption = 'Edit Binding'
|
||||
DisableIfNoHandler = True
|
||||
OnExecute = actBindingEditExecute
|
||||
OnUpdate = actBindingEditUpdate
|
||||
end
|
||||
end
|
||||
object PopupMenu1: TPopupMenu
|
||||
left = 84
|
||||
top = 233
|
||||
object MenuItem1: TMenuItem
|
||||
Action = actNewMethod
|
||||
OnClick = actNewMethodExecute
|
||||
end
|
||||
object MenuItem2: TMenuItem
|
||||
Action = actUpdateOperation
|
||||
OnClick = actUpdateOperationExecute
|
||||
end
|
||||
object MenuItem3: TMenuItem
|
||||
Action = actDeleteOperation
|
||||
OnClick = actDeleteOperationExecute
|
||||
end
|
||||
object MenuItem4: TMenuItem
|
||||
Caption = '-'
|
||||
end
|
||||
object MenuItem5: TMenuItem
|
||||
Action = actBindingEdit
|
||||
OnClick = actBindingEditExecute
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -1,6 +1,6 @@
|
||||
LazarusResources.Add('TfInterfaceEdit','FORMDATA',[
|
||||
'TPF0'#15'TfInterfaceEdit'#14'fInterfaceEdit'#4'Left'#3's'#2#6'Height'#3'4'#2
|
||||
+#3'Top'#2'e'#5'Width'#3#19#2#18'HorzScrollBar.Page'#3#18#2#18'VertScrollBar.'
|
||||
'TPF0'#15'TfInterfaceEdit'#14'fInterfaceEdit'#4'Left'#3'T'#1#6'Height'#3'4'#2
|
||||
+#3'Top'#2'z'#5'Width'#3#19#2#18'HorzScrollBar.Page'#3#18#2#18'VertScrollBar.'
|
||||
+'Page'#3'3'#2#13'ActiveControl'#7#7'Button1'#11'BorderStyle'#7#13'bsSizeTool'
|
||||
+'Win'#7'Caption'#6#14'fInterfaceEdit'#12'ClientHeight'#3'4'#2#11'ClientWidth'
|
||||
+#3#19#2#8'OnCreate'#7#10'FormCreate'#8'Position'#7#15'poDesktopCenter'#0#6'T'
|
||||
@ -16,15 +16,40 @@ LazarusResources.Add('TfInterfaceEdit','FORMDATA',[
|
||||
+'lient'#8'TabIndex'#2#0#8'TabOrder'#2#1#0#9'TTabSheet'#9'TabSheet1'#7'Captio'
|
||||
+'n'#6#20'Interface definition'#12'ClientHeight'#3#232#1#11'ClientWidth'#3#11
|
||||
+#2#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'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#5'TEdit'
|
||||
+#7'edtName'#4'Left'#2'<'#6'Height'#2#23#3'Top'#2#26#5'Width'#3#187#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#20#6'Height'#3#128#1#3'Top'#2'J'#5'Width'#3#228#1#7'Anc'
|
||||
+'hors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#7'Caption'#6#11' Meth'
|
||||
+'ods '#12'ClientHeight'#3'n'#1#11'ClientWidth'#3#224#1#8'TabOrder'#2#1#0#9
|
||||
+'TTreeView'#10'trvMethods'#6'Height'#3'n'#1#5'Width'#3#224#1#5'Align'#7#8'al'
|
||||
+'Client'#17'DefaultItemHeight'#2#15#8'TabOrder'#2#0#0#0#0#0#0#11'TActionList'
|
||||
+#2'AL'#4'left'#3#130#0#3'top'#3#201#0#0#7'TAction'#5'actOK'#7'Caption'#6#2'O'
|
||||
+'K'#18'DisableIfNoHandler'#9#9'OnExecute'#7#12'actOKExecute'#8'OnUpdate'#7#11
|
||||
+'actOKUpdate'#0#0#0#0
|
||||
+#28#7'Caption'#6#4'Name'#11'ParentColor'#8#0#0#5'TEdit'#7'edtName'#4'Left'#2
|
||||
+'<'#6'Height'#2#23#3'Top'#2#26#5'Width'#3#187#1#7'Anchors'#11#5'akTop'#6'akL'
|
||||
+'eft'#7'akRight'#0#8'TabOrder'#2#0#0#0#9'TGroupBox'#9'GroupBox1'#4'Left'#2#20
|
||||
+#6'Height'#3'p'#1#3'Top'#2'J'#5'Width'#3#228#1#7'Anchors'#11#5'akTop'#6'akLe'
|
||||
+'ft'#7'akRight'#8'akBottom'#0#7'Caption'#6#11' Methods '#12'ClientHeight'#3
|
||||
+'^'#1#11'ClientWidth'#3#224#1#8'TabOrder'#2#1#0#9'TTreeView'#10'trvMethods'#6
|
||||
+'Height'#3'^'#1#5'Width'#3#224#1#5'Align'#7#8'alClient'#17'DefaultItemHeight'
|
||||
+#2#15#9'PopupMenu'#7#10'PopupMenu1'#8'TabOrder'#2#0#0#0#0#7'TButton'#7'Butto'
|
||||
+'n3'#4'Left'#2#20#6'Height'#2#25#3'Top'#3#194#1#5'Width'#2'c'#6'Action'#7#12
|
||||
+'actNewMethod'#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#2#0#0#7'TButt'
|
||||
+'on'#7'Button4'#4'Left'#3#132#0#6'Height'#2#25#3'Top'#3#194#1#5'Width'#2'k'#6
|
||||
+'Action'#7#18'actUpdateOperation'#25'BorderSpacing.InnerBorder'#2#4#8'TabOrd'
|
||||
+'er'#2#3#0#0#7'TButton'#7'Button5'#4'Left'#3#252#0#6'Height'#2#25#3'Top'#3
|
||||
+#194#1#5'Width'#2'h'#6'Action'#7#18'actDeleteOperation'#25'BorderSpacing.Inn'
|
||||
+'erBorder'#2#4#8'TabOrder'#2#4#0#0#7'TButton'#7'Button6'#4'Left'#3#140#1#6'H'
|
||||
+'eight'#2#25#3'Top'#3#194#1#5'Width'#2'k'#6'Action'#7#14'actBindingEdit'#7'A'
|
||||
+'nchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOrd'
|
||||
+'er'#2#5#0#0#0#0#11'TActionList'#2'AL'#4'left'#3#130#0#3'top'#3#200#0#0#7'TA'
|
||||
+'ction'#5'actOK'#7'Caption'#6#2'OK'#18'DisableIfNoHandler'#9#9'OnExecute'#7
|
||||
+#12'actOKExecute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#7'TAction'#12'actNewMeth'
|
||||
+'od'#7'Caption'#6#13'New operation'#18'DisableIfNoHandler'#9#9'OnExecute'#7
|
||||
+#19'actNewMethodExecute'#0#0#7'TAction'#18'actUpdateOperation'#7'Caption'#6
|
||||
+#14'Edit Operation'#18'DisableIfNoHandler'#9#9'OnExecute'#7#25'actUpdateOper'
|
||||
+'ationExecute'#8'OnUpdate'#7#24'actUpdateOperationUpdate'#0#0#7'TAction'#18
|
||||
+'actDeleteOperation'#7'Caption'#6#16'Delete Operation'#18'DisableIfNoHandler'
|
||||
+#9#9'OnExecute'#7#25'actDeleteOperationExecute'#8'OnUpdate'#7#24'actUpdateOp'
|
||||
+'erationUpdate'#0#0#7'TAction'#14'actBindingEdit'#7'Caption'#6#12'Edit Bindi'
|
||||
+'ng'#18'DisableIfNoHandler'#9#9'OnExecute'#7#21'actBindingEditExecute'#8'OnU'
|
||||
+'pdate'#7#20'actBindingEditUpdate'#0#0#0#10'TPopupMenu'#10'PopupMenu1'#4'lef'
|
||||
+'t'#2'T'#3'top'#3#233#0#0#9'TMenuItem'#9'MenuItem1'#6'Action'#7#12'actNewMet'
|
||||
+'hod'#7'OnClick'#7#19'actNewMethodExecute'#0#0#9'TMenuItem'#9'MenuItem2'#6'A'
|
||||
+'ction'#7#18'actUpdateOperation'#7'OnClick'#7#25'actUpdateOperationExecute'#0
|
||||
+#0#9'TMenuItem'#9'MenuItem3'#6'Action'#7#18'actDeleteOperation'#7'OnClick'#7
|
||||
+#25'actDeleteOperationExecute'#0#0#9'TMenuItem'#9'MenuItem4'#7'Caption'#6#1
|
||||
+'-'#0#0#9'TMenuItem'#9'MenuItem5'#6'Action'#7#14'actBindingEdit'#7'OnClick'#7
|
||||
+#21'actBindingEditExecute'#0#0#0#0
|
||||
]);
|
||||
|
@ -1,3 +1,15 @@
|
||||
{
|
||||
This file is part of the Web Service Toolkit
|
||||
Copyright (c) 2007 by Inoussa OUEDRAOGO
|
||||
|
||||
This file is provide under modified LGPL licence
|
||||
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
}
|
||||
unit uinterfaceedit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
@ -8,26 +20,46 @@ uses
|
||||
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ActnList,
|
||||
ExtCtrls, ComCtrls, StdCtrls, Buttons,
|
||||
pastree, pascal_parser_intf,
|
||||
edit_helper;
|
||||
edit_helper, Menus;
|
||||
|
||||
type
|
||||
|
||||
{ TfInterfaceEdit }
|
||||
|
||||
TfInterfaceEdit = class(TForm)
|
||||
actDeleteOperation: TAction;
|
||||
actBindingEdit: TAction;
|
||||
actUpdateOperation: TAction;
|
||||
actNewMethod: TAction;
|
||||
actOK: TAction;
|
||||
AL: TActionList;
|
||||
Button1: TButton;
|
||||
Button2: TButton;
|
||||
Button3: TButton;
|
||||
Button4: TButton;
|
||||
Button5: TButton;
|
||||
Button6: TButton;
|
||||
edtName: TEdit;
|
||||
GroupBox1: TGroupBox;
|
||||
Label1: TLabel;
|
||||
MenuItem1: TMenuItem;
|
||||
MenuItem2: TMenuItem;
|
||||
MenuItem3: TMenuItem;
|
||||
MenuItem4: TMenuItem;
|
||||
MenuItem5: TMenuItem;
|
||||
PC: TPageControl;
|
||||
Panel1: TPanel;
|
||||
PopupMenu1: TPopupMenu;
|
||||
TabSheet1: TTabSheet;
|
||||
trvMethods: TTreeView;
|
||||
procedure actBindingEditExecute(Sender: TObject);
|
||||
procedure actBindingEditUpdate(Sender: TObject);
|
||||
procedure actDeleteOperationExecute(Sender: TObject);
|
||||
procedure actNewMethodExecute(Sender: TObject);
|
||||
procedure actOKExecute(Sender: TObject);
|
||||
procedure actOKUpdate(Sender: TObject);
|
||||
procedure actUpdateOperationExecute(Sender: TObject);
|
||||
procedure actUpdateOperationUpdate(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
private
|
||||
FUpdateType : TEditType;
|
||||
@ -60,6 +92,32 @@ begin
|
||||
TAction(Sender).Enabled := not IsStrEmpty(ExtractIdentifier(edtName.Text));
|
||||
end;
|
||||
|
||||
procedure TfInterfaceEdit.actUpdateOperationExecute(Sender: TObject);
|
||||
var
|
||||
node, newNode : TTreeNode;
|
||||
locObj : TPasProcedure;
|
||||
begin
|
||||
node := trvMethods.Selected;
|
||||
locObj := TPasProcedure(node.Data);
|
||||
edit_helper.UpdateObject(locObj,FSymbolTable);
|
||||
trvMethods.BeginUpdate();
|
||||
try
|
||||
newNode := FindPainter(locObj).Paint(FSymbolTable,locObj,node.Parent);
|
||||
newNode.MoveTo(node,naInsert);
|
||||
node.Free();
|
||||
finally
|
||||
trvMethods.EndUpdate();
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfInterfaceEdit.actUpdateOperationUpdate(Sender: TObject);
|
||||
begin
|
||||
TAction(Sender).Enabled :=
|
||||
( trvMethods.Selected <> nil ) and
|
||||
( trvMethods.Selected.Data <> nil ) and
|
||||
( TPasElement(trvMethods.Selected.Data).InheritsFrom(TPasProcedure) );
|
||||
end;
|
||||
|
||||
procedure TfInterfaceEdit.FormCreate(Sender: TObject);
|
||||
begin
|
||||
trvMethods.Images := DM.IM;
|
||||
@ -70,6 +128,60 @@ begin
|
||||
ModalResult := mrOK;
|
||||
end;
|
||||
|
||||
procedure TfInterfaceEdit.actNewMethodExecute(Sender: TObject);
|
||||
var
|
||||
prp : TPasProcedure;
|
||||
begin
|
||||
prp := CreateMethod(FObject,FSymbolTable);
|
||||
if Assigned(prp) then begin
|
||||
LoadMethod(prp);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfInterfaceEdit.actDeleteOperationExecute(Sender: TObject);
|
||||
var
|
||||
node : TTreeNode;
|
||||
locObj : TPasProcedure;
|
||||
begin
|
||||
node := trvMethods.Selected;
|
||||
locObj := TPasProcedure(node.Data);
|
||||
node.Data := nil;
|
||||
trvMethods.BeginUpdate();
|
||||
try
|
||||
node.Free();
|
||||
locObj.Release();
|
||||
node.Free();
|
||||
finally
|
||||
trvMethods.EndUpdate();
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfInterfaceEdit.actBindingEditUpdate(Sender: TObject);
|
||||
begin
|
||||
TAction(Sender).Enabled :=
|
||||
( trvMethods.Selected <> nil ) and
|
||||
( trvMethods.Selected.Data <> nil ) and
|
||||
( TPasElement(trvMethods.Selected.Data).InheritsFrom(TwstBinding) );
|
||||
end;
|
||||
|
||||
procedure TfInterfaceEdit.actBindingEditExecute(Sender: TObject);
|
||||
var
|
||||
node, newNode : TTreeNode;
|
||||
locObj : TwstBinding;
|
||||
begin
|
||||
node := trvMethods.Selected;
|
||||
locObj := TwstBinding(node.Data);
|
||||
edit_helper.UpdateObject(locObj,FSymbolTable);
|
||||
trvMethods.BeginUpdate();
|
||||
try
|
||||
newNode := FindPainter(locObj).Paint(FSymbolTable,locObj,node.Parent);
|
||||
newNode.MoveTo(node,naInsert);
|
||||
node.Free();
|
||||
finally
|
||||
trvMethods.EndUpdate();
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfInterfaceEdit.LoadMethod(AMthDef: TPasProcedure);
|
||||
var
|
||||
topNode : TTreeNode;
|
||||
@ -83,6 +195,8 @@ var
|
||||
i : Integer;
|
||||
mthd : TPasProcedure;
|
||||
extName : string;
|
||||
bindingsNode : TTreeNode;
|
||||
b : TwstBinding;
|
||||
begin
|
||||
edtName.Text := '';
|
||||
trvMethods.BeginUpdate();
|
||||
@ -102,6 +216,16 @@ begin
|
||||
end else begin
|
||||
Self.Caption := 'New';
|
||||
end;
|
||||
|
||||
i := 0;
|
||||
bindingsNode := trvMethods.Items.AddChild(nil,'Bindings');
|
||||
while True do begin
|
||||
b := FSymbolTable.FindBinding(FObject,i);
|
||||
if ( b = nil ) then
|
||||
Break;
|
||||
Inc(i);
|
||||
FindPainter(b).Paint(FSymbolTable,b,bindingsNode);
|
||||
end;
|
||||
trvMethods.Items[0].Expand(False);
|
||||
finally
|
||||
trvMethods.EndUpdate();
|
||||
@ -111,11 +235,18 @@ end;
|
||||
procedure TfInterfaceEdit.SaveToObject();
|
||||
var
|
||||
typExtName, typIntName : string;
|
||||
b : TwstBinding;
|
||||
begin
|
||||
typExtName := ExtractIdentifier(edtName.Text);
|
||||
typIntName := MakeInternalSymbolNameFrom(typExtName);
|
||||
FObject.Name := typIntName;
|
||||
FSymbolTable.RegisterExternalAlias(FObject,typExtName);
|
||||
b := FSymbolTable.FindBinding(FObject,0);
|
||||
if ( b = nil ) then begin
|
||||
FSymbolTable.AddBinding(Format('%sBinding',[typExtName]),FObject);
|
||||
end else begin
|
||||
b.Name := Format('%sBinding',[typExtName]);
|
||||
end
|
||||
end;
|
||||
|
||||
function TfInterfaceEdit.UpdateObject(
|
||||
@ -126,6 +257,7 @@ function TfInterfaceEdit.UpdateObject(
|
||||
var
|
||||
intName : string;
|
||||
i : Integer;
|
||||
b : TwstBinding;
|
||||
begin
|
||||
Assert(Assigned(ASymbolTable));
|
||||
FSymbolTable := ASymbolTable;
|
||||
@ -142,6 +274,7 @@ begin
|
||||
FObject.ObjKind := okInterface;
|
||||
FSymbolTable.CurrentModule.InterfaceSection.Declarations.Add(FObject);
|
||||
FSymbolTable.CurrentModule.InterfaceSection.Types.Add(FObject);
|
||||
FSymbolTable.AddBinding(Format('%sBinding',[FObject.Name]),FObject);
|
||||
end;
|
||||
try
|
||||
LoadFromObject();
|
||||
@ -154,6 +287,9 @@ begin
|
||||
end;
|
||||
except
|
||||
if ( FUpdateType = etCreate ) then begin
|
||||
b := FSymbolTable.FindBinding(FObject,0);
|
||||
if ( b <> nil ) then
|
||||
FSymbolTable.DeleteBinding(b);
|
||||
FSymbolTable.CurrentModule.InterfaceSection.Declarations.Extract(FObject);
|
||||
FSymbolTable.CurrentModule.InterfaceSection.Types.Extract(FObject);
|
||||
FObject.Release();
|
||||
|
101
wst/trunk/type_lib_edtr/umoduleedit.lfm
Normal file
101
wst/trunk/type_lib_edtr/umoduleedit.lfm
Normal file
@ -0,0 +1,101 @@
|
||||
object fModuleEdit: TfModuleEdit
|
||||
Left = 750
|
||||
Height = 300
|
||||
Top = 92
|
||||
Width = 400
|
||||
HorzScrollBar.Page = 399
|
||||
VertScrollBar.Page = 299
|
||||
ActiveControl = Button1
|
||||
BorderStyle = bsSizeToolWin
|
||||
Caption = 'fModuleEdit'
|
||||
ClientHeight = 300
|
||||
ClientWidth = 400
|
||||
Position = poMainFormCenter
|
||||
object Panel1: TPanel
|
||||
Height = 50
|
||||
Top = 250
|
||||
Width = 400
|
||||
Align = alBottom
|
||||
ClientHeight = 50
|
||||
ClientWidth = 400
|
||||
TabOrder = 0
|
||||
object Button1: TButton
|
||||
Left = 224
|
||||
Height = 25
|
||||
Top = 14
|
||||
Width = 75
|
||||
Action = actOK
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Default = True
|
||||
TabOrder = 0
|
||||
end
|
||||
object Button2: TButton
|
||||
Left = 312
|
||||
Height = 25
|
||||
Top = 14
|
||||
Width = 75
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Cancel = True
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 1
|
||||
end
|
||||
end
|
||||
object PageControl1: TPageControl
|
||||
Height = 250
|
||||
Width = 400
|
||||
ActivePage = TabSheet1
|
||||
Align = alClient
|
||||
TabIndex = 0
|
||||
TabOrder = 1
|
||||
object TabSheet1: TTabSheet
|
||||
Caption = 'Module'
|
||||
ClientHeight = 224
|
||||
ClientWidth = 392
|
||||
object Label1: TLabel
|
||||
Left = 20
|
||||
Height = 14
|
||||
Top = 39
|
||||
Width = 28
|
||||
Caption = 'Name'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 20
|
||||
Height = 14
|
||||
Top = 127
|
||||
Width = 56
|
||||
Caption = 'Namespace'
|
||||
ParentColor = False
|
||||
end
|
||||
object edtName: TEdit
|
||||
Left = 20
|
||||
Height = 23
|
||||
Top = 55
|
||||
Width = 352
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabOrder = 0
|
||||
Text = 'edtName'
|
||||
end
|
||||
object edtNamespace: TEdit
|
||||
Left = 20
|
||||
Height = 23
|
||||
Top = 143
|
||||
Width = 352
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabOrder = 1
|
||||
Text = 'edtNamespace'
|
||||
end
|
||||
end
|
||||
end
|
||||
object AL: TActionList
|
||||
left = 115
|
||||
top = 126
|
||||
object actOK: TAction
|
||||
Caption = 'OK'
|
||||
DisableIfNoHandler = True
|
||||
OnExecute = actOKExecute
|
||||
OnUpdate = actOKUpdate
|
||||
end
|
||||
end
|
||||
end
|
27
wst/trunk/type_lib_edtr/umoduleedit.lrs
Normal file
27
wst/trunk/type_lib_edtr/umoduleedit.lrs
Normal file
@ -0,0 +1,27 @@
|
||||
LazarusResources.Add('TfModuleEdit','FORMDATA',[
|
||||
'TPF0'#12'TfModuleEdit'#11'fModuleEdit'#4'Left'#3#238#2#6'Height'#3','#1#3'To'
|
||||
+'p'#2'\'#5'Width'#3#144#1#18'HorzScrollBar.Page'#3#143#1#18'VertScrollBar.Pa'
|
||||
+'ge'#3'+'#1#13'ActiveControl'#7#7'Button1'#11'BorderStyle'#7#13'bsSizeToolWi'
|
||||
+'n'#7'Caption'#6#11'fModuleEdit'#12'ClientHeight'#3','#1#11'ClientWidth'#3
|
||||
+#144#1#8'Position'#7#16'poMainFormCenter'#0#6'TPanel'#6'Panel1'#6'Height'#2
|
||||
+'2'#3'Top'#3#250#0#5'Width'#3#144#1#5'Align'#7#8'alBottom'#12'ClientHeight'#2
|
||||
+'2'#11'ClientWidth'#3#144#1#8'TabOrder'#2#0#0#7'TButton'#7'Button1'#4'Left'#3
|
||||
+#224#0#6'Height'#2#25#3'Top'#2#14#5'Width'#2'K'#6'Action'#7#5'actOK'#25'Bord'
|
||||
+'erSpacing.InnerBorder'#2#4#7'Default'#9#8'TabOrder'#2#0#0#0#7'TButton'#7'Bu'
|
||||
+'tton2'#4'Left'#3'8'#1#6'Height'#2#25#3'Top'#2#14#5'Width'#2'K'#25'BorderSpa'
|
||||
+'cing.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#250#0#5
|
||||
+'Width'#3#144#1#10'ActivePage'#7#9'TabSheet1'#5'Align'#7#8'alClient'#8'TabIn'
|
||||
+'dex'#2#0#8'TabOrder'#2#1#0#9'TTabSheet'#9'TabSheet1'#7'Caption'#6#6'Module'
|
||||
+#12'ClientHeight'#3#224#0#11'ClientWidth'#3#136#1#0#6'TLabel'#6'Label1'#4'Le'
|
||||
+'ft'#2#20#6'Height'#2#14#3'Top'#2''''#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
|
||||
+''#5'Width'#2'8'#7'Caption'#6#9'Namespace'#11'ParentColor'#8#0#0#5'TEdit'#7
|
||||
+'edtName'#4'Left'#2#20#6'Height'#2#23#3'Top'#2'7'#5'Width'#3'`'#1#7'Anchors'
|
||||
+#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0#4'Text'#6#7'edtName'#0#0
|
||||
+#5'TEdit'#12'edtNamespace'#4'Left'#2#20#6'Height'#2#23#3'Top'#3#143#0#5'Widt'
|
||||
+'h'#3'`'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#1#4'T'
|
||||
+'ext'#6#12'edtNamespace'#0#0#0#0#11'TActionList'#2'AL'#4'left'#2's'#3'top'#2
|
||||
+'~'#0#7'TAction'#5'actOK'#7'Caption'#6#2'OK'#18'DisableIfNoHandler'#9#9'OnEx'
|
||||
+'ecute'#7#12'actOKExecute'#8'OnUpdate'#7#11'actOKUpdate'#0#0#0#0
|
||||
]);
|
111
wst/trunk/type_lib_edtr/umoduleedit.pas
Normal file
111
wst/trunk/type_lib_edtr/umoduleedit.pas
Normal file
@ -0,0 +1,111 @@
|
||||
{
|
||||
This file is part of the Web Service Toolkit
|
||||
Copyright (c) 2007 by Inoussa OUEDRAOGO
|
||||
|
||||
This file is provide under modified LGPL licence
|
||||
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
}
|
||||
unit umoduleedit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls,
|
||||
ComCtrls, StdCtrls, ActnList,
|
||||
pastree, pascal_parser_intf,
|
||||
edit_helper;
|
||||
|
||||
type
|
||||
|
||||
{ TfModuleEdit }
|
||||
|
||||
TfModuleEdit = class(TForm)
|
||||
actOK: TAction;
|
||||
AL: TActionList;
|
||||
Button1: TButton;
|
||||
Button2: TButton;
|
||||
edtName: TEdit;
|
||||
edtNamespace: TEdit;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
PageControl1: TPageControl;
|
||||
Panel1: TPanel;
|
||||
TabSheet1: TTabSheet;
|
||||
procedure actOKExecute(Sender: TObject);
|
||||
procedure actOKUpdate(Sender: TObject);
|
||||
private
|
||||
FUpdateType : TEditType;
|
||||
FObject : TPasModule;
|
||||
FSymbolTable : TwstPasTreeContainer;
|
||||
private
|
||||
property UpdateType : TEditType read FUpdateType;
|
||||
private
|
||||
procedure LoadFromObject();
|
||||
procedure SaveToObject();
|
||||
public
|
||||
function UpdateObject(
|
||||
var AObject : TPasModule;
|
||||
const AUpdateType : TEditType;
|
||||
ASymbolTable : TwstPasTreeContainer
|
||||
):Boolean;
|
||||
end;
|
||||
|
||||
var
|
||||
fModuleEdit: TfModuleEdit;
|
||||
|
||||
implementation
|
||||
uses parserutils;
|
||||
|
||||
{ TfModuleEdit }
|
||||
|
||||
procedure TfModuleEdit.actOKUpdate(Sender: TObject);
|
||||
begin
|
||||
TAction(Sender).Enabled := not ( IsStrEmpty(edtName.Text) or IsStrEmpty(edtNamespace.Text));
|
||||
end;
|
||||
|
||||
procedure TfModuleEdit.LoadFromObject();
|
||||
begin
|
||||
edtName.Text := FSymbolTable.GetExternalName(FObject);
|
||||
edtNamespace.Text := FSymbolTable.GetExternalName(FObject);
|
||||
end;
|
||||
|
||||
procedure TfModuleEdit.SaveToObject();
|
||||
begin
|
||||
FObject.Name := ExtractIdentifier(edtName.Text);
|
||||
FSymbolTable.RegisterExternalAlias(FObject,Trim(edtNamespace.Text));
|
||||
end;
|
||||
|
||||
function TfModuleEdit.UpdateObject(
|
||||
var AObject: TPasModule;
|
||||
const AUpdateType: TEditType;
|
||||
ASymbolTable: TwstPasTreeContainer
|
||||
): Boolean;
|
||||
begin
|
||||
Assert(Assigned(ASymbolTable));
|
||||
FSymbolTable := ASymbolTable;
|
||||
FUpdateType := AUpdateType;
|
||||
FObject := AObject;
|
||||
LoadFromObject();
|
||||
Result := ( ShowModal() = mrOK );
|
||||
if Result then begin
|
||||
SaveToObject();
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfModuleEdit.actOKExecute(Sender: TObject);
|
||||
begin
|
||||
ModalResult := mrOK;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I umoduleedit.lrs}
|
||||
|
||||
end.
|
||||
|
193
wst/trunk/type_lib_edtr/uprocedit.lfm
Normal file
193
wst/trunk/type_lib_edtr/uprocedit.lfm
Normal file
@ -0,0 +1,193 @@
|
||||
object fProcEdit: TfProcEdit
|
||||
Left = 290
|
||||
Height = 543
|
||||
Top = 118
|
||||
Width = 522
|
||||
HorzScrollBar.Page = 521
|
||||
VertScrollBar.Page = 542
|
||||
ActiveControl = edtName
|
||||
BorderStyle = bsSizeToolWin
|
||||
Caption = 'fProcEdit'
|
||||
ClientHeight = 543
|
||||
ClientWidth = 522
|
||||
Position = poMainFormCenter
|
||||
object PageControl1: TPageControl
|
||||
Height = 493
|
||||
Width = 522
|
||||
ActivePage = TabSheet1
|
||||
Align = alClient
|
||||
TabIndex = 0
|
||||
TabOrder = 0
|
||||
object TabSheet1: TTabSheet
|
||||
Caption = '&Operation'
|
||||
ClientHeight = 467
|
||||
ClientWidth = 514
|
||||
object Label1: TLabel
|
||||
Left = 12
|
||||
Height = 14
|
||||
Top = 26
|
||||
Width = 28
|
||||
Caption = 'Name'
|
||||
ParentColor = False
|
||||
end
|
||||
object edtName: TEdit
|
||||
Left = 112
|
||||
Height = 23
|
||||
Top = 26
|
||||
Width = 388
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabOrder = 0
|
||||
Text = 'edtName'
|
||||
end
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 11
|
||||
Height = 304
|
||||
Top = 114
|
||||
Width = 489
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
Caption = ' Parametters '
|
||||
ClientHeight = 286
|
||||
ClientWidth = 485
|
||||
TabOrder = 3
|
||||
object edtParams: TListView
|
||||
Height = 286
|
||||
Width = 485
|
||||
Align = alClient
|
||||
Columns = <
|
||||
item
|
||||
Caption = 'Name'
|
||||
Width = 180
|
||||
end
|
||||
item
|
||||
Caption = 'Type'
|
||||
Width = 190
|
||||
end
|
||||
item
|
||||
Caption = 'Modifier'
|
||||
Width = 60
|
||||
end
|
||||
item
|
||||
end>
|
||||
RowSelect = True
|
||||
TabOrder = 0
|
||||
ViewStyle = vsReport
|
||||
end
|
||||
end
|
||||
object edtFunction: TCheckBox
|
||||
Left = 12
|
||||
Height = 13
|
||||
Top = 74
|
||||
Width = 96
|
||||
Caption = 'Function returns'
|
||||
OnClick = edtFunctionClick
|
||||
OnEditingDone = edtFunctionEditingDone
|
||||
TabOrder = 1
|
||||
end
|
||||
object edtResultType: TComboBox
|
||||
Left = 112
|
||||
Height = 21
|
||||
Top = 74
|
||||
Width = 388
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
|
||||
ItemHeight = 13
|
||||
MaxLength = 0
|
||||
Style = csDropDownList
|
||||
TabOrder = 2
|
||||
end
|
||||
object Button3: TButton
|
||||
Left = 12
|
||||
Height = 25
|
||||
Top = 429
|
||||
Width = 108
|
||||
Action = actNewArg
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
TabOrder = 4
|
||||
end
|
||||
object Button4: TButton
|
||||
Left = 132
|
||||
Height = 25
|
||||
Top = 429
|
||||
Width = 108
|
||||
Action = actUpdateArgument
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
TabOrder = 5
|
||||
end
|
||||
object Button5: TButton
|
||||
Left = 248
|
||||
Height = 25
|
||||
Top = 429
|
||||
Width = 108
|
||||
Action = actDeleteArgument
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
TabOrder = 6
|
||||
end
|
||||
end
|
||||
end
|
||||
object Panel1: TPanel
|
||||
Height = 50
|
||||
Top = 493
|
||||
Width = 522
|
||||
Align = alBottom
|
||||
ClientHeight = 50
|
||||
ClientWidth = 522
|
||||
TabOrder = 1
|
||||
object Button1: TButton
|
||||
Left = 344
|
||||
Height = 25
|
||||
Top = 11
|
||||
Width = 75
|
||||
Action = actOk
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Default = True
|
||||
TabOrder = 0
|
||||
end
|
||||
object Button2: TButton
|
||||
Left = 432
|
||||
Height = 25
|
||||
Top = 11
|
||||
Width = 75
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Cancel = True
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 1
|
||||
end
|
||||
end
|
||||
object AL: TActionList
|
||||
left = 198
|
||||
top = 241
|
||||
object actOk: TAction
|
||||
Caption = 'OK'
|
||||
DisableIfNoHandler = True
|
||||
OnExecute = actOkExecute
|
||||
OnUpdate = actOkUpdate
|
||||
end
|
||||
object actNewArg: TAction
|
||||
Caption = 'New Argument'
|
||||
DisableIfNoHandler = True
|
||||
OnExecute = actNewArgExecute
|
||||
end
|
||||
object actUpdateArgument: TAction
|
||||
Caption = 'Edit Argument'
|
||||
DisableIfNoHandler = True
|
||||
OnExecute = actUpdateArgumentExecute
|
||||
OnUpdate = actUpdateArgumentUpdate
|
||||
end
|
||||
object actDeleteArgument: TAction
|
||||
Caption = 'Delete Argument'
|
||||
DisableIfNoHandler = True
|
||||
OnExecute = actDeleteArgumentExecute
|
||||
OnUpdate = actUpdateArgumentUpdate
|
||||
end
|
||||
end
|
||||
object PopupMenu1: TPopupMenu
|
||||
left = 83
|
||||
top = 217
|
||||
end
|
||||
end
|
55
wst/trunk/type_lib_edtr/uprocedit.lrs
Normal file
55
wst/trunk/type_lib_edtr/uprocedit.lrs
Normal file
@ -0,0 +1,55 @@
|
||||
{ Ceci est un fichier ressource g�n�r� automatiquement par Lazarus }
|
||||
|
||||
LazarusResources.Add('TfProcEdit','FORMDATA',[
|
||||
'TPF0'#10'TfProcEdit'#9'fProcEdit'#4'Left'#3'"'#1#6'Height'#3#31#2#3'Top'#2'v'
|
||||
+#5'Width'#3#10#2#18'HorzScrollBar.Page'#3#9#2#18'VertScrollBar.Page'#3#30#2
|
||||
+#13'ActiveControl'#7#7'edtName'#11'BorderStyle'#7#13'bsSizeToolWin'#7'Captio'
|
||||
+'n'#6#9'fProcEdit'#12'ClientHeight'#3#31#2#11'ClientWidth'#3#10#2#8'Position'
|
||||
+#7#16'poMainFormCenter'#0#12'TPageControl'#12'PageControl1'#6'Height'#3#237#1
|
||||
+#5'Width'#3#10#2#10'ActivePage'#7#9'TabSheet1'#5'Align'#7#8'alClient'#8'TabI'
|
||||
+'ndex'#2#0#8'TabOrder'#2#0#0#9'TTabSheet'#9'TabSheet1'#7'Caption'#6#10'&Oper'
|
||||
+'ation'#12'ClientHeight'#3#211#1#11'ClientWidth'#3#2#2#0#6'TLabel'#6'Label1'
|
||||
+#4'Left'#2#12#6'Height'#2#14#3'Top'#2#26#5'Width'#2#28#7'Caption'#6#4'Name'
|
||||
+#11'ParentColor'#8#0#0#5'TEdit'#7'edtName'#4'Left'#2'p'#6'Height'#2#23#3'Top'
|
||||
+#2#26#5'Width'#3#132#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOr'
|
||||
+'der'#2#0#4'Text'#6#7'edtName'#0#0#9'TGroupBox'#9'GroupBox1'#4'Left'#2#11#6
|
||||
+'Height'#3'0'#1#3'Top'#2'r'#5'Width'#3#233#1#7'Anchors'#11#5'akTop'#6'akLeft'
|
||||
+#7'akRight'#8'akBottom'#0#7'Caption'#6#15' Parametters '#12'ClientHeight'#3
|
||||
+#30#1#11'ClientWidth'#3#229#1#8'TabOrder'#2#3#0#9'TListView'#9'edtParams'#6
|
||||
+'Height'#3#30#1#5'Width'#3#229#1#5'Align'#7#8'alClient'#7'Columns'#14#1#7'Ca'
|
||||
+'ption'#6#4'Name'#5'Width'#3#180#0#0#1#7'Caption'#6#4'Type'#5'Width'#3#190#0
|
||||
+#0#1#7'Caption'#6#8'Modifier'#5'Width'#2'<'#0#1#0#0#9'RowSelect'#9#8'TabOrde'
|
||||
+'r'#2#0#9'ViewStyle'#7#8'vsReport'#0#0#0#9'TCheckBox'#11'edtFunction'#4'Left'
|
||||
+#2#12#6'Height'#2#13#3'Top'#2'J'#5'Width'#2'`'#7'Caption'#6#16'Function retu'
|
||||
+'rns'#7'OnClick'#7#16'edtFunctionClick'#13'OnEditingDone'#7#22'edtFunctionEd'
|
||||
+'itingDone'#8'TabOrder'#2#1#0#0#9'TComboBox'#13'edtResultType'#4'Left'#2'p'#6
|
||||
+'Height'#2#21#3'Top'#2'J'#5'Width'#3#132#1#7'Anchors'#11#5'akTop'#6'akLeft'#7
|
||||
+'akRight'#0#16'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20'cbactSearc'
|
||||
+'hAscending'#0#10'ItemHeight'#2#13#9'MaxLength'#2#0#5'Style'#7#14'csDropDown'
|
||||
+'List'#8'TabOrder'#2#2#0#0#7'TButton'#7'Button3'#4'Left'#2#12#6'Height'#2#25
|
||||
+#3'Top'#3#173#1#5'Width'#2'l'#6'Action'#7#9'actNewArg'#7'Anchors'#11#6'akLef'
|
||||
+'t'#8'akBottom'#0#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#4#0#0#7'TB'
|
||||
+'utton'#7'Button4'#4'Left'#3#132#0#6'Height'#2#25#3'Top'#3#173#1#5'Width'#2
|
||||
+'l'#6'Action'#7#17'actUpdateArgument'#7'Anchors'#11#6'akLeft'#8'akBottom'#0
|
||||
+#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#5#0#0#7'TButton'#7'Button5'
|
||||
+#4'Left'#3#248#0#6'Height'#2#25#3'Top'#3#173#1#5'Width'#2'l'#6'Action'#7#17
|
||||
+'actDeleteArgument'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#25'BorderSpacing.I'
|
||||
+'nnerBorder'#2#4#8'TabOrder'#2#6#0#0#0#0#6'TPanel'#6'Panel1'#6'Height'#2'2'#3
|
||||
+'Top'#3#237#1#5'Width'#3#10#2#5'Align'#7#8'alBottom'#12'ClientHeight'#2'2'#11
|
||||
+'ClientWidth'#3#10#2#8'TabOrder'#2#1#0#7'TButton'#7'Button1'#4'Left'#3'X'#1#6
|
||||
+'Height'#2#25#3'Top'#2#11#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#0#0#0#7'TButton'#7'Button2'#4'Left'#3#176#1#6'Height'#2#25#3'Top'#2#11
|
||||
+#5'Width'#2'K'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBor'
|
||||
+'der'#2#4#6'Cancel'#9#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'
|
||||
+#2#1#0#0#0#11'TActionList'#2'AL'#4'left'#3#198#0#3'top'#3#241#0#0#7'TAction'
|
||||
+#5'actOk'#7'Caption'#6#2'OK'#18'DisableIfNoHandler'#9#9'OnExecute'#7#12'actO'
|
||||
+'kExecute'#8'OnUpdate'#7#11'actOkUpdate'#0#0#7'TAction'#9'actNewArg'#7'Capti'
|
||||
+'on'#6#12'New Argument'#18'DisableIfNoHandler'#9#9'OnExecute'#7#16'actNewArg'
|
||||
+'Execute'#0#0#7'TAction'#17'actUpdateArgument'#7'Caption'#6#13'Edit Argument'
|
||||
+#18'DisableIfNoHandler'#9#9'OnExecute'#7#24'actUpdateArgumentExecute'#8'OnUp'
|
||||
+'date'#7#23'actUpdateArgumentUpdate'#0#0#7'TAction'#17'actDeleteArgument'#7
|
||||
+'Caption'#6#15'Delete Argument'#18'DisableIfNoHandler'#9#9'OnExecute'#7#24'a'
|
||||
+'ctDeleteArgumentExecute'#8'OnUpdate'#7#23'actUpdateArgumentUpdate'#0#0#0#10
|
||||
+'TPopupMenu'#10'PopupMenu1'#4'left'#2'S'#3'top'#3#217#0#0#0#0
|
||||
]);
|
348
wst/trunk/type_lib_edtr/uprocedit.pas
Normal file
348
wst/trunk/type_lib_edtr/uprocedit.pas
Normal file
@ -0,0 +1,348 @@
|
||||
{
|
||||
This file is part of the Web Service Toolkit
|
||||
Copyright (c) 2007 by Inoussa OUEDRAOGO
|
||||
|
||||
This file is provide under modified LGPL licence
|
||||
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
}
|
||||
unit uprocedit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ComCtrls,
|
||||
ExtCtrls, StdCtrls, ActnList, Menus,
|
||||
pastree, pascal_parser_intf,
|
||||
edit_helper, Buttons;
|
||||
|
||||
type
|
||||
|
||||
{ TfProcEdit }
|
||||
|
||||
TfProcEdit = class(TForm)
|
||||
actDeleteArgument: TAction;
|
||||
actUpdateArgument: TAction;
|
||||
actNewArg: TAction;
|
||||
actOk: TAction;
|
||||
AL: TActionList;
|
||||
Button1: TButton;
|
||||
Button2: TButton;
|
||||
Button3: TButton;
|
||||
Button4: TButton;
|
||||
Button5: TButton;
|
||||
edtFunction: TCheckBox;
|
||||
edtResultType: TComboBox;
|
||||
edtName: TEdit;
|
||||
GroupBox1: TGroupBox;
|
||||
Label1: TLabel;
|
||||
edtParams: TListView;
|
||||
PageControl1: TPageControl;
|
||||
Panel1: TPanel;
|
||||
PopupMenu1: TPopupMenu;
|
||||
TabSheet1: TTabSheet;
|
||||
procedure actDeleteArgumentExecute(Sender: TObject);
|
||||
procedure actNewArgExecute(Sender: TObject);
|
||||
procedure actOkExecute(Sender: TObject);
|
||||
procedure actOkUpdate(Sender: TObject);
|
||||
procedure actUpdateArgumentExecute(Sender: TObject);
|
||||
procedure actUpdateArgumentUpdate(Sender: TObject);
|
||||
procedure edtFunctionClick(Sender: TObject);
|
||||
procedure edtFunctionEditingDone(Sender: TObject);
|
||||
private
|
||||
FUpdateType : TEditType;
|
||||
FObject : TPasProcedure;
|
||||
FSymbolTable : TwstPasTreeContainer;
|
||||
FOldReturnType : TPasType;
|
||||
private
|
||||
property UpdateType : TEditType read FUpdateType;
|
||||
private
|
||||
procedure PrepareResultCombo();
|
||||
procedure LoadArgument(AArg : TPasArgument);
|
||||
procedure LoadFromObject();
|
||||
procedure SaveToObject();
|
||||
public
|
||||
function UpdateObject(
|
||||
var AObject : TPasProcedure;
|
||||
const AUpdateType : TEditType;
|
||||
ASymbolTable : TwstPasTreeContainer
|
||||
):Boolean;
|
||||
end;
|
||||
|
||||
var
|
||||
fProcEdit: TfProcEdit;
|
||||
|
||||
implementation
|
||||
uses parserutils, common_gui_utils;
|
||||
|
||||
{ TfProcEdit }
|
||||
|
||||
procedure TfProcEdit.actOkExecute(Sender: TObject);
|
||||
begin
|
||||
ModalResult := mrOK;
|
||||
end;
|
||||
|
||||
procedure TfProcEdit.actNewArgExecute(Sender: TObject);
|
||||
var
|
||||
prp : TPasArgument;
|
||||
begin
|
||||
prp := CreateArgument(FObject.ProcType,FSymbolTable);
|
||||
if Assigned(prp) then begin
|
||||
if ( FObject.ProcType.Args.IndexOf(prp) = -1 ) then begin
|
||||
FObject.ProcType.Args.Add(prp);
|
||||
end;
|
||||
LoadArgument(prp);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfProcEdit.actDeleteArgumentExecute(Sender: TObject);
|
||||
var
|
||||
prop : TPasArgument;
|
||||
begin
|
||||
prop := TPasArgument(edtParams.ItemFocused.Data);
|
||||
FObject.ProcType.Args.Extract(prop);
|
||||
prop.Release();
|
||||
edtParams.ItemFocused.Free();
|
||||
end;
|
||||
|
||||
procedure TfProcEdit.actOkUpdate(Sender: TObject);
|
||||
var
|
||||
b : Boolean;
|
||||
i : Integer;
|
||||
locProc : TPasProcedure;
|
||||
memberList : TList;
|
||||
begin
|
||||
b := ( not IsStrEmpty(edtName.Text) ) and
|
||||
( ( not edtFunction.Checked ) or ( edtResultType.ItemIndex > -1 ) );
|
||||
if b then begin
|
||||
memberList := TPasClassType(FObject.Parent).Members;
|
||||
for i := 0 to Pred(memberList.Count) do begin
|
||||
if TPasElement(memberList[i]).InheritsFrom(TPasProcedure) then begin
|
||||
locProc := TPasProcedure(memberList[i]);
|
||||
if ( locProc <> FObject ) and
|
||||
( AnsiSameText(locProc.Name,FObject.Name) or
|
||||
AnsiSameText(FSymbolTable.GetExternalName(locProc),FSymbolTable.GetExternalName(FObject))
|
||||
)
|
||||
then begin
|
||||
b := False;
|
||||
Break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
TAction(Sender).Enabled := b;
|
||||
end;
|
||||
|
||||
procedure TfProcEdit.actUpdateArgumentExecute(Sender: TObject);
|
||||
var
|
||||
prp : TPasArgument;
|
||||
itm : TListItem;
|
||||
begin
|
||||
itm := edtParams.ItemFocused;
|
||||
if Assigned(itm) then begin
|
||||
prp := TPasArgument(itm.Data);
|
||||
if edit_helper.UpdateObject(prp,FSymbolTable) then begin
|
||||
itm.Free();
|
||||
LoadArgument(prp);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfProcEdit.actUpdateArgumentUpdate(Sender: TObject);
|
||||
begin
|
||||
TAction(Sender).Enabled := Assigned(edtParams.ItemFocused);
|
||||
end;
|
||||
|
||||
procedure TfProcEdit.edtFunctionClick(Sender: TObject);
|
||||
begin
|
||||
//edtResultType.Enabled := edtFunction.Checked;
|
||||
end;
|
||||
|
||||
procedure TfProcEdit.edtFunctionEditingDone(Sender: TObject);
|
||||
begin
|
||||
edtResultType.Enabled := edtFunction.Checked;
|
||||
end;
|
||||
|
||||
procedure TfProcEdit.PrepareResultCombo();
|
||||
begin
|
||||
edtResultType.Items.BeginUpdate();
|
||||
try
|
||||
FillTypeList(edtResultType.Items,FSymbolTable);
|
||||
finally
|
||||
edtResultType.Items.EndUpdate();
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfProcEdit.LoadArgument(AArg: TPasArgument);
|
||||
var
|
||||
itm : TListItem;
|
||||
extName : string;
|
||||
begin
|
||||
extName := FSymbolTable.GetExternalName(AArg);
|
||||
itm := FindItem(extName,edtParams.Items);
|
||||
if ( itm = nil ) then begin
|
||||
itm := edtParams.Items.Add();
|
||||
end;
|
||||
itm.Caption := extName;
|
||||
itm.SubItems.Add(FSymbolTable.GetExternalName(AArg.ArgType));
|
||||
itm.SubItems.Add(AccessNames[AArg.Access]);
|
||||
itm.Data := AArg;
|
||||
end;
|
||||
|
||||
procedure TfProcEdit.LoadFromObject();
|
||||
var
|
||||
i : Integer;
|
||||
prp : TPasArgument;
|
||||
extName : string;
|
||||
argList : TList;
|
||||
begin
|
||||
edtName.Text := '';
|
||||
edtParams.Clear();
|
||||
if Assigned(FObject) then begin
|
||||
extName := FSymbolTable.GetExternalName(FObject);
|
||||
Self.Caption := extName;
|
||||
edtName.Text := extName;
|
||||
edtFunction.Checked := FObject.InheritsFrom(TPasFunction);
|
||||
edtResultType.Enabled := edtFunction.Checked;
|
||||
if FObject.InheritsFrom(TPasFunction) then begin
|
||||
edtResultType.ItemIndex := edtResultType.Items.IndexOfObject(TPasFunctionType(FObject.ProcType).ResultEl.ResultType);
|
||||
end;
|
||||
argList := FObject.ProcType.Args;
|
||||
for i := 0 to Pred(argList.Count) do begin
|
||||
prp := TPasArgument(argList[i]);
|
||||
LoadArgument(prp);
|
||||
end;
|
||||
end else begin
|
||||
Self.Caption := 'New';
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfProcEdit.SaveToObject();
|
||||
|
||||
procedure CopyArgs(AFrom,ATo : TPasProcedureType);
|
||||
var
|
||||
argList : TList;
|
||||
arg, newArg : TPasArgument;
|
||||
k, ck : Integer;
|
||||
begin
|
||||
argList := AFrom.Args;
|
||||
ck := argList.Count;
|
||||
for k := 0 to Pred(ck) do begin
|
||||
arg := TPasArgument(argList[k]);
|
||||
newArg := TPasArgument(FSymbolTable.CreateElement(TPasArgument,arg.Name,ATo,visDefault,'',0));
|
||||
ATo.Args.Add(newArg);
|
||||
newArg.Access := arg.Access;
|
||||
newArg.ArgType := arg.ArgType;
|
||||
newArg.ArgType.AddRef();
|
||||
newArg.Value := arg.Value;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure CreateFunctionObject();
|
||||
var
|
||||
prt : TPasClassType;
|
||||
newObj : TPasFunction;
|
||||
newObjType : TPasFunctionType;
|
||||
begin
|
||||
prt := FObject.Parent as TPasClassType;
|
||||
prt.Members.Extract(FObject);
|
||||
try
|
||||
newObj := TPasFunction(FSymbolTable.CreateElement(TPasFunction,FObject.Name,prt,visPublic,'',0));
|
||||
prt.Members.Add(newObj);
|
||||
newObjType := FSymbolTable.CreateFunctionType('','result',newObj,False,'',0);
|
||||
newObj.ProcType := newObjType;
|
||||
CopyArgs(FObject.ProcType,newObjType);
|
||||
newObjType.ResultEl.ResultType := edtResultType.Items.Objects[edtResultType.ItemIndex] as TPasType;
|
||||
newObjType.ResultEl.ResultType.AddRef();
|
||||
finally
|
||||
FObject.Release();
|
||||
FObject := newObj;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure CreateProcObject();
|
||||
var
|
||||
prt : TPasClassType;
|
||||
newObj : TPasProcedure;
|
||||
newObjType : TPasProcedureType;
|
||||
begin
|
||||
prt := FObject.Parent as TPasClassType;
|
||||
prt.Members.Extract(FObject);
|
||||
try
|
||||
newObj := TPasProcedure(FSymbolTable.CreateElement(TPasProcedure,FObject.Name,prt,visPublic,'',0));
|
||||
prt.Members.Add(newObj);
|
||||
newObjType := TPasProcedureType(FSymbolTable.CreateElement(TPasProcedureType,'',newObj,visDefault,'',0));
|
||||
newObj.ProcType := newObjType;
|
||||
CopyArgs(FObject.ProcType,newObjType);
|
||||
finally
|
||||
FObject.Release();
|
||||
FObject := newObj;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure CheckObjectType();
|
||||
begin
|
||||
if FObject.InheritsFrom(TPasFunction) then begin
|
||||
if ( FOldReturnType <> nil ) and
|
||||
( FOldReturnType <> TPasFunctionType(FObject.ProcType).ResultEl.ResultType )
|
||||
then begin
|
||||
FOldReturnType.Release();
|
||||
end;
|
||||
end;
|
||||
if edtFunction.Checked and ( not FObject.InheritsFrom(TPasFunction) ) then begin
|
||||
CreateFunctionObject();
|
||||
end else if ( not edtFunction.Checked ) and ( FObject.InheritsFrom(TPasFunction) ) then begin
|
||||
CreateProcObject();
|
||||
end;
|
||||
end;
|
||||
|
||||
var
|
||||
typExtName, typIntName : string;
|
||||
locObj : TPasProcedure;
|
||||
begin
|
||||
CheckObjectType();
|
||||
typExtName := ExtractIdentifier(edtName.Text);
|
||||
typIntName := MakeInternalSymbolNameFrom(typExtName);
|
||||
locObj := FObject;
|
||||
locObj.Name := typIntName;
|
||||
FSymbolTable.RegisterExternalAlias(locObj,typExtName);
|
||||
end;
|
||||
|
||||
function TfProcEdit.UpdateObject(
|
||||
var AObject : TPasProcedure;
|
||||
const AUpdateType : TEditType;
|
||||
ASymbolTable : TwstPasTreeContainer
|
||||
): Boolean;
|
||||
begin
|
||||
Assert(Assigned(ASymbolTable));
|
||||
Assert(Assigned(AObject));
|
||||
FSymbolTable := ASymbolTable;
|
||||
FUpdateType := AUpdateType;
|
||||
FObject := AObject;
|
||||
if FObject.InheritsFrom(TPasFunction) then
|
||||
FOldReturnType := TPasFunctionType(FObject.ProcType).ResultEl.ResultType;
|
||||
PrepareResultCombo();
|
||||
LoadFromObject();
|
||||
Result := ( ShowModal() = mrOK );
|
||||
if Result then begin
|
||||
try
|
||||
SaveToObject();
|
||||
AObject := FObject;
|
||||
except
|
||||
Result := False;
|
||||
raise;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I uprocedit.lrs}
|
||||
|
||||
end.
|
||||
|
2074
wst/trunk/type_lib_edtr/uwsttypelibraryedit.lfm
Normal file
2074
wst/trunk/type_lib_edtr/uwsttypelibraryedit.lfm
Normal file
File diff suppressed because it is too large
Load Diff
356
wst/trunk/type_lib_edtr/uwsttypelibraryedit.lrs
Normal file
356
wst/trunk/type_lib_edtr/uwsttypelibraryedit.lrs
Normal file
@ -0,0 +1,356 @@
|
||||
{ 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
|
||||
+'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
|
||||
+#8'FormShow'#8'Position'#7#15'poDesktopCenter'#0#10'TStatusBar'#2'SB'#6'Heig'
|
||||
+'ht'#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'Panel1'#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'Left'#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'Align'#7#8'alClient'#12'Cl'
|
||||
+'ientHeight'#3'Y'#2#11'ClientWidth'#3#255#1#8'TabOrder'#2#1#0#12'TPageContro'
|
||||
+'l'#2'PC'#4'Left'#2#1#6'Height'#3'W'#2#3'Top'#2#1#5'Width'#3#253#1#10'Active'
|
||||
+'Page'#7#11'tsInterface'#5'Align'#7#8'alClient'#8'TabIndex'#2#0#8'TabOrder'#2
|
||||
+#0#0#9'TTabSheet'#11'tsInterface'#7'Caption'#6#10'&Interface'#12'ClientHeigh'
|
||||
+'t'#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'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'#17'Gutter.DigitCou'
|
||||
+'nt'#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'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'#6'tsWSDL'#7'Caption'#6#5'&WSDL'#12'ClientHeight'#3'='#2#11'Client'
|
||||
+'Width'#3#245#1#0#8'TSynEdit'#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.Height'#2#233#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'6'#22'Gutter.ShowLineNumbers'#9#23'Gutter.CodeFo'
|
||||
+'ldingWidth'#2#14#11'Highlighter'#7#10'SynXMLSyn1'#10'Keystrokes'#14#1#7'Com'
|
||||
+'mand'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Comm'
|
||||
+'and'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Co'
|
||||
+'mmand'#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'C'
|
||||
+'ommand'#2#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'C'
|
||||
+'ommand'#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'#7'tsProxy'#7'Caption'#6#6'&Proxy'#12'ClientHeight'#3'='#2#11'Clie'
|
||||
+'ntWidth'#3#245#1#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_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#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'S'
|
||||
+'ynPasSyn1'#10'Keystrokes'#14#1#7'Command'#2#3#8'ShortCut'#2'&'#0#1#7'Comman'
|
||||
+'d'#2'g'#8'ShortCut'#3'& '#0#1#7'Command'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Co'
|
||||
+'mmand'#2#4#8'ShortCut'#2'('#0#1#7'Command'#2'h'#8'ShortCut'#3'( '#0#1#7'Com'
|
||||
+'mand'#3#212#0#8'ShortCut'#3'(@'#0#1#7'Command'#2#1#8'ShortCut'#2'%'#0#1#7'C'
|
||||
+'ommand'#2'e'#8'ShortCut'#3'% '#0#1#7'Command'#2#5#8'ShortCut'#3'%@'#0#1#7'C'
|
||||
,'ommand'#2'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2#8'ShortCut'#2''''#0#1#7'C'
|
||||
+'ommand'#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'#5'tsImp'#7'Caption'#6#24'Im&plementation Skeleton'#12'ClientHeight'#3
|
||||
+'='#2#11'ClientWidth'#3#245#1#0#8'TSynEdit'#6'srcImp'#6'Height'#3'='#2#5'Wid'
|
||||
+'th'#3#245#1#5'Align'#7#8'alClient'#12'Font.CharSet'#7#12'ANSI_CHARSET'#10'F'
|
||||
+'ont.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#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'#8'tsBinder'#7'Caption'#6#7'&Binder'#12'ClientHeight'#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_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.ShowLineNumber'
|
||||
+'s'#9#22'Gutter.ShowCodeFolding'#9#15'Gutter.OnChange'#13#23'Gutter.CodeFold'
|
||||
+'ingWidth'#2#14#11'Highlighter'#7#10'SynPasSyn1'#10'Keystrokes'#14#1#7'Comma'
|
||||
+'nd'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Comman'
|
||||
+'d'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Comm'
|
||||
+'and'#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'C'
|
||||
+'ommand'#2#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'C'
|
||||
+'ommand'#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'-'#0#0#9'TMenuItem'#9'MenuItem5'#6'Action'#7#11'a'
|
||||
+'ctOpenFile'#7'OnClick'#7#18'actOpenFileExecute'#0#0#9'TMenuItem'#9'MenuItem'
|
||||
+'3'#6'Action'#7#9'actExport'#7'OnClick'#7#16'actExportExecute'#0#0#9'TMenuIt'
|
||||
+'em'#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'actSav'
|
||||
+'eAsExecute'#0#0#9'TMenuItem'#10'MenuItem17'#7'Caption'#6#1'-'#0#0#9'TMenuIt'
|
||||
+'em'#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'MenuI'
|
||||
+'tem15'#6'Action'#7#14'actRefreshView'#7'OnClick'#7#21'actRefreshViewExecute'
|
||||
+#0#0#9'TMenuItem'#10'MenuItem29'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#10'MenuI'
|
||||
+'tem30'#6'Action'#7#13'actFullExpand'#7'OnClick'#7#20'actFullExpandExecute'#0
|
||||
+#0#9'TMenuItem'#10'MenuItem31'#6'Action'#7#15'actFullCollapse'#7'OnClick'#7
|
||||
+#22'actFullCollapseExecute'#0#0#0#9'TMenuItem'#10'MenuItem10'#7'Caption'#6#8
|
||||
+'&Edition'#0#9'TMenuItem'#10'MenuItem11'#6'Action'#7#13'actEnumCreate'#7'OnC'
|
||||
+'lick'#7#20'actEnumCreateExecute'#0#0#9'TMenuItem'#10'MenuItem23'#6'Action'#7
|
||||
+#17'actCompoundCreate'#7'OnClick'#7#24'actCompoundCreateExecute'#0#0#9'TMenu'
|
||||
+'Item'#10'MenuItem25'#6'Action'#7#13'actIntfCreate'#7'OnClick'#7#20'actIntfC'
|
||||
+'reateExecute'#0#0#9'TMenuItem'#10'MenuItem12'#7'Caption'#6#1'-'#0#0#9'TMenu'
|
||||
+'Item'#10'MenuItem13'#6'Action'#7#15'actUpdateObject'#7'Caption'#6#13'Update'
|
||||
+' Object'#7'OnClick'#7#22'actUpdateObjectExecute'#0#0#0#9'TMenuItem'#9'MenuI'
|
||||
+'tem6'#6'Action'#7#8'actAbout'#7'Caption'#6#6'&About'#7'OnClick'#7#15'actAbo'
|
||||
+'utExecute'#0#0#0#11'TActionList'#2'AL'#4'left'#3'X'#1#3'top'#2'8'#0#7'TActi'
|
||||
+'on'#11'actOpenFile'#7'Caption'#6#9'Open File'#18'DisableIfNoHandler'#9#9'On'
|
||||
+'Execute'#7#18'actOpenFileExecute'#0#0#7'TAction'#7'actExit'#7'Caption'#6#4
|
||||
+'Exit'#18'DisableIfNoHandler'#9#9'OnExecute'#7#14'actExitExecute'#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'#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'DisableIfNoHand'
|
||||
+'ler'#9#9'OnExecute'#7#24'actCompoundCreateExecute'#0#0#7'TAction'#13'actInt'
|
||||
+'fCreate'#7'Caption'#6#16'Create Interface'#18'DisableIfNoHandler'#9#9'OnExe'
|
||||
+'cute'#7#20'actIntfCreateExecute'#0#0#7'TAction'#13'actFullExpand'#7'Caption'
|
||||
+#6#11'Full expand'#18'DisableIfNoHandler'#9#9'OnExecute'#7#20'actFullExpandE'
|
||||
+'xecute'#0#0#7'TAction'#15'actFullCollapse'#7'Caption'#6#13'Full Collapse'#18
|
||||
,'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
|
||||
]);
|
727
wst/trunk/type_lib_edtr/uwsttypelibraryedit.pas
Normal file
727
wst/trunk/type_lib_edtr/uwsttypelibraryedit.pas
Normal file
@ -0,0 +1,727 @@
|
||||
{
|
||||
This file is part of the Web Service Toolkit
|
||||
Copyright (c) 2007 by Inoussa OUEDRAOGO
|
||||
|
||||
This file is provide under modified LGPL licence
|
||||
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
}
|
||||
unit uwsttypelibraryedit;
|
||||
|
||||
{$DEFINE WST_IDE}
|
||||
{$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, SynHighlighterXML
|
||||
{$IFDEF WST_IDE},ProjectIntf{$ENDIF};
|
||||
|
||||
type
|
||||
|
||||
{ TfWstTypeLibraryEdit }
|
||||
|
||||
TfWstTypeLibraryEdit = class(TForm)
|
||||
actExit: TAction;
|
||||
actExport: TAction;
|
||||
actAbout: TAction;
|
||||
actEnumCreate: TAction;
|
||||
actCompoundCreate: TAction;
|
||||
actIntfCreate: TAction;
|
||||
actFullExpand: TAction;
|
||||
actFullCollapse: TAction;
|
||||
actSave : 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;
|
||||
MenuItem32: 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;
|
||||
Splitter1: TSplitter;
|
||||
srcInterface: TSynEdit;
|
||||
SB: TStatusBar;
|
||||
srcImp: TSynEdit;
|
||||
srcBinder: TSynEdit;
|
||||
srcProxy: TSynEdit;
|
||||
srcWSDL: TSynEdit;
|
||||
SynPasSyn1: TSynPasSyn;
|
||||
SynXMLSyn1: TSynXMLSyn;
|
||||
tsWSDL: TTabSheet;
|
||||
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 actSaveExecute (Sender : TObject );
|
||||
procedure actUpdateObjectExecute(Sender: TObject);
|
||||
procedure actUpdateObjectUpdate(Sender: TObject);
|
||||
procedure FormClose (Sender : TObject; var CloseAction : TCloseAction );
|
||||
procedure FormShow(Sender: TObject);
|
||||
private
|
||||
FSymbolTable : TwstPasTreeContainer;
|
||||
FStatusMessageTag : PtrInt;
|
||||
FCurrentFileName : string;
|
||||
{$IFDEF WST_IDE}FProjectLibrary : TLazProjectFile;{$ENDIF}
|
||||
private
|
||||
function GetTypeNode() : TTreeNode;
|
||||
function GetInterfaceNode() : TTreeNode;
|
||||
private
|
||||
procedure ShowStatusMessage(const AMsgType : TMessageType;const AMsg : string);
|
||||
procedure RenderSymbols();
|
||||
procedure RenderSources();
|
||||
procedure RenderWSDL();
|
||||
procedure OpenFile(const AFileName : string; const AContent : TStream = nil);
|
||||
procedure SaveToFile(const AFileName : string);
|
||||
public
|
||||
constructor Create(AOwner : TComponent);override;
|
||||
destructor Destroy();override;
|
||||
end;
|
||||
|
||||
var
|
||||
fWstTypeLibraryEdit: TfWstTypeLibraryEdit;
|
||||
|
||||
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
|
||||
{$IFDEF WST_IDE},LazIDEIntf,IDEMsgIntf{$ENDIF};
|
||||
|
||||
|
||||
{$IFDEF WST_IDE}
|
||||
function GetCurrentProjectLibraryFile():TLazProjectFile;
|
||||
var
|
||||
i, c : Integer;
|
||||
begin
|
||||
Result := nil;
|
||||
c := LazarusIDE.ActiveProject.FileCount;
|
||||
for i := 0 to Pred(c) do begin
|
||||
if AnsiSameText('.wsdl',ExtractFileExt(LazarusIDE.ActiveProject.Files[i].Filename)) then begin
|
||||
Result := LazarusIDE.ActiveProject.Files[i];
|
||||
Break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
{$ENDIF}
|
||||
|
||||
const
|
||||
DEF_FILE_NAME = 'library1';
|
||||
sWST_META = 'wst_meta';
|
||||
|
||||
type
|
||||
TSourceType = cloInterface .. cloBinder;
|
||||
TSourceTypes = set of TSourceType;
|
||||
|
||||
function ParseWsdlFile(
|
||||
const AFileName : string;
|
||||
AContent : TStream;
|
||||
const ANotifier : TOnParserMessage
|
||||
):TwstPasTreeContainer;overload;
|
||||
var
|
||||
locDoc : TXMLDocument;
|
||||
prsr : TWsdlParser;
|
||||
symName : string;
|
||||
begin
|
||||
Result := nil;
|
||||
symName := ChangeFileExt(ExtractFileName(AFileName),'');
|
||||
if ( symName[Length(symName)] = '.' ) then begin
|
||||
Delete(symName,Length(symName),1);
|
||||
end;
|
||||
prsr := nil;
|
||||
ReadXMLFile(locDoc,AContent);
|
||||
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;
|
||||
|
||||
function ParseWsdlFile(
|
||||
const AFileName : string;
|
||||
const ANotifier : TOnParserMessage
|
||||
):TwstPasTreeContainer;overload;
|
||||
var
|
||||
locContent : TMemoryStream;
|
||||
begin
|
||||
Result := nil;
|
||||
if FileExists(AFileName) then begin
|
||||
locContent := TMemoryStream.Create();
|
||||
try
|
||||
locContent.LoadFromFile(AFileName);
|
||||
locContent.Position := 0;
|
||||
Result := ParseWsdlFile(AFileName,locContent,ANotifier);
|
||||
finally
|
||||
FreeAndNil(locContent);
|
||||
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;
|
||||
|
||||
{ TfWstTypeLibraryEdit }
|
||||
|
||||
procedure TfWstTypeLibraryEdit.actOpenFileExecute(Sender: TObject);
|
||||
begin
|
||||
if OD.Execute() then begin
|
||||
OpenFile(OD.FileName);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.actRefreshViewExecute(Sender: TObject);
|
||||
begin
|
||||
RenderSymbols();
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.actSaveAsExecute(Sender: TObject);
|
||||
begin
|
||||
if SD.Execute() then begin
|
||||
SaveToFile(SD.FileName);
|
||||
FCurrentFileName := SD.FileName;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.actSaveExecute (Sender : TObject );
|
||||
begin
|
||||
if FileExists(FCurrentFileName) then
|
||||
SaveToFile(FCurrentFileName)
|
||||
else
|
||||
actSaveAs.Execute() ;
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.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 TfWstTypeLibraryEdit.actUpdateObjectUpdate(Sender: TObject);
|
||||
begin
|
||||
TAction(Sender).Enabled :=
|
||||
Assigned(trvSchema.Selected) and
|
||||
Assigned(trvSchema.Selected.Data) and
|
||||
HasEditor(TPasElement(trvSchema.Selected.Data));
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.FormClose (Sender : TObject; var CloseAction : TCloseAction );
|
||||
var
|
||||
dlgRes : Integer;
|
||||
{$IFDEF WST_IDE}
|
||||
prjFile : TLazProjectFile;
|
||||
{$ENDIF}
|
||||
begin
|
||||
dlgRes := MessageDlg(Self.Caption,'Save the file before exit ?',mtConfirmation,mbYesNo,0);
|
||||
if ( dlgRes = mrYes ) then begin
|
||||
actSave.Execute();
|
||||
end;
|
||||
{$IFDEF WST_IDE}
|
||||
if ( FProjectLibrary = nil ) then begin
|
||||
prjFile := GetCurrentProjectLibraryFile();
|
||||
if ( prjFile = nil ) then begin
|
||||
dlgRes := MessageDlg(Self.Caption,'Add this type library to the current project ?',mtConfirmation,mbYesNo,0);
|
||||
if ( dlgRes = mrYes ) then begin
|
||||
LazarusIDE.DoOpenEditorFile(FCurrentFileName,-1,[ofAddToProject]);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.FormShow(Sender: TObject);
|
||||
{$IFDEF WST_IDE}
|
||||
var
|
||||
prjFile : TLazProjectFile;
|
||||
locContent : TMemoryStream;
|
||||
{$ENDIF}
|
||||
begin
|
||||
{$IFDEF WST_IDE}
|
||||
prjFile := GetCurrentProjectLibraryFile();
|
||||
if ( prjFile <> nil ) then begin
|
||||
locContent := TMemoryStream.Create();
|
||||
try
|
||||
locContent.LoadFromFile(prjFile.FileName);
|
||||
if ( locContent.Size > 0 ) then begin
|
||||
locContent.Position := 0;
|
||||
IDEMessagesWindow.AddMsg(Format('Parsing %s...',[prjFile.Filename]),ExtractFileDir(prjFile.Filename),0);
|
||||
OpenFile(prjFile.Filename,locContent);
|
||||
IDEMessagesWindow.AddMsg(Format('File Parsed %s.',[prjFile.Filename]),ExtractFileDir(prjFile.Filename),0);
|
||||
FProjectLibrary := prjFile;
|
||||
end;
|
||||
finally
|
||||
FreeAndNil(locContent);
|
||||
end;
|
||||
end;
|
||||
{$ENDIF}
|
||||
RenderSymbols();
|
||||
end;
|
||||
|
||||
function TfWstTypeLibraryEdit.GetTypeNode(): TTreeNode;
|
||||
begin
|
||||
Result := trvSchema.TopItem.GetFirstChild().Items[1];
|
||||
end;
|
||||
|
||||
function TfWstTypeLibraryEdit.GetInterfaceNode(): TTreeNode;
|
||||
begin
|
||||
Result := trvSchema.TopItem.GetFirstChild().Items[2];
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.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 TfWstTypeLibraryEdit.actExitExecute(Sender: TObject);
|
||||
begin
|
||||
Close();
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.actAboutExecute(Sender: TObject);
|
||||
var
|
||||
fa : TfAbout;
|
||||
begin
|
||||
fa := TfAbout.Create(Self);
|
||||
try
|
||||
fa.ShowModal();
|
||||
finally
|
||||
fa.Release();
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.actCompoundCreateExecute(Sender: TObject);
|
||||
var
|
||||
e : TPasClassType;
|
||||
begin
|
||||
e := CreateCompoundObject(FSymbolTable);
|
||||
if Assigned(e) then begin
|
||||
FindPainter(e).Paint(FSymbolTable,e,GetTypeNode());
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.actEnumCreateExecute(Sender: TObject);
|
||||
var
|
||||
e : TPasEnumType;
|
||||
begin
|
||||
e := CreateEnum(FSymbolTable);
|
||||
if Assigned(e) then begin
|
||||
FindPainter(e).Paint(FSymbolTable,e,GetTypeNode());
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.actExportExecute(Sender: TObject);
|
||||
var
|
||||
curLok : IInterface;
|
||||
saveOpts : TComandLineOptions;
|
||||
f : TfrmSaveOptions;
|
||||
begin
|
||||
f := TfrmSaveOptions.Create(nil);
|
||||
try
|
||||
if ( f.ShowModal() = mrOK ) then begin
|
||||
saveOpts := [];
|
||||
if f.edtBinder.Checked then
|
||||
Include(saveOpts,cloBinder);
|
||||
if f.edtInterface.Checked then
|
||||
Include(saveOpts,cloInterface);
|
||||
if f.edtImplementation.Checked then
|
||||
Include(saveOpts,cloImp);
|
||||
if f.edtProxy.Checked then
|
||||
Include(saveOpts,cloProxy);
|
||||
|
||||
curLok := SetCursorHourGlass();
|
||||
GenerateSource(
|
||||
FSymbolTable,
|
||||
saveOpts,
|
||||
otFileSystem,
|
||||
IncludeTrailingBackslash(f.edtOutputDir.Text),
|
||||
nil
|
||||
);
|
||||
curLok := nil;
|
||||
end;
|
||||
finally
|
||||
f.Release();
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.actExportUpdate(Sender: TObject);
|
||||
begin
|
||||
//TAction(Sender).Enabled := Assigned(FSymbolTable) and ( FSymbolTable.CurrentModule.InterfaceSection.Declarations.Count > 0 );
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.actFullCollapseExecute(Sender: TObject);
|
||||
begin
|
||||
trvSchema.FullCollapse();
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.actFullExpandExecute(Sender: TObject);
|
||||
begin
|
||||
trvSchema.FullExpand();
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.actIntfCreateExecute(Sender: TObject);
|
||||
var
|
||||
e : TPasClassType;
|
||||
begin
|
||||
e := CreateInterface(FSymbolTable);
|
||||
if Assigned(e) then begin
|
||||
FindPainter(e).Paint(FSymbolTable,e,GetInterfaceNode());
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.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
|
||||
actSave.Execute();
|
||||
end;
|
||||
FCurrentFileName := DEF_FILE_NAME;
|
||||
{$IFDEF WST_IDE}
|
||||
FProjectLibrary := nil;
|
||||
{$ENDIF}
|
||||
FreeAndNil(FSymbolTable);
|
||||
FSymbolTable := CreateSymbolTable(ExtractFileName(FCurrentFileName));
|
||||
RenderSymbols();
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.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();
|
||||
RenderWSDL();
|
||||
end;
|
||||
trvSchema.Items[0].Expand(False);
|
||||
trvSchema.Items[0].Items[0].Expand(False);
|
||||
finally
|
||||
trvSchema.EndUpdate();
|
||||
end;
|
||||
ShowStatusMessage(mtInfo,'');
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.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;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.RenderWSDL();
|
||||
var
|
||||
mstrm : TMemoryStream;
|
||||
begin
|
||||
mstrm := TMemoryStream.Create();
|
||||
try
|
||||
GenerateWSDL_ToStream(FSymbolTable,mstrm);
|
||||
mstrm.Position := 0;
|
||||
srcWSDL.Lines.LoadFromStream(mstrm);
|
||||
finally
|
||||
FreeAndNil(mstrm);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.OpenFile (const AFileName : string; const AContent : TStream);
|
||||
var
|
||||
tmpTable : TwstPasTreeContainer;
|
||||
curLok : IInterface;
|
||||
begin
|
||||
{$IFDEF WST_IDE}
|
||||
FProjectLibrary := nil;
|
||||
{$ENDIF}
|
||||
FCurrentFileName := '';
|
||||
mmoLog.Clear();
|
||||
PC.ActivePage := tsLog;
|
||||
curLok := SetCursorHourGlass();
|
||||
if ( AContent = nil ) then
|
||||
tmpTable := ParseWsdlFile(AFileName,@ShowStatusMessage)
|
||||
else
|
||||
tmpTable := ParseWsdlFile(AFileName,AContent,@ShowStatusMessage);
|
||||
if Assigned(tmpTable) then begin
|
||||
FCurrentFileName := AFileName;
|
||||
trvSchema.Items.Clear();
|
||||
FreeAndNil(FSymbolTable);
|
||||
FSymbolTable := tmpTable;
|
||||
RenderSymbols();
|
||||
PC.ActivePage := tsInterface;
|
||||
end;
|
||||
curLok := nil;
|
||||
end;
|
||||
|
||||
procedure TfWstTypeLibraryEdit.SaveToFile (const AFileName : string );
|
||||
var
|
||||
mstrm : TMemoryStream;
|
||||
begin
|
||||
mstrm := TMemoryStream.Create();
|
||||
try
|
||||
GenerateWSDL_ToStream(FSymbolTable,mstrm);
|
||||
mstrm.SaveToFile(AFileName);
|
||||
finally
|
||||
FreeAndNil(mstrm);
|
||||
end;
|
||||
end;
|
||||
|
||||
constructor TfWstTypeLibraryEdit.Create(AOwner: TComponent);
|
||||
begin
|
||||
if ( DM = nil ) then begin
|
||||
DM := TDM.Create(Application);
|
||||
end;
|
||||
inherited Create(AOwner);
|
||||
FSymbolTable := CreateSymbolTable(ExtractFileName(DEF_FILE_NAME));
|
||||
trvSchema.Images := DM.IM;
|
||||
end;
|
||||
|
||||
destructor TfWstTypeLibraryEdit.Destroy();
|
||||
begin
|
||||
trvSchema.Items.Clear();
|
||||
FreeAndNil(FSymbolTable);
|
||||
inherited Destroy();
|
||||
FreeAndNil(DM);
|
||||
end;
|
||||
|
||||
initialization
|
||||
//SetHeapTraceOutput('heap_trace.txt');
|
||||
|
||||
{$I uwsttypelibraryedit.lrs}
|
||||
|
||||
end.
|
||||
|
@ -1,3 +1,15 @@
|
||||
{
|
||||
This file is part of the Web Service Toolkit
|
||||
Copyright (c) 2007 by Inoussa OUEDRAOGO
|
||||
|
||||
This file is provide under modified LGPL licence
|
||||
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
}
|
||||
unit view_helper;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
@ -32,11 +44,12 @@ const
|
||||
IMG_CONST = 2;
|
||||
IMG_TYPE_DEF = 4;
|
||||
IMG_INTF_DEF = 5;
|
||||
IMG_PROP_DEF = 6;
|
||||
//IMG_PROP_DEF = 6;
|
||||
IMG_ENUM = 6;
|
||||
IMG_CONST_ITEM = 7;
|
||||
IMG_ENUM_ITEM = 8;
|
||||
IMG_PROC_ITEM = 9;
|
||||
IMG_BINDING_ITEM = 10;
|
||||
|
||||
type
|
||||
|
||||
@ -260,6 +273,43 @@ type
|
||||
public
|
||||
class function CanHandle(AObj : TObject):Boolean;override;
|
||||
end;
|
||||
|
||||
{ TBindingPainter }
|
||||
|
||||
TBindingPainter = class(TAbstractSymbolPainter)
|
||||
protected
|
||||
function Paint(
|
||||
AContainer : TwstPasTreeContainer;
|
||||
AObj : TPasElement;
|
||||
AParent : TTreeNode
|
||||
):TTreeNode;override;
|
||||
public
|
||||
class function CanHandle(AObj : TObject):Boolean;override;
|
||||
end;
|
||||
|
||||
{ TBindingPainter }
|
||||
|
||||
function TBindingPainter.Paint(
|
||||
AContainer: TwstPasTreeContainer;
|
||||
AObj: TPasElement;
|
||||
AParent: TTreeNode
|
||||
): TTreeNode;
|
||||
var
|
||||
locObj : TwstBinding;
|
||||
begin
|
||||
locObj := TwstBinding(AObj);
|
||||
Result := inherited Paint(AContainer, locObj, AParent);
|
||||
Result.ImageIndex := IMG_BINDING_ITEM;
|
||||
Result.StateIndex := IMG_BINDING_ITEM;
|
||||
Result.SelectedIndex := IMG_BINDING_ITEM;
|
||||
AddChildNode(Result,BindingStyleNames[locObj.BindingStyle]);
|
||||
AddChildNode(Result,locObj.Address);
|
||||
end;
|
||||
|
||||
class function TBindingPainter.CanHandle(AObj: TObject): Boolean;
|
||||
begin
|
||||
Result := ( inherited CanHandle(AObj) ) and AObj.InheritsFrom(TwstBinding);
|
||||
end;
|
||||
|
||||
{ TPasNativeSimpleTypePainter }
|
||||
|
||||
@ -299,7 +349,7 @@ var
|
||||
i , c: Integer;
|
||||
locObj : TPasModule;
|
||||
objPtr : ISymbolPainter;
|
||||
constNode, typNode, intfNode : TTreeNode;
|
||||
{constNode,} typNode, intfNode : TTreeNode;
|
||||
objItm : TPasElement;
|
||||
decList : TList;
|
||||
begin
|
||||
@ -308,10 +358,10 @@ begin
|
||||
Result.ImageIndex := IMG_TABLE;
|
||||
Result.StateIndex := IMG_TABLE;
|
||||
Result.SelectedIndex := IMG_TABLE;
|
||||
constNode := AddChildNode(Result,'Const');
|
||||
{constNode := AddChildNode(Result,'Const');
|
||||
constNode.ImageIndex := IMG_CONST;
|
||||
constNode.StateIndex := IMG_CONST;
|
||||
constNode.SelectedIndex := IMG_CONST;
|
||||
constNode.SelectedIndex := IMG_CONST;}
|
||||
typNode := AddChildNode(Result,'Type');
|
||||
typNode.ImageIndex := IMG_TYPES;
|
||||
typNode.StateIndex := IMG_TYPES;
|
||||
@ -327,13 +377,6 @@ begin
|
||||
objPtr.Paint(AContainer,objItm,intfNode)
|
||||
else
|
||||
objPtr.Paint(AContainer,objItm,typNode);
|
||||
{if objItm.InheritsFrom(TpasTypeDefinition) then begin
|
||||
objPtr.Paint(objItm,typNode);
|
||||
end else if objItm.InheritsFrom(TInterfaceDefinition) then begin
|
||||
objPtr.Paint(objItm,intfNode);
|
||||
end else if objItm.InheritsFrom(TAbstractConstantDefinition) then begin
|
||||
objPtr.Paint(objItm,constNode);
|
||||
end;}
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@ -373,7 +416,10 @@ begin
|
||||
AddChildNode(Result,ss);
|
||||
end;
|
||||
if locMthd.InheritsFrom(TPasFunction) then begin
|
||||
AddChildNode(Result,'>> ' + AContainer.GetExternalName(TPasFunctionType(locMthd.ProcType).ResultEl));
|
||||
AddChildNode(
|
||||
Result,
|
||||
'>> ' + AContainer.GetExternalName(TPasFunctionType(locMthd.ProcType).ResultEl)
|
||||
);
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -389,33 +435,13 @@ function TInterfaceDefinitionPainter.Paint(
|
||||
AObj : TPasElement;
|
||||
AParent: TTreeNode
|
||||
): TTreeNode;
|
||||
|
||||
{ function PaintMethod(AIntfNode : TTreeNode; AMthd : TMethodDefinition):TTreeNode ;
|
||||
var
|
||||
j : Integer;
|
||||
ss : string;
|
||||
pmr : TParameterDefinition;
|
||||
begin
|
||||
Result := AddChildNode(AIntfNode,AMthd.ExternalName);
|
||||
Result.Data := AMthd;
|
||||
Result.ImageIndex := IMG_PROC_ITEM;
|
||||
Result.StateIndex := IMG_PROC_ITEM;
|
||||
Result.SelectedIndex := IMG_PROC_ITEM;
|
||||
for j := 0 to Pred(AMthd.ParameterCount) do begin
|
||||
pmr := AMthd.Parameter[j];
|
||||
ss := ParameterModifierMAP[pmr.Modifier];
|
||||
if ( Length(ss) > 0 ) then begin
|
||||
ss := ss + ' ' + pmr.ExternalName;
|
||||
end;
|
||||
AddChildNode(Result,ss);
|
||||
end;
|
||||
end; }
|
||||
|
||||
var
|
||||
locObj : TPasClassType;
|
||||
locMthd : TPasProcedure;
|
||||
i : Integer;
|
||||
memberList : TList;
|
||||
bindingsNode : TTreeNode;
|
||||
b : TwstBinding;
|
||||
begin
|
||||
locObj := AObj as TPasClassType;
|
||||
Result := inherited Paint(AContainer, locObj, AParent);
|
||||
@ -429,6 +455,15 @@ begin
|
||||
FindPainter(locMthd).Paint(AContainer,locMthd,Result);
|
||||
end;
|
||||
end;
|
||||
i := 0;
|
||||
bindingsNode := AddChildNode(Result,'Bindings >');
|
||||
while True do begin
|
||||
b := AContainer.FindBinding(locObj,i);
|
||||
if ( b = nil ) then
|
||||
Break;
|
||||
Inc(i);
|
||||
FindPainter(b).Paint(AContainer,b,bindingsNode);
|
||||
end;
|
||||
end;
|
||||
|
||||
class function TInterfaceDefinitionPainter.CanHandle(AObj : TObject): Boolean;
|
||||
@ -672,7 +707,8 @@ initialization
|
||||
FPainterRegistryInst.RegisterHandler(TAbstractConstantDefinitionPainter);
|
||||
FPainterRegistryInst.RegisterHandler(TInterfaceDefinitionPainter);
|
||||
FPainterRegistryInst.RegisterHandler(TMethodDefinitionPainter);
|
||||
FPainterRegistryInst.RegisterHandler(TPasNativeSimpleTypePainter)
|
||||
FPainterRegistryInst.RegisterHandler(TPasNativeSimpleTypePainter);
|
||||
FPainterRegistryInst.RegisterHandler(TBindingPainter)
|
||||
|
||||
finalization
|
||||
FreeAndNil(FPainterRegistryInst);
|
||||
|
@ -20,7 +20,7 @@ interface
|
||||
uses
|
||||
Classes, SysUtils, TypInfo,
|
||||
DOM,
|
||||
pastree, pascal_parser_intf; //parserdefs;
|
||||
pastree, pascal_parser_intf;
|
||||
|
||||
type
|
||||
|
||||
@ -127,15 +127,15 @@ const
|
||||
sWSDL_NS = 'http://schemas.xmlsoap.org/wsdl/';
|
||||
sSOAP_NS = 'http://schemas.xmlsoap.org/wsdl/soap/';
|
||||
sSOAP = 'soap';
|
||||
sSOAP_ENC_NS = 'http://schemas.xmlsoap.org/soap/encoding/';
|
||||
//sSOAP_ENC_NS = 'http://schemas.xmlsoap.org/soap/encoding/';
|
||||
sXMLNS = 'xmlns';
|
||||
sXSD_NS = 'http://www.w3.org/2001/XMLSchema';
|
||||
sXSD = 'xsd';
|
||||
sTNS = 'tns';
|
||||
|
||||
sSOAP_ACTION = 'soapAction';
|
||||
sSOAP_ENCODED = 'encoded';
|
||||
sSOAP_ENCODING_STYLE = 'encodingStyle';
|
||||
//sSOAP_ENCODED = 'encoded';
|
||||
//sSOAP_ENCODING_STYLE = 'encodingStyle';
|
||||
sSOAP_RPC = 'rpc';
|
||||
sSOAP_TRANSPORT = 'http://schemas.xmlsoap.org/soap/http';
|
||||
sSOAP_USE = 'use';
|
||||
@ -146,9 +146,11 @@ const
|
||||
sBINDING = 'binding';
|
||||
sBODY = 'body';
|
||||
sCOMPLEX_TYPE = 'complexType';
|
||||
sDOCUMENT = 'document';
|
||||
sELEMENT = 'element';
|
||||
sENUMERATION = 'enumeration';
|
||||
sEXTENSION = 'extension';
|
||||
sGUID = 'GUID';
|
||||
sITEM = 'item';
|
||||
sLOCATION = 'location';
|
||||
sMIN_OCCURS = 'minOccurs';
|
||||
@ -164,7 +166,7 @@ const
|
||||
sTRANSPORT = 'transport';
|
||||
sTYPE = 'type';
|
||||
sUNBOUNDED = 'unbounded';
|
||||
sUSE = 'use';
|
||||
//sUSE = 'use';
|
||||
sVALUE = 'value';
|
||||
|
||||
sWSDL_DEFINITIONS = 'definitions';
|
||||
@ -183,7 +185,35 @@ const
|
||||
|
||||
var
|
||||
WsdlTypeHandlerRegistryInst : IWsdlTypeHandlerRegistry;
|
||||
|
||||
|
||||
|
||||
function GetTypeNameSpace(
|
||||
AContainer : TwstPasTreeContainer;
|
||||
AType : TPasElement
|
||||
) : string;
|
||||
var
|
||||
locElt : TPasElement;
|
||||
begin
|
||||
Result := '';
|
||||
locElt := AType;
|
||||
if ( locElt <> nil ) then begin
|
||||
if locElt.InheritsFrom(TPasUnresolvedTypeRef) then
|
||||
locElt := AContainer.FindElement(AContainer.GetExternalName(locElt));
|
||||
if ( locElt <> nil ) and
|
||||
( not locElt.InheritsFrom(TPasUnresolvedTypeRef) ) and
|
||||
//locElt.InheritsFrom(TPasType) and
|
||||
( locElt.Parent <> nil ) and
|
||||
( locElt.Parent.Parent <> nil )
|
||||
then begin
|
||||
Result := AContainer.GetExternalName(locElt.Parent.Parent);
|
||||
end;
|
||||
end;
|
||||
Result := Trim(Result);
|
||||
if ( Length(Result) = 0 ) then
|
||||
Result := AContainer.GetExternalName(AContainer.CurrentModule);
|
||||
end;
|
||||
|
||||
|
||||
type
|
||||
|
||||
{ TWsdlTypeHandlerRegistry }
|
||||
@ -407,11 +437,17 @@ procedure GenerateWSDL(ASymbolTable : TwstPasTreeContainer; ADoc : TDOMDocument)
|
||||
end;
|
||||
|
||||
var
|
||||
prtTypeNode : TDOMElement;
|
||||
prtTypeNode, docNode : TDOMElement;
|
||||
j, k : Integer;
|
||||
po : TPasProcedure;
|
||||
begin
|
||||
prtTypeNode := CreateElement(sWSDL_PORT_TYPE,ARootNode,ADoc);
|
||||
if ( Length(AContract.InterfaceGUID) > 0 ) then begin
|
||||
docNode := CreateElement(sDOCUMENT,prtTypeNode,ADoc);
|
||||
CreateElement(sGUID,docNode,ADoc).SetAttribute(sVALUE,AContract.InterfaceGUID);
|
||||
end else begin
|
||||
docNode := nil;
|
||||
end;
|
||||
prtTypeNode.SetAttribute(sWSDL_NAME,ASymbolTable.GetExternalName(AContract));
|
||||
k := AContract.Members.Count;
|
||||
if ( k > 0 ) then begin
|
||||
@ -429,13 +465,17 @@ procedure GenerateWSDL(ASymbolTable : TwstPasTreeContainer; ADoc : TDOMDocument)
|
||||
procedure GenerateOperation(AOperation : TPasProcedure; ABndngNode : TDOMElement);
|
||||
var
|
||||
opNode, inNode, outNode, bdyNode : TDOMElement;
|
||||
strBuff : string;
|
||||
strBuff, strSoapActBuffer : string;
|
||||
encdStyl{,encdStylURI} : string;
|
||||
begin
|
||||
strBuff := Format('%s:%s',[sSOAP,sWSDL_OPERATION]);
|
||||
opNode := CreateElement(sWSDL_OPERATION,ABndngNode,ADoc);
|
||||
opNode.SetAttribute(sWSDL_NAME,ASymbolTable.GetExternalName(AOperation));
|
||||
CreateElement(strBuff,opNode,ADoc).SetAttribute(sSOAP_ACTION,Format('%s/%s%s',[ASymbolTable.GetExternalName(ASymbolTable.CurrentModule),ASymbolTable.GetExternalName(ABinding.Intf),ASymbolTable.GetExternalName(AOperation)]));
|
||||
strSoapActBuffer := Trim(ASymbolTable.Properties.GetValue(AOperation,sTRANSPORT + '_' + sSOAP_ACTION));
|
||||
{if ( Length(strSoapActBuffer) = 0 ) then begin
|
||||
strSoapActBuffer := Format('%s/%s/%s',[ASymbolTable.GetExternalName(ASymbolTable.CurrentModule),ASymbolTable.GetExternalName(ABinding.Intf),ASymbolTable.GetExternalName(AOperation)]);
|
||||
end;}
|
||||
CreateElement(strBuff,opNode,ADoc).SetAttribute(sSOAP_ACTION,strSoapActBuffer);
|
||||
inNode := CreateElement(sWSDL_INPUT,opNode,ADoc);
|
||||
strBuff := Format('%s:%s',[sSOAP,sBODY]);
|
||||
bdyNode := CreateElement(strBuff,inNode,ADoc);
|
||||
@ -645,7 +685,7 @@ begin
|
||||
then begin
|
||||
typeCategory := tcSimpleContent;
|
||||
derivationNode := CreateElement(Format('%s:%s',[sXSD,sEXTENSION]),cplxNode,AWsdlDocument);
|
||||
s := Trim(GetNameSpaceShortName(AContainer.GetExternalName(trueParent.Parent.Parent),AWsdlDocument));
|
||||
s := Trim(GetNameSpaceShortName(GetTypeNameSpace(AContainer,trueParent),AWsdlDocument));
|
||||
if ( Length(s) > 0 ) then begin
|
||||
s := s + ':';
|
||||
end;
|
||||
@ -694,7 +734,7 @@ begin
|
||||
propNode.SetAttribute(sNAME,AContainer.GetExternalName(p));
|
||||
propTypItm := p.VarType;
|
||||
if Assigned(propTypItm) then begin
|
||||
prop_ns_shortName := GetNameSpaceShortName(AContainer.GetExternalName(propTypItm.Parent.Parent),AWsdlDocument);
|
||||
prop_ns_shortName := GetNameSpaceShortName(GetTypeNameSpace(AContainer,propTypItm),AWsdlDocument);
|
||||
propNode.SetAttribute(sTYPE,Format('%s:%s',[prop_ns_shortName,AContainer.GetExternalName(propTypItm)]));
|
||||
if AContainer.IsAttributeProperty(p) then begin
|
||||
if AnsiSameText('Has',Copy(p.StoredAccessorName,1,3)) then
|
||||
@ -717,7 +757,8 @@ end;
|
||||
|
||||
class function TClassTypeDefinition_TypeHandler.CanHandle(ASymbol: TClass): Boolean;
|
||||
begin
|
||||
Result := inherited CanHandle(ASymbol) and ASymbol.InheritsFrom(TPasClassType);
|
||||
Result := inherited CanHandle(ASymbol) and
|
||||
( ASymbol.InheritsFrom(TPasClassType) and ( TPasClassType(ASymbol).ObjKind = okClass ));
|
||||
end;
|
||||
|
||||
{ TEnumTypeHandler }
|
||||
@ -736,7 +777,7 @@ var
|
||||
begin
|
||||
typItm := ASymbol as TPasEnumType;
|
||||
if Assigned(typItm) then begin
|
||||
unitExternalName := AContainer.GetExternalName(ASymbol.Parent.Parent);
|
||||
unitExternalName := GetTypeNameSpace(AContainer,ASymbol);
|
||||
if FindAttributeByValueInNode(unitExternalName,AWsdlDocument.DocumentElement,ns_shortName) then begin
|
||||
ns_shortName := Copy(ns_shortName,Length(sXMLNS+':')+1,MaxInt);
|
||||
end else begin
|
||||
@ -813,7 +854,7 @@ begin
|
||||
if not Assigned(typItm) then
|
||||
Exit;
|
||||
if Assigned(typItm) then begin
|
||||
unitExternalName := AContainer.GetExternalName(typItm.Parent.Parent);
|
||||
unitExternalName := GetTypeNameSpace(AContainer,typItm);
|
||||
GetNameSpaceShortName(unitExternalName);
|
||||
defTypesNode := AWsdlDocument.DocumentElement.FindNode(sWSDL_TYPES) as TDOMElement;
|
||||
Assert(Assigned(defTypesNode));
|
||||
@ -830,7 +871,7 @@ begin
|
||||
propNode := CreateElement(s,sqcNode,AWsdlDocument);
|
||||
propNode.SetAttribute(sNAME,sITEM);
|
||||
if Assigned(propTypItm) then begin
|
||||
prop_ns_shortName := GetNameSpaceShortName(AContainer.GetExternalName(propTypItm.Parent.Parent));
|
||||
prop_ns_shortName := GetNameSpaceShortName(GetTypeNameSpace(AContainer,propTypItm));// AContainer.GetExternalName(propTypItm.Parent.Parent));
|
||||
propNode.SetAttribute(sTYPE,Format('%s:%s',[prop_ns_shortName,AContainer.GetExternalName(propTypItm)]));
|
||||
propNode.SetAttribute(sMIN_OCCURS,'0');
|
||||
propNode.SetAttribute(sMAX_OCCURS,sUNBOUNDED);
|
||||
@ -885,7 +926,7 @@ var
|
||||
begin
|
||||
typItm := ASymbol as TPasAliasType;
|
||||
if Assigned(typItm) then begin
|
||||
unitExternalName := AContainer.GetExternalName(ASymbol.Parent.Parent);
|
||||
unitExternalName := GetTypeNameSpace(AContainer,ASymbol);
|
||||
if FindAttributeByValueInNode(unitExternalName,AWsdlDocument.DocumentElement,ns_shortName) then begin
|
||||
ns_shortName := Copy(ns_shortName,Length(sXMLNS+':')+1,MaxInt);
|
||||
end else begin
|
||||
@ -900,7 +941,7 @@ begin
|
||||
resNode := CreateElement(s,defSchemaNode,AWsdlDocument);
|
||||
resNode.SetAttribute(sNAME, AContainer.GetExternalName(typItm)) ;
|
||||
|
||||
baseUnitExternalName := AContainer.GetExternalName(typItm.DestType.Parent.Parent);
|
||||
baseUnitExternalName := GetTypeNameSpace(AContainer,typItm.DestType);
|
||||
s := GetNameSpaceShortName(baseUnitExternalName,AWsdlDocument);
|
||||
s := Format('%s:%s',[s,AContainer.GetExternalName(typItm.DestType)]);
|
||||
resNode.SetAttribute(sTYPE,s) ;
|
||||
|
@ -1631,7 +1631,7 @@ var
|
||||
var
|
||||
k : Integer;
|
||||
p : TPasProperty;
|
||||
pt : TPasElement;
|
||||
//pt : TPasElement;
|
||||
begin
|
||||
if ( locPropCount > 0 ) then begin
|
||||
Indent();
|
||||
@ -1639,14 +1639,14 @@ var
|
||||
IncIndent();
|
||||
for k := 0 to Pred(locPropCount) do begin
|
||||
p := TPasProperty(locPropList[k]);
|
||||
if p.VarType.InheritsFrom(TPasUnresolvedTypeRef) then begin
|
||||
{if p.VarType.InheritsFrom(TPasUnresolvedTypeRef) then begin
|
||||
pt := SymbolTable.FindElement(SymbolTable.GetExternalName(p.VarType));
|
||||
if ( pt <> nil ) and pt.InheritsFrom(TPasType) and ( pt <> p.VarType ) then begin
|
||||
p.VarType.Release();
|
||||
p.VarType := pt as TPasType;
|
||||
p.VarType.AddRef();
|
||||
end;
|
||||
end;
|
||||
end;}
|
||||
WritePropertyField(p);
|
||||
end;
|
||||
DecIndent();
|
||||
|
@ -1,3 +1,15 @@
|
||||
{
|
||||
This file is part of the Web Service Toolkit
|
||||
Copyright (c) 2007 by Inoussa OUEDRAOGO
|
||||
|
||||
This file is provide under modified LGPL licence
|
||||
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
}
|
||||
unit logger_intf;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
@ -1,3 +1,15 @@
|
||||
{
|
||||
This file is part of the Web Service Toolkit
|
||||
Copyright (c) 2007 by Inoussa OUEDRAOGO
|
||||
|
||||
This file is provide under modified LGPL licence
|
||||
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
}
|
||||
unit pascal_parser_intf;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
@ -22,22 +34,29 @@ const
|
||||
type
|
||||
|
||||
TBindingStyle = ( bsDocument, bsRPC, bsUnknown );
|
||||
|
||||
const
|
||||
BindingStyleNames : array[TBindingStyle] of string = ( 'Document', 'RPC', 'Unknown' );
|
||||
|
||||
type
|
||||
TArrayStyle = ( asScoped, asEmbeded );
|
||||
|
||||
ESymbolException = class(Exception)
|
||||
end;
|
||||
{ TwstBinding }
|
||||
|
||||
TwstBinding = class
|
||||
TwstBinding = class(TPasElement)
|
||||
private
|
||||
FAddress: string;
|
||||
FBindingStyle: TBindingStyle;
|
||||
FIntf: TPasClassType;
|
||||
FName: string;
|
||||
public
|
||||
constructor Create(const AName : string; AIntf : TPasClassType);
|
||||
constructor Create(
|
||||
const AName : string;
|
||||
AIntf : TPasClassType;
|
||||
AParent: TPasElement
|
||||
);
|
||||
destructor Destroy();override;
|
||||
property Name : string read FName;
|
||||
property Intf : TPasClassType read FIntf;
|
||||
property Address : string read FAddress write FAddress;
|
||||
property BindingStyle : TBindingStyle read FBindingStyle write FBindingStyle;
|
||||
@ -98,7 +117,9 @@ type
|
||||
property CurrentModule : TPasModule read FCurrentModule;
|
||||
|
||||
function AddBinding(const AName : string; AIntf : TPasClassType):TwstBinding;
|
||||
function FindBinding(const AName : string):TwstBinding;
|
||||
procedure DeleteBinding(ABinding : TwstBinding);
|
||||
function FindBinding(const AName : string):TwstBinding;overload;
|
||||
function FindBinding(const AIntf : TPasClassType; const AOrder : Integer = 0):TwstBinding;overload;
|
||||
property BindingCount : Integer read GetBindingCount;
|
||||
property Binding[AIndex : Integer] : TwstBinding read GetBinding;
|
||||
property Properties : TPropertyHolder read FProperties;
|
||||
@ -128,8 +149,16 @@ type
|
||||
property BoxedType : TPasNativeSimpleContentClassType read FBoxedType;
|
||||
end;
|
||||
|
||||
function GetParameterIndex(AProcType : TPasProcedureType; const AParamName : string) : Integer;
|
||||
function FindParameter(AProcType : TPasProcedureType; const AParamName : string) : TPasArgument;
|
||||
function GetParameterIndex(
|
||||
AProcType : TPasProcedureType;
|
||||
const AParamName : string;
|
||||
const AStartPos : Integer = 0
|
||||
) : Integer;
|
||||
function FindParameter(
|
||||
AProcType : TPasProcedureType;
|
||||
const AParamName : string;
|
||||
const AStartPos : Integer = 0
|
||||
) : TPasArgument;
|
||||
function FindMember(AClass : TPasClassType; const AName : string) : TPasElement ;
|
||||
function GetElementCount(AList : TList; AElementClass : TPTreeElement):Integer ;
|
||||
|
||||
@ -307,13 +336,21 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
function GetParameterIndex(AProcType : TPasProcedureType; const AParamName : string) : Integer;
|
||||
function GetParameterIndex(
|
||||
AProcType : TPasProcedureType;
|
||||
const AParamName : string;
|
||||
const AStartPos : Integer
|
||||
) : Integer;
|
||||
var
|
||||
pl : TList;
|
||||
i : Integer;
|
||||
begin
|
||||
pl := AProcType.Args;
|
||||
for i := 0 to Pred(pl.Count) do begin
|
||||
if ( AStartPos >= 0 ) then
|
||||
i := AStartPos
|
||||
else
|
||||
i := 0;
|
||||
for i := i to Pred(pl.Count) do begin
|
||||
if AnsiSameText(AParamName,TPasArgument(pl[i]).Name) then begin
|
||||
Result := i;
|
||||
Exit;
|
||||
@ -322,11 +359,15 @@ begin
|
||||
Result := -1;
|
||||
end;
|
||||
|
||||
function FindParameter(AProcType : TPasProcedureType; const AParamName : string) : TPasArgument;
|
||||
function FindParameter(
|
||||
AProcType : TPasProcedureType;
|
||||
const AParamName : string;
|
||||
const AStartPos : Integer
|
||||
) : TPasArgument;
|
||||
var
|
||||
i : Integer;
|
||||
begin
|
||||
i := GetParameterIndex(AProcType,AParamName);
|
||||
i := GetParameterIndex(AProcType,AParamName,i);
|
||||
if ( i >= 0 ) then begin
|
||||
Result := TPasArgument(AProcType.Args[i]);
|
||||
end else begin
|
||||
@ -564,10 +605,16 @@ begin
|
||||
if Assigned(Result) then begin
|
||||
raise Exception.CreateFmt('Duplicated binding : "%s"',[AName]);
|
||||
end;
|
||||
Result := TwstBinding.Create(AName, AIntf);
|
||||
Result := TwstBinding.Create(AName, AIntf, AIntf.Parent);
|
||||
FBindingList.Add(Result);
|
||||
end;
|
||||
|
||||
procedure TwstPasTreeContainer.DeleteBinding(ABinding: TwstBinding);
|
||||
begin
|
||||
FBindingList.Extract(ABinding);
|
||||
ABinding.Release();
|
||||
end;
|
||||
|
||||
function TwstPasTreeContainer.FindBinding(const AName: string): TwstBinding;
|
||||
var
|
||||
i : Integer;
|
||||
@ -581,6 +628,24 @@ begin
|
||||
Result := nil;
|
||||
end;
|
||||
|
||||
function TwstPasTreeContainer.FindBinding(const AIntf: TPasClassType; const AOrder : Integer): TwstBinding;
|
||||
var
|
||||
i, c, ordr : Integer;
|
||||
begin
|
||||
ordr := AOrder;
|
||||
c := BindingCount;
|
||||
for i := 0 to Pred(c) do begin
|
||||
Result := Binding[i];
|
||||
if ( Result.Intf = AIntf ) then begin
|
||||
if ( ordr <= 0 ) then
|
||||
Exit
|
||||
else
|
||||
Dec(ordr);
|
||||
end;
|
||||
end;
|
||||
Result := nil;
|
||||
end;
|
||||
|
||||
procedure TwstPasTreeContainer.RegisterExternalAlias(
|
||||
AObject : TPasElement;
|
||||
const AExternalName : String
|
||||
@ -623,9 +688,14 @@ end;
|
||||
|
||||
{ TwstBinding }
|
||||
|
||||
constructor TwstBinding.Create(const AName : string; AIntf: TPasClassType);
|
||||
constructor TwstBinding.Create(
|
||||
const AName : string;
|
||||
AIntf : TPasClassType;
|
||||
AParent: TPasElement
|
||||
);
|
||||
begin
|
||||
Assert((not IsStrEmpty(AName)) and Assigned(AIntf) and ( AIntf.ObjKind = okInterface ));
|
||||
inherited Create(AName,AParent);
|
||||
FIntf := AIntf;
|
||||
FIntf.AddRef();
|
||||
end;
|
||||
@ -708,11 +778,14 @@ procedure TPasNativeSimpleType.SetBoxedType(
|
||||
ABoxedType : TPasNativeSimpleContentClassType
|
||||
);
|
||||
begin
|
||||
if ( FBoxedType <> nil ) then begin
|
||||
FBoxedType.Release();
|
||||
if ( FBoxedType <> ABoxedType ) then begin
|
||||
if ( FBoxedType <> nil ) then begin
|
||||
FBoxedType.Release();
|
||||
end;
|
||||
FBoxedType := ABoxedType;
|
||||
if ( FBoxedType <> nil ) then
|
||||
FBoxedType.AddRef();
|
||||
end;
|
||||
FBoxedType := ABoxedType;
|
||||
FBoxedType.AddRef();
|
||||
end;
|
||||
|
||||
end.
|
||||
|
@ -123,6 +123,7 @@ type
|
||||
function GetItem(const AIndex:Integer):ISourceStream;
|
||||
Public
|
||||
constructor Create();
|
||||
destructor Destroy();override;
|
||||
End;
|
||||
|
||||
function CreateSourceManager():ISourceManager;
|
||||
@ -201,6 +202,14 @@ begin
|
||||
FList := TInterfaceList.Create() as IInterfaceList;
|
||||
end;
|
||||
|
||||
destructor TSourceManager.Destroy();
|
||||
begin
|
||||
if ( FList <> nil ) then
|
||||
FList.Clear();
|
||||
FList := nil;
|
||||
inherited Destroy();
|
||||
end;
|
||||
|
||||
{ TSourceStream }
|
||||
|
||||
function TSourceStream.GetFileName(): string;
|
||||
|
@ -1,3 +1,15 @@
|
||||
{
|
||||
This file is part of the Web Service Toolkit
|
||||
Copyright (c) 2007 by Inoussa OUEDRAOGO
|
||||
|
||||
This file is provide under modified LGPL licence
|
||||
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
}
|
||||
unit wsdl2pas_imp;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
@ -7,7 +19,7 @@ interface
|
||||
uses
|
||||
Classes, SysUtils, DOM,
|
||||
cursor_intf, rtti_filters,
|
||||
pparser, pastree, pascal_parser_intf, logger_intf;
|
||||
pastree, pascal_parser_intf, logger_intf;
|
||||
|
||||
type
|
||||
|
||||
@ -170,6 +182,7 @@ const
|
||||
s_element : WideString = 'element';
|
||||
s_enumeration : WideString = 'enumeration';
|
||||
s_extension : WideString = 'extension';
|
||||
s_guid : WideString = 'GUID';
|
||||
s_input : WideString = 'input';
|
||||
s_item : WideString = 'item';
|
||||
s_location : WideString = 'location';
|
||||
@ -724,6 +737,37 @@ var
|
||||
end;
|
||||
end;
|
||||
|
||||
function ParseIntfGuid() : string;
|
||||
var
|
||||
nd : TDOMNode;
|
||||
tmpCrs : IObjectCursor;
|
||||
begin
|
||||
Result := '';
|
||||
tmpCrs := CreateCursorOn(
|
||||
CreateChildrenCursor(ANode,cetRttiNode),
|
||||
ParseFilter(CreateQualifiedNameFilterStr(s_document,FWsdlShortNames),TDOMNodeRttiExposer)
|
||||
);
|
||||
tmpCrs.Reset();
|
||||
if tmpCrs.MoveNext() then begin
|
||||
nd := (tmpCrs.GetCurrent() as TDOMNodeRttiExposer).InnerObject;
|
||||
if nd.HasChildNodes() then begin
|
||||
tmpCrs := CreateCursorOn(
|
||||
CreateChildrenCursor(nd,cetRttiNode),
|
||||
ParseFilter(Format('%s=%s',[s_NODE_NAME,QuotedStr(s_guid)]),TDOMNodeRttiExposer)
|
||||
);
|
||||
tmpCrs.Reset();
|
||||
if tmpCrs.MoveNext() then begin
|
||||
nd := (tmpCrs.GetCurrent() as TDOMNodeRttiExposer).InnerObject;
|
||||
if nd.HasAttributes() then begin
|
||||
nd := nd.Attributes.GetNamedItem(s_value);
|
||||
if Assigned(nd) then
|
||||
Result := Trim(nd.NodeValue);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
var
|
||||
locIntf : TPasClassType;
|
||||
locAttCursor : IObjectCursor;
|
||||
@ -732,7 +776,9 @@ var
|
||||
locMthd : TPasProcedure;
|
||||
inft_guid : TGuid;
|
||||
ansiStrBuffer : ansistring;
|
||||
elt : TPasElement;
|
||||
begin
|
||||
locIntf := nil;
|
||||
locAttCursor := CreateAttributesCursor(ANode,cetRttiNode);
|
||||
locCursor := CreateCursorOn(locAttCursor,ParseFilter(Format('%s = %s',[s_NODE_NAME,QuotedStr(s_name)]),TDOMNodeRttiExposer));
|
||||
locCursor.Reset();
|
||||
@ -740,45 +786,39 @@ begin
|
||||
raise EWslParserException.CreateFmt('PortType Attribute not found : "%s"',[s_name]);
|
||||
locObj := locCursor.GetCurrent() as TDOMNodeRttiExposer;
|
||||
ansiStrBuffer := locObj.NodeValue;
|
||||
locIntf := TPasClassType(SymbolTable.CreateElement(TPasClassType,ansiStrBuffer,SymbolTable.CurrentModule.InterfaceSection,visDefault,'',0));
|
||||
FModule.InterfaceSection.Declarations.Add(locIntf);
|
||||
FModule.InterfaceSection.Types.Add(locIntf);
|
||||
FModule.InterfaceSection.Classes.Add(locIntf);
|
||||
locIntf.ObjKind := okInterface;
|
||||
Result := locIntf;
|
||||
if ( CreateGUID(inft_guid) = 0 ) then
|
||||
locIntf.InterfaceGUID := GUIDToString(inft_guid);
|
||||
locCursor := CreateChildrenCursor(ANode,cetRttiNode);
|
||||
if Assigned(locCursor) then begin
|
||||
locOpCursor := CreateCursorOn(locCursor,ParseFilter(CreateQualifiedNameFilterStr(s_operation,FWsdlShortNames),TDOMNodeRttiExposer));
|
||||
locOpCursor.Reset();
|
||||
locBindingOperationCursor := ExtractBindingOperationCursor();
|
||||
while locOpCursor.MoveNext() do begin
|
||||
locObj := locOpCursor.GetCurrent() as TDOMNodeRttiExposer;
|
||||
locMthd := ParseOperation(locIntf,locObj.InnerObject,ABindingStyle);
|
||||
if Assigned(locMthd) then begin
|
||||
ParseOperationAttributes(locBindingOperationCursor,locMthd);
|
||||
elt := SymbolTable.FindElementInModule(ansiStrBuffer,SymbolTable.CurrentModule);
|
||||
if ( elt = nil ) then begin
|
||||
locIntf := TPasClassType(SymbolTable.CreateElement(TPasClassType,ansiStrBuffer,SymbolTable.CurrentModule.InterfaceSection,visDefault,'',0));
|
||||
FModule.InterfaceSection.Declarations.Add(locIntf);
|
||||
FModule.InterfaceSection.Types.Add(locIntf);
|
||||
FModule.InterfaceSection.Classes.Add(locIntf);
|
||||
locIntf.ObjKind := okInterface;
|
||||
Result := locIntf;
|
||||
locIntf.InterfaceGUID := ParseIntfGuid();
|
||||
if IsStrEmpty(locIntf.InterfaceGUID) and ( CreateGUID(inft_guid) = 0 ) then
|
||||
locIntf.InterfaceGUID := GUIDToString(inft_guid);
|
||||
locCursor := CreateChildrenCursor(ANode,cetRttiNode);
|
||||
if Assigned(locCursor) then begin
|
||||
locOpCursor := CreateCursorOn(locCursor,ParseFilter(CreateQualifiedNameFilterStr(s_operation,FWsdlShortNames),TDOMNodeRttiExposer));
|
||||
locOpCursor.Reset();
|
||||
locBindingOperationCursor := ExtractBindingOperationCursor();
|
||||
while locOpCursor.MoveNext() do begin
|
||||
locObj := locOpCursor.GetCurrent() as TDOMNodeRttiExposer;
|
||||
locMthd := ParseOperation(locIntf,locObj.InnerObject,ABindingStyle);
|
||||
if Assigned(locMthd) then begin
|
||||
ParseOperationAttributes(locBindingOperationCursor,locMthd);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end else begin
|
||||
if elt.InheritsFrom(TPasClassType) and ( TPasClassType(elt).ObjKind = okInterface ) then begin
|
||||
Result := TPasClassType(elt);
|
||||
end else begin
|
||||
raise EWslParserException.CreateFmt('Invalid element definition : "%s".',[elt.Name]);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
type
|
||||
|
||||
{ TPasEmentCrack }
|
||||
|
||||
TPasEmentCrack = class(TPasElement)
|
||||
protected
|
||||
procedure SetName(const AName : string);
|
||||
end;
|
||||
|
||||
{ TPasEmentCrack }
|
||||
|
||||
procedure TPasEmentCrack.SetName(const AName: string);
|
||||
begin
|
||||
Name := AName;
|
||||
end;
|
||||
|
||||
function TWsdlParser.ParseOperation(
|
||||
AOwner : TPasClassType;
|
||||
ANode : TDOMNode;
|
||||
@ -848,6 +888,7 @@ function TWsdlParser.ParseOperation(
|
||||
except
|
||||
on e : Exception do begin
|
||||
DoOnMessage(mtError, e.Message + ' ' + AName + ' ' + ATypeOrElement);
|
||||
raise;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@ -939,7 +980,7 @@ function TWsdlParser.ParseOperation(
|
||||
prmTypeInternalName := '_' + prmTypeInternalName;
|
||||
end;
|
||||
SymbolTable.RegisterExternalAlias(prmTypeDef,SymbolTable.GetExternalName(prmTypeDef));
|
||||
TPasEmentCrack(prmTypeDef).SetName(prmTypeInternalName);
|
||||
prmTypeDef.Name := prmTypeInternalName;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@ -960,6 +1001,7 @@ function TWsdlParser.ParseOperation(
|
||||
locFunc : TPasFunction;
|
||||
locFuncType : TPasFunctionType;
|
||||
j : Integer;
|
||||
arg_a, arg_b : TPasArgument;
|
||||
begin
|
||||
if ExtractMsgName(s_output,outMsg) then begin
|
||||
outMsgNode := FindMessageNode(outMsg);
|
||||
@ -1010,6 +1052,7 @@ function TWsdlParser.ParseOperation(
|
||||
prmDef := TPasArgument(SymbolTable.CreateElement(TPasArgument,prmInternameName,tmpMthdType,visDefault,'',0));
|
||||
tmpMthdType.Args.Add(prmDef);
|
||||
prmDef.ArgType := GetDataType(prmTypeName,prmTypeType);
|
||||
prmDef.ArgType.AddRef();
|
||||
prmDef.Access := argOut;
|
||||
if prmHasInternameName then begin
|
||||
SymbolTable.RegisterExternalAlias(prmDef,prmName);
|
||||
@ -1020,6 +1063,8 @@ function TWsdlParser.ParseOperation(
|
||||
end else begin
|
||||
prmInternameName := '_' + prmInternameName;
|
||||
prmDef := TPasArgument(SymbolTable.CreateElement(TPasArgument,prmInternameName,tmpMthdType,visDefault,'',0));
|
||||
prmDef.ArgType := GetDataType(prmTypeName,prmTypeType);
|
||||
prmDef.ArgType.AddRef();
|
||||
prmDef.Access := argOut;
|
||||
tmpMthdType.Args.Add(prmDef);
|
||||
SymbolTable.RegisterExternalAlias(prmDef,prmName);
|
||||
@ -1038,17 +1083,21 @@ function TWsdlParser.ParseOperation(
|
||||
then begin
|
||||
locProcType := tmpMthd.ProcType;
|
||||
locFunc := TPasFunction(SymbolTable.CreateElement(TPasFunction,tmpMthd.Name,AOwner,visDefault,'',0));
|
||||
locFuncType := SymbolTable.CreateFunctionType('','Result',locFunc,True,'',0);
|
||||
locFuncType := SymbolTable.CreateFunctionType('','Result',locFunc,False,'',0);
|
||||
locFunc.ProcType := locFuncType;
|
||||
for j := 0 to ( locProcType.Args.Count - 2 ) do begin
|
||||
locFuncType.Args.Add(locProcType.Args[j]);
|
||||
arg_a := TPasArgument(locProcType.Args[j]);
|
||||
arg_b := TPasArgument(SymbolTable.CreateElement(TPasArgument,arg_a.Name,locFuncType,visDefault,'',0));
|
||||
locFuncType.Args.Add(arg_b);
|
||||
arg_b.Access := arg_a.Access;
|
||||
arg_b.ArgType := arg_a.ArgType;
|
||||
arg_b.ArgType.AddRef();
|
||||
end;
|
||||
j := locProcType.Args.Count - 1;
|
||||
locFuncType.ResultEl.ResultType := TPasType(TPasArgument(locProcType.Args[j]).ArgType);
|
||||
SymbolTable.RegisterExternalAlias(locFuncType.ResultEl,SymbolTable.GetExternalName(TPasArgument(locProcType.Args[j])));
|
||||
arg_a := TPasArgument(locProcType.Args[j]);
|
||||
locFuncType.ResultEl.ResultType := arg_a.ArgType;
|
||||
SymbolTable.RegisterExternalAlias(locFuncType.ResultEl,SymbolTable.GetExternalName(arg_a));
|
||||
locFuncType.ResultEl.ResultType.AddRef();
|
||||
TPasArgument(locProcType.Args[j]).Release();
|
||||
tmpMthdType.Args.Clear();
|
||||
tmpMthd.Release();
|
||||
tmpMthd := locFunc;
|
||||
end;
|
||||
@ -1241,7 +1290,7 @@ begin
|
||||
end;
|
||||
if Assigned(Result) then begin
|
||||
if Assigned(frwType) and AnsiSameText(SymbolTable.GetExternalName(Result),SymbolTable.GetExternalName(frwType)) then begin
|
||||
TPasEmentCrack(Result).SetName(frwType.Name);
|
||||
Result.Name := frwType.Name;
|
||||
SymbolTable.RegisterExternalAlias(Result,SymbolTable.GetExternalName(frwType));
|
||||
end;
|
||||
end else begin
|
||||
@ -1368,8 +1417,8 @@ procedure TWsdlParser.Parse(const AMode : TParserMode; const AModuleName : strin
|
||||
if ( sym <> symNew ) then begin
|
||||
FModule.InterfaceSection.Declarations.Extract(sym);
|
||||
FModule.InterfaceSection.Types.Extract(sym);
|
||||
TPasEmentCrack(symNew).SetName(sym.Name);
|
||||
GetLogger().Log(mtInfo,'forward type paring %s = %s',[sym.Name, symNew.Name]);
|
||||
symNew.Name := sym.Name;
|
||||
DoOnMessage(mtInfo,Format('forward type paring %s; %d %d',[symNew.Name,c, typeList.Count]));
|
||||
//sym.Release();
|
||||
end;
|
||||
i := 0; //Dec(i);
|
||||
@ -1424,6 +1473,7 @@ begin
|
||||
if ( AMode = pmAllTypes ) then begin
|
||||
ParseTypes();
|
||||
end;
|
||||
|
||||
ParseForwardDeclarations();
|
||||
ExtractNameSpace();
|
||||
SymbolTable.SetCurrentModule(FModule);
|
||||
@ -1801,7 +1851,7 @@ var
|
||||
if locIsRefElement then begin
|
||||
locTypeInternalName := locTypeName;
|
||||
locTypeInternalName := locTypeInternalName + '_Type';
|
||||
TPasEmentCrack(locType).SetName(locTypeInternalName);
|
||||
locType.Name := locTypeInternalName;
|
||||
FSymbols.RegisterExternalAlias(locType,locTypeName);
|
||||
end;
|
||||
end else begin
|
||||
|
@ -1,3 +1,15 @@
|
||||
{
|
||||
This file is part of the Web Service Toolkit
|
||||
Copyright (c) 2007 by Inoussa OUEDRAOGO
|
||||
|
||||
This file is provide under modified LGPL licence
|
||||
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
}
|
||||
unit cursor_intf;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
@ -1,3 +1,15 @@
|
||||
{
|
||||
This file is part of the Web Service Toolkit
|
||||
Copyright (c) 2007 by Inoussa OUEDRAOGO
|
||||
|
||||
This file is provide under modified LGPL licence
|
||||
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
}
|
||||
unit dom_cursors;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
@ -1,3 +1,15 @@
|
||||
{
|
||||
This file is part of the Web Service Toolkit
|
||||
Copyright (c) 2007 by Inoussa OUEDRAOGO
|
||||
|
||||
This file is provide under modified LGPL licence
|
||||
( the files COPYING.modifiedLGPL and COPYING.LGPL).
|
||||
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
}
|
||||
unit rtti_filters;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
Reference in New Issue
Block a user