A complete tutorial about Eclipse Branding , Making your own eclipse - eclipse

I want to make an eclipse like Flex Builder does, so all colors and controls will be defined by me.
I think this is known as Eclipse Branding. But I couldn't get the entire exact way of doing the eclipse branding in a larger prospect(how adobe did with Flex Builder or Google did with GWT)

Search for "Eclipse look&feel" and "Eclipse presentation factory".
And have a look at http://wiki.eclipse.org/RCP_Custom_Look_and_Feel

There are two articles to branding eclipse (only before version 4).
First to branding a simple feature:
http://ekkescorner.wordpress.com/2010/06/13/brand-your-feature-and-be-part-of-about-eclipse/
Second to branding a rcp application:
http://www.eclipse.org/articles/Article-Branding/branding-your-application.html
( Additional it is important add to your MANIFEST.MF the line
Bundle-Localization: plugin
see here: Externalizing strings in plugin.xml for Eclipse plugin )

Related

Extending an existing product using Eclipse Oomph

I'd like to create a new product for my own usage which extends Eclipse Neon ( or possibly Oxygen ).
I know that I can manually add update sites and UIs using Oomph, but I would rather like to define a reference to an existing product - like Eclipse IDE for Java EE Developers - and then just add some other features on top.
Is that possible using Oomph?
This is done by adding product requirement to the setup
<p2:Requirement
xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:p2="http://www.eclipse.org/oomph/p2/1.0"
name="epp.package.jee"/>
Note that you still might need to bring in more features manually, see Extending 'Eclipse IDE for Java EE Developers' brings in fewer features than expected for all the details.

How to create Eclipse GWT Designer Project, something is off?

After downloading the latest Eclipse (Luna 4.4.1), I installed the GWT / GWT designer plugin.
I concluded I that I am missing WindowsBuilderPro, and so I installed it via Eclipse Help->Install New Software.
Now I want to create a new GTW Designer project, and get the following choices, which I think are wrong:
Tutorials, perhaps older, show the following project choice:
Is my installation messed up? I reversed the installation order, and nothing changed.
Is GWT Designer out of date, should I no longer be using it?
I'm a bit more confused based on your answer (Phil). I found this presentation:
The Future of GWT, 2013 Report
and it shows:
Does GWT Designer still exist (2014) as something separate from UI Binder (I don't really want to do any HTML)?
If not, do I need the WindowBuilder plugin for UIBinder?
You don't directly create a GWT Designer project. Create a "Web application project" as displayed in your first screenshot. Then create a new "UiBinder":
It will create two files: one java file and one .ui.xml file.
When you will open the .ui.xml file, you will have two tabs at the bottom of the window: one for the code, and one for the graphic designer:

Integrating community plugins into a ready Eclipse RCP app?

I already have a standalone Eclipse RCP application. The next task is to integrate the plugins which are widely used in the Eclipse community like CDT or say PyDev to provide the editing and debugging facilities in respective programming languages inside the already developed RCP app. Just wondering how do i go about accomplishing this task. Should i start with playing around the extension points of the plugins and adding it to the MANIFEST.MF ?
What are the various ways of achieving this ? Which one to pick over the other?
The most important thing you should consider (besides the technical) is a conceptional.
Plugins like CDT are making a lot of assumptations about their environment they are integrated into. That means your RCP should have a very similar user-interface and behavior like the normal Eclipse SDK so that the integration of other "IDE-ish" plugins is not a break of the interface principles of your RCP.
If your RCP is not based on a common navigator, projects, files (in general the Workspace) and several editors the integration of Plugins like CDT will be a nightmare for your users and will feel like another application within your RCP.
Make also sure that ui-contributions from third-party-plugins are visible (e.g. if the third-party-plugin is contributing a preference page, make sure that your RCP has the menu-item to open the preference-window)
First you have to load the new features/plugins in your existing RCP application. For this you have to adapt your product definition and load the new feature.xml files. or you enhance your own feature.xml and place the new plugins into.
Afterwards you have to decide, whether the new functions/view/perspectives are contributions to an already existing RCP extension point and whether you use this extension point in your RCP product.
If you want to use the new functions in another way (because the default is not enough) you have to point to specific views/actions in the new plugins and call them by your self. Fot his you have to adapt the MANIFEST.MF of your own plugin and point to the new plugins. If you do it, you can not switch off the added features, because you do have a jard link to these plugins.
Your RCP product already depends on the RCP feature (org.eclipse.rcp) or a subset of its plug-ins. This means, it already includes the plug-ins defining the basic extension points.
To include functionality (extensions) from additional features, just add these features to your product configuration dependencies. For example, you would have to add the feature org.eclipse.cdt for CDT and org.python.pydev.feature for PyDev.
The hard part begins when you need to include only some of the features' plug-ins.
You'll have to isolate the plug-in(s) providing the functionality you require.
For UI contributions, you can use the plug-in selection spy by selecting the required UI part and clicking alt+shift+F1.
For non-UI contributions, information for contributed extensions can be found in the plugin.xml files in the plug-in sources.
These plug-ins, along with their dependencies can be added to a custom feature, which can be included in your product.
Although dated, the article Building a CDT-based editor might also be of help.

Eclipse GUI bundle

I am building an application whose GUI should look like eclipse. Since Eclipse uses Equinox OSGi framework, is it possible to reuse the bundle responsible for Eclipse GUI in my application? If so, which is the bundle which is responsible for Eclipse GUI?
Any help is appreciated..!
I believe you are making a wrong assumption: Out of the many bundles (a.k.a. plugins) that an Eclipse installation normally consists of, there is not a single bundle responsible for the overall GUI. Instead it is a large chunck of dependent bundles for the SWT graphics library, the views, workbench and so.
So if you want to create something that looks like Eclipse and behaves like Eclipse, then you want to reuse many of those plugins and you probably want to read further on the Eclipse Rich Client Platform, which is the smallest set of reusable bundles for creating Eclipse-based applications.
For building Eclipse-alike application you can of course extend the Eclipse platform using an own plugin. However OSGi can be very complex.
If you only want the general look of Eclipse you just use SWT: The Standard Widget Toolkit. This toolkit provides the GUI elements and is responsible for the look of Eclipse.
This is possible but a bit complex. Download the archives for SWT (basic building blocks like labels, buttons and tables) and possibly JFace (high level UI components) and add the JARs to your classpath.
One way to get them is to download Eclipse for your platform; that gives you the JFace JARs. SWT is a bit more complex because it contains one JAR per supported platform; you can find the JARs for all platforms in the "Delta Pack" (download for Eclipse 4.2)
When writing your application, you will need to determine the platform and add the correct SWT JAR to your classpath. Here is the code to do that: Create cross platform Java SWT Application

eclipse rcp :how to translate third-part plugin?

I am working on a eclipse rcp application.it use some third-part plugins, how can I translate text in these plugins?
In general internationalization is easy in eclipse. You can look for *.properties files which contains the strings which are used in the plugin. You can then define an own property file with your translation.
If no property files exist the plugin is not foreseen to be translated. In this case code changes are necessary.
See this howto for an example