Componentes.Internos.PluginSDK/Source/uModuleController.pas
2007-05-29 16:46:50 +00:00

97 lines
2.9 KiB
ObjectPascal

unit uModuleController;
interface
uses
SysUtils, Classes,
uModuleMenu, ImgList, Controls, ActnList, Menus;
type
TModuleController = class(TDataModule)
private
FDescription : String;
FModuleName : String;
FModuleHandle : HModule;
FModuleMenu : TMainMenu;
FHModule: HModule;
FAuthor: String;
FVersion: String;
FDefaultAction : TAction;
FSmallImages : TImageList;
FLargeImages : TImageList;
FSmallImagesDisabled : TImageList;
FLargeImagesDisabled : TImageList;
FSmallImagesHot : TImageList;
FLargeImagesHot : TImageList;
public
constructor Create(AOwner : TComponent); override;
destructor Destroy; override;
property ModuleHandle: HModule read FHModule write FHModule;
protected
procedure Notification(AComponent: TComponent;
Operation: TOperation); override;
published
property DefaultAction: TAction read FDefaultAction write FDefaultAction;
property Description: string read FDescription write FDescription;
property ModuleMenu: TMainMenu read FModuleMenu write FModuleMenu;
property ModuleName: string read FModuleName write FModuleName;
property SmallImages: TImageList read FSmallImages write FSmallImages;
property LargeImages: TImageList read FLargeImages write FLargeImages;
property SmallImagesDisabled: TImageList read FSmallImagesDisabled write FSmallImagesDisabled;
property LargeImagesDisabled: TImageList read FLargeImagesDisabled write FLargeImagesDisabled;
property SmallImagesHot: TImageList read FSmallImagesHot write FSmallImagesHot;
property LargeImagesHot: TImageList read FLargeImagesHot write FLargeImagesHot;
property Author: string read FAuthor write FAuthor;
property Version: string read FVersion write FVersion;
end;
TModuleControllerClass = class of TModuleController;
implementation
{$R *.dfm}
uses
Dialogs;
{ TModuleController }
constructor TModuleController.Create(AOwner: TComponent);
begin
inherited;
FModuleHandle := 0;
end;
destructor TModuleController.Destroy;
begin
inherited;
end;
procedure TModuleController.Notification(AComponent: TComponent;
Operation: TOperation);
begin
inherited Notification(AComponent, Operation);
if Operation = opRemove then
begin
if ModuleMenu = AComponent then
ModuleMenu := NIL;
if DefaultAction = AComponent then
DefaultAction := NIL;
if SmallImages = AComponent then
SmallImages := nil;
if SmallImagesDisabled = AComponent then
SmallImagesDisabled := nil;
if SmallImagesHot = AComponent then
SmallImagesHot := nil;
if LargeImages = AComponent then
LargeImages := nil;
if LargeImagesDisabled = AComponent then
LargeImagesDisabled := nil;
if LargeImagesHot = AComponent then
LargeImagesHot := nil;
end;
end;
end.