JFace label provider overview - eclipse

Is there any good overview of the JFace label provider framework? The JFace snippets doesn't really explain the relationship between the different generations (pre-3.2, 3.3, 3.4, etc.)

There are a number of good tutorials available. You should know that you need to understand the complete Providerframework (Contentprovider, Labelprovider, Notifications, etc.).
Also, I the architecture between the various Eclipse-Versions barely changed. Are you specifically looking for an Eclipse History?
You'll find plenty on Google. Here are two starting points:
Eclipse Help-Center:
help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.jdt.doc.isv/guide/jdt_api_render.htm
Vogella-Tutorial:
http://www.vogella.de/articles/EclipseJFaceTable/article.html
Good Luck

Related

Eclipse 4 RCP (aka E4) documentation

Is there at least anything other than Vogella's tutorials and his book, which is completely based on those tuts? Examples from his repo are often either incomplete/unfinished/won't run and those examples even don't match the book actually..
I'd like to find at least some javadoc for this, because any step to a side and I'm completely lost on how to accomplish different tasks and what functionality is available.
Lars Vogel's Tutorials are the most complete and up-to-date documentation on Eclipse 4 development. Second to this is asking questions in Eclipse 4 Community Forum. Last option is to google for specific technical problems, which will in most cases lead you to blog posts from the same people that are active on the forums. (Mainly single supporters like Lars, some Eclipse devs and the guys from www.eclipsesource.com)
I discourage using the wiki, since much of the information may be outdated and may be more confusing than an actual help. Documentation for JFace and SWT can be reused from Eclipse 3.x since there are few to none changes in Eclipse E4.
E4 is alive and many of its components are now encapsulated in the standard Eclipse Platform. So most of Eclipse 3 docs and books are still relevant, as well as the Eclipse 4 ones.
If you want to understand the theory, you should start searching Eclipse conference slides explaining the Eclipse Platform and plug-ins. Trust me, it might sound old-style, but most of the times I find an EclipseCon Powerpoint or PDF, it is a great presentation, concentrating in 30 minutes the great work of some of the best Eclipse developers. If I had to re-start learning Eclipse, I would start again from some EclipseCon slides talking about Eclipse Plugins and Eclipse E4 Model.
For Eclipse4 or E4, we mean the Eclipse4 Model, which is now part of the Eclipse Platform. The Eclipse IDE itself supports both 3.x and Eclipse4 programming.
If you want to start Eclipse4, you should take a good book or a tutorial and follow it step by step. As an example you have these books:
Eclipse RCP (Rich Client Platform) 2nd edition
Contributing to the Eclipse IDE Project (free ebook)
Eclipse 4 Plug-in Development by Example: Beginner's Guide
Instant Eclipse 4 RCP Development How-to
However, there are a lot of sources of information, as many books, web tutorials and blogs. You can find most of them here:
https://wiki.eclipse.org/Eclipse_Articles,_Tutorials,_Demos,_Books,_and_More
https://wiki.eclipse.org/Eclipse4/Tutorials
http://planeteclipse.org/planet/
In my personal list of who to follow, I could include: Vogella RCP, EclipseSource, Tom Schindl, OpCoach, RCPVision, Kai Toedter, AllBlue, Wim Yongman, and all the E4 Contributors who are writing articles. But it is unfair not to mention all of them.
If you're not satisfied by docs and tutorials, please file a bug to the Eclipse Platform; mention "missing documents to use E4" and specify what you need. The Platform UI team will take care of this, either by linking the existing documentation to the above wiki page or by creating the missing docs.
Note: Several of the developers of the Eclipse E4 and Platform team contributed to the success of the technology by fixing bugs, writing code, documents, tutorials, and opening businesses based on this.
Eclipse committers are writing most of the existing documents, and they usually go to conferences. So, usually, you get their very best at the Eclipse Conferences. If you get their slides, you can get the best of some Eclipse and Java Champions, condensed in 30 slides, or in a video of 30 minutes.
You can start contributing to open source, by following tutorials, like those written by Eclipse Committers, and then you can give back by writing documents to capture your achievements ;)
But, keep in mind that a tutorial is not a book. There is a different process behind. Thankfully those great developers found the time to write code and documentation at the same time.
i was in the same position for my sparetime RCP-Project and was about to give up
since Neon the situation has been improved a lot
my approach
take the tycho-Example from vogella for headless-build
add your custom parts with 'hello world' and play around to learn
for database-access use a declarative Service using jpa
an example will be
http://relations-rcp.sourceforge.net/
for logging and error-view
https://github.com/buchen/portfolio
this project eye-opening!
in general:
search Application.e4xmi in Github by date descending and you will find excelent examples and full working products
Forget about e3 and stick to plain e4. Take Advantage of the latest api's
make a i18n plugin and use
#Inject
#Translation
Messages messages;
use ISideEffect as Binding
for me it becomes fun to code with e4
After almost 2 years there has been no decent response to this question. So i'm considering the Eclipse E4 platform efectively dead, as there are still people voting for this question and can't find an answer.
The only answer I have is - move to the NetBeans Platform. There are similar problems there, but at least people do answer in the mailing list and there are books which are quite more recent and are actually providing working source code! Enve the NetBeans website provides free tutorial on a lot of stuff for free!
I mean it's really hard to believe, but you should try NetBeans platform - it's the only choice.
For anyone who stumbles here looking for an e4 example, here's a simple basic example on using eclipse 4 rcpeclipse 4: rcp getting started
Standard Eclipse documentation for version 4.3 (Kepler) contains javadoc for the most part of e4 project:
http://help.eclipse.org/kepler/topic/org.eclipse.platform.doc.isv/reference/api/overview-summary.html?cp=2_1_0

