{"id":118,"date":"2008-06-16T17:14:03","date_gmt":"2008-06-16T17:14:03","guid":{"rendered":"http:\/\/cyberpen.wordpress.com\/?p=5"},"modified":"2023-09-14T11:42:03","modified_gmt":"2023-09-14T11:42:03","slug":"convertion-of-a-plugin-to-a-standalone-rcp-application","status":"publish","type":"post","link":"https:\/\/www.confianzit.com\/cit-blog\/convertion-of-a-plugin-to-a-standalone-rcp-application\/","title":{"rendered":"Convertion of an eclipse plugin to a standalone RCP application"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.16&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_row column_structure=&#8221;3_5,2_5&#8243; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;3_5&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text module_class=&#8221;blog-left-content&#8221; _builder_version=&#8221;4.21.0&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<p style=\"background: #ffffff; margin-bottom: 0;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\"><span>The platform-independent Eclipse RCP architecture makes rich-client <\/span><\/span><\/span><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">applications easy to write as the business logic is organized into reusable components called plugins. In this article, <\/span><\/span><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\"><span style=\"text-decoration: none;\"><span>We are going to convert Mylyn 2.2 Release Plugin to a standalone RCP application. I choose Mylyn because it is one of the most popular eclipse plugin known to all. I assume that Eclipse IDE is already installed and running. I have used Eclipse Europa 3.3.0 in this tutorial.<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\"><span style=\"text-decoration: none;\"><span>1.Firstly we need to get the Mylyn 2.2 Release plugin and install it in our eclipse IDE. There are two different ways to have it done. One is to install the Plugin from eclipse itself using the Software update option. The procedure is nicely illustrated here.<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\"><span style=\"text-decoration: none;\"><span>Second method is to install the plugin manually. For that get the Mylyn 2.2 Release archive from here.<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\"><span style=\"text-decoration: none;\"><span>\u00a0Uncompress it and copy the contents of plugin directory to the eclipsebasedir\/plugin and contents of features directory to the eclipsebasedir\/features.<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\"><span style=\"text-decoration: none;\"><span>2.We need to restart the Eclipse IDE for the newly added plugins to work. For that close the eclipse IDE if it is already running and start it cleanly. We will use eclipse.exe -clean from command prompt in windows or eclipse -clean from shell prompt in Linux<\/span><\/span><\/span><\/span><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: x-small;\"><span style=\"text-decoration: none;\"><span>. <\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\"><span style=\"text-decoration: none;\"><span>3.Now we need to Verify that the newly added mylyn plugin is working in our Eclipse IDE. Mylyn uses a perspective called \u201cPlanning\u201d.<\/span><\/span><\/span><\/span><span style=\"color: #000000;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">In Eclipse, a perspective is a way to organize and view the files associated with our program. We can open the perspective f<\/span><\/span><\/span><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\"><span style=\"text-decoration: none;\"><span>rom Window -&gt; Open Perspective -&gt; Other<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">We will select the perspective \u201cPlanning\u201d and continue by clicking the Ok button.<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/b.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/b.jpg\" alt=\"\" width=\"341\" height=\"409\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/b.jpg 341w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/b-250x300.jpg 250w\" sizes=\"(max-width: 341px) 100vw, 341px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">Now Eclipse has opened the \u201cPlanning\u201d perspective for us which shows a Task List view. To verify that the plugin is working properly, we can create a new Task using the New Wizard. For that Go to File -&gt;New -&gt;Task<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">A New Task will be opened for us and it will be listed in the Task List as shown below.<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/c.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-10\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/c.jpg?w=300\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/c.jpg 1024w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/c-300x225.jpg 300w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/c-400x300.jpg 400w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">Now we have verified that the mylyn plugin is working properly. It is time to move on to our actual goal ie. Converting this Plugin to a standalone RCP application.<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">5.We start by creating a new Plugin project in eclipse using the New wizard. <\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0;\"><span style=\"text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\"><span>For that go to File-&gt; New-&gt; Project<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/j.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-11\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/j.jpg?w=300\" alt=\"\" width=\"300\" height=\"105\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/j.jpg 423w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/j-300x105.jpg 300w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">We will select Plugin Project and continue by clicking next.<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/1.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-12\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/1.jpg?w=299\" alt=\"\" width=\"299\" height=\"300\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/1.jpg 499w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/1-150x150.jpg 150w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/1-300x300.jpg 300w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/1-299x300.jpg 299w\" sizes=\"(max-width: 299px) 100vw, 299px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">6.We need to fill in a suitable name for our project for eg.\u201cmylyn\u201d and continue by clicking next.<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/2.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-13\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/2.jpg?w=300\" alt=\"\" width=\"300\" height=\"298\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/2.jpg 498w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/2-150x150.jpg 150w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/2-300x298.jpg 300w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/2-301x300.jpg 301w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">7.In the next Screen we will see an option \u201cwould you like to create a Rich Client Application \u201c with radio buttons \u201cYes\u201d or \u201cNO\u201d. Since we are going to create a Rich Client Application enable it by selecting \u201cYes\u201d and continue by clicking the Next button.<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/3.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-14\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/3.jpg?w=300\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/3.jpg 498w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/3-150x150.jpg 150w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/3-300x300.jpg 300w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">8.Now Eclipse will show us a list of available Templates for our RCP. We will take the simplest of all \u201cHello RCP\u201d template. Firstly we will enable \u201cCreate a plugin using one of the templates\u201d by clicking the checkbox. We will select \u201cHello RCP\u201d and continue by clicking Next. Please note \u201cHello RCP\u201d is the simplest template available to which we add only those components that our application needs.<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/4.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-15\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/4.jpg?w=298\" alt=\"\" width=\"298\" height=\"300\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/4.jpg 496w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/4-150x150.jpg 150w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/4-298x300.jpg 298w\" sizes=\"(max-width: 298px) 100vw, 298px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">9.In the next screen Eclipse will allow us to name our application. Give an appropriate name <\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">eg. \u201cMylyn Application\u201d.This name comes on the title bar of our application. Give an appropriate package name too. I have used \u201cmylyn\u201d in this tutorial. Branding is an option provided by eclipse to brand our application. Branding includes adding splash image,custom icons etc. Enable branding as we will be branding our application in the final stage. Move on by clicking Finish.<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/5.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-16\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/5.jpg?w=299\" alt=\"\" width=\"299\" height=\"300\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/5.jpg 498w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/5-150x150.jpg 150w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/5-300x300.jpg 300w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/5-299x300.jpg 299w\" sizes=\"(max-width: 299px) 100vw, 299px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">If you had followed with me in this tutorial, eclipse will be in \u201cPlanning perspective\u201d and will prompt to switch to \u201cPlugin-in Development perspective\u201d. Please select \u201cyes\u201d at this prompt.<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/g.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-17\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/g.jpg?w=300\" alt=\"\" width=\"300\" height=\"148\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/g.jpg 437w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/g-300x148.jpg 300w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">6.Eclipse creates the Project for us and opens up the manifest file as shown below.<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/6.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-18\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/6.jpg?w=300\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/6.jpg 640w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/6-300x225.jpg 300w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/6-400x300.jpg 400w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">7.So far we have created an RCP application using the \u201cHello Template\u201d and its time to see for ourself how it looks like. We can start the application from eclipse by Clicking the \u201cLaunch an Eclipse Application\u201d link present in the manifest file. The application pops up as shown below. This is the basic building block of our Mylyn RCP application and we will add features to it in an iterative manner. <\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/7.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-19\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/7.jpg?w=300\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/7.jpg 1024w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/7-300x225.jpg 300w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/7-400x300.jpg 400w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\"><span style=\"text-decoration: none;\"><span>8.We can notice that the application screen area is small. This is because by default the size is set to (400,300) in a method <\/span><\/span><span style=\"font-size: small;\">preWindowOpen() inside <span style=\"text-decoration: none;\"><span>ApplicationWorkbenchWindowAdvisor class<\/span><\/span><\/span><span style=\"text-decoration: none;\"><span>.We will open up the <\/span><\/span><span style=\"font-size: small;\"><span style=\"text-decoration: none;\"><span>ApplicationWorkbenchWindowAdvisor .java and set it to (800,600).<\/span><\/span><\/span><span style=\"text-decoration: none;\"><span> Change the setShowCoolBar value to true as we will be adding some Coolbar menus to spice up our application.<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/8.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-20\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/8.jpg?w=300\" alt=\"\" width=\"300\" height=\"252\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/8.jpg 537w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/8-300x252.jpg 300w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/8-356x300.jpg 356w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">9.Right now our application is a plain template. There are no menus or icons or Actions. Eclipse allows us to define and declare all the actions\/menus that we need in our RCP application. All these are to be done in ApplicationActionBarAdvisor class. So we will open this file and define all the menus\/actions\/sub menus etc that we want for our entry level application programaticaly. <\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/9.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-21\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/9.jpg?w=298\" alt=\"\" width=\"298\" height=\"300\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/9.jpg 562w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/9-150x150.jpg 150w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/9-298x300.jpg 298w\" sizes=\"(max-width: 298px) 100vw, 298px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\"><span style=\"text-decoration: none;\"><span>So after adding all the Actions\/Menus etc we want for our Mylyn application, our ApplicationActionBarAdvisor.java looks like as shown below.<\/span><\/span><\/span><\/span><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: x-small;\"><span style=\"text-decoration: none;\"><span> <\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\">package mylyn;<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\">import org.eclipse.core.runtime.IExtension;<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\">import org.eclipse.jface.action.IContributionItem;<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\">import org.eclipse.jface.action.ICoolBarManager;<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\">&#8230;&#8230;&#8230;<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\">public class ApplicationActionBarAdvisor extends ActionBarAdvisor {<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> <\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> \/\/Declaring all the Workbench Actions<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> private IWorkbenchAction newAction;<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> private IWorkbenchAction saveAction;<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> private IWorkbenchAction openPerspective;<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> <\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> &#8230;&#8230;&#8230;&#8230;.<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> <\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0;\"><span style=\"text-decoration: none;\"> <span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"><span>public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0;\"><span style=\"text-decoration: none;\"> <span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"><span>super(configurer);<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> protected void makeActions(IWorkbenchWindow window) {<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0;\"><span style=\"text-decoration: none;\"> <span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"><span> <\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0;\"><span style=\"text-decoration: none;\"> <span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"><span> \/\/All the actions are defined here.<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0;\"><span style=\"text-decoration: none;\"> <span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"><span> newAction=ActionFactory.NEW.create(window);<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0;\"><span style=\"text-decoration: none;\"> <span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"><span> newAction.setText(&#8220;New&#8221;);<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0;\"><span style=\"text-decoration: none;\"> <span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"><span> register(newAction);<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0;\"><span style=\"text-decoration: none;\"> <span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"><span> saveAction=ActionFactory.SAVE.create(window);<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0;\"><span style=\"text-decoration: none;\"> <span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"><span> register(saveAction);<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0;\"><span style=\"text-decoration: none;\"> <span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"><span> openPerspective= ActionFactory.OPEN_PERSPECTIVE_DIALOG.create(window);<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> register(openPerspective);<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> <\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> &#8230;&#8230;&#8230;&#8230;..<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0;\"><span style=\"text-decoration: none;\"> <span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"><span>}<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0;\"><span style=\"text-decoration: none;\"> <span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"><span> protected void fillCoolBar(ICoolBarManager coolBar) {<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> \/\/Adding the Actions to the CoolBar.<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0;\"><span style=\"text-decoration: none;\"> <span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"><span> IToolBarManager toolbar = new ToolBarManager(SWT.FLAT | SWT.RIGHT);<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> coolBar.add(new ToolBarContributionItem(toolbar, &#8220;main&#8221;));<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> toolbar.add(newAction);<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> toolbar.add(saveAction);<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> <\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> &#8230;&#8230;&#8230;&#8230;.<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> }<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0;\"><span style=\"text-decoration: none;\"> <span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"><span>protected void fillMenuBar(IMenuManager menuBar) {<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0;\"><span style=\"text-decoration: none;\"> <span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"><span> \/\/Adding the Actions to the Menu Bar.<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0;\"><span style=\"text-decoration: none;\"> <span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"><span> MenuManager fileMenu = new MenuManager(&#8220;&amp;File&#8221;,IWorkbenchActionConstants.M_FILE);<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> menuBar.add(fileMenu);<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> MenuManager windowMenu= new MenuManager(&#8220;&amp;Window&#8221;,IWorkbenchActionConstants.WINDOW_EXT);<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> menuBar.add(windowMenu);<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> &#8230;&#8230;&#8230;&#8230;.<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> <\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> fileMenu.add(newAction);<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> fileMenu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> fileMenu.add(new Separator());<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> fileMenu.add(saveAction);<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> windowMenu.add(openPerspective);<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> &#8230;&#8230;&#8230;&#8230;.<\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> <\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"> <\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0;\"><span style=\"text-decoration: none;\"> <span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\"><span>}<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background: #ffffff none repeat scroll 0; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Courier New,monospace;\"><span style=\"font-size: x-small;\">}<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">10.So we have completed adding the Menus\/Actions for our application and it is time to define a product Configuration for our mylyn project. A product configuration is required to brand or package our final application. Product configuration manages information about splash screens,launcher icons,about text, plugin and features list,window images etc together for our application. To create a product configuration right click the mylyn project Go to New-&gt; Product Configuration as shown below.<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/11.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-22\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/11.jpg?w=300\" alt=\"\" width=\"300\" height=\"221\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/11.jpg 518w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/11-300x221.jpg 300w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/11-406x300.jpg 406w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">11.We need to give a name for the product configuration eg.\u201cmylyn.product\u201d and continue by clicking finish.<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/12.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-23\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/12.jpg?w=233\" alt=\"\" width=\"233\" height=\"300\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/12.jpg 499w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/12-233x300.jpg 233w\" sizes=\"(max-width: 233px) 100vw, 233px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">12.Eclipse will open the Product configuration file in a manifest editor for us. We can notice that eclipse has automatically selected \u201cmylyn.application\u201d as the application to run on launching this product. If it is not, select the same from the drop down menu.<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/13.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-24\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/13.jpg\" alt=\"\" width=\"567\" height=\"565\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/13.jpg 567w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/13-150x150.jpg 150w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/13-300x298.jpg 300w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/13-301x300.jpg 301w\" sizes=\"(max-width: 567px) 100vw, 567px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">13. So far so good. We need to check whether the application is working from our product configuration. For that click \u201cLaunch an Eclipse application\u201d link in the product configuration file which will pop up the application. Make sure all the menus that we added in step 9 shows up but these menus wont work unless we include all the necessary Plugins. We can notice that the application comes up in (800*600) mode. <\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/14.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-26\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/14.jpg\" alt=\"\" width=\"320\" height=\"241\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/14.jpg 320w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/14-300x225.jpg 300w\" sizes=\"(max-width: 320px) 100vw, 320px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">14.Now its time for us to include all the necessary mylyn Plugins and Fragments to our product configuration. We will do that by clicking the Configuration tab in the Product configuration file. We can see that all the plugins and fragments required for the basic application from template are already shown here.<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/15.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-27\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/15.jpg\" alt=\"\" width=\"565\" height=\"589\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/15.jpg 565w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/15-287x300.jpg 287w\" sizes=\"(max-width: 565px) 100vw, 565px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">15.For adding the mylyn Plugins and fragments to the product configuration, we will Click the add button which brings up a pop up list of Plugins and fragments. We need to scroll down and select only those mylyn Plugins which are required. Click the Ok button to continue. Now we need to resolve the plugin dependencies. Click \u201cAdd Required Plugins\u201d link and eclipse will automatically add the dependencies for us. We need to save the project for the changes to take effect.<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/16.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-29\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/16.jpg\" alt=\"\" width=\"564\" height=\"589\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/16.jpg 564w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/16-287x300.jpg 287w\" sizes=\"(max-width: 564px) 100vw, 564px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">16.So far we have created a base application,defined the menus\/actions, defined a product configuration, added the mylyn Plugins and fragments, resolved the dependencies. Now its time for us to check whether everything plug-in well and works well together. For that we need to get back to the \u201coverview\u201d Tab. We need to Click the Synchronise link. This ensures that all the changes that we have made in the product configuration and the mylyn.application synchronize with each other. We can start the application by clicking \u201cLaunch an Eclipse application\u201d link present in product configuration.<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/17.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-30\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/17.jpg?w=288\" alt=\"\" width=\"288\" height=\"300\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/17.jpg 567w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/17-288x300.jpg 288w\" sizes=\"(max-width: 288px) 100vw, 288px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">17.We can see that the Mylyn Application starts in a new window. We can check whether the perspective \u201cplanning\u201d,the views,creating a new task etc work successfully following the same procedure we have done in step 3.<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/18.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-31\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/18.jpg?w=300\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/18.jpg 1024w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/18-300x225.jpg 300w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/18-400x300.jpg 400w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">18.We need to give a name for our application launcher and provide custom icons for our application. Eclipse provides a variety of tools to get it done. In the product Configuration click the \u201cLaunching Tab\u201d. Give a Launcher name eg.\u201cmylyn\u201d and click save. We can provide the icon files required for branding here.(Note:-I have not done this below)<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/19.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-32\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/19.jpg\" alt=\"\" width=\"570\" height=\"589\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/19.jpg 570w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/19-290x300.jpg 290w\" sizes=\"(max-width: 570px) 100vw, 570px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">19.We want a standalone mylyn RCP application. So we will Export the application from our eclipse environment to our operating system&#8217;s directory structure. For doing this, in the product configuration file click \u201cEclipse Product Export wizard\u201d which will bring up a pop up. We want the Root directory to be called \u201cmylyn\u201d and not the default name \u201ceclipse\u201d.Change the root directory name to \u201cmylyn\u201d,make sure the \u201csynchronization\u201d checkbox is checked. Browse through the directory structure to the folder to which we want to export the application and click finish to export.<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/20.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-33\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/20.jpg\" alt=\"\" width=\"490\" height=\"495\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/20.jpg 490w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/20-296x300.jpg 296w\" sizes=\"(max-width: 490px) 100vw, 490px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">20.Eclipse will export the application for us and if it is successful no errors will be thrown in the eclipse error log or problems view.<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/21.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-34\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/21.jpg?w=287\" alt=\"\" width=\"287\" height=\"300\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/21.jpg 562w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/21-287x300.jpg 287w\" sizes=\"(max-width: 287px) 100vw, 287px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: small;\">21.So everything done and its time for us to check out the final application. Browse through the directory structure to the folder to which we exported the application. We can start the application by clicking mylyn.exe. Make sure everything works creating a task,the views the planning perspective etc. Final application screen shot is shown below.<\/span><\/span><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/22.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-36\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/22.jpg?w=300\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/22.jpg 1024w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/22-300x225.jpg 300w, https:\/\/www.confianzit.com\/cit-blog\/wp-content\/uploads\/2008\/06\/22-400x300.jpg 400w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/22.jpg\" target=\"_blank\" rel=\"noopener\">\u00a0<\/a><\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\">So thats it. We have successfully completed converting mylyn plugin to a standalone RCP application.<\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\">Please note the full code of https:\/\/applicationactionbaradvisor.java\/ can be obtained from here.<\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\">I hope this post would help some one.Please feel free to leave comments\/Suggestions\/Correct me.<\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\">HTH,<\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\">Anoop Menon<\/p>\n<p style=\"background: #ffffff; margin-bottom: 0; text-decoration: none;\"><em>Confianz Global\u00ae is an<span>\u00a0<\/span><a href=\"https:\/\/www.confianzit.com\/\" class=\"rank-math-link\">open source Software Development company<\/a><span>\u00a0<\/span>that provides custom<span>\u00a0<\/span><a href=\"https:\/\/www.confianzit.com\/odoo-implementation\" class=\"rank-math-link\">Odoo Implementation<\/a>,<span>\u00a0<\/span><a href=\"https:\/\/www.confianzit.com\/odoo-integration\" class=\"rank-math-link\">integration<\/a><span>\u00a0<\/span>and<span>\u00a0<\/span><a href=\"https:\/\/www.confianzit.com\/openerp-customization\" class=\"rank-math-link\">customization<\/a><span>\u00a0<\/span>with 24\/7 support.<\/em><\/p>\n<p>[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;2_5&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_code _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; animation_style=&#8221;bounce&#8221; animation_direction=&#8221;top&#8221; sticky_position=&#8221;top&#8221; sticky_offset_top=&#8221;20px&#8221; sticky_limit_bottom=&#8221;column&#8221; sticky_transition=&#8221;off&#8221; motion_trigger_start=&#8221;top&#8221; global_module=&#8221;2151&#8243; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<div class=\"blog-floating-form\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_62 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title \" >Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.confianzit.com\/cit-blog\/convertion-of-a-plugin-to-a-standalone-rcp-application\/#Talk_to_our_experts_now\" title=\"    Talk to our experts now  \">    Talk to our experts now  <\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.confianzit.com\/cit-blog\/convertion-of-a-plugin-to-a-standalone-rcp-application\/#Talk_To_Our_Experts_Now\" title=\"Talk To Our Experts Now\n\t\">Talk To Our Experts Now\n\t<\/a><\/li><\/ul><\/nav><\/div>\n<h4><span class=\"ez-toc-section\" id=\"Talk_to_our_experts_now\"><\/span><!-- [et_pb_line_break_holder] -->    Talk to our experts now<!-- [et_pb_line_break_holder] -->  <span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p><!-- [et_pb_line_break_holder] -->  \n<div class=\"wpcf7 no-js\" id=\"wpcf7-f1888-o1\" lang=\"en-US\" dir=\"ltr\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/cit-blog\/wp-json\/wp\/v2\/posts\/118#wpcf7-f1888-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Contact form\" novalidate=\"novalidate\" data-status=\"init\">\n<div style=\"display: none;\">\n<input type=\"hidden\" name=\"_wpcf7\" value=\"1888\" \/>\n<input type=\"hidden\" name=\"_wpcf7_version\" value=\"5.8.6\" \/>\n<input type=\"hidden\" name=\"_wpcf7_locale\" value=\"en_US\" \/>\n<input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f1888-o1\" \/>\n<input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/>\n<input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<input type=\"hidden\" name=\"_wpcf7_recaptcha_response\" value=\"\" \/>\n<\/div>\n<div class=\"form-block\" style=\"    background: #fff;\">\n\t<h3 style=\"    background: #0C2464;\n    border-bottom: 5px solid #cecece;\n    border-radius: 5px 5px 90px 90px;\n    margin: 0 auto;\n    text-align: center;\n    padding: 20px;\n    color: #fff;    margin-bottom: 15px;\"><span class=\"ez-toc-section\" id=\"Talk_To_Our_Experts_Now\"><\/span><b>Talk To Our Experts Now<\/b>\n\t<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\t<div style=\"padding:20px;\">\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"your-name\"><input size=\"40\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required your-name\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Name\" value=\"\" type=\"text\" name=\"your-name\" \/><\/span>\n\t\t<\/p>\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"your-email\"><input size=\"40\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email your-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Email\" value=\"\" type=\"email\" name=\"your-email\" \/><\/span>\n\t\t<\/p>\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"your-number\"><input size=\"40\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel your-number\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Phone Number\" value=\"\" type=\"tel\" name=\"your-number\" \/><\/span>\n\t\t<\/p>\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"message\"><textarea cols=\"40\" rows=\"10\" class=\"wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required form-message\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Message\" name=\"message\"><\/textarea><\/span>\n\t\t<\/p>\n\t<span class=\"wpcf7-form-control-wrap recaptcha\" data-name=\"recaptcha\"><span data-sitekey=\"6LfFkQATAAAAAIYlZ_UH9UozO-OLkpAaWPWx6QtM\" class=\"wpcf7-form-control wpcf7-recaptcha g-recaptcha\"><\/span>\r\n<noscript>\r\n\t<div class=\"grecaptcha-noscript\">\r\n\t\t<iframe loading=\"lazy\" src=\"https:\/\/www.google.com\/recaptcha\/api\/fallback?k=6LfFkQATAAAAAIYlZ_UH9UozO-OLkpAaWPWx6QtM\" frameborder=\"0\" scrolling=\"no\" width=\"310\" height=\"430\">\r\n\t\t<\/iframe>\r\n\t\t<textarea name=\"g-recaptcha-response\" rows=\"3\" cols=\"40\" placeholder=\"reCaptcha Response Here\">\r\n\t\t<\/textarea>\r\n\t<\/div>\r\n<\/noscript>\r\n<\/span>\n\t\t<div class=\"form-buttons\">\n\t\t\t<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Get a free quote\" \/>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n<!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The platform-independent Eclipse RCP architecture makes rich-client applications easy to write as the business logic is organized into reusable components called plugins. In this article, We are going to convert Mylyn 2.2 Release Plugin to a standalone RCP application. I choose Mylyn because it is one of the most popular eclipse plugin known to all. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"<p style=\"background:#ffffff;margin-bottom:0;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\"><span>The platform-independent Eclipse RCP architecture makes rich-client <\/span><\/span><\/span><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">applications easy to write as the business logic is organized into reusable components called plugins. In this article, <\/span><\/span><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\"><span style=\"text-decoration:none;\"><span>We are going to convert Mylyn 2.2 Release Plugin to a standalone RCP application. I choose Mylyn because it is one of the most popular eclipse  plugin known to all. I assume that Eclipse IDE is already installed and running. I have used Eclipse Europa 3.3.0 in this tutorial.<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\"><span style=\"text-decoration:none;\"><span>1.Firstly we need to get the Mylyn 2.2 Release plugin and install it in our eclipse IDE. There are two different ways to have it done. One is to install the Plugin from eclipse itself using the Software update option. The procedure is nicely illustrated <a href=\"http:\/\/confluence.atlassian.com\/display\/JIRAEXT\/Mylyn\" target=\"_blank\">here<\/a>. <\/span><\/span><\/span><\/span><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\"><span style=\"text-decoration:none;\"><span> <\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\"><span style=\"text-decoration:none;\"><span>Second method is to install the plugin manually. For that get the Mylyn 2.2 Release archive from <a href=\"Uncompress it and copy the contents of p\" target=\"_blank\"><\/a><a href=\"http:\/\/www.eclipse.org\/mylyn\/downloads\/\" target=\"_blank\">here<\/a> <\/span><\/span><\/span><\/span><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\"><span style=\"text-decoration:none;\"><span>. Uncompress it and copy the contents of plugin directory to the eclipsebasedir\/plugin and contents of features directory to the eclipsebasedir\/features.<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\"><span style=\"text-decoration:none;\"><span>2.We need to restart the Eclipse IDE for the newly added plugins to work. For that close the eclipse IDE if it is already running and start it cleanly. We will use eclipse.exe -clean from command prompt in windows or eclipse -clean from shell prompt in Linux<\/span><\/span><\/span><\/span><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:x-small;\"><span style=\"text-decoration:none;\"><span>. <\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\"><span style=\"text-decoration:none;\"><span>3.Now we need to Verify that the newly added mylyn plugin is working in our Eclipse IDE. Mylyn uses a perspective called \u201cPlanning\u201d.<\/span><\/span><\/span><\/span><span style=\"color:#000000;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">In Eclipse, a perspective is a way to organize and view the files associated with our program. We can open the perspective f<\/span><\/span><\/span><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\"><span style=\"text-decoration:none;\"><span>rom Window -&gt; Open Perspective -&gt; Other<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">We will select the perspective \u201cPlanning\u201d and continue by clicking the Ok button.<\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/b.jpg\"><img class=\"aligncenter size-full wp-image-7\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/b.jpg\" alt=\"\" width=\"341\" height=\"409\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">Now Eclipse has opened the \u201cPlanning\u201d perspective for us which shows a Task List view. To verify that the plugin is working properly, we can create a new Task using the New Wizard. For that Go to File -&gt;New -&gt;Task<\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">A New Task will be opened for us and it will be listed in the Task List as shown below.<\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/c.jpg\"><img class=\"aligncenter size-medium wp-image-10\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/c.jpg?w=300\" alt=\"\" width=\"300\" height=\"225\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">Now we have verified that the mylyn plugin is working properly. It is time to move on to our actual goal ie. Converting this Plugin to a standalone RCP application.<\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">5.We start by creating a new Plugin project in eclipse using the New wizard. <\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;\"><span style=\"text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\"><span>For that go to File-&gt; New-&gt; Project<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/j.jpg\"><img class=\"aligncenter size-medium wp-image-11\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/j.jpg?w=300\" alt=\"\" width=\"300\" height=\"105\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">We will select Plugin Project and continue by clicking next.<\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/1.jpg\"><img class=\"aligncenter size-medium wp-image-12\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/1.jpg?w=299\" alt=\"\" width=\"299\" height=\"300\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">6.We need to fill in a suitable name for our project for eg.\u201cmylyn\u201d and continue by clicking next.<\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/2.jpg\"><img class=\"aligncenter size-medium wp-image-13\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/2.jpg?w=300\" alt=\"\" width=\"300\" height=\"298\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">7.In the next Screen we will see an option \u201cwould you like to create a Rich Client Application \u201c with radio buttons \u201cYes\u201d or \u201cNO\u201d. Since we are going to create a Rich Client Application enable it by selecting \u201cYes\u201d and continue by clicking the Next button.<\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/3.jpg\"><img class=\"aligncenter size-medium wp-image-14\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/3.jpg?w=300\" alt=\"\" width=\"300\" height=\"300\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">8.Now Eclipse will show us a list of available Templates for our RCP. We will take the simplest of all \u201cHello RCP\u201d template. Firstly we will enable \u201cCreate a plugin using one of the templates\u201d by clicking the checkbox. We will select \u201cHello RCP\u201d and continue by clicking Next. Please note \u201cHello RCP\u201d is the simplest template available to which we add only those components that our application needs.<\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/4.jpg\"><img class=\"aligncenter size-medium wp-image-15\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/4.jpg?w=298\" alt=\"\" width=\"298\" height=\"300\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">9.In the next screen Eclipse will allow us to name our application. Give an appropriate name <\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">eg. \u201cMylyn Application\u201d.This name comes on the title bar of our application. Give an appropriate package name too. I have used \u201cmylyn\u201d in this tutorial. Branding is an option provided by eclipse to brand our application. Branding includes adding splash image,custom icons etc. Enable branding as we will be branding our application in the final stage. Move on by clicking Finish.<\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/5.jpg\"><img class=\"aligncenter size-medium wp-image-16\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/5.jpg?w=299\" alt=\"\" width=\"299\" height=\"300\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">If you had followed with me in this tutorial, eclipse will be in \u201cPlanning perspective\u201d and will prompt to switch to \u201cPlugin-in Development perspective\u201d. Please select \u201cyes\u201d at this prompt.<\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/g.jpg\"><img class=\"aligncenter size-medium wp-image-17\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/g.jpg?w=300\" alt=\"\" width=\"300\" height=\"148\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">6.Eclipse creates the Project for us and opens up the manifest file as shown below.<\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/6.jpg\"><img class=\"aligncenter size-medium wp-image-18\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/6.jpg?w=300\" alt=\"\" width=\"300\" height=\"225\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">7.So far we have created an RCP application using the \u201cHello Template\u201d and its time to see for ourself how it looks like. We can start the application from eclipse by Clicking the \u201cLaunch an Eclipse Application\u201d link present in the manifest file. The application pops up as shown below. This is the basic building block of our Mylyn RCP application and we will add features to it in an iterative manner. <\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/7.jpg\"><img class=\"aligncenter size-medium wp-image-19\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/7.jpg?w=300\" alt=\"\" width=\"300\" height=\"225\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\"><span style=\"text-decoration:none;\"><span>8.We can notice that the application screen area is small. This is because by default the size is set to (400,300) in a method <\/span><\/span><span style=\"font-size:small;\">preWindowOpen() inside <span style=\"text-decoration:none;\"><span>ApplicationWorkbenchWindowAdvisor class<\/span><\/span><\/span><span style=\"text-decoration:none;\"><span>.We will open up the <\/span><\/span><span style=\"font-size:small;\"><span style=\"text-decoration:none;\"><span>ApplicationWorkbenchWindowAdvisor .java and set it to (800,600).<\/span><\/span><\/span><span style=\"text-decoration:none;\"><span> Change the setShowCoolBar value to true as we will be adding some Coolbar menus to spice up our application.<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/8.jpg\"><img class=\"aligncenter size-medium wp-image-20\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/8.jpg?w=300\" alt=\"\" width=\"300\" height=\"252\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">9.Right now our application is a plain template. There are no menus or icons or Actions. Eclipse allows us to define and declare all the actions\/menus that we need in our RCP application. All these are to be done in ApplicationActionBarAdvisor class. So we will open this file and define all the menus\/actions\/sub menus etc that we want for our entry level application programaticaly. <\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/9.jpg\"><img class=\"aligncenter size-medium wp-image-21\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/9.jpg?w=298\" alt=\"\" width=\"298\" height=\"300\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\"><span style=\"text-decoration:none;\"><span>So after adding all the Actions\/Menus etc we want for our Mylyn application, our ApplicationActionBarAdvisor.java looks like as shown below.<\/span><\/span><\/span><\/span><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:x-small;\"><span style=\"text-decoration:none;\"><span> <\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\">package mylyn;<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\">import org.eclipse.core.runtime.IExtension;<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\">import org.eclipse.jface.action.IContributionItem;<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\">import org.eclipse.jface.action.ICoolBarManager;<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\">.........<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\">public class ApplicationActionBarAdvisor extends ActionBarAdvisor {<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> <\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> \/\/Declaring all the Workbench Actions<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> private IWorkbenchAction newAction;<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> private IWorkbenchAction saveAction;<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> private IWorkbenchAction openPerspective;<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> <\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> .............<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> <\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;\"><span style=\"text-decoration:none;\"> <span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"><span>public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;\"><span style=\"text-decoration:none;\"> <span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"><span>super(configurer);<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> protected void makeActions(IWorkbenchWindow window) {<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;\"><span style=\"text-decoration:none;\"> <span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"><span> <\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;\"><span style=\"text-decoration:none;\"> <span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"><span> \/\/All the actions are defined here.<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;\"><span style=\"text-decoration:none;\"> <span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"><span> newAction=ActionFactory.NEW.create(window);<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;\"><span style=\"text-decoration:none;\"> <span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"><span> newAction.setText(\"New\");<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;\"><span style=\"text-decoration:none;\"> <span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"><span> register(newAction);<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;\"><span style=\"text-decoration:none;\"> <span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"><span> saveAction=ActionFactory.SAVE.create(window);<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;\"><span style=\"text-decoration:none;\"> <span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"><span> register(saveAction);<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;\"><span style=\"text-decoration:none;\"> <span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"><span> openPerspective= \tActionFactory.OPEN_PERSPECTIVE_DIALOG.create(window);<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> register(openPerspective);<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> <\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> ..............<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;\"><span style=\"text-decoration:none;\"> <span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"><span>}<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;\"><span style=\"text-decoration:none;\"> <span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"><span> protected void fillCoolBar(ICoolBarManager coolBar) {<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> \/\/Adding the Actions to the CoolBar.<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;\"><span style=\"text-decoration:none;\"> <span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"><span> IToolBarManager toolbar = new ToolBarManager(SWT.FLAT | SWT.RIGHT);<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> coolBar.add(new ToolBarContributionItem(toolbar, \"main\"));<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> toolbar.add(newAction);<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> toolbar.add(saveAction);<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> <\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> .............<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> }<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;\"><span style=\"text-decoration:none;\"> <span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"><span>protected void fillMenuBar(IMenuManager menuBar) {<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;\"><span style=\"text-decoration:none;\"> <span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"><span> \/\/Adding the Actions to the Menu Bar.<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;\"><span style=\"text-decoration:none;\"> <span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"><span> MenuManager fileMenu = new \tMenuManager(\"&amp;File\",IWorkbenchActionConstants.M_FILE);<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> menuBar.add(fileMenu);<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> MenuManager windowMenu= new \tMenuManager(\"&amp;Window\",IWorkbenchActionConstants.WINDOW_EXT);<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> menuBar.add(windowMenu);<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> .............<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> <\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> fileMenu.add(newAction);<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> fileMenu.add(new \t\t\t\t        \t\t\t\t\t      Separator(IWorkbenchActionConstants.MB_ADDITIONS));<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> fileMenu.add(new Separator());<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> fileMenu.add(saveAction);<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> windowMenu.add(openPerspective);<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> .............<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> <\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"> <\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;\"><span style=\"text-decoration:none;\"> <span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\"><span>}<\/span><\/span><\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Courier New,monospace;\"><span style=\"font-size:x-small;\">}<\/span><\/span><\/p>\n<p style=\"background:#ffffff none repeat scroll 0;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">10.So we have completed adding the Menus\/Actions for our application and it is time to define a product Configuration for our mylyn project. A product configuration is required to brand or package our final application. Product configuration manages information about splash screens,launcher icons,about text, plugin and features list,window images etc together for our application. To create a product configuration right click the mylyn project Go to New-&gt; Product Configuration as shown below.<\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/11.jpg\"><img class=\"aligncenter size-medium wp-image-22\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/11.jpg?w=300\" alt=\"\" width=\"300\" height=\"221\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">11.We need to give a name for the product configuration eg.\u201cmylyn.product\u201d and continue by clicking finish.<\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/12.jpg\"><img class=\"aligncenter size-medium wp-image-23\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/12.jpg?w=233\" alt=\"\" width=\"233\" height=\"300\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">12.Eclipse will open the Product configuration file in a manifest editor for us. We can notice that eclipse has automatically selected \u201cmylyn.application\u201d as the application to run on launching this product. If it is not, select the same from the drop down menu.<\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/13.jpg\"><img class=\"aligncenter size-full wp-image-24\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/13.jpg\" alt=\"\" width=\"567\" height=\"565\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">13. So far so good. We need to check whether the application is working from our product configuration. For that click \u201cLaunch an Eclipse application\u201d link in the product configuration file which will pop up the application. Make sure all the menus that we added in step 9 shows up but these menus wont work unless we include all the necessary Plugins. We can notice that the application comes up in (800*600) mode. <\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/14.jpg\"><img class=\"aligncenter size-full wp-image-26\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/14.jpg\" alt=\"\" width=\"320\" height=\"241\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">14.Now its time for us to include all the necessary mylyn Plugins and Fragments to our product configuration. We will do that by clicking the Configuration tab in the Product configuration file. We can see that all the plugins and fragments required for the basic application from template are already shown here.<\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/15.jpg\"><img class=\"aligncenter size-full wp-image-27\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/15.jpg\" alt=\"\" width=\"565\" height=\"589\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">15.For adding the mylyn Plugins and fragments to the product configuration, we will Click the add button which brings up a pop up list of Plugins and fragments. We need to scroll down and select only those mylyn Plugins which are required. Click the Ok button to continue. Now we need to resolve the plugin dependencies. Click \u201cAdd Required Plugins\u201d link and eclipse will automatically add the dependencies for us. We need to save the project for the changes to take effect.<\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/16.jpg\"><img class=\"aligncenter size-full wp-image-29\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/16.jpg\" alt=\"\" width=\"564\" height=\"589\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">16.So far we have created a base application,defined the menus\/actions, defined a product configuration, added the mylyn Plugins and fragments, resolved the dependencies. Now its time for us to check whether everything plug-in well and works well together. For that we need to get back to the \u201coverview\u201d Tab. We need to Click the Synchronise link. This ensures that all the changes that we have made in the product configuration and the mylyn.application synchronize with each other. We can start the application by clicking \u201cLaunch an Eclipse application\u201d link present in product configuration.<\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/17.jpg\"><img class=\"aligncenter size-medium wp-image-30\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/17.jpg?w=288\" alt=\"\" width=\"288\" height=\"300\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">17.We can see that the Mylyn Application starts in a new window. We can check whether the perspective \u201cplanning\u201d,the views,creating a new task etc work successfully following the same procedure we have done in step 3.<\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/18.jpg\"><img class=\"aligncenter size-medium wp-image-31\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/18.jpg?w=300\" alt=\"\" width=\"300\" height=\"225\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">18.We need to give a name for our application launcher and provide custom icons for our application. Eclipse provides a variety of tools to get it done. In the product Configuration click the \u201cLaunching Tab\u201d. Give a Launcher name eg.\u201cmylyn\u201d and click save. We can provide the icon files required for branding here.(Note:-I have not done this below)<\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/19.jpg\"><img class=\"aligncenter size-full wp-image-32\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/19.jpg\" alt=\"\" width=\"570\" height=\"589\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">19.We want a standalone mylyn RCP application. So we will Export the application from our eclipse environment to our operating system's directory structure. For doing this, in the product configuration file click \u201cEclipse Product Export wizard\u201d which will bring up a pop up. We want the Root directory to be called \u201cmylyn\u201d and not the default name \u201ceclipse\u201d.Change the root directory name to \u201cmylyn\u201d,make sure the \u201csynchronization\u201d checkbox is checked. Browse through the directory structure to the folder to which we want to export the application and click finish to export.<\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/20.jpg\"><img class=\"aligncenter size-full wp-image-33\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/20.jpg\" alt=\"\" width=\"490\" height=\"495\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">20.Eclipse will export the application for us and if it is successful no errors will be thrown in the eclipse error log or problems view.<\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/21.jpg\"><img class=\"aligncenter size-medium wp-image-34\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/21.jpg?w=287\" alt=\"\" width=\"287\" height=\"300\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><span style=\"font-family:Times New Roman,serif;\"><span style=\"font-size:small;\">21.So everything done and its time for us to check out the final application. Browse through the directory structure to the folder to which we exported the application. We can start the application by clicking mylyn.exe. Make sure everything works creating a task,the views the planning perspective etc. Final application screen shot is shown below.<\/span><\/span><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/22.jpg\"><img class=\"aligncenter size-medium wp-image-36\" src=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/22.jpg?w=300\" alt=\"\" width=\"300\" height=\"225\"><\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><a href=\"http:\/\/cyberpen.files.wordpress.com\/2008\/06\/22.jpg\">\n<\/a><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\">So thats it. We have successfully completed converting mylyn plugin to a standalone RCP application.<\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\">Please note the full code of <a title=\"ApplicationActionBarAdvisor.java\" href=\"http:\/\/cyberpen.wordpress.com\/?attachment_id=37\" target=\"_blank\">ApplicationActionBarAdvisor.java <\/a> can be obtained from here.<\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\">I hope this post would help some one.Please feel free to leave comments\/Suggestions\/Correct me.<\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\">HTH,<\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\">Anoop Menon<\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>\n<p style=\"background:#ffffff;margin-bottom:0;text-decoration:none;\"><\/p>","_et_gb_content_width":"","footnotes":""},"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/www.confianzit.com\/cit-blog\/wp-json\/wp\/v2\/posts\/118"}],"collection":[{"href":"https:\/\/www.confianzit.com\/cit-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.confianzit.com\/cit-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.confianzit.com\/cit-blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.confianzit.com\/cit-blog\/wp-json\/wp\/v2\/comments?post=118"}],"version-history":[{"count":3,"href":"https:\/\/www.confianzit.com\/cit-blog\/wp-json\/wp\/v2\/posts\/118\/revisions"}],"predecessor-version":[{"id":29098,"href":"https:\/\/www.confianzit.com\/cit-blog\/wp-json\/wp\/v2\/posts\/118\/revisions\/29098"}],"wp:attachment":[{"href":"https:\/\/www.confianzit.com\/cit-blog\/wp-json\/wp\/v2\/media?parent=118"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.confianzit.com\/cit-blog\/wp-json\/wp\/v2\/categories?post=118"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.confianzit.com\/cit-blog\/wp-json\/wp\/v2\/tags?post=118"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}