Make things simple

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2339 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
jujibo
2012-03-14 18:00:29 +00:00
parent 69552795e1
commit c59ab57339
6 changed files with 38 additions and 62 deletions

View File

@ -35,7 +35,6 @@ type
fFormat: string; fFormat: string;
FDataLink: TFieldDataLink; FDataLink: TFieldDataLink;
fDecimales: integer; fDecimales: integer;
fUpdated: boolean;
procedure DataChange(Sender: TObject); procedure DataChange(Sender: TObject);
function getDecimals: integer; function getDecimals: integer;
@ -67,7 +66,6 @@ type
procedure KeyDown(var Key: word; Shift: TShiftState); override; procedure KeyDown(var Key: word; Shift: TShiftState); override;
procedure KeyPress(var Key: char); override; procedure KeyPress(var Key: char); override;
procedure DoEnter; override; procedure DoEnter; override;
procedure DoExit; override;
function GetReadOnly: boolean; override; function GetReadOnly: boolean; override;
procedure SetReadOnly(Value: boolean); override; procedure SetReadOnly(Value: boolean); override;
@ -175,7 +173,6 @@ procedure TJDBLabeledCurrencyEdit.UpdateData(Sender: TObject);
var var
theValue: currency; theValue: currency;
begin begin
if not fUpdated then
if FDataLink.Field <> nil then if FDataLink.Field <> nil then
begin begin
if IsValidCurrency(Text) then if IsValidCurrency(Text) then
@ -185,7 +182,6 @@ begin
theValue := ScaleTo(theValue, fDecimales); theValue := ScaleTo(theValue, fDecimales);
Text := CurrToStr(theValue); Text := CurrToStr(theValue);
FDataLink.Field.Value := theValue; FDataLink.Field.Value := theValue;
fUpdated:= True;
end end
else else
begin begin
@ -359,17 +355,9 @@ procedure TJDBLabeledCurrencyEdit.DoEnter;
begin begin
if FDataLink.Field <> nil then if FDataLink.Field <> nil then
Caption := FDataLink.Field.AsString; Caption := FDataLink.Field.AsString;
fUpdated:= False;
inherited DoEnter; inherited DoEnter;
end; end;
procedure TJDBLabeledCurrencyEdit.DoExit;
begin
inherited DoExit;
UpdateData(nil);
formatInput;
end;
constructor TJDBLabeledCurrencyEdit.Create(TheOwner: TComponent); constructor TJDBLabeledCurrencyEdit.Create(TheOwner: TComponent);
begin begin
inherited Create(TheOwner); inherited Create(TheOwner);
@ -395,7 +383,9 @@ procedure TJDBLabeledCurrencyEdit.EditingDone;
begin begin
inherited EditingDone; inherited EditingDone;
if DataSource.State in [dsEdit, dsInsert] then if DataSource.State in [dsEdit, dsInsert] then
UpdateData(self); UpdateData(self)
else
formatInput;
end; end;
end. end.

View File

@ -351,7 +351,9 @@ procedure TJDBLabeledDateEdit.EditingDone;
begin begin
inherited EditingDone; inherited EditingDone;
if DataSource.State in [dsEdit, dsInsert] then if DataSource.State in [dsEdit, dsInsert] then
UpdateData(self); UpdateData(self)
else
formatInput;
end; end;
end. end.

View File

@ -344,7 +344,9 @@ procedure TJDBLabeledDateTimeEdit.EditingDone;
begin begin
inherited EditingDone; inherited EditingDone;
if DataSource.State in [dsEdit, dsInsert] then if DataSource.State in [dsEdit, dsInsert] then
UpdateData(self); UpdateData(self)
else
formatInput;
end; end;

View File

@ -35,7 +35,6 @@ type
fFormat: string; fFormat: string;
FDataLink: TFieldDataLink; FDataLink: TFieldDataLink;
fDecimales: integer; fDecimales: integer;
fUpdated: boolean;
procedure DataChange(Sender: TObject); procedure DataChange(Sender: TObject);
function getDecimals: integer; function getDecimals: integer;
@ -67,7 +66,6 @@ type
procedure KeyDown(var Key: word; Shift: TShiftState); override; procedure KeyDown(var Key: word; Shift: TShiftState); override;
procedure KeyPress(var Key: char); override; procedure KeyPress(var Key: char); override;
procedure DoEnter; override; procedure DoEnter; override;
procedure DoExit; override;
function GetReadOnly: boolean; override; function GetReadOnly: boolean; override;
procedure SetReadOnly(Value: boolean); override; procedure SetReadOnly(Value: boolean); override;
@ -174,7 +172,6 @@ procedure TJDBLabeledFloatEdit.UpdateData(Sender: TObject);
var var
theValue: double; theValue: double;
begin begin
if not fUpdated then
if FDataLink.Field <> nil then if FDataLink.Field <> nil then
begin begin
if IsValidFloat(Text) then if IsValidFloat(Text) then
@ -184,7 +181,6 @@ begin
theValue := ScaleTo(theValue, fDecimales); theValue := ScaleTo(theValue, fDecimales);
Text := FloatToStr(theValue); Text := FloatToStr(theValue);
FDataLink.Field.Value := theValue; FDataLink.Field.Value := theValue;
fUpdated := True;
end end
else else
begin begin
@ -357,17 +353,9 @@ procedure TJDBLabeledFloatEdit.DoEnter;
begin begin
if FDataLink.Field <> nil then if FDataLink.Field <> nil then
Caption := FDataLink.Field.AsString; Caption := FDataLink.Field.AsString;
fUpdated := False;
inherited DoEnter; inherited DoEnter;
end; end;
procedure TJDBLabeledFloatEdit.DoExit;
begin
inherited DoExit;
UpdateData(nil);
formatInput;
end;
constructor TJDBLabeledFloatEdit.Create(TheOwner: TComponent); constructor TJDBLabeledFloatEdit.Create(TheOwner: TComponent);
begin begin
inherited Create(TheOwner); inherited Create(TheOwner);
@ -393,7 +381,9 @@ procedure TJDBLabeledFloatEdit.EditingDone;
begin begin
inherited EditingDone; inherited EditingDone;
if DataSource.State in [dsEdit, dsInsert] then if DataSource.State in [dsEdit, dsInsert] then
UpdateData(self); UpdateData(self)
else
formatInput;
end; end;

View File

@ -34,7 +34,6 @@ type
private private
fFormat: string; fFormat: string;
FDataLink: TFieldDataLink; FDataLink: TFieldDataLink;
fUpdated: boolean;
procedure DataChange(Sender: TObject); procedure DataChange(Sender: TObject);
procedure UpdateData(Sender: TObject); procedure UpdateData(Sender: TObject);
@ -63,7 +62,6 @@ type
procedure KeyDown(var Key: word; Shift: TShiftState); override; procedure KeyDown(var Key: word; Shift: TShiftState); override;
procedure KeyPress(var Key: char); override; procedure KeyPress(var Key: char); override;
procedure DoEnter; override; procedure DoEnter; override;
procedure DoExit; override;
function GetReadOnly: boolean; override; function GetReadOnly: boolean; override;
procedure SetReadOnly(Value: boolean); override; procedure SetReadOnly(Value: boolean); override;
@ -155,13 +153,11 @@ end;
procedure TJDBLabeledIntegerEdit.UpdateData(Sender: TObject); procedure TJDBLabeledIntegerEdit.UpdateData(Sender: TObject);
begin begin
if not fUpdated then
if FDataLink.Field <> nil then if FDataLink.Field <> nil then
begin begin
if IsValidInteger(Caption) then if IsValidInteger(Caption) then
begin begin
FDataLink.Field.Text := Text; FDataLink.Field.Text := Text;
fUpdated:= True
end end
else else
begin begin
@ -322,17 +318,9 @@ procedure TJDBLabeledIntegerEdit.DoEnter;
begin begin
if FDataLink.Field <> nil then if FDataLink.Field <> nil then
Caption := FDataLink.Field.AsString; Caption := FDataLink.Field.AsString;
fUpdated:= False;
inherited DoEnter; inherited DoEnter;
end; end;
procedure TJDBLabeledIntegerEdit.DoExit;
begin
inherited DoExit;
UpdateData(nil);
formatInput;
end;
constructor TJDBLabeledIntegerEdit.Create(TheOwner: TComponent); constructor TJDBLabeledIntegerEdit.Create(TheOwner: TComponent);
begin begin
inherited Create(TheOwner); inherited Create(TheOwner);
@ -355,7 +343,9 @@ procedure TJDBLabeledIntegerEdit.EditingDone;
begin begin
inherited EditingDone; inherited EditingDone;
if DataSource.State in [dsEdit, dsInsert] then if DataSource.State in [dsEdit, dsInsert] then
UpdateData(self); UpdateData(self)
else
formatInput;
end; end;
end. end.

View File

@ -318,7 +318,9 @@ procedure TJDBLabeledTimeEdit.EditingDone;
begin begin
inherited EditingDone; inherited EditingDone;
if DataSource.State in [dsEdit, dsInsert] then if DataSource.State in [dsEdit, dsInsert] then
UpdateData(self); UpdateData(self)
else
formatInput;
end; end;
end. end.