📄 jvqparameterlistparameter.pas
字号:
{******************************************************************************}
{* WARNING: JEDI VCL To CLX Converter generated unit. *}
{* Manual modifications will be lost on next release. *}
{******************************************************************************}
{-----------------------------------------------------------------------------
The contents of this file are subject to the Mozilla Public License
Version 1.1 (the "License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/MPL-1.1.html
Software distributed under the License is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either expressed or implied. See the License for
the specific language governing rights and limitations under the License.
The Initial Developer of the Original Code is Jens Fudickar [jens dott fudickar att oratool dott de]
All Rights Reserved.
Contributor(s):
Jens Fudickar [jens dott fudickar att oratool dott de]
You may retrieve the latest version of this file at the Project JEDI's JVCL home page,
located at http://jvcl.sourceforge.net
Known Issues:
-----------------------------------------------------------------------------}
// $Id: JvQParameterListParameter.pas,v 1.23 2005/02/06 14:06:16 asnepvangers Exp $
unit JvQParameterListParameter;
{$I jvcl.inc}
{$I crossplatform.inc}
interface
uses
Classes, SysUtils, QStdCtrls, QExtCtrls, QGraphics, QForms,
QControls, QFileCtrls, QDialogs, QComCtrls, QButtons,
{$IFDEF HAS_UNIT_VARIANTS}
Variants,
{$ENDIF HAS_UNIT_VARIANTS}
JvQTypes,
JvQPanel, JvQPropertyStore, JvQParameterList, JvQDynControlEngine, JvQDSADialogs,
JvQDynControlEngineIntf;
type
TJvNoDataParameter = class(TJvBaseParameter)
protected
property AsString;
property AsDouble;
property AsInteger;
property AsBoolean;
property AsDate;
property Required;
property StoreValueToAppStorage;
property ReadOnly;
public
constructor Create(AParameterList: TJvParameterList); override;
function Validate(var AData: Variant): Boolean; override;
end;
TJvButtonParameter = class(TJvNoDataParameter)
private
FGlyph: TBitmap;
FNumGlyphs: Integer;
FLayout: TButtonLayout;
FOnClick: TJvParameterListEvent;
protected
procedure SetGlyph(Value: TBitmap);
function GetParameterNameExt: string; override;
procedure Click(Sender: TObject);
procedure SetWinControlProperties; override;
public
constructor Create(AParameterList: TJvParameterList); override;
destructor Destroy;override;
procedure Assign(Source: TPersistent); override;
procedure CreateWinControlOnParent(ParameterParent: TWinControl); override;
published
property Glyph: TBitmap read FGlyph write SetGlyph;
property NumGlyphs: Integer read FNumGlyphs write FNumGlyphs;
property Layout: TButtonLayout read FLayout write FLayout;
property OnClick: TJvParameterListEvent read FOnClick write FOnClick;
end;
TJvRadioButtonParameter = class(TJvNoDataParameter)
private
FOnClick: TJvParameterListEvent;
protected
function GetParameterNameExt: string; override;
procedure Click(Sender: TObject);
procedure SetWinControlProperties; override;
public
procedure Assign(Source: TPersistent); override;
procedure CreateWinControlOnParent(ParameterParent: TWinControl); override;
published
property OnClick: TJvParameterListEvent read FOnClick write FOnClick;
end;
TJvParameterLabelArrangeMode = (lamBefore, lamAbove);
TJvBasePanelEditParameter = class(TJvBaseParameter)
private
FLabelControl: TControl;
FFramePanel: TWinControl;
FLabelArrangeMode: TJvParameterLabelArrangeMode;
FLabelWidth: Integer;
FEditWidth: Integer;
FRightSpace: Integer;
FArrangeLabelAndWinControlDisabled: Boolean;
protected
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure SetWinControlProperties; override;
procedure ArrangeLabelAndWinControlOnPanel; virtual;
procedure CreateLabelControl(AParameterParent: TWinControl); virtual;
procedure CreateFramePanel(AParameterParent: TWinControl); virtual;
procedure CreateWinControl(AParameterParent: TWinControl); virtual; abstract;
function GetLabelWidth: Integer; virtual;
procedure SetLabelWidth(Value: Integer); virtual;
property LabelControl: TControl read FLabelControl write FLabelControl;
property FramePanel: TWinControl read FFramePanel write FFramePanel;
public
constructor Create(AParameterList: TJvParameterList); override;
procedure Assign(Source: TPersistent); override;
procedure SetEnabled(Value: Boolean); override;
procedure SetVisible(Value: Boolean); override;
procedure SetHeight(Value: Integer); override;
procedure SetWidth(Value: Integer); override;
procedure SetTabOrder(Value: Integer); override;
procedure SetLabelArrangeMode(Value: TJvParameterLabelArrangeMode); virtual;
procedure CreateWinControlOnParent(ParameterParent: TWinControl); override;
published
property LabelArrangeMode: TJvParameterLabelArrangeMode read FLabelArrangeMode write SetLabelArrangeMode;
property LabelWidth: Integer read GetLabelWidth write SetLabelWidth;
property EditWidth: Integer read FEditWidth write FEditWidth;
property RightSpace: Integer read FRightSpace write FRightSpace;
end;
TJvArrangeParameter = class(TJvNoDataParameter)
private
FArrangeSettings: TJvArrangeSettings;
FParentControl: TWinControl;
protected
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure SetArrangeSettings(Value: TJvArrangeSettings);
function GetParentControl: TWinControl;
public
constructor Create(AParameterList: TJvParameterList); override;
destructor Destroy; override;
procedure ArrangeControls;
property ParentControl: TWinControl read GetParentControl write FParentControl;
published
property ArrangeSettings: TJvArrangeSettings read FArrangeSettings write SetArrangeSettings;
property Color;
end;
TJvPanelParameter = class(TJvArrangeParameter)
private
FBevelInner: TPanelBevel;
FBevelOuter: TPanelBevel;
FBevelWidth: Integer;
FBorderStyle: TBorderStyle;
FBorderWidth: Integer;
protected
function GetParameterNameExt: string; override;
procedure SetWinControlProperties; override;
public
constructor Create(AParameterList: TJvParameterList); override;
procedure Assign(Source: TPersistent); override;
procedure CreateWinControlOnParent(ParameterParent: TWinControl); override;
published
property BevelInner: TPanelBevel read FBevelInner write FBevelInner;
property BevelOuter: TPanelBevel read FBevelOuter write FBevelOuter;
property BevelWidth: Integer read FBevelWidth write FBevelWidth;
property BorderStyle: TBorderStyle read FBorderStyle write FBorderStyle;
property BorderWidth: Integer read FBorderWidth write FBorderWidth;
end;
TJvGroupBoxParameter = class(TJvArrangeParameter)
private
protected
function GetParameterNameExt: string; override;
procedure ReArrangeGroupbox(Sender: TObject; nLeft, nTop, nWidth, nHeight: Integer);
public
constructor Create(AParameterList: TJvParameterList); override;
procedure CreateWinControlOnParent(ParameterParent: TWinControl); override;
end;
TJvImageParameter = class(TJvBasePanelEditParameter)
private
FAutoSize: Boolean;
FCenter: Boolean;
FIncrementalDisplay: Boolean;
FTransparent: Boolean;
FStretch: Boolean;
FPicture: TPicture;
protected
procedure SetPicture(Value: TPicture);
procedure SetAutoSize(Value: Boolean); virtual;
function GetParameterNameExt: string; override;
procedure CreateWinControl(AParameterParent: TWinControl); override;
public
constructor Create(AParameterList: TJvParameterList); override;
destructor Destroy; override;
procedure Assign(Source: TPersistent); override;
published
// property AutoSize: Boolean read FAutoSize write SetAutoSize;
property Center: Boolean read FCenter write FCenter;
property IncrementalDisplay: Boolean read FIncrementalDisplay write FIncrementalDisplay;
property Transparent: Boolean read FTransparent write FTransparent;
property Stretch: Boolean read FStretch write FStretch;
property Picture: TPicture read FPicture write SetPicture;
end;
TJvLabelParameter = class(TJvNoDataParameter)
public
procedure CreateWinControlOnParent(ParameterParent: TWinControl); override;
end;
TJvCheckBoxParameter = class(TJvBaseParameter)
public
procedure CreateWinControlOnParent(ParameterParent: TWinControl); override;
end;
TJvEditParameter = class(TJvBasePanelEditParameter)
private
FEditMask: string;
FPasswordChar: Char;
protected
function GetParameterNameExt: string; override;
procedure CreateWinControl(AParameterParent: TWinControl); override;
public
constructor Create(AParameterList: TJvParameterList); override;
procedure Assign(Source: TPersistent); override;
published
property EditMask: string read FEditMask write FEditMask;
property PasswordChar: Char read FPasswordChar write FPasswordChar;
end;
TJvButtonEditParameter = class(TJvEditParameter)
private
FOnClick: TNotifyEvent;
protected
function GetParameterNameExt: string; override;
procedure CreateWinControl(AParameterParent: TWinControl); override;
public
procedure Assign(Source: TPersistent); override;
published
property OnClick: TNotifyEvent read FOnClick write FOnClick;
end;
TJvNumberEditorType = (netEdit, netSpin, netCalculate);
TJvNumberEditParameter = class(TJvEditParameter)
private
FEditorType: TJvNumberEditorType;
public
procedure Assign(Source: TPersistent); override;
published
property EditorType: TJvNumberEditorType read FEditorType write FEditorType;
end;
TJvIntegerEditParameter = class(TJvNumberEditParameter)
private
FMinValue: Integer;
FMaxValue: Integer;
FIncrement: Integer;
protected
procedure CreateWinControl(AParameterParent: TWinControl); override;
procedure SetWinControlProperties; override;
public
constructor Create(AParameterList: TJvParameterList); override;
procedure Assign(Source: TPersistent); override;
function Validate(var AData: Variant): Boolean; override;
published
property Increment: Integer read FIncrement write FIncrement;
property MinValue: Integer read FMinValue write FMinValue;
property MaxValue: Integer read FMaxValue write FMaxValue;
end;
TJvDoubleEditParameter = class(TJvNumberEditParameter)
private
FMinValue: Double;
FMaxValue: Double;
FIncrement: Integer;
protected
procedure CreateWinControl(AParameterParent: TWinControl); override;
procedure SetWinControlProperties; override;
public
constructor Create(AParameterList: TJvParameterList); override;
procedure Assign(Source: TPersistent); override;
function Validate(var AData: Variant): Boolean; override;
published
property Increment: Integer read FIncrement write FIncrement;
property MinValue: Double read FMinValue write FMinValue;
property MaxValue: Double read FMaxValue write FMaxValue;
end;
TJvFileNameParameter = class(TJvBasePanelEditParameter)
private
FDefaultExt: string;
FFilter: string;
FFilterIndex: Integer;
FInitialDir: string;
FDialogOptions: TOpenOptions;
FDialogTitle: string;
FDialogKind: TJvDynControlFileNameDialogKind;
protected
function GetParameterNameExt: string; override;
procedure CreateWinControl(AParameterParent: TWinControl); override;
procedure SetWinControlProperties; override;
public
constructor Create(AParameterList: TJvParameterList); override;
procedure Assign(Source: TPersistent); override;
function Validate(var AData: Variant): Boolean; override;
published
property FileName: string read GetAsString write SetAsString;
property DefaultExt: string read FDefaultExt write FDefaultExt;
property Filter: string read FFilter write FFilter;
property FilterIndex: Integer read FFilterIndex write FFilterIndex;
property InitialDir: string read FInitialDir write FInitialDir;
property DialogOptions: TOpenOptions read FDialogOptions write FDialogOptions;
property DialogTitle: string read FDialogTitle write FDialogTitle;
property DialogKind: TJvDynControlFileNameDialogKind read FDialogKind write FDialogKind;
end;
TJvDirectoryParameter = class(TJvBasePanelEditParameter)
private
FInitialDir: string;
FDialogTitle: string;
protected
function GetParameterNameExt: string; override;
procedure CreateWinControl(AParameterParent: TWinControl); override;
procedure SetWinControlProperties; override;
public
constructor Create(AParameterList: TJvParameterList); override;
procedure Assign(Source: TPersistent); override;
function Validate(var AData: Variant): Boolean; override;
published
property Directory: string read GetAsString write SetAsString;
property InitialDir: string read FInitialDir write FInitialDir;
property DialogTitle: string read FDialogTitle write FDialogTitle;
end;
TJvListParameter = class(TJvBasePanelEditParameter)
private
FItemList: TStringList;
FItemIndex: Integer;
FSorted: Boolean;
FVariantAsItemIndex: Boolean;
protected
function GetItemList: TStringList; virtual;
procedure SetItemList(Value: TStringList); virtual;
procedure SetItemIndex(Value: Integer); virtual;
procedure SetAsString(const Value: string); override;
function GetAsString: string; override;
procedure SetAsInteger(Value: Integer); override;
function GetAsInteger: Integer; override;
procedure SetAsVariant(Value: Variant); override;
function GetAsVariant: Variant; override;
function GetWinControlData: Variant; override;
procedure SetWinControlData(Value: Variant); override;
public
constructor Create(AParameterList: TJvParameterList); override;
destructor Destroy; override;
procedure Assign(Source: TPersistent); override;
procedure SearchItemIndex(const Search: string);
procedure GetData; override;
procedure SetData; override;
published
property ItemList: TStringList read GetItemList write SetItemList;
property ItemIndex: Integer read FItemIndex write SetItemIndex;
property Sorted: Boolean read FSorted write FSorted;
property VariantAsItemIndex: Boolean read FVariantAsItemIndex write FVariantAsItemIndex default False;
end;
TJvRadioGroupParameter = class(TJvListParameter)
private
FColumns: Integer;
protected
procedure SetWinControlProperties; override;
public
procedure Assign(Source: TPersistent); override;
procedure CreateWinControlOnParent(ParameterParent: TWinControl); override;
procedure CreateWinControl(AParameterParent: TWinControl); override;
published
property Columns: Integer read FColumns write FColumns;
end;
TJvComboBoxParameterStyle = (cpsListEdit, cpsListFixed);
TJvComboBoxParameter = class(TJvListParameter)
private
FSorted: Boolean;
FNewEntriesAllowed: Boolean;
protected
function GetParameterNameExt: string; override;
procedure CreateWinControl(AParameterParent: TWinControl); override;
procedure SetWinControlProperties; override;
function GetWinControlData: Variant; override;
procedure SetWinControlData(Value: Variant); override;
public
constructor Create(AParameterList: TJvParameterList); override;
procedure GetData; override;
procedure SetData; override;
procedure Assign(Source: TPersistent); override;
published
property Sorted: Boolean read FSorted write FSorted;
property NewEntriesAllowed: Boolean read FNewEntriesAllowed write FNewEntriesAllowed;
end;
TJvListBoxParameter = class(TJvListParameter)
private
FSorted: Boolean;
protected
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -