mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-18 10:49:27 +02:00
* Load and save of html2form options
This commit is contained in:
parent
c8241f1ebd
commit
a9710796c8
@ -26,8 +26,8 @@ object frmHTML2Form: TfrmHTML2Form
|
||||
end
|
||||
object PCOptions: TPageControl
|
||||
Left = 0
|
||||
Height = 434
|
||||
Top = 0
|
||||
Height = 408
|
||||
Top = 26
|
||||
Width = 633
|
||||
ActivePage = TSHTML
|
||||
Align = alClient
|
||||
@ -35,8 +35,9 @@ object frmHTML2Form: TfrmHTML2Form
|
||||
TabOrder = 1
|
||||
object TSHTML: TTabSheet
|
||||
Caption = 'HTML File'
|
||||
ClientHeight = 404
|
||||
ClientHeight = 378
|
||||
ClientWidth = 623
|
||||
OnContextPopup = TSHTMLContextPopup
|
||||
object lblHTMLFile: TLabel
|
||||
AnchorSideTop.Control = FEHTMLFile
|
||||
AnchorSideTop.Side = asrCenter
|
||||
@ -131,7 +132,7 @@ object frmHTML2Form: TfrmHTML2Form
|
||||
end
|
||||
object TSCodeGen: TTabSheet
|
||||
Caption = 'Generated code'
|
||||
ClientHeight = 404
|
||||
ClientHeight = 378
|
||||
ClientWidth = 623
|
||||
object edtFormClassName: TEdit
|
||||
AnchorSideTop.Control = TSCodeGen
|
||||
@ -460,4 +461,171 @@ object frmHTML2Form: TfrmHTML2Form
|
||||
end
|
||||
end
|
||||
end
|
||||
object ToolBar1: TToolBar
|
||||
Left = 0
|
||||
Height = 26
|
||||
Top = 0
|
||||
Width = 633
|
||||
Caption = 'TBHTML2Form'
|
||||
Images = ilHTML2Form
|
||||
TabOrder = 2
|
||||
object tbLoad: TToolButton
|
||||
Left = 1
|
||||
Top = 2
|
||||
Action = aLoad
|
||||
end
|
||||
object tbSave: TToolButton
|
||||
Left = 24
|
||||
Top = 2
|
||||
Action = aSave
|
||||
end
|
||||
end
|
||||
object ilHTML2Form: TImageList
|
||||
Left = 72
|
||||
Top = 328
|
||||
Bitmap = {
|
||||
4C7A0200000010000000100000009D0200000000000078DAED92DD4F92611887
|
||||
FB175AEBB083B6D65FD0CA13B33A6B6BEBA8036A4E6BCB839A6BAB13970AAF20
|
||||
42182AD8C79CDF0E8BD01251C1613AFC606A994BA5960A281F06F295C88B8880
|
||||
BF9EF7D96466333FF2A4AD77BB763F27D77BDFCFFDFC5477CFE161763778BCC8
|
||||
815011EFFCE9E3375447E05B06B508844207E2BF7F74FE61394A5F23BC0D9DA6
|
||||
8EA2EF37FEC67EFC2DFE317FEE6FFC5B19A7AE70FF38ECFE8EEDF25528AB50A1
|
||||
5480AB72C2D3AA4AC82AE578222F87A45C06B14C8A52A904BBFAD50A2493C934
|
||||
1B1B1B88C5626059162B2B2B0806831049C47FF453A91465A71F0E8711221916
|
||||
9695EEDB4F2412585F5FFFC567C4A2DD7DE5DEBE4024C48933174E9EBDFAA080
|
||||
C06CA380DBD95EF3F3850CAE29ED93E2BE10EA2758D47D64514B283586205754
|
||||
A677C7F58EC7E3D48F442269BFB84480EC0617469781711F3046E0CE662FC87B
|
||||
55D09E1C9CCBCD1E8D46A9BFB5FF224680DC6637756B4623900DFC48735FA147
|
||||
8BD99FA679C4872642E390170D831E1826BD2864F8D457CFC490AFF1D03BD493
|
||||
F969DD769F9AF155BC3087A0342D436E74A2E89D0D8FD40EEAE734B951DC13C0
|
||||
ABE9189D9B638430EC018608A6EF40BF2B855EDB1A3ABF04A1997081D15AA136
|
||||
2FA150508C9C4617EEB4B831E04CC0B494C2807B13FD84F7843ED7268CCE240C
|
||||
F63874DF56D13EB58CD6B105E435DB60B179F198F8BC5A07F2D56E186D2CE911
|
||||
85DEBA861E6B0CDD84AEF935E8E658747C0DA36DCA8FD60F2E340CCFE3E6730B
|
||||
3ABB74A43F1FD79F2D406A704337E34387C58FB7D37EB44F07D046D04C05F0E6
|
||||
B30FAF3F79A01A77A271C40A69F72C2EDF7B69CACCBAC8645ECA62C8FB27F8DA
|
||||
0594F72E42D6EB80945489C14129D32F52C43D7688BAAC28D1CE22B7DE0A92AF
|
||||
8CAD9C92336F47F6F6226F7BCE7F02B1E27D71
|
||||
}
|
||||
BitmapAdv = {
|
||||
4C69020000004C7A020000001800000018000000A30400000000000078DAED95
|
||||
D94F1B571487FB56F5A5AA9AC748A5522B557DAF54E5A1127F40D4564A694502
|
||||
05758BAAAA52A5366A25CA1AF62D660B09BB830143D96CB0B1016336DB2C019A
|
||||
40820DF6D8D8EC60F002D818C3AF6786010CE2C154E42562A44FA31969BE73EF
|
||||
39E79E11FDF809444478B8FBD210F1CE37E812BD26FEF58D8D4BE3CA7FE5BFF2
|
||||
9FF6BF0A5E47BF5CD51934FFD71F6CAC2BFF959FEE61AFD27F36C665F77F3057
|
||||
4EBE00B9F9793C02B0CF39790F902D78802C412E32737390919385F4EC4CA465
|
||||
652035331D291969484E4F0D2A06EB6D686A8446A7E3D16250ABC18066107D83
|
||||
03E8EDEF434FAF1A2A750FBA542A28BBBB5021AC0ADE5F9007CD900E7EBFFF14
|
||||
3E9F0F5EAF171E8F07DBDBDB70B95C70381CD8A019ADE85422292DE542FEFDFD
|
||||
FD638EFCBBBBBB9C7F6B6B0B6EB71B4EA7F3C49F9A1CB45F7B8E7F6F6FEFD8CF
|
||||
AE3FD0DFA1542031E572FC6C8ECEF3272427055DDF8BFAE50A05E2EF07E767FB
|
||||
5173C1FCC8151D88BB9F88B7AF7FFCCE8D5FEBEE119D84FA1C5A393FF564A0FB
|
||||
6C7DCFF3C72625E0663E53F2F5E339FC295945866A13E93C69DD9B4852DA71B7
|
||||
6691CED2A13FB037037373D43F6C7F1EF9651D72C426C6E38B42F3766AD706FA
|
||||
160EA05B018796D02C03834B40BB710FD97456D9F3C43A8F085CFBCECECEB1FF
|
||||
A8FFDBC9FF37F9C368ED65A35B1822E7F0EA2143AB2771B414279B66007B5659
|
||||
E711816B0FCC0DEBB7DBED6897933F210E6C6E2A9E6E715ED9AC0F0D531ED4F3
|
||||
887962044F20EA18C198D97502E3C45362D4E4C0887113C333760C19D6A1D5AF
|
||||
617466054D52D929BF92D9C30FD50B88ACB0215A388FE82A1E6100F41C758C0D
|
||||
DF561215564496CF21A2CC828852336E1533882EB720AB528218DE5F4EFEBC01
|
||||
27BE7B328F86175E48677C1C9233B41A7C68219AF4BB687C497B9C74A3766213
|
||||
D5236BA8D0CCA3A4D78C248911DF575A905F2D454C7C2CE77FA873E36EED2204
|
||||
FD4EAEAE5A1EAEC67C9D590688BE4540BD00A8AC7EDAB307B219172453EB681C
|
||||
9B877888C1EF6223629BAD6893B5737EB6BE091DEB88A0BCB418BC9C83A57FF1
|
||||
D0D5CBA3E65191BBDBB68F4ECB1EE4C66D48A71D687EBE8AFA512BAA064C882A
|
||||
6720D62C40DADE76ECFFB96E91726B438FD507F5BC9FD8470F3954B603721DA0
|
||||
8B839CD67D28E7FC50587C909B3C90EA5D689EB2A361620935C316E42A8CF8E6
|
||||
118349E33224BCFF56B105B7CBE6F057CB12BA986D74323BDCBE15F47D87C94B
|
||||
1E2F64443B8BD183B6D91D480D5B689D76A171D28EFAF165D48CD820D49810D3
|
||||
6C44E4A3698C8D8F41545B43FE387C5964C657C56614F4AE40AEDF84CCE0409B
|
||||
DE41FB764242B4F2B4B0BC74A2F985034D531BF8E7D93AC463BC5B67A6DACEE0
|
||||
1791115159726EDD87C4E1660183DB25665452CE24CF57D04AB0F96C7CB64A0E
|
||||
963534FCBB867A96895588C75750C77A4717503D6C8550CBA062601602A59EFA
|
||||
D3848F3E0BFBEDBD9090508EF7434269FEF87F129A51A4B2A0AC7F0EA54449BF
|
||||
15C5747FD8C762E528EA9DE328545B08DA6F0F83BC2E23049D3394773DEE890D
|
||||
EC2CD35DFBF0D30F02672FBD537F5EC820BC84C19DD2136E07417889E990C726
|
||||
9A638C9B66ED1F6FBD7BFDCD403F1B8F08BD046E90FBDAD97FC77F01765A684C
|
||||
7A020000002000000020000000440600000000000078DAEDD6E9535357180670
|
||||
FF9F4EBF753AD376A65F6CA76347BF55AB336D47A72D88CBA8A853ADB2EF4B64
|
||||
719C5A5440094920212C4176410AB263A182B28404122009246C093BF8F4BCE7
|
||||
DE8B97B02820A31FC2CC33F786E5FECEFB9EE5A2FCFD33449E8C42DAAF4770E2
|
||||
847BDF73E6A72628994989FDE1932EA5CF47EAF948A4FB1FC1B5EB33FB9EF02B
|
||||
1BFDBA8C70E8FF380CE7C4C4BEC7D8F1CCE7FB7C9FEFF37DBEE897C6FE86DC8B
|
||||
07D151AEDAF734A81237F83577AF4377F510864D3DFB9EEE3AC306FF43E563F4
|
||||
D5970F213BE02BE81497769C9C1B47A18D39BD273F3BE04B28FD3E873AF0BB1D
|
||||
4775EE6BA82E7EB3273F37E21454170EA2A4E2318A3469282E54A3489B8E9227
|
||||
156F8DFE4E10FFFDF7E11BF2B3F9676DDC1956D3B73EDFE7FBFCFDF1BB3EB03F
|
||||
FD21FDE4139F06B2FB499651B95F5CA481FACAF7C84BBD869CA0E3FBE61FD8E1
|
||||
97223519B77852C4AB10FABE22250989C9494848BE85842405E26F2910A74840
|
||||
6C62026212E311931087E8F85844C5516210191B8D9DFA6BF6ED14710C2982ED
|
||||
E5C7733F51F4C98E67761CA2E2257BB7BE60AFACACACCBF2F232CFD2D2121616
|
||||
16303F3F8FD9D959783C1ECCCCCC607A7A1A93939398A0FF039D4E44303B2226
|
||||
6AE7FEEDCD7D690CE42F2E2E727F6E6E8E8FC1ED766FF4991DBE477F75759567
|
||||
339F7A403ED54F3EF5606A6A8AFB2E970BE1D1CC8F8EDC75FF257BB331C87D79
|
||||
FD924FF5931D1615B9EBFADFC597D6C066F5874545209465577EEAF6BEF71ADC
|
||||
CC273B34327C77FD7F0F7E08B3432276EE4BE7CF4EFBEF3DFF64074784EDCAA7
|
||||
BCEBFAF7AE9FF620D54F76707828F70FA79A8EB25859F09658E5FE76FB7F2B5F
|
||||
EA3FD9412CA2CD9FEF9F3D822BF90E217A072EAFC50E3FE508FF1D458A70CE6E
|
||||
75FE912D3F7FE4E79FDC273B282C0452DD0F5A3D7866071AC4D07D3D4B9D0DF8
|
||||
87320AA4B5789048673C8BE4C923AFFD6DE72FD937059FD74D66A3036892853E
|
||||
AF8DC52684DE2F89ECFD429677E4F676734F3ED9374305FF2AEBB764378F012D
|
||||
E2551A83340E0AD9F47E93FA2C0FD9DEB5CBD7FE3A3F94FC60EED37CCBED35DF
|
||||
6B0C948424E1DD2E59F2902BD9DEBD97EF3DC10F5EF3AF4A3E4B64990BEFB00F
|
||||
F69492761B6E30FB86ACFE46D6DB8C36CFA6FB602DF95EF1DA238179765CD2D9
|
||||
70493B828BB9C3B8A0B1E2BC7A08E7B2CD38AB34E1D8DD01FEFCD07C8BE087BC
|
||||
F1698D511FE873A96979DD5E90D6A03CB416EBC4D4B2BDF1746415D5D665540D
|
||||
2EA07CC08392DE2918BA9CC8EF1885B675089A4623620C7D62FDA3A21FC43FD3
|
||||
F8E9397C2CECBE7E0BBB5EB60FEAD7D940F5F06B3CB12CA3C2BC8052A307C53D
|
||||
93287C318EBCE7A3C86D1D84AAA11F018F8CDC181B1BE3F61BDFCEF6B69BDFDF
|
||||
6F750BCFB7AF77A43380522BE6294BCD28D9409575159583CB281B98C7E33E37
|
||||
8A5E4E40FF9F03DAF661A89BCC503EEB5FEBBDC3E1107DA1FF346F2125E3FCFE
|
||||
B1719119ABECF9AF79A8B61A31D5629E482197D55D695945C510B34D8BECEF67
|
||||
51F46A1AF9ACF7DA0E1B34AD1664379A905426F8CABA61EEFF29AB9FD6CCF17B
|
||||
43F0CB1AC653CB126AAC4B7C2EABAD2BACA72BA862CFAF1453C1B38272CAD00A
|
||||
CA58CDA5E62594981650DCCFEC9E19664F40D739064DFB08B29B0791556F44A0
|
||||
5AE87D8FD90EBBDDBECE3FA719E6D760831D55A639549AE7D93CCEF3B92C67CF
|
||||
A5BA4AC594508D9401E6518CF330F4CFA1A8D783825733D0774D42DB39CE6C1B
|
||||
B25B2C78D46042665D1F7EB93F809FEF9BB96DB3D9D6F5FF64C610BF66363B51
|
||||
DE378DD2FE1994B0D03C16F7523C30F479B84129E471A3B0C78D02AA97F55BDF
|
||||
3D09DD8B09E47648B6158F1ACDC8ACEFC79DAA5EFEFC53F186B57547B6E4FFF8
|
||||
B75998FBEE7114773B6178E962EBC7854296826E17EFA75E4C9E2CE4695FB858
|
||||
BD4EE6B27E3FB743D53A0265B385DB19ACEF0F6A7B115620F867A3D34557F4C5
|
||||
F387725E3588C28E111474DAD89EB541DF6987AEC3CED6901DB9FF521CC8A13C
|
||||
7740C3AE1ABAB6DBA166B5AADBA85E72ADC86A1AC243D6F30C5637D9F76A5EC2
|
||||
EFA1B0F636FB7F46F2156566E8D83ED5B50D41DB66617BD6829C562BD4ECAAA2
|
||||
35DC62E13DA5507D52C8CB6A1AE4F50AAE11E96CBE1FD4F6703BB5AC5BAA3177
|
||||
0BDF493F3F76D7C4CF482967C4046C93D359F20CF0F8B333C6FFA191D7EC97D9
|
||||
8FA37F0D48FE175BF8FEFBFDBE61493BF0917EFD0F6A0C760B
|
||||
}
|
||||
end
|
||||
object odSettings: TOpenDialog
|
||||
Filter = 'JSON Files|*.json|All files|*.*'
|
||||
Options = [ofFileMustExist, ofEnableSizing, ofViewDetail]
|
||||
Left = 72
|
||||
Top = 240
|
||||
end
|
||||
object sdSettings: TSaveDialog
|
||||
Filter = 'JSON Files|*.json|All files|*.*'
|
||||
Options = [ofOverwritePrompt, ofPathMustExist, ofEnableSizing, ofViewDetail]
|
||||
Left = 72
|
||||
Top = 288
|
||||
end
|
||||
object alHTMLToForm: TActionList
|
||||
Images = ilHTML2Form
|
||||
Left = 431
|
||||
Top = 145
|
||||
object aSave: TAction
|
||||
Caption = 'Save'
|
||||
Hint = 'Save options to file'
|
||||
ImageIndex = 0
|
||||
OnExecute = aSaveExecute
|
||||
end
|
||||
object aLoad: TAction
|
||||
Caption = 'Load'
|
||||
Hint = 'Load options from file'
|
||||
ImageIndex = 1
|
||||
OnExecute = aLoadExecute
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -6,13 +6,16 @@ interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, EditBtn,
|
||||
ButtonPanel, ExtCtrls, ComCtrls, idehtml2class;
|
||||
ButtonPanel, ExtCtrls, ComCtrls, ActnList, idehtml2class, Types;
|
||||
|
||||
type
|
||||
|
||||
{ TfrmHTML2Form }
|
||||
|
||||
TfrmHTML2Form = class(TForm)
|
||||
aSave: TAction;
|
||||
aLoad: TAction;
|
||||
alHTMLToForm: TActionList;
|
||||
BPHTMLToForm: TButtonPanel;
|
||||
cbAddHTMLFile: TCheckBox;
|
||||
cbBindElementsInConstructor: TCheckBox;
|
||||
@ -31,6 +34,7 @@ type
|
||||
edtFormClassName: TEdit;
|
||||
FEHTMLFile: TFileNameEdit;
|
||||
FETagMapFile: TFileNameEdit;
|
||||
ilHTML2Form: TImageList;
|
||||
lblExtraUnits: TLabel;
|
||||
lblExclude: TLabel;
|
||||
lblClassName: TLabel;
|
||||
@ -43,12 +47,21 @@ type
|
||||
lblBelowID: TLabel;
|
||||
lblTagMap: TLabel;
|
||||
mExclude: TMemo;
|
||||
odSettings: TOpenDialog;
|
||||
PCOptions: TPageControl;
|
||||
sdSettings: TSaveDialog;
|
||||
ToolBar1: TToolBar;
|
||||
tbLoad: TToolButton;
|
||||
tbSave: TToolButton;
|
||||
TSCodeGen: TTabSheet;
|
||||
TSHTML: TTabSheet;
|
||||
procedure aLoadExecute(Sender: TObject);
|
||||
procedure aSaveExecute(Sender: TObject);
|
||||
procedure CBEventsChange(Sender: TObject);
|
||||
procedure FEHTMLFileEditingDone(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure TSHTMLContextPopup(Sender: TObject; MousePos: TPoint;
|
||||
var Handled: Boolean);
|
||||
|
||||
private
|
||||
procedure CheckEventEdits;
|
||||
@ -97,7 +110,7 @@ var
|
||||
|
||||
implementation
|
||||
|
||||
uses lazideintf;
|
||||
uses fpjson, lazideintf;
|
||||
|
||||
{$R *.lfm}
|
||||
|
||||
@ -130,11 +143,66 @@ begin
|
||||
FETagMapFile.InitialDir:=aDir;
|
||||
end;
|
||||
|
||||
procedure TfrmHTML2Form.TSHTMLContextPopup(Sender: TObject; MousePos: TPoint;
|
||||
var Handled: Boolean);
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TfrmHTML2Form.CBEventsChange(Sender: TObject);
|
||||
begin
|
||||
CheckEventEdits;
|
||||
end;
|
||||
|
||||
procedure TfrmHTML2Form.aSaveExecute(Sender: TObject);
|
||||
|
||||
Var
|
||||
aOptions : THTML2ClassOptions;
|
||||
aJSON : TJSONStringType;
|
||||
fd : TStringStream;
|
||||
|
||||
begin
|
||||
if sdSettings.Execute then
|
||||
begin
|
||||
fd:=nil;
|
||||
aOptions:=THTML2ClassOptions.Create;
|
||||
try
|
||||
SaveOptions(aOptions);
|
||||
aJSON:=aOptions.asJSON(True);
|
||||
FD:=TStringStream.Create(aJSON,CP_UTF8);
|
||||
FD.SaveToFile(sdSettings.FileName);
|
||||
finally
|
||||
FD.Free;
|
||||
aoptions.Free;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmHTML2Form.aLoadExecute(Sender: TObject);
|
||||
|
||||
Var
|
||||
aOptions : THTML2ClassOptions;
|
||||
aJSON : TJSONStringType;
|
||||
fd : TStringStream;
|
||||
|
||||
begin
|
||||
if odSettings.Execute then
|
||||
begin
|
||||
fd:=nil;
|
||||
aOptions:=THTML2ClassOptions.Create;
|
||||
try
|
||||
FD:=TStringStream.Create('',CP_UTF8);
|
||||
FD.LoadFromFile(odSettings.FileName);
|
||||
aJSON:=FD.DataString;
|
||||
aOptions.FromJSON(aJSON);
|
||||
LoadOptions(aOptions);
|
||||
finally
|
||||
FD.Free;
|
||||
aoptions.Free;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmHTML2Form.FEHTMLFileEditingDone(Sender: TObject);
|
||||
begin
|
||||
if (FEHTMLFile.FileName<>'') and FileExists(FEHTMLFile.FileName) then
|
||||
|
Loading…
Reference in New Issue
Block a user