Componentes.Terceros.DevExp.../internal/x.44/1/ExpressEditors Library 5/Sources/cxEditReg.pas
2009-06-29 12:09:02 +00:00

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.