home *** CD-ROM | disk | FTP | other *** search
- unit AddInIDEU;
-
- interface
-
- procedure Register;
-
- implementation
-
- uses
- ExptIntf, ToolIntf, Windows, AddInFormU;
-
- type
- TAddInIDEHelper = class(TIExpert)
- private
- //The menu bar item, and menu item that we will add in to app
- FAddInItem,
- FBrowserMenuItem: TIMenuItemIntf;
- protected
- //This is the event handler of our new menu item
- procedure BrowserMenuItemClick(Sender: TIMenuItemIntf);
- public
- constructor Create;
- destructor Destroy; override;
- function GetName: string; override;
- function GetComment: string; override;
- function GetAuthor: string; override;
- function GetPage: string; override;
- function GetGlyph: HICON; override;
- function GetStyle: TExpertStyle; override;
- function GetState: TExpertState; override;
- function GetIDString: string; override;
- function GetMenuText: string; override;
- procedure Execute; override;
- end;
-
- constructor TAddInIDEHelper.Create;
- var
- FMainmenu: TIMainMenuIntf;
- begin
- inherited;
- {FAddInItem := NewItem('&Add-In', 0, False, True, nil, 0, 'AddInItem');
- FBrowserMenuItem := NewItem('&Object Browser', 0, False,
- True, BrowserMenuItemClick, 0, 'BrowserMenuItem');
- Application.MainForm.Menu.Items.Add(FAddInItem);
- FAddInItem.Add(FBrowserMenuItem)}
- if Assigned(ToolServices) then
- begin
- FMainMenu := ToolServices.GetMainMenu;
- if Assigned(FMainMenu) then
- try
- FAddInItem := FMainMenu.GetMenuItems.InsertItem(
- FMainMenu.GetMenuItems.GetItemCount-1,
- '&Add-In', '', '', 0, 0, 0, [mfEnabled, mfVisible], nil);
- FBrowserMenuItem := FAddInItem.InsertItem(0, '&Object Browser',
- '', '', 0, 0, 0, [mfEnabled, mfVisible], BrowserMenuItemClick);
- finally
- FMainMenu.Free
- end
- end
- end;
-
- destructor TAddInIDEHelper.Destroy;
- begin
- if Assigned(FBrowserMenuItem) then
- begin
- FBrowserMenuItem.DestroyMenuItem;
- FBrowserMenuItem := nil
- end;
- if Assigned(FAddInItem) then
- begin
- FAddInItem.DestroyMenuItem;
- FAddInItem := nil
- end;
- ObjectBrowserForm.Free;
- inherited Destroy
- end;
-
- procedure TAddInIDEHelper.BrowserMenuItemClick(Sender: TIMenuItemIntf);
- begin
- //When menu item is chosen, instantiate the browser form
- if not Assigned(ObjectBrowserForm) then
- ObjectBrowserForm := TObjectBrowserForm.Create(nil);
- ObjectBrowserForm.Show
- end;
-
- function TAddInIDEHelper.GetName: string;
- begin
- Result := 'Object Browser Menu';
- end;
-
- function TAddInIDEHelper.GetComment: string;
- begin
- Result := '';
- end ;
-
- function TAddInIDEHelper.GetAuthor: string;
- begin
- Result := '';
- end ;
-
- function TAddInIDEHelper.GetPage: string;
- begin
- Result := '';
- end;
-
- function TAddInIDEHelper.GetGlyph: HICON;
- begin
- Result := 0;
- end;
-
- function TAddInIDEHelper.GetStyle: TExpertStyle;
- begin
- Result := esAddIn;
- end;
-
- function TAddInIDEHelper.GetState: TExpertState;
- begin
- Result := [esEnabled];
- end;
-
- function TAddInIDEHelper.GetIDString: string;
- begin
- Result := GetName;
- end;
-
- function TAddInIDEHelper.GetMenuText: string;
- begin
- Result := '';
- end ;
-
- procedure TAddInIDEHelper.Execute;
- begin
- end;
-
- procedure Register;
- begin
- RegisterLibraryExpert(TAddInIDEHelper.Create)
- end;
-
- end.
-