Skip to content

Commit f5410b7

Browse files
committed
add TDateEdit and TTimeEdit
1 parent 907bbae commit f5410b7

File tree

1 file changed

+105
-1
lines changed

1 file changed

+105
-1
lines changed

Source/script/imports/lcl/simba.import_lcl_misc.pas

Lines changed: 105 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ procedure ImportLCLMisc(Script: TSimbaScript);
1313
implementation
1414

1515
uses
16-
Controls, Spin, Menus, Graphics, ListFilterEdit, StdCtrls, Buttons, ButtonPanel,
16+
Controls, EditBtn, Spin, Menus, Graphics, ListFilterEdit, StdCtrls, Buttons, ButtonPanel,
1717
lptypes, ffi;
1818

1919
type
@@ -26,6 +26,9 @@ implementation
2626
PFloatSpinEdit = ^TFloatSpinEdit;
2727
PSpinEdit = ^TSpinEdit;
2828

29+
PDateEdit = ^TDateEdit;
30+
PTimeEdit = ^TTimeEdit;
31+
2932
PMenu = ^TMenu;
3033
PPopupMenu = ^TPopupMenu;
3134
PMainMenu = ^TMainMenu;
@@ -157,6 +160,92 @@ procedure _LapeSpinEdit_Create(const Params: PParamArray; const Result: Pointer)
157160
PSpinEdit(Result)^ := TSpinEdit.Create(PComponent(Params^[0])^);
158161
end;
159162

163+
164+
//DATE
165+
procedure _LapeDateEdit_Date_Read(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
166+
begin
167+
PDateTime(Result)^ := PDateEdit(Params^[0])^.Date;
168+
end;
169+
170+
procedure _LapeDateEdit_Date_Write(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
171+
begin
172+
PDateEdit(Params^[0])^.Date := PDouble(Params^[1])^;
173+
end;
174+
175+
procedure _LapeDateEdit_MinDate_Read(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
176+
begin
177+
PDateTime(Result)^ := PDateEdit(Params^[0])^.MinDate;
178+
end;
179+
180+
procedure _LapeDateEdit_MinDate_Write(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
181+
begin
182+
PDateEdit(Params^[0])^.MinDate := PDouble(Params^[1])^;
183+
end;
184+
185+
procedure _LapeDateEdit_MaxDate_Read(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
186+
begin
187+
PDateTime(Result)^ := PDateEdit(Params^[0])^.MaxDate;
188+
end;
189+
190+
procedure _LapeDateEdit_MaxDate_Write(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
191+
begin
192+
PDateEdit(Params^[0])^.MaxDate := PDateTime(Params^[1])^;
193+
end;
194+
195+
procedure _LapeDateEdit_DateFormat_Read(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
196+
begin
197+
PString(Result)^ := PDateEdit(Params^[0])^.DateFormat;
198+
end;
199+
200+
procedure _LapeDateEdit_DateFormat_Write(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
201+
begin
202+
PDateEdit(Params^[0])^.DateFormat := PString(Params^[1])^;
203+
end;
204+
205+
procedure _LapeDateEdit_DefaultToday_Read(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
206+
begin
207+
PBoolean(Result)^ := PDateEdit(Params^[0])^.DefaultToday;
208+
end;
209+
210+
procedure _LapeDateEdit_DefaultToday_Write(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
211+
begin
212+
PDateEdit(Params^[0])^.DefaultToday := PBoolean(Params^[1])^;
213+
end;
214+
215+
procedure _LapeDateEdit_Create(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV
216+
begin
217+
PDateEdit(Result)^ := TDateEdit.Create(PComponent(Params^[0])^);
218+
end;
219+
220+
//TIME
221+
procedure _LapeTimeEdit_Time_Read(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
222+
begin
223+
PDateTime(Result)^ := PTimeEdit(Params^[0])^.Time;
224+
end;
225+
226+
procedure _LapeTimeEdit_Time_Write(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
227+
begin
228+
PTimeEdit(Params^[0])^.Time := PDateTime(Params^[1])^;
229+
end;
230+
231+
procedure _LapeTimeEdit_DefaultNow_Read(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
232+
begin
233+
PBoolean(Result)^ := PTimeEdit(Params^[0])^.DefaultNow;
234+
end;
235+
236+
procedure _LapeTimeEdit_DefaultNow_Write(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
237+
begin
238+
PTimeEdit(Params^[0])^.DefaultNow := PBoolean(Params^[1])^;
239+
end;
240+
241+
procedure _LapeTimeEdit_Create(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV
242+
begin
243+
PTimeEdit(Result)^ := TTimeEdit.Create(PComponent(Params^[0])^);
244+
end;
245+
246+
247+
248+
160249
procedure _LapeMenuItem_Find(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV
161250
begin
162251
PMenuItem(Result)^ := PMenuItem(Params^[0])^.Find(PString(Params^[1])^);
@@ -624,6 +713,21 @@ procedure ImportLCLMisc(Script: TSimbaScript);
624713
addClass('TLazSpinEdit', 'TLazCustomSpinEdit', TSpinEdit);
625714
addClassConstructor('TLazSpinEdit', '(TheOwner: TLazComponent)', @_LapeSpinEdit_Create);
626715

716+
717+
addClass('TLazDateEdit', 'TLazCustomControl', TDateEdit);
718+
addProperty('TLazDateEdit', 'Date', 'TDateTime', @_LapeDateEdit_Date_Read, @_LapeDateEdit_Date_Write);
719+
addProperty('TLazDateEdit', 'MinDate', 'TDateTime', @_LapeDateEdit_MinDate_Read, @_LapeDateEdit_MinDate_Write);
720+
addProperty('TLazDateEdit', 'MaxDate', 'TDateTime', @_LapeDateEdit_MaxDate_Read, @_LapeDateEdit_MaxDate_Write);
721+
addProperty('TLazDateEdit', 'DateFormat', 'String', @_LapeDateEdit_DateFormat_Read, @_LapeDateEdit_DateFormat_Write);
722+
addProperty('TLazDateEdit', 'DefaultToday', 'Boolean', @_LapeDateEdit_DefaultToday_Read, @_LapeDateEdit_DefaultToday_Write);
723+
addClassConstructor('TLazDateEdit', '(TheOwner: TLazComponent)', @_LapeDateEdit_Create);
724+
725+
addClass('TLazTimeEdit', 'TLazCustomControl', TTimeEdit);
726+
addProperty('TLazTimeEdit', 'Time', 'TDateTime', @_LapeTimeEdit_Time_Read, @_LapeTimeEdit_Time_Write);
727+
addProperty('TLazTimeEdit', 'DefaultNow', 'Boolean', @_LapeTimeEdit_DefaultNow_Read, @_LapeTimeEdit_DefaultNow_Write);
728+
addClassConstructor('TLazTimeEdit', '(TheOwner: TLazComponent)', @_LapeTimeEdit_Create);
729+
730+
627731
addClass('TLazMenu', 'TLazComponent', TMenu);
628732
addClass('TLazMenuItem', 'TLazComponent', TMenuItem);
629733
addGlobalFunc('function TLazMenuItem.Find(const ACaption: string): TLazMenuItem;', @_LapeMenuItem_Find);

0 commit comments

Comments
 (0)