1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
{%MainUnit ../dbctrls.pp}
{
*****************************************************************************
This file is part of the Lazarus Component Library (LCL)
See the file COPYING.modifiedLGPL.txt, included in this distribution,
for details about the license.
*****************************************************************************
}
{ TDBGroupBox }
function TDBGroupBox.GetDataField: string;
begin
Result:=FDataLink.FieldName;
end;
function TDBGroupBox.GetDataSource: TDataSource;
begin
Result:=FDataLink.DataSource;
end;
function TDBGroupBox.GetField: TField;
begin
Result:=FDataLink.Field;
end;
procedure TDBGroupBox.SetDataField(const AValue: string);
begin
FDataLink.FieldName:=AValue;
end;
procedure TDBGroupBox.SetDataSource(const AValue: TDataSource);
begin
ChangeDataSource(Self,FDataLink,AValue);
end;
procedure TDBGroupBox.CMGetDataLink(var Message: TLMessage);
begin
Message.Result := PtrUInt(FDataLink);
end;
procedure TDBGroupBox.DataChange(Sender: TObject);
begin
if FDataLink.Field<>nil then
Caption:=FDataLink.Field.DisplayText
else
Caption:='';
end;
procedure TDBGroupBox.Notification(AComponent: TComponent; Operation: TOperation);
begin
inherited Notification(AComponent, Operation);
if (Operation=opRemove) then begin
if (FDataLink<>nil) and (AComponent=DataSource) then
DataSource:=nil;
end;
end;
constructor TDBGroupBox.Create(TheOwner: TComponent);
begin
inherited Create(TheOwner);
FDataLink:=TFieldDataLink.Create;
FDataLink.Control:=Self;
FDataLink.OnDataChange:=@DataChange;
end;
destructor TDBGroupBox.Destroy;
begin
FDataLink.Destroy;
inherited Destroy;
end;
function TDBGroupBox.ExecuteAction(AAction: TBasicAction): Boolean;
begin
Result := inherited ExecuteAction(AAction) or
(FDataLink <> nil) and FDataLink.ExecuteAction(AAction);
end;
function TDBGroupBox.UpdateAction(AAction: TBasicAction): Boolean;
begin
Result := inherited UpdateAction(AAction) or
(FDataLink <> nil) and FDataLink.UpdateAction(AAction);
end;
// included by dbctrls.pp
|