81 lines
1.7 KiB
ObjectPascal
81 lines
1.7 KiB
ObjectPascal
|
{
|
||
|
:: Contains the design-time editor for the GraphicList
|
||
|
::
|
||
|
:: Last changed: $Date$
|
||
|
:: Revision: $Rev$
|
||
|
:: Author: $Author$
|
||
|
}
|
||
|
unit X2CLGLEditors;
|
||
|
|
||
|
interface
|
||
|
uses
|
||
|
DesignEditors,
|
||
|
DesignIntf;
|
||
|
|
||
|
type
|
||
|
TX2GraphicContainerEditor = class(TComponentEditor)
|
||
|
private
|
||
|
procedure FindGraphics(const Prop: IProperty);
|
||
|
public
|
||
|
procedure Edit(); override;
|
||
|
end;
|
||
|
|
||
|
TX2GraphicListEditor = class(TComponentEditor)
|
||
|
public
|
||
|
procedure Edit(); override;
|
||
|
end;
|
||
|
|
||
|
implementation
|
||
|
uses
|
||
|
SysUtils,
|
||
|
TypInfo,
|
||
|
Dialogs,
|
||
|
X2CLGraphicList;
|
||
|
|
||
|
|
||
|
{============== TX2GraphicContainerEditor
|
||
|
Editor
|
||
|
========================================}
|
||
|
procedure TX2GraphicContainerEditor.FindGraphics;
|
||
|
begin
|
||
|
if SameText(Prop.GetName(), 'Graphics') then
|
||
|
Prop.Edit();
|
||
|
end;
|
||
|
|
||
|
procedure TX2GraphicContainerEditor.Edit;
|
||
|
var
|
||
|
dsComponents: TDesignerSelections;
|
||
|
|
||
|
begin
|
||
|
dsComponents := TDesignerSelections.Create();
|
||
|
try
|
||
|
IDesignerSelections(dsComponents).Add(Component);
|
||
|
GetComponentProperties(dsComponents, tkProperties, Designer, FindGraphics);
|
||
|
finally
|
||
|
FreeAndNil(dsComponents);
|
||
|
end;
|
||
|
end;
|
||
|
|
||
|
|
||
|
{=================== TX2GraphicListEditor
|
||
|
Editor
|
||
|
========================================}
|
||
|
procedure TX2GraphicListEditor.Edit;
|
||
|
var
|
||
|
ifEditor: IComponentEditor;
|
||
|
|
||
|
begin
|
||
|
// Instead of showing the default ImageList dialog, check if a Container
|
||
|
// is available and execute it's default action...
|
||
|
if Component is TX2GraphicList then
|
||
|
with TX2GraphicList(Component) do
|
||
|
if Assigned(Container) then
|
||
|
begin
|
||
|
ifEditor := GetComponentEditor(Container, Designer);
|
||
|
if Assigned(ifEditor) then
|
||
|
ifEditor.Edit();
|
||
|
end;
|
||
|
end;
|
||
|
|
||
|
end.
|
||
|
|