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
This commit is contained in:
alexs75
2018-05-17 11:42:29 +00:00
parent b8c566bd76
commit 238d0aaa15
3 changed files with 32 additions and 7 deletions

View File

@ -2,7 +2,8 @@
brick08 - from freepascal.ru
rtn - from freepascal.ru
kit - from freepascal.ru
linux-man
Component icon images:
zoltanleo aka Док

View File

@ -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;

View File

@ -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