Need good material on SWT layouts

I am learning SWT and I am in need of some good material on SWT layouts. Anyone have some good material or links for SWT layouts? Thanks for any help
The Definitive Guide to SWT and Jface by Robert Harris is pretty good and explains all of the basic layout in a useful ways with lots and lots of examples.
Using WindowBuilder can also help a lot, as you here see - in real-time - the consequences of your UI decisions...
The absolutely best it to try and try again...
There is really no reason not to use MigLayout. It's the best layout manager for "hand-made" GUI. Very powerful, easy to understand and use.. There is version for Swing and SWT as well..
MigLayout website
The best way to learn SWT and its layouts is trying things out yourself.
But I recommend the following ressources for a start:
The noteworthy SWT tutorial on Zetcode
Furthermore the eclipse / JFace / SWT section on java2s
Last but not least the official SWT homepage with its examples and if you like its widget page with links to javadoc and code snippets

GUI Platform choice: Google GWT, SmartGWT, ExtGWT and SmartClient

We are in the process choosing a new GUI platform. Ive been looking at subj. but are a bit confused. Could someone please refer to at tutorial or blog that makes a qualified comparison.
Thanks.
Nikolaj G.
We've used SmartGWT for a couple of projects and it's ok but there are tradeoffs:
PRO:
Makes it easy to write a web app that looks and works like a rich client GUI.
Don't have to know any Javascript. SmartGWT coding is pretty similar to Swing coding, which is good if you already know how to do that.
CON:
Unless you do a lot of work tinkering with the look and feel, your app won't look very web-like, it will look like a rich client app running in a browser. You may not care about this.
It's a pretty heavyweight library which has to download large .js files to get going.
We found it difficult to control the layout of form controls precisely, but that might just be our inexperience.
I think you should fully understand what GWT does and what your projects needs are first and foremost. There wont be a source that will adequately compare them for your specific needs.
Start with the wikipedia http://en.wikipedia.org/wiki/Google_Web_Toolkit
Here is a comparison of SmartGWT vs GWT
http://www.theserverside.com/discussions/thread.tss?thread_id=60186
If interested in AJAX RIA Frameworts, below analysis is for you
Before starting new GUI for our new project arrival, I made some research.
Here are my findings (remove spaces from "http: // "; bcoz stackoverflow is preventing me to do so :)):
Prototype framework favorable links:
http://en.wikipedia.org/wiki/List_of_Ajax_frameworks
http://www.javabeat.net/articles/12-comparison-of-ajax-frameworks-prototype-gwt-dwr-and-1.html
http://www.devx.com/AJAXRoundup/Article/33209
Dojo framework favorable links:
http://blog.creonfx.com/javascript/dojo-vs-jquery-vs-mootools-vs-prototype-performance-comparison
jQuery framework favorable links:
http://blog.creonfx.com/javascript/mootools-vs-jquery-vs-prototype-vs-yui-vs-dojo-comparison-revised
Test speed of different RIA frameworks:
http://mootools.net/slickspeed/#
More comparasions:
http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
http://jqueryvsmootools.com/#conclusion
Out of all these findings I started using SmartClient 5. Initially we faced some issues but as SmartClient matures I find it interesting in many terms:
1. APIs doc help and examples
2. Flexible controls
3. Forum
Today I am working on SmartClient 8 and few on my GUIs are in production running successfully. Actually the great help with SmartClient is that you find every thing at one place. No need to dug many other sites that is hard to do for any other open source RIA framework.
So my choice is no doubt SmartClient.
Thanks
Shailendra (shaILU)

Eclipse RCP terminologies and concepts

I am just starting to develop some application using Eclipse RCP. I was able to hack out a prototype by reading some tutorials. Although I was able to hack out some working code, I found myself shaky on some of the RCP concepts like:
What is a page? I see a lot of getActivePage() API calls, so I am assuming there can be multiple pages am I correct?
In the IWorkbechPart API there is an API called getSite(), which is being use a lot, but I am not sure what is a "site"
The above are just a sample of questions I am having, so it would really help me if someone can point me to some articles explain these type of concepts (I did google around without success).
I would also appreciate it if someone can point me to some articles that can educate me on how to write clean RCP code; kind of like the "Effective Java" for RCP.
You may want to check this as well:
Take a look at the JavaDoc for the Interfaces, they are well documented and give you an idea of the terminology. For example:
What is a page?
Look at the Javadoc at org.eclipse.ui.IWorkbenchPage
called getSite(),
Look at the Javadoc at org.eclipse.ui.IViewSite

Is there a good step-by-step tutorial for using datanucleus and maven?

I have a basic java-maven-wicket project and need a persistence layer. I want to start with something fairly simple and low maintenance so I can concentrate on the business logic. I've been using db4o directly but have been having some issues and would like to move to using datanucleus as it supports both db4o or regular rdbms. Unfortunately the docs are a bit of a mess and none really show you how to set up a project from scratch - at least not with maven.
Does anyone know of a good tutorial? Are there any books on Datanucleus?
No idea what "a bit of a mess" is since you don't define what is not understandable to you.
Obviously if you just clicked on "Guides" in the docs (top level navigation) then you could just see "Use with Maven2".
Or then you could go to the docs and just type in "Maven" in the search box, and use the first link on the page to find the exact same doc.