cxeditpropeditors.pas
来自「胜天进销存源码,国产优秀的进销存」· PAS 代码 · 共 1,187 行 · 第 1/3 页
PAS
1,187 行
{********************************************************************}
{ }
{ Developer Express Visual Component Library }
{ ExpressEditors }
{ }
{ Copyright (c) 1998-2008 Developer Express Inc. }
{ ALL RIGHTS RESERVED }
{ }
{ The entire contents of this file is protected by U.S. and }
{ International Copyright Laws. Unauthorized reproduction, }
{ reverse-engineering, and distribution of all or any portion of }
{ the code contained in this file is strictly prohibited and may }
{ result in severe civil and criminal penalties and will be }
{ prosecuted to the maximum extent possible under the law. }
{ }
{ RESTRICTIONS }
{ }
{ THIS SOURCE CODE AND ALL RESULTING INTERMEDIATE FILES }
{ (DCU, OBJ, DLL, ETC.) ARE CONFIDENTIAL AND PROPRIETARY TRADE }
{ SECRETS OF DEVELOPER EXPRESS INC. THE REGISTERED DEVELOPER IS }
{ LICENSED TO DISTRIBUTE THE EXPRESSEDITORS AND ALL }
{ ACCOMPANYING VCL CONTROLS AS PART OF AN EXECUTABLE PROGRAM ONLY. }
{ }
{ THE SOURCE CODE CONTAINED WITHIN THIS FILE AND ALL RELATED }
{ FILES OR ANY PORTION OF ITS CONTENTS SHALL AT NO TIME BE }
{ COPIED, TRANSFERRED, SOLD, DISTRIBUTED, OR OTHERWISE MADE }
{ AVAILABLE TO OTHER INDIVIDUALS WITHOUT EXPRESS WRITTEN CONSENT }
{ AND PERMISSION FROM DEVELOPER EXPRESS INC. }
{ }
{ CONSULT THE END USER LICENSE AGREEMENT FOR INFORMATION ON }
{ ADDITIONAL RESTRICTIONS. }
{ }
{********************************************************************}
unit cxEditPropEditors;
{$I cxVer.inc}
interface
uses
{$IFDEF DELPHI6}
{$IFNDEF CBUILDER10}
DBReg,
{$ENDIF}
DesignEditors, DesignIntf, VCLEditors,
Types,
{$ELSE}
DsgnIntf, DBReg,
{$ENDIF}
Windows, Forms, Classes, Controls, DB, Graphics, ImgList, TypInfo, cxContainer,
cxDataStorage, cxEdit, cxEditRepositoryItems, cxLookAndFeels, cxPropEditors,
cxDesignWindows, cxLibraryReg;
const
// cxEditPropEditorsVersion = '6.25';
cxEditPropEditorsMajorVersion = '6';
cxEditorsLibraryProductName = 'ExpressEditors Library';
type
{ TDBStringProperty }
TDBStringProperty = class(TStringProperty)
public
function GetAttributes: TPropertyAttributes; override;
procedure GetValueList(AList: TStrings); virtual;
procedure GetValues(Proc: TGetStrProc); override;
end;
{$IFDEF CBUILDER10}
{ TcxDataFieldProperty }
TcxDataFieldProperty = class(TDBStringProperty)
public
function GetDataSourcePropName: string; virtual;
procedure GetValueList(AList: TStrings); override;
end;
{$ELSE}
TcxDataFieldProperty = TDataFieldProperty;
{$ENDIF}
{ TcxValueTypeProperty }
TcxValueTypeProperty = class(TStringProperty)
protected
function IsValueTypeClassValid(AValueTypeClass: TcxValueTypeClass): Boolean; virtual;
public
function GetAttributes: TPropertyAttributes; override;
procedure GetValues(Proc: TGetStrProc); override;
end;
{ TFieldNameProperty }
TFieldNameProperty = class(TDBStringProperty)
public
function GetDataSource: TDataSource; virtual;
function GetDataSourcePropName: string; virtual;
procedure GetValueList(AList: TStrings); override;
end;
{ TcxCustomEditorsLibraryComponentEditor }
TcxCustomEditorsLibraryComponentEditor = class(TcxComponentEditor)
protected
function GetProductMajorVersion: string; override;
function GetProductName: string; override;
end;
{ TcxEditComponentEditor }
TcxEditComponentEditor = class(TcxCustomEditorsLibraryComponentEditor)
private
function GetEdit: TcxCustomEdit;
protected
function InternalGetVerb(Index: Integer): string; override;
function InternalGetVerbCount: Integer; override;
procedure InternalExecuteVerb(AIndex: Integer); override;
public
procedure Edit; override;
end;
{ TcxEditRepositoryItemProperty }
TcxEditRepositoryItemProperty = class(TComponentProperty)
private
FStrProc: TGetStrProc;
procedure StrProc(const S: string);
public
function GetAttributes: TPropertyAttributes; override;
procedure GetValues(Proc: TGetStrProc); override;
end;
{ TcxLookupEditListSourceProperty }
TcxLookupEditListSourceProperty = class(TcxDataFieldProperty)
public
function GetDataSourcePropName: string; override;
end;
{ TcxEditPropertiesEventEditor }
TcxEditPropertiesEventEditor = class(TcxNestedEventProperty)
protected
function GetInstance: TPersistent; override;
public
function GetName: string; override;
end;
{ TcxEditRepositoryItemPropertiesEventEditor }
TcxEditRepositoryItemPropertiesEventEditor = class(TcxNestedEventProperty)
protected
function GetInstance: TPersistent; override;
public
function GetName: string; override;
end;
{ TcxNavigatorButtonsEventEditor }
TcxNavigatorButtonsEventEditor = class(TcxNestedEventProperty)
protected
function GetInstance: TPersistent; override;
public
function GetName: string; override;
end;
{ TcxGEPropertiesImageIndexProperty }
TcxGEPropertiesImageIndexProperty = class(TImageIndexProperty)
public
function GetImages: TCustomImageList; override;
end;
{ TcxGEItemImageIndexProperty }
TcxGEItemImageIndexProperty = class(TImageIndexProperty)
public
function GetImages: TCustomImageList; override;
end;
{ TcxEditorsLibraryComponentEditorEx }
TcxEditorsLibraryComponentEditorEx = class(TcxCustomEditorsLibraryComponentEditor)
protected
function GetEditItemCaption: string; virtual;
procedure ExecuteEditAction; virtual; abstract;
function InternalGetVerb(AIndex: Integer): string; override;
function InternalGetVerbCount: Integer; override;
procedure InternalExecuteVerb(AIndex: Integer); override;
end;
{ TcxEditRepositoryComponentEditor }
TcxEditRepositoryComponentEditor = class(TcxEditorsLibraryComponentEditorEx)
private
function GetEditRepository: TcxEditRepository;
protected
procedure ExecuteEditAction; override;
end;
{ TcxEditMaskProperty }
TcxEditMaskProperty = class(TStringProperty)
public
function GetAttributes: TPropertyAttributes; override;
procedure Edit; override;
end;
{ TcxTextProperty }
TcxTextProperty = class(TStringProperty)
private
function CanShowDialog: Boolean;
public
function GetAttributes: TPropertyAttributes; override;
procedure Edit; override;
end;
{ TGraphicClassNameProperty }
TGraphicClassNameProperty = class(TStringProperty)
public
function GetAttributes: TPropertyAttributes; override;
procedure GetValues(Proc: TGetStrProc); override;
end;
{$IFDEF DELPHI6}
TcxButtonSelectionEditor = class(TSelectionEditor)
public
procedure RequiresUnits(Proc: TGetStrProc); override;
end;
TcxComboBoxSelectionEditor = class(TSelectionEditor)
public
procedure RequiresUnits(Proc: TGetStrProc); override;
end;
{$ENDIF}
{ TcxFilterControlComponentEditor }
TcxFilterControlComponentEditor = class(TcxDefaultEditor)
protected
function GetProductMajorVersion: string; override;
function GetProductName: string; override;
end;
{ TcxNavigatorControlProperty }
TcxNavigatorControlProperty = class(TComponentProperty)
private
FStrProc: TGetStrProc;
procedure StrProc(const S: string);
public
procedure GetValues(Proc: TGetStrProc); override;
end;
{ TcxEditorsLibraryComponentEditor }
TcxEditorsLibraryComponentEditor = class(TcxEditorsLibraryComponentEditorEx)
public
procedure Edit; override;
end;
{ TcxEditorsLibraryComponentWithStylesEditor }
TcxEditorsLibraryComponentWithStylesEditor = class(TcxEditorsLibraryComponentEditor)
protected
function GetEditItemCaption: string; override;
procedure ExecuteEditAction; override;
procedure RestoreStyles; virtual; abstract;
end;
{ TcxEditorsLibraryComponentWithoutStylesEditor }
TcxEditorsLibraryComponentWithoutStylesEditor = class(TcxEditorsLibraryComponentEditor)
protected
function GetEditItemCaption: string; override;
procedure ExecuteEditAction; override;
function GetLookAndFeel: TcxLookAndFeel; virtual; abstract;
end;
{ TcxEditStyleControllerEditor }
TcxEditStyleControllerEditor = class(TcxEditorsLibraryComponentWithStylesEditor)
protected
procedure RestoreStyles; override;
public
procedure Edit; override;
end;
{ TcxDefaultEditStyleControllerEditor }
TcxDefaultEditStyleControllerEditor = class(TcxEditorsLibraryComponentWithStylesEditor)
protected
procedure RestoreStyles; override;
public
procedure Edit; override;
end;
{ TcxCustomButtonComponentEditor }
TcxCustomButtonComponentEditor = class(TcxEditorsLibraryComponentWithoutStylesEditor)
protected
function GetLookAndFeel: TcxLookAndFeel; override;
end;
{ TcxRadioButtonComponentEditor }
TcxRadioButtonComponentEditor = class(TcxEditorsLibraryComponentWithoutStylesEditor)
protected
function GetLookAndFeel: TcxLookAndFeel; override;
end;
{ TcxContainerComponentEditor }
TcxContainerComponentEditor = class(TcxEditorsLibraryComponentWithStylesEditor)
protected
procedure RestoreStyles; override;
end;
{ TcxCustomNavigatorComponentEditor }
TcxCustomNavigatorComponentEditor = class(TcxEditorsLibraryComponentWithoutStylesEditor)
protected
function GetLookAndFeel: TcxLookAndFeel; override;
function InternalGetVerb(AIndex: Integer): string; override;
function InternalGetVerbCount: Integer; override;
procedure InternalExecuteVerb(AIndex: Integer); override;
public
procedure Edit; override;
end;
{ TcxCustomImagePropertiesProperty }
TcxCustomImagePropertiesProperty = class(TcxEditPropertiesEventEditor)
private
FProc: {$IFNDEF DELPHI6}TGetPropEditProc{$ELSE}TGetPropProc{$ENDIF};
procedure GetPropProc({$IFNDEF DELPHI6}Prop: TPropertyEditor{$ELSE}const Prop: IProperty{$ENDIF});
public
procedure GetProperties(Proc: {$IFNDEF DELPHI6}TGetPropEditProc{$ELSE}TGetPropProc{$ENDIF}); override;
end;
{ TcxEditPropertiesAssignedValuesProperty }
TcxEditPropertiesAssignedValuesProperty = class(TClassProperty)
private
FProc: {$IFNDEF DELPHI6}TGetPropEditProc{$ELSE}TGetPropProc{$ENDIF};
procedure GetPropProc({$IFNDEF DELPHI6}Prop: TPropertyEditor{$ELSE}const Prop: IProperty{$ENDIF});
function IsVisibleProperty(const APropertyName: string): Boolean;
public
procedure GetProperties(
Proc: {$IFNDEF DELPHI6}TGetPropEditProc{$ELSE}TGetPropProc{$ENDIF}); override;
function GetValue: string; override;
end;
{ TcxDefaultEditStyleControllerStyleProperty }
TcxDefaultEditStyleControllerStyleProperty = class(TcxStyleControllerStyleProperty)
protected
function GetStyle: TcxContainerStyle; override;
function IsPropertyVisible(const APropertyName: string): Boolean; override;
end;
{ TcxNavigatorButtonImageIndexProperty }
TcxNavigatorButtonImageIndexProperty = class(TImageIndexProperty)
public
function GetImages: TCustomImageList; override;
end;
{$IFDEF DELPHI10}
TcxEditGuidelines = class(TWinControlGuidelines)
private
function GetEdit: TcxCustomEdit;
protected
function GetCount: Integer; override;
function GetDesignerGuideOffset(Index: Integer): Integer; override;
function GetDesignerGuideType(Index: Integer): TDesignerGuideType; override;
property Edit: TcxCustomEdit read GetEdit;
end;
{$ENDIF}
TMethodParam = record
Flags: TParamFlags;
Name: ShortString;
TypeName: ShortString;
end;
procedure ShowEventMethod(
ADesigner: IDesigner;
AInstance: TObject; const AEventName, AMethodName: string;
const AMethodParams: array of TMethodParam);
implementation
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?