97 lines
2.9 KiB
ObjectPascal
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.
|