- Mustangpeak Common Library - 1.7.0 - EasyListview - 1.7.0 git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.Mustangpeak@2 60b41242-d4b9-2247-b156-4ccd40706241
252 lines
7.4 KiB
ObjectPascal
252 lines
7.4 KiB
ObjectPascal
unit EasyListviewReg;
|
|
|
|
// Version 1.7.0
|
|
//
|
|
// 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/
|
|
//
|
|
// Alternatively, you may redistribute this library, use and/or modify it under the terms of the
|
|
// GNU Lesser General Public License as published by the Free Software Foundation;
|
|
// either version 2.1 of the License, or (at your option) any later version.
|
|
// You may obtain a copy of the LGPL at http://www.gnu.org/copyleft/.
|
|
//
|
|
// Software distributed under the License is distributed on an "AS IS" basis,
|
|
// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the
|
|
// specific language governing rights and limitations under the License.
|
|
//
|
|
// The initial developer of this code is Jim Kueneman <jimdk@mindspring.com>
|
|
// Special thanks to the following in no particular order for their help/support/code
|
|
// Danijel Malik, Robert Lee, Werner Lehmann, Alexey Torgashin, Milan Vandrovec
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
interface
|
|
|
|
{$I Compilers.inc}
|
|
|
|
uses
|
|
ToolsApi,
|
|
Classes,
|
|
{$IFDEF COMPILER_6_UP}
|
|
DesignIntf,
|
|
DesignEditors,
|
|
PropertyCategories,
|
|
{$ELSE}
|
|
DsgnIntf,
|
|
DsgnWnds,
|
|
{$ENDIF}
|
|
Forms,
|
|
{$IFDEF COMPILER_5_UP}
|
|
ColnEdit,
|
|
{$ENDIF COMPILER_5_UP}
|
|
SysUtils,
|
|
Controls,
|
|
EasyListview,
|
|
EasyScrollFrame,
|
|
MPCommonWizardHelpers,
|
|
MPCommonObjects,
|
|
EasyTaskPanelForm;
|
|
|
|
const
|
|
NEW_PAGE = 'New';
|
|
|
|
type
|
|
TEasyListviewEditor = class(TDefaultEditor)
|
|
public
|
|
procedure Edit; override;
|
|
end;
|
|
|
|
TEasyDelphiTaskFormWizard = class(TCommonWizardDelphiForm)
|
|
public
|
|
procedure InitializeWizard; override;
|
|
end;
|
|
|
|
// Only used in BDS 4.0 and up
|
|
TEasyBuilderTaskFormWizard = class(TCommonWizardBuilderForm)
|
|
public
|
|
procedure InitializeWizard; override;
|
|
end;
|
|
|
|
TEasyTaskPanelCreator = class(TCommonWizardEmptyFormCreator)
|
|
public
|
|
procedure InitializeCreator; override;
|
|
end;
|
|
|
|
{$IFDEF COMPILER_6_UP}
|
|
const
|
|
sELVColumnCategory = 'Column Objects';
|
|
sELVItemCategory = 'Item Objects';
|
|
sELVGroupCategory = 'Group Objects';
|
|
sELVIncrementalCategory = 'Incremental Search';
|
|
sELVMouseCategory = 'Mouse';
|
|
sELVHintCategory = 'Hint';
|
|
sELVOLECategory = 'OLE Drag Drop';
|
|
sImageListCategory = 'ImageLists';
|
|
sPaintInfoCategory = 'Paint Information';
|
|
sELVClipboardCategory = 'Clipboard';
|
|
sELVHeaderCategory = 'Header';
|
|
sELVPaintCategory = 'Paint and Drawing';
|
|
sAutoCategory = 'Auto';
|
|
sELVViewCategory = 'View';
|
|
sELVContextMenuCategory = 'ContextMenu';
|
|
{$ENDIF COMPILER_6_UP}
|
|
|
|
procedure Register;
|
|
|
|
implementation
|
|
|
|
uses
|
|
{$IFDEF COMPILER_5_UP}
|
|
EasyCollectionEditor;
|
|
{$ELSE}
|
|
EasyCollectionEditorD4;
|
|
{$ENDIF COMPILER_5_UP}
|
|
|
|
{$IFDEF COMPILER_8_UP}
|
|
var
|
|
DelphiCategory, BuilderCategory: IOTAGalleryCategory;
|
|
{$ENDIF}
|
|
|
|
procedure Register;
|
|
begin
|
|
RegisterComponents('MustangPeak', [TEasyListview, TEasyTaskBand, TEasyScrollButton, TEasyTaskPanelBand]);
|
|
RegisterPropertyEditor(TypeInfo(TEasyCollection), nil, '', TEasyCollectionEditor);
|
|
RegisterComponentEditor(TEasyListview, TEasyListviewEditor);
|
|
RegisterComponentEditor(TEasyTaskPanelBand, TEasyListviewEditor);
|
|
RegisterComponentEditor(TEasyTaskBand, TEasyListviewEditor);
|
|
|
|
RegisterCustomModule(TEasyTaskPanelForm, TCustomModule);
|
|
RegisterPackageWizard(TEasyDelphiTaskFormWizard.Create);
|
|
{$IFDEF COMPILER_10_UP}
|
|
RegisterPackageWizard(TEasyBuilderTaskFormWizard.Create);
|
|
{$ENDIF COMPILER_10_UP}
|
|
|
|
{$IFDEF COMPILER_6_UP}
|
|
RegisterPropertyEditor(TypeInfo(TCommonImageIndexInteger), nil, '', TCommonImageIndexProperty);
|
|
|
|
RegisterPropertiesInCategory(sELVColumnCategory, TCustomEasyListview,
|
|
['OnColumn*']);
|
|
|
|
RegisterPropertiesInCategory(sELVItemCategory, TCustomEasyListview,
|
|
['OnItem*']);
|
|
|
|
RegisterPropertiesInCategory(sELVGroupCategory, TCustomEasyListview,
|
|
['OnGroup*'] );
|
|
|
|
RegisterPropertiesInCategory(sELVHintCategory, TCustomEasyListview,
|
|
['*Hint*'] );
|
|
|
|
RegisterPropertiesInCategory(sELVOLECategory, TCustomEasyListview,
|
|
['*OLE*',
|
|
'OnGetDragImage'] );
|
|
|
|
RegisterPropertiesInCategory(sELVOLECategory, TCustomEasyListview,
|
|
['*PaintInfo*'] );
|
|
|
|
RegisterPropertiesInCategory(sELVClipboardCategory, TCustomEasyListview,
|
|
['*Clipboard*'] );
|
|
|
|
RegisterPropertiesInCategory(sELVHeaderCategory, TCustomEasyListview,
|
|
['*Header*'] );
|
|
|
|
RegisterPropertiesInCategory(sELVPaintCategory, TCustomEasyListview,
|
|
['OnAfterPaint',
|
|
'OnPaintHeaderBkGnd',
|
|
'OnPaintBkGnd'] );
|
|
|
|
RegisterPropertiesInCategory(sELVHeaderCategory, TCustomEasyListview,
|
|
['Header*'] );
|
|
|
|
RegisterPropertiesInCategory(sELVViewCategory, TCustomEasyListview,
|
|
['OnViewChange'] );
|
|
|
|
RegisterPropertiesInCategory(sInputCategoryName, TCustomEasyListview,
|
|
['OnDblClick'] );
|
|
|
|
RegisterPropertiesInCategory(sAutoCategory, TCustomEasyListview,
|
|
['OnAuto*'] );
|
|
|
|
RegisterPropertiesInCategory(sELVIncrementalCategory, TCustomEasyListview,
|
|
['*Incremental*'] );
|
|
|
|
RegisterPropertiesInCategory(sELVContextMenuCategory, TCustomEasyListview,
|
|
['OnContextMenu*'] );
|
|
|
|
{$ENDIF COMPILER_6_UP}
|
|
|
|
end;
|
|
|
|
{ TEasyListviewEditor }
|
|
|
|
procedure TEasyListviewEditor.Edit;
|
|
begin
|
|
// Show column collection editor on listview doubleclick.
|
|
if (Component is TEasyTaskPanelBand) or (Component is TEasyTaskBand) then
|
|
ShowEasyCollectionEditor(Designer, TEasyListview(Component).Groups)
|
|
else
|
|
ShowEasyCollectionEditor(Designer, TEasyListview(Component).Header.Columns);
|
|
end;
|
|
|
|
{ TEasyDelphiTaskForm }
|
|
|
|
procedure TEasyDelphiTaskFormWizard.InitializeWizard;
|
|
begin
|
|
inherited;
|
|
Caption := 'EasyListview TaskPanel';
|
|
Author := 'Mustangpeak';
|
|
Comment := 'Creates a task band panel for the EasyTaskPanelBand component';
|
|
GlyphResourceID := ''; // use the default icon
|
|
Page := NEW_PAGE; // use the New page for Forms
|
|
UniqueID := 'mustangpeak.easy.delphi.task.form';
|
|
State := [];
|
|
CreatorClass := TEasyTaskPanelCreator;
|
|
{$IFDEF COMPILER_8_UP}
|
|
GalleryCategory := DelphiCategory;
|
|
{$ENDIF COMPILER_8_UP}
|
|
end;
|
|
|
|
{ TEasyBuilderTaskForm }
|
|
|
|
procedure TEasyBuilderTaskFormWizard.InitializeWizard;
|
|
begin
|
|
inherited;
|
|
Caption := 'EasyTaskPanel C++Builder Form';
|
|
Author := 'Mustangpeak';
|
|
Comment := 'Creates a task band panel for the EasyTaskPanelBand component';
|
|
GlyphResourceID := ''; // use the default icon
|
|
Page := ''; // use the default page for Forms
|
|
UniqueID := 'mustangpeak.easy.builder.task.form';
|
|
State := [];
|
|
CreatorClass := TEasyTaskPanelCreator;
|
|
{$IFDEF COMPILER_8_UP}
|
|
GalleryCategory := BuilderCategory;
|
|
{$ENDIF COMPILER_8_UP}
|
|
end;
|
|
|
|
{ TEasyTaskPanelCreator }
|
|
|
|
procedure TEasyTaskPanelCreator.InitializeCreator;
|
|
begin
|
|
inherited;
|
|
AncestorName := 'EasyTaskPanelForm';
|
|
if IsDelphi then
|
|
IncludeIdent.Add('EasyTaskPanelForm')
|
|
else
|
|
IncludeIdent.Add('EasyTaskPanelForm.hpp')
|
|
end;
|
|
|
|
initialization
|
|
{$IFDEF COMPILER_8_UP}
|
|
DelphiCategory := AddDelphiCategory('mustangpeak.delphi.easylistview', 'EasyListview for Delphi');
|
|
BuilderCategory := AddBuilderCategory('mustangpeak.builder.easylistview', 'EasyListview for C++ Builder');
|
|
{$ENDIF COMPILER_8_UP}
|
|
finalization
|
|
{$IFDEF COMPILER_8_UP}
|
|
RemoveCategory(BuilderCategory);
|
|
RemoveCategory(DelphiCategory);
|
|
{$ENDIF COMPILER_8_UP}
|
|
|
|
end.
|
|
|