Componentes.Terceros.DevExp.../internal/x.48/1/ExpressEditors Library 5/Sources/cxEditReg.pas
2010-01-18 18:37:26 +00:00

237 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
DesignEditors, DesignIntf, VCLEditors, Windows, Controls, DB, Graphics, ImgList,
cxControls, 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);
RegisterSelectionEditor(TcxControl, TcxControlSelectionEditor);
RegisterSelectionEditor(TcxCustomEdit, TcxCustomEditSelectionEditor);
RegisterSelectionEditor(TcxCustomButton, TcxButtonSelectionEditor);
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(TBitmap), TcxCustomButton, 'Glyph', TcxBitmapProperty);
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.