lazarus/components/sqldbrest/design/dlgrestfieldoptions.pp
2019-05-11 16:03:10 +00:00

80 lines
1.4 KiB
ObjectPascal

unit dlgrestfieldoptions;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, ButtonPanel, sqldbrestschema;
type
{ TRestFieldOptionsDialog }
TRestFieldOptionsDialog = class(TForm)
BPFieldOptions: TButtonPanel;
CGFieldOptions: TCheckGroup;
private
function GetOptions: TRestFieldOptions;
procedure Setoptions(AValue: TRestFieldOptions);
public
Property Options : TRestFieldOptions Read GetOptions Write Setoptions;
end;
Function GetRestFieldOptions(var aOptions : TRestFieldOptions) : Boolean;
implementation
Function GetRestFieldOptions(var aOptions : TRestFieldOptions) : Boolean;
begin
With TRestFieldOptionsDialog.Create(Application) do
try
Options:=aOptions;
Result:=ShowModal=mrOK;
if Result then
aOptions:=Options;
finally
Free;
end;
end;
{$R *.lfm}
function TRestFieldOptionsDialog.GetOptions: TRestFieldOptions;
Procedure DoOption(O : TRestFieldOption);
begin
if CGFieldOPtions.Checked[Ord(O)] then
Include(Result,O);
end;
Var
O : TRestFieldOption;
begin
Result:=[];
For O in TRestFieldOption do
DoOption(O);
end;
procedure TRestFieldOptionsDialog.Setoptions(AValue: TRestFieldOptions);
Procedure DoOption(O : TRestFieldOption);
begin
CGFieldOptions.Checked[Ord(O)]:=O in aValue;
end;
Var
O : TRestFieldOption;
begin
For O in TRestFieldOption do
DoOption(O);
end;
end.