diff --git a/docs/Contributors.txt b/docs/Contributors.txt index d07f8925e6..131b2e2e5a 100644 --- a/docs/Contributors.txt +++ b/docs/Contributors.txt @@ -17,6 +17,7 @@ Jason King Jeffrey A. Wormsley Jeroen van Idekinge Jesus Reyes +Joost van der Sluis Karl Brandt Keith Bowes Ladislav Michl diff --git a/lcl/dbctrls.pp b/lcl/dbctrls.pp index 0bac63d98c..3404593dfc 100644 --- a/lcl/dbctrls.pp +++ b/lcl/dbctrls.pp @@ -119,7 +119,8 @@ Type procedure EditingChange(Sender: TObject); procedure UpdateData(Sender: TObject); procedure FocusRequest(Sender: TObject); - + procedure ActiveChange(Sender: TObject); + function GetDataField: string; function GetDataSource: TDataSource; function GetField: TField; @@ -202,6 +203,7 @@ Type FDataLink: TFieldDataLink; procedure DataChange(Sender: TObject); + procedure ActiveChange(Sender: TObject); function GetDataField: string; function GetDataSource: TDataSource; @@ -1225,7 +1227,7 @@ end; } procedure TFieldDataLink.Reset; begin - if Assigned(FOnDataChange) then + if active and Assigned(FOnDataChange) then FOnDataChange(Self); IsModified := False; @@ -1248,6 +1250,9 @@ end. { ============================================================================= $Log$ + Revision 1.19 2004/08/22 22:57:35 mattias + added OnActiveChange from Joost + Revision 1.18 2004/08/15 22:31:51 mattias fixed fpc 1.0.10 compilation diff --git a/lcl/include/dbedit.inc b/lcl/include/dbedit.inc index 2d6fd0f1a8..de5f41a0c9 100644 --- a/lcl/include/dbedit.inc +++ b/lcl/include/dbedit.inc @@ -45,6 +45,18 @@ begin end; end; +procedure TDBEdit.ActiveChange(Sender: TObject); + +begin + if FDatalink.Active then datachange(sender) + else + begin + text := ''; + FDataLink.reset; + end; +end; + + procedure TDBEdit.EditingChange(Sender: TObject); begin //ok to hide the 'real' readonly state we must override it @@ -210,6 +222,7 @@ begin FDataLink.OnDataChange := @DataChange; FDataLink.OnEditingChange := @EditingChange; FDataLink.OnUpdateData := @UpdateData; + FDataLInk.OnActiveChange := @ActiveChange; inherited ReadOnly := True;//start read only end; @@ -224,6 +237,9 @@ end; { ============================================================================= $Log$ + Revision 1.8 2004/08/22 22:57:35 mattias + added OnActiveChange from Joost + Revision 1.7 2004/08/13 16:40:47 mazen + TCharater type used to allow UTF8 keyboard with gtk2 diff --git a/lcl/include/dbtext.inc b/lcl/include/dbtext.inc index e0d1aa6c20..1e2ed83001 100644 --- a/lcl/include/dbtext.inc +++ b/lcl/include/dbtext.inc @@ -32,6 +32,13 @@ begin Caption := ''; end; +procedure TDBText.ActiveChange(Sender: TObject); + +begin + if FDatalink.Active then datachange(sender) + else text := ''; +end; + function TDBText.GetDataField: string; begin Result := FDataLink.FieldName; @@ -86,6 +93,7 @@ begin FDataLink := TFieldDataLink.Create; FDataLink.Control := Self; FDataLink.OnDataChange := @DataChange; + FDataLInk.OnActiveChange := @ActiveChange; end; destructor TDBText.Destroy; @@ -98,6 +106,9 @@ end; { ============================================================================= $Log$ + Revision 1.4 2004/08/22 22:57:35 mattias + added OnActiveChange from Joost + Revision 1.3 2004/04/10 17:58:57 mattias implemented mainunit hints for include files