git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.DevExpressVCL@38 05c56307-c608-d34a-929d-697000501d7a
242 lines
13 KiB
ObjectPascal
242 lines
13 KiB
ObjectPascal
|
|
{********************************************************************}
|
|
{ }
|
|
{ Developer Express Visual Component Library }
|
|
{ ExpressEditors }
|
|
{ }
|
|
{ Copyright (c) 1998-2009 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 cxEditReg;
|
|
|
|
{$I cxVer.inc}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, cxEdit;
|
|
|
|
procedure Register;
|
|
|
|
implementation
|
|
|
|
uses
|
|
{$IFDEF DELPHI6}
|
|
DesignEditors, DesignIntf, VCLEditors,
|
|
{$ELSE}
|
|
DsgnIntf,
|
|
{$ENDIF}
|
|
Windows, Controls, DB, Graphics, ImgList, cxBlobEdit, cxButtonEdit,
|
|
cxButtons, cxCalc, cxCalendar, cxCheckBox, cxContainer, cxCurrencyEdit, cxDB,
|
|
cxDBEdit, cxDBEditRepository, cxDBLookupComboBox, cxDBNavigator,
|
|
cxDropDownEdit, cxEditConsts, cxEditPropEditors, cxEditRepositoryEditor,
|
|
cxEditRepositoryItems, cxGraphics, cxGroupBox, cxHyperLinkEdit, cxImage,
|
|
cxImageComboBox, cxLibraryReg, cxListBox, cxLookAndFeels, cxLookupDBGrid,
|
|
cxLookupGrid, cxMaskEdit, cxMemo, cxMRUEdit, cxNavigator, cxPropEditors,
|
|
cxRadioGroup, cxSpinEdit, cxTextEdit, cxTimeEdit;
|
|
|
|
type
|
|
{ TcxLookupComboBoxPropertiesFieldNameProperty }
|
|
|
|
TcxLookupComboBoxPropertiesFieldNameProperty = class(TFieldNameProperty)
|
|
function GetDataSourcePropName: string; override;
|
|
end;
|
|
|
|
{ TcxLookupDBGridColumnFieldNameProperty }
|
|
|
|
TcxLookupDBGridColumnFieldNameProperty = class(TFieldNameProperty)
|
|
public
|
|
function GetDataSource: TDataSource; override;
|
|
end;
|
|
|
|
TcxGroupBoxSelectionEditor = class(TSelectionEditor)
|
|
protected
|
|
ComponentsList: TStringList;
|
|
public
|
|
procedure RequiresUnits(Proc: TGetStrProc); override;
|
|
end;
|
|
|
|
TcxLookupDBGridColumnAccess = class(TcxLookupDBGridColumn);
|
|
|
|
{ TcxLookupComboBoxPropertiesFieldNameProperty }
|
|
|
|
function TcxLookupComboBoxPropertiesFieldNameProperty.GetDataSourcePropName: string;
|
|
begin
|
|
Result := 'ListSource';
|
|
end;
|
|
|
|
{ TcxLookupDBGridColumnFieldNameProperty }
|
|
|
|
function TcxLookupDBGridColumnFieldNameProperty.GetDataSource: TDataSource;
|
|
begin
|
|
Result := TcxLookupDBGridColumnAccess(GetComponent(0) as TcxLookupDBGridColumn).DataController.DataSource;
|
|
end;
|
|
|
|
{ TcxGroupBoxSelectionEditor }
|
|
|
|
procedure TcxGroupBoxSelectionEditor.RequiresUnits(Proc: TGetStrProc);
|
|
begin
|
|
Proc('cxLookAndFeelPainters');
|
|
end;
|
|
|
|
procedure RegisterEditRepositoryItems;
|
|
begin
|
|
RegisterEditRepositoryItem(TcxEditRepositoryTextItem, scxSEditRepositoryTextItem);
|
|
RegisterEditRepositoryItem(TcxEditRepositoryButtonItem, scxSEditRepositoryButtonItem);
|
|
RegisterEditRepositoryItem(TcxEditRepositoryImageItem, scxSEditRepositoryImageItem);
|
|
RegisterEditRepositoryItem(TcxEditRepositoryComboBoxItem, scxSEditRepositoryComboBoxItem);
|
|
RegisterEditRepositoryItem(TcxEditRepositoryMaskItem, scxSEditRepositoryMaskItem);
|
|
RegisterEditRepositoryItem(TcxEditRepositoryPopupItem, scxSEditRepositoryPopupItem);
|
|
RegisterEditRepositoryItem(TcxEditRepositoryCalcItem, scxSEditRepositoryCalcItem);
|
|
RegisterEditRepositoryItem(TcxEditRepositoryDateItem, scxSEditRepositoryDateItem);
|
|
RegisterEditRepositoryItem(TcxEditRepositoryCurrencyItem, scxSEditRepositoryCurrencyItem);
|
|
RegisterEditRepositoryItem(TcxEditRepositorySpinItem, scxSEditRepositorySpinItem);
|
|
RegisterEditRepositoryItem(TcxEditRepositoryMemoItem, scxSEditRepositoryMemoItem);
|
|
RegisterEditRepositoryItem(TcxEditRepositoryImageComboBoxItem, scxSEditRepositoryImageComboBoxItem);
|
|
RegisterEditRepositoryItem(TcxEditRepositoryBlobItem, scxSEditRepositoryBlobItem);
|
|
RegisterEditRepositoryItem(TcxEditRepositoryCheckBoxItem, scxSEditRepositoryCheckBoxItem);
|
|
RegisterEditRepositoryItem(TcxEditRepositoryTimeItem, scxSEditRepositoryTimeItem);
|
|
RegisterEditRepositoryItem(TcxEditRepositoryMRUItem, scxSEditRepositoryMRUItem);
|
|
RegisterEditRepositoryItem(TcxEditRepositoryHyperLinkItem, scxSEditRepositoryHyperLinkItem);
|
|
RegisterEditRepositoryItem(TcxEditRepositoryLookupComboBoxItem, scxSEditRepositoryLookupComboBoxItem);
|
|
RegisterEditRepositoryItem(TcxEditRepositoryRadioGroupItem, scxSEditRepositoryRadioGroupItem);
|
|
end;
|
|
|
|
procedure Register;
|
|
begin
|
|
{$IFDEF DELPHI9}
|
|
ForceDemandLoadState(dlDisable);
|
|
{$ENDIF}
|
|
|
|
RegisterComponents('Express Editors 6', [TcxTextEdit, TcxMaskEdit, TcxMemo,
|
|
TcxDateEdit, TcxButtonEdit, TcxCheckBox, TcxComboBox, TcxImageComboBox,
|
|
TcxSpinEdit, TcxCalcEdit, TcxHyperLinkEdit, TcxTimeEdit, TcxCurrencyEdit,
|
|
TcxImage, TcxBlobEdit, TcxMRUEdit, TcxPopupEdit, TcxLookupComboBox,
|
|
TcxRadioButton, TcxRadioGroup, TcxListBox, TcxNavigator]);
|
|
RegisterComponents('Express DBEditors 6', [TcxDBTextEdit, TcxDBMaskEdit, TcxDBMemo,
|
|
TcxDBDateEdit, TcxDBButtonEdit, TcxDBCheckBox, TcxDBComboBox, TcxDBImageComboBox,
|
|
TcxDBSpinEdit, TcxDBCalcEdit, TcxDBHyperLinkEdit, TcxDBTimeEdit, TcxDBCurrencyEdit,
|
|
TcxDBImage, TcxDBBlobEdit, TcxDBMRUEdit, TcxDBPopupEdit, TcxDBLookupComboBox,
|
|
TcxDBRadioGroup, TcxDBListBox, TcxDBNavigator]);
|
|
RegisterComponents('Express Utilities', [TcxButton, TcxGroupBox,
|
|
TcxEditStyleController, TcxDefaultEditStyleController, TcxEditRepository]);
|
|
|
|
RegisterPropertyEditor(TypeInfo(TNotifyEvent), TcxCustomEdit, 'PropertiesEvents', TcxEditPropertiesEventEditor);
|
|
RegisterPropertyEditor(TypeInfo(TcxEditRepositoryItem), TcxCustomEdit,
|
|
'RepositoryItem', TcxEditRepositoryItemProperty);
|
|
|
|
RegisterPropertyEditor(TypeInfo(TColor), TcxCustomGroupBox, 'CaptionBkColor', nil);
|
|
RegisterPropertyEditor(TypeInfo(TColor), TcxCustomGroupBox, 'Color', nil);
|
|
RegisterPropertyEditor(TypeInfo(TFont), TcxCustomGroupBox, 'Font', nil);
|
|
|
|
RegisterPropertyEditor(TypeInfo(string), TcxEditDataBinding, 'DataField',
|
|
TcxDataFieldProperty);
|
|
RegisterPropertyEditor(TypeInfo(string), TcxCustomDBDataBinding, 'DataField',
|
|
TcxDataFieldProperty);
|
|
|
|
RegisterPropertyEditor(TypeInfo(TShortCut), TcxCustomEditProperties, 'ClickKey', TShortCutProperty);
|
|
RegisterPropertyEditor(TypeInfo(TShortCut), TcxCustomHyperLinkEditProperties, 'StartKey', TShortCutProperty);
|
|
RegisterPropertyEditor(TypeInfo(TShortCut), TcxCustomEditProperties, 'ClearKey', TShortCutProperty);
|
|
|
|
RegisterPropertyEditor(TypeInfo(TImageIndex), TcxImageComboBoxProperties, 'DefaultImageIndex', TcxGEPropertiesImageIndexProperty);
|
|
RegisterPropertyEditor(TypeInfo(TImageIndex), TcxImageComboBoxItem, 'ImageIndex', TcxGEItemImageIndexProperty);
|
|
RegisterPropertyEditor(TypeInfo(TImageIndex), TcxNavigatorButton, 'ImageIndex', TcxNavigatorButtonImageIndexProperty);
|
|
|
|
RegisterPropertyEditor(TypeInfo(string), TcxImageProperties, 'GraphicClassName', TGraphicClassNameProperty);
|
|
RegisterPropertyEditor(TypeInfo(string), TcxImageProperties, 'Caption', TCaptionProperty);
|
|
RegisterPropertyEditor(TypeInfo(string), TcxBlobEditProperties, 'PictureGraphicClassName', TGraphicClassNameProperty);
|
|
|
|
RegisterComponentEditor(TcxCustomEdit, TcxEditComponentEditor);
|
|
RegisterComponentEditor(TcxEditStyleController, TcxEditStyleControllerEditor);
|
|
RegisterComponentEditor(TcxDefaultEditStyleController, TcxDefaultEditStyleControllerEditor);
|
|
RegisterComponentEditor(TcxCustomButton, TcxCustomButtonComponentEditor);
|
|
|
|
RegisterComponentEditor(TcxEditRepository, TcxEditRepositoryComponentEditor);
|
|
RegisterPropertyEditor(TypeInfo(TNotifyEvent), TcxEditRepositoryItem, 'PropertiesEvents', TcxEditRepositoryItemPropertiesEventEditor);
|
|
RegisterClasses([TcxEditRepositoryItem, TcxEditRepositoryTextItem, TcxEditRepositoryButtonItem]);
|
|
RegisterNoIcon([TcxEditRepositoryItem, TcxEditRepositoryTextItem, TcxEditRepositoryButtonItem]);
|
|
|
|
RegisterEditRepositoryItems;
|
|
|
|
RegisterPropertyEditor(TypeInfo(TcxEditMask), TcxCustomMaskEditProperties, 'EditMask', TcxEditMaskProperty);
|
|
RegisterPropertyEditor(TypeInfo(TCaption), TcxCustomMaskEdit, 'Text', TcxTextProperty);
|
|
|
|
RegisterPropertyEditor(TypeInfo(TCaption), TcxBlobEdit, 'Text', TCaptionProperty);
|
|
RegisterPropertyEditor(TypeInfo(string), TcxLookupComboBoxProperties, 'KeyFieldNames', TcxLookupComboBoxPropertiesFieldNameProperty);
|
|
RegisterPropertyEditor(TypeInfo(string), TcxLookupComboBoxProperties, 'ListFieldNames', TcxLookupComboBoxPropertiesFieldNameProperty);
|
|
|
|
RegisterPropertyEditor(TypeInfo(string), TcxLookupDBGridColumn, 'FieldName', TcxLookupDBGridColumnFieldNameProperty);
|
|
{$IFDEF DELPHI6}
|
|
RegisterSelectionEditor(TcxCustomButton, TcxButtonSelectionEditor);
|
|
RegisterSelectionEditor(TcxCustomComboBox, TcxComboBoxSelectionEditor);
|
|
{$ENDIF}
|
|
|
|
RegisterPropertyEditor(TypeInfo(TComponent), TcxCustomNavigatorControl,
|
|
'Control', TcxNavigatorControlProperty);
|
|
RegisterPropertyEditor(TypeInfo(TNotifyEvent), TcxCustomNavigator, 'ButtonsEvents', TcxNavigatorButtonsEventEditor);
|
|
RegisterComponentEditor(TcxRadioButton, TcxRadioButtonComponentEditor);
|
|
RegisterComponentEditor(TcxCustomNavigator, TcxCustomNavigatorComponentEditor);
|
|
RegisterComponentEditor(TcxContainer, TcxContainerComponentEditor);
|
|
|
|
RegisterPropertyEditor(TypeInfo(TComponent), TcxCustomButton, 'PopupMenu', TcxControlPopupMenuProperty);
|
|
RegisterPropertyEditor(TypeInfo(TComponent), TcxRadioButton, 'PopupMenu', TcxControlPopupMenuProperty);
|
|
|
|
RegisterPropertyEditor(TypeInfo(TNotifyEvent), TcxCustomImage, 'PropertiesEvents', TcxCustomImagePropertiesProperty);
|
|
RegisterPropertyEditor(TypeInfo(TNotifyEvent), TcxCustomBlobEdit, 'PropertiesEvents', TcxCustomImagePropertiesProperty);
|
|
|
|
RegisterPropertyEditor(TypeInfo(TcxLookAndFeel), TcxCustomGroupBox, 'LookAndFeel', nil);
|
|
RegisterPropertyEditor(TypeInfo(TImeMode), TcxCustomTextEdit, 'ImeMode', nil);
|
|
RegisterPropertyEditor(TypeInfo(TImeName), TcxCustomTextEdit, 'ImeName', nil);
|
|
RegisterPropertyEditor(TypeInfo(Boolean), TcxCustomTextEditProperties,
|
|
'HideCursor', nil);
|
|
RegisterPropertyEditor(TypeInfo(TcxEditRepositoryItem), TcxGroupBox,
|
|
'RepositoryItem', nil);
|
|
RegisterPropertyEditor(TypeInfo(Boolean), TcxCustomButton, 'UseSystemPaint', nil); // deprecated property
|
|
RegisterPropertyEditor(TypeInfo(TcxCustomEditPropertiesValues),
|
|
TcxCustomEditProperties, 'AssignedValues', TcxEditPropertiesAssignedValuesProperty);
|
|
RegisterPropertyEditor(TypeInfo(TCaption), TcxCustomCheckBoxProperties, 'Caption', nil);
|
|
RegisterPropertyEditor(TypeInfo(TcxEditStyle), TcxDefaultEditStyleController,
|
|
'', TcxDefaultEditStyleControllerStyleProperty);
|
|
RegisterPropertyEditor(TypeInfo(TColor), TcxHyperLinkStyle, 'TextColor', nil);
|
|
RegisterPropertyEditor(TypeInfo(TcxEditStyle), TcxCustomGroupBox, 'StyleFocused', nil);
|
|
RegisterPropertyEditor(TypeInfo(TcxEditStyle), TcxCustomGroupBox, 'StyleHot', nil);
|
|
RegisterPropertyEditor(TypeInfo(string), TcxCustomNavigator, 'Hint', nil);
|
|
RegisterPropertyEditor(TypeInfo(Boolean), TcxCustomEditProperties, 'Transparent', nil);
|
|
RegisterPropertyEditor(TypeInfo(Boolean), TcxCustomHyperLinkEditProperties, 'AutoComplete', nil);
|
|
{$IFDEF DELPHI10}
|
|
RegisterComponentGuidelines(TcxCustomEdit, TcxEditGuidelines);
|
|
{$ENDIF}
|
|
RegisterSelectionEditor(TcxCustomGroupBox, TcxGroupBoxSelectionEditor);
|
|
|
|
HideClassProperties(TcxButton, ['AllowAllUp', 'CanBeFocused', 'Down', 'GroupIndex']);
|
|
|
|
end;
|
|
|
|
end.
|