diff --git a/components/jujiboutils/changes.txt b/components/jujiboutils/changes.txt index 7d620cc50..cd7930dcf 100644 --- a/components/jujiboutils/changes.txt +++ b/components/jujiboutils/changes.txt @@ -3,7 +3,11 @@ JUJIBOUTILS Note: Lazarus Trunk required -Version pre-1.0 +Version pre-1.1 +-------------------------------------------------- +2012-03-06 Fixed: Focus issues + +Version 1.0 -------------------------------------------------- 2011-10-14 Released jujiboutils 1.0 2011-09-30 Added: ftString support to TJDBGridControl. MaxLength property. diff --git a/components/jujiboutils/src/jdbgridutils.pas b/components/jujiboutils/src/jdbgridutils.pas index 2563f6f02..bdb420bd0 100644 --- a/components/jujiboutils/src/jdbgridutils.pas +++ b/components/jujiboutils/src/jdbgridutils.pas @@ -430,6 +430,9 @@ end; function TJDbGridDateTimeCtrl.CanDefocus: boolean; begin + if not updated then + Result:= True + else if CellEditor.Focused and (Length(CellEditor.Text) = 0) then Result := True else @@ -604,6 +607,9 @@ end; function TJDbGridTimeCtrl.CanDefocus: boolean; begin + if not updated then + Result:= True + else if CellEditor.Focused and (Length(CellEditor.Text) = 0) then Result := True else @@ -780,6 +786,9 @@ end; function TJDbGridDateCtrl.CanDefocus: boolean; begin + if not updated then + Result:= True + else if CellEditor.Focused and (Length(CellEditor.Text) = 0) then Result := True else diff --git a/components/jujiboutils/src/jdblabeledcurrencyedit.pas b/components/jujiboutils/src/jdblabeledcurrencyedit.pas index 9d9b65367..58782a350 100644 --- a/components/jujiboutils/src/jdblabeledcurrencyedit.pas +++ b/components/jujiboutils/src/jdblabeledcurrencyedit.pas @@ -66,6 +66,7 @@ type procedure KeyDown(var Key: word; Shift: TShiftState); override; procedure KeyPress(var Key: char); override; procedure DoEnter; override; + procedure DoExit; override; function GetReadOnly: boolean; override; procedure SetReadOnly(Value: boolean); override; @@ -358,6 +359,12 @@ begin inherited DoEnter; end; +procedure TJDBLabeledCurrencyEdit.DoExit; +begin + formatInput; + inherited DoExit; +end; + constructor TJDBLabeledCurrencyEdit.Create(TheOwner: TComponent); begin inherited Create(TheOwner); diff --git a/components/jujiboutils/src/jdblabeledfloatedit.pas b/components/jujiboutils/src/jdblabeledfloatedit.pas index fa0b5c0cd..821577905 100644 --- a/components/jujiboutils/src/jdblabeledfloatedit.pas +++ b/components/jujiboutils/src/jdblabeledfloatedit.pas @@ -27,6 +27,9 @@ uses SysUtils, jinputconsts; type + + { TJDBLabeledFloatEdit } + TJDBLabeledFloatEdit = class(TCustomLabeledEdit) private fFormat: string; @@ -63,6 +66,7 @@ type procedure KeyDown(var Key: word; Shift: TShiftState); override; procedure KeyPress(var Key: char); override; procedure DoEnter; override; + procedure DoExit; override; function GetReadOnly: boolean; override; procedure SetReadOnly(Value: boolean); override; @@ -353,6 +357,12 @@ begin inherited DoEnter; end; +procedure TJDBLabeledFloatEdit.DoExit; +begin + formatInput; + inherited DoExit; +end; + constructor TJDBLabeledFloatEdit.Create(TheOwner: TComponent); begin inherited Create(TheOwner); diff --git a/components/jujiboutils/src/jdblabeledintegeredit.pas b/components/jujiboutils/src/jdblabeledintegeredit.pas index 33fd1d4f6..2e7479918 100644 --- a/components/jujiboutils/src/jdblabeledintegeredit.pas +++ b/components/jujiboutils/src/jdblabeledintegeredit.pas @@ -62,6 +62,7 @@ type procedure KeyDown(var Key: word; Shift: TShiftState); override; procedure KeyPress(var Key: char); override; procedure DoEnter; override; + procedure DoExit; override; function GetReadOnly: boolean; override; procedure SetReadOnly(Value: boolean); override; @@ -319,6 +320,12 @@ begin inherited DoEnter; end; +procedure TJDBLabeledIntegerEdit.DoExit; +begin + formatInput; + inherited DoExit; +end; + constructor TJDBLabeledIntegerEdit.Create(TheOwner: TComponent); begin inherited Create(TheOwner);