mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-06-10 00:38:18 +02:00
117 lines
2.4 KiB
ObjectPascal
117 lines
2.4 KiB
ObjectPascal
unit frasqldbrestparamedit;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, Forms, Controls, StdCtrls, Spin, ExtCtrls, db, sqldbschemaedittools, sqldbrestschema;
|
|
|
|
type
|
|
|
|
{ TSQLDBRestParameterEditFrame }
|
|
|
|
TSQLDBRestParameterEditFrame = class(TBaseEditFrame)
|
|
CBDataType: TComboBox;
|
|
LDefaultValue: TLabel;
|
|
lDatatype: TLabel;
|
|
edtDefaultValue: TEdit;
|
|
EName: TEdit;
|
|
LName: TLabel;
|
|
private
|
|
FParam: TSQLDBRestParam;
|
|
procedure SetParam(AValue: TSQLDBRestParam);
|
|
Protected
|
|
Procedure SetFrameData(aData: TObject); override;
|
|
public
|
|
Constructor Create(aOwner : TComponent); override;
|
|
Function Modified : Boolean; override;
|
|
Procedure SaveData; override;
|
|
Procedure ShowParam;
|
|
Function FrameCaption : String; override;
|
|
Property Param : TSQLDBRestParam Read FParam Write SetParam;
|
|
end;
|
|
|
|
|
|
implementation
|
|
|
|
uses typinfo;
|
|
|
|
{$R *.lfm}
|
|
|
|
{ TSQLDBRestParameterEditFrame }
|
|
|
|
|
|
procedure TSQLDBRestParameterEditFrame.SetParam(AValue: TSQLDBRestParam);
|
|
begin
|
|
if FParam=AValue then Exit;
|
|
FParam:=AValue;
|
|
ShowParam;
|
|
end;
|
|
|
|
procedure TSQLDBRestParameterEditFrame.SetFrameData(aData: TObject);
|
|
begin
|
|
Param:=aData as TSQLDBRestParam;
|
|
end;
|
|
|
|
constructor TSQLDBRestParameterEditFrame.Create(aOwner: TComponent);
|
|
|
|
Var
|
|
FT : TFieldType;
|
|
|
|
begin
|
|
inherited Create(aOwner);
|
|
CBDataType.Items.Clear;
|
|
For FT in TFieldType do
|
|
if FT<>ftUnknown then
|
|
CBDataType.Items.Add(GetEnumName(TypeInfo(TFieldType),Ord(FT)))
|
|
end;
|
|
|
|
function TSQLDBRestParameterEditFrame.Modified: Boolean;
|
|
|
|
begin
|
|
With FParam do
|
|
begin
|
|
Result:=(Name<>EName.Text) or
|
|
(DefaultValue<>edtDefaultValue.Text) or
|
|
(Ord(DataType)<>(CBDataType.ItemIndex+1));
|
|
end;
|
|
end;
|
|
|
|
procedure TSQLDBRestParameterEditFrame.SaveData;
|
|
|
|
|
|
begin
|
|
With FParam do
|
|
begin
|
|
Name:= EName.Text;
|
|
DefaultValue := edtDefaultValue.Text;
|
|
DataType := TFieldType(CBDataType.ItemIndex+1);
|
|
end;
|
|
end;
|
|
|
|
procedure TSQLDBRestParameterEditFrame.ShowParam;
|
|
|
|
begin
|
|
With FParam do
|
|
begin
|
|
EName.Text:=Name;
|
|
edtDefaultValue.Text:=DefaultValue;
|
|
CBDataType.ItemIndex:=Ord(DataType)-1;
|
|
end;
|
|
end;
|
|
|
|
function TSQLDBRestParameterEditFrame.FrameCaption: String;
|
|
begin
|
|
if FParam=Nil then
|
|
Result:=SUnknownObject
|
|
else
|
|
Result:=FParam.Name;
|
|
Result:=Format(SEditObject,[SParameter,Result]);
|
|
If Assigned(Resource) then
|
|
Result:=SResource+' '+Resource.ResourceName+' - '+Result;
|
|
end;
|
|
|
|
end.
|
|
|