Skip to main content

Create (pulldown) Menu in Toolbar in Eclipse RCP

Create (pulldown) Menu in Toolbar


Step 1. Create Toolbar with PullDown
Step 2. Create MenuContribution 
Step 3. Add items to MenuContribution
Step 4. Run the application



Step 1. Create Toolbar with PullDown

Create your Eclipse RCP application ( with mail template).

Suppose open command id is "HarikrushnaVToolbar.open" then create a toolbar with command in it, 
as shown below:



now, convert the style to "pulldown".


Now, if you run the application, you will see a pulldown button next to toolbar icon as follow :


Step 2: Create MenuContribution

Now, create a MenuContribution, which will define the items for pulldown menu.

Define, locationURI to the same name as the menu:commandId , here we provide the LocationURI as "menu:HarikrushnaVToolbar.open"
Also Define Class name as "AllMenuItems".



Step 3. Add items to MenuContribution

Click on "class", you will see the dialogbox as shown below :


Click on Finish.
Now, go to MANIFEST.MF and add "org.eclipse.core.expressions" to "Required Plug-ins".

Enter code as follow in the AllMenuItems.java file


Code :
===========
public void createContributionItems(IServiceLocator serviceLocator,IContributionRoot additions) {

CommandContributionItemParameter commandContributionItemParameter = new CommandContributionItemParameter(
                serviceLocator, "",
                "org.eclipse.ui.file.exit",
                SWT.PUSH);
commandContributionItemParameter.label = "Exit the application";
commandContributionItemParameter.icon = Activator.getImageDescriptor("icons/alt_window_16.gif");

        CommandContributionItem commandContributionItem = new CommandContributionItem(commandContributionItemParameter);
        commandContributionItem.setVisible(true);
        additions.addContributionItem(commandContributionItem, null);
}


============



Step 4. Run the application

Run your application and your toolbar with Menu is ready.





Comments

Popular posts from this blog

HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException

HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException If you get following error while connecting to your Database with Spring boot, try the suggested solution below: 2018 - 11 - 25 15 : 28 : 50.078 INFO 5335 --- [ main] o. h . e . j . e . i . LobCreatorBuilderImpl : HHH000424: Disabling contextual LOB creation as createClob() method threw error : java. lang . reflect . InvocationTargetException java. lang . reflect . InvocationTargetException : null at sun. reflect . NativeMethodAccessorImpl . invoke0 (Native Method) ~[na: 1.8 . 0 _161] at sun. reflect . NativeMethodAccessorImpl . invoke (NativeMethodAccessorImpl. java : 62 ) ~[na: 1.8 . 0 _161] at sun. reflect . DelegatingMethodAccessorImpl . invoke (DelegatingMethodAccessorImpl. java : 43 ) ~[na: 1.8 . 0 _161] at java. lang . reflect . Method . invoke (Method. java : 498 ) ~[na: 1.8 . 0 _161] at org. hibernate . engin

Could not launch the product because the associated workspace is currently in use by another Eclipse application

If you are seeing following error at the beginning of the Eclipse or any RCP based product then here is the solution: Error Message: "Could not launch the product because the associated workspace is currently in use by another Eclipse application." or “Workspace in use or cannot be created chose a different one.” Solution :  go to workspace location remove file <workspace location>/.metadata/.lock Reason: Through eclipse, user can create multiple Workspace locations. One Workspace location can be edited by one user at a time. A workspace contains the data related to various project configuration and local file storage. To avoid multiple users to access the same workspace, eclipse is maintaining a ".lock" file inside the Workspace. Eclipse will remove this ".lock" file when you will close the Eclipse. But in some cases, the Eclipse will crash due to some error, due to which it could not able to remove ".lock" file from

How to resolve : print() on closed filehandle in perl

How to resolve : print() on closed filehandle in perl Error "print() on closed filehandle" generated in the following condition ( it is on of possible cause of it) -------------------------- BEGIN Code --------------------------------------- my $inputFile = '/this/is/path/of/your/input/file.txt'; open(MYINPUTFILE, ">","$inputFile"); print MYINPUTFILE "any data"; close(MYINPUTFILE); -------------------------- END Code --------------------------------------- here if you don't have permission to access the path '/this/is/path/of/your/input/file.txt' or the path (of parent directory) does not exist then it will throuw the error : print() on closed filehandle To resolve this better to make practice as follow while opening the file: -------------------------- BEGIN Code --------------------------------------- open(MYINPUTFILE, ">","$inputFile") or die "ERROR ::: unable access the file&