From 238d0aaa1528ff30612ccafdbe0715c754d1bc9e Mon Sep 17 00:00:00 2001 From: alexs75 Date: Thu, 17 May 2018 11:42:29 +0000 Subject: [PATCH] RxFPC:patch for RXDBTimeEdit and RXDBSpinEdit from linux-man (0033751, 0033752) git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6428 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- components/rx/trunk/docs/readmy.txt | 3 ++- components/rx/trunk/rxdb/rxdbspinedit.pas | 11 ++++++++++ components/rx/trunk/rxdb/rxdbtimeedit.pas | 25 +++++++++++++++++------ 3 files changed, 32 insertions(+), 7 deletions(-) diff --git a/components/rx/trunk/docs/readmy.txt b/components/rx/trunk/docs/readmy.txt index 1822866a0..425f63b7d 100644 --- a/components/rx/trunk/docs/readmy.txt +++ b/components/rx/trunk/docs/readmy.txt @@ -2,7 +2,8 @@ brick08 - from freepascal.ru rtn - from freepascal.ru kit - from freepascal.ru - + linux-man + Component icon images: zoltanleo aka Док diff --git a/components/rx/trunk/rxdb/rxdbspinedit.pas b/components/rx/trunk/rxdb/rxdbspinedit.pas index 3bbb83fba..1b7264adb 100644 --- a/components/rx/trunk/rxdb/rxdbspinedit.pas +++ b/components/rx/trunk/rxdb/rxdbspinedit.pas @@ -61,6 +61,8 @@ type procedure CMGetDataLink(var Message: TLMessage); message CM_GETDATALINK; function IsReadOnly: boolean; protected + FUpdating:Boolean; + procedure SetValue(const AValue: Double); override; function GetReadOnly: Boolean;override; procedure SetReadOnly(AValue: Boolean);override; property DataField: string read GetDataField write SetDataField; @@ -251,6 +253,7 @@ end; procedure TCustomRxDBSpinEdit.Change; begin + IF FUpdating then exit; FDatalink.Edit; FDataLink.Modified; inherited Change; @@ -263,6 +266,14 @@ begin Result := (Field = nil) or Field.ReadOnly; end; +procedure TCustomRxDBSpinEdit.SetValue(const AValue: Double); +begin + FUpdating:=true; + inherited SetValue(AValue); + Modified:=false; + FUpdating:=false; +end; + procedure TCustomRxDBSpinEdit.Loaded; begin inherited Loaded; diff --git a/components/rx/trunk/rxdb/rxdbtimeedit.pas b/components/rx/trunk/rxdb/rxdbtimeedit.pas index affef590a..fce4de5ad 100644 --- a/components/rx/trunk/rxdb/rxdbtimeedit.pas +++ b/components/rx/trunk/rxdb/rxdbtimeedit.pas @@ -65,6 +65,8 @@ type protected function GetReadOnly: Boolean;override; procedure SetReadOnly(AValue: Boolean);override; + procedure UpClick(Sender: TObject); override; + procedure DownClick(Sender: TObject); override; property DataField: string read GetDataField write SetDataField; property DataSource: TDataSource read GetDataSource write SetDataSource; procedure KeyDown(var Key: Word; Shift: TShiftState); override; @@ -131,6 +133,7 @@ type property PasswordChar; property PopupMenu; property ShowHint; + property ShowSecond; property TabOrder; property TabStop; property Visible; @@ -253,6 +256,8 @@ end; procedure TCustomRxDBTimeEdit.KeyDown(var Key: Word; Shift: TShiftState); begin inherited KeyDown(Key, Shift); + if not IsReadOnly then + FDatalink.Edit; if Key=VK_ESCAPE then begin //cancel out of editing by reset on esc @@ -261,12 +266,6 @@ begin Key := VK_UNKNOWN; end else - if Key=VK_DELETE then - begin - if not IsReadOnly then - FDatalink.Edit; - end - else if Key=VK_TAB then begin if FDataLink.CanModify and FDatalink.Editing then @@ -274,6 +273,20 @@ begin end; end; +procedure TCustomRxDBTimeEdit.UpClick(Sender: TObject); +begin + if not IsReadOnly then + FDatalink.Edit; + inherited; +end; + +procedure TCustomRxDBTimeEdit.DownClick(Sender: TObject); +begin + if not IsReadOnly then + FDatalink.Edit; + inherited; +end; + procedure TCustomRxDBTimeEdit.Change; begin if Assigned(FDatalink) then