Wazaabi – XUL for RCP.

This opens pretty interesting possibilities:

Via TheServerSide:

Wazaabi includes a GUI framework that brings XUL to Eclipse RCP plugin developers and a set of components that link the client-side XUL based viewers and forms to server-side business components. Thus, rich client developers can use XUL to code a GUI, rather than using SWT.

Wazaabi brings XUL to Eclipse RCP based rich client applications

This is an actual XUL viewer, not a similar syntax like XSWT or similar attempts. They use servlets to communicate between the XUL side and your application, to keep the flexibility of sending the XUL to a mozilla browser. Very interesting.

technorati tags:, ,

Cheatsheet: Favorite Eclipse Plugins

This is a quick little cheatsheet with my favorite eclipse plugins and the locations of their update sites. It’s so I can get back up and running quickly when reinstalling eclipse from scratch.

  • Eclipse Checkstyle – http://eclipse-cs.sourceforge.net/update
  • Spring IDE – http://springide.org/updatesite/
  • Fitnesse by Band XI – http://www.bandxi.com/fitnesse/
  • Subversion for Eclipse – http://subclipse.tigris.org/update_1.0.x
  • Memory Monitor – http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-ui-home/updates
  • Mylar – http://download.eclipse.org/technology/mylar/update-site/e3.2 (or e3.3)

Also, here’s some stuff that I like to install manually:

  • JSEclipse – no offense to the WTP folks, but their JS editor is not that great. This one can understand OO javascript, common ajax libraries, JSDoc and more.

technorati tags:, ,

Graphical Modeling Framework

Boy don’t I know this – in a prior life I wrote a GEF editor for a workflow engine.

Let me be blunt: In the past, creating graphical editors within Eclipse using the Graphical Editor Framework (GEF) was slow and painful. It involved understanding a complex framework and quite a bit of redundant code. That said, GEF is an excellent framework for creating graphical editors because it is model-agnostic. On the other hand, being model-agnostic creates its own problems.

Learn Eclipse GMF in 15 minutes

Using Jobs API and asyncExec

Using the Jobs API (Job and IProgressMonitor) you can implement code that will run in a thread and update the standard Eclipse progress monitoring service as you go along in your thread.

To create a job, extend from org.eclipse.core.runtime.Job and implement the run method:


protected IStatus run(IProgressMonitor monitor) {
  int steps = 100000;
  monitor.beginTask("My Task", steps);
  for ( int i=0; i

To activate the job in MyClass (say it's a page with a tableViewer which we use to set the input), you do the following:

MySampleJob myJob = new MySampleJob();
myJob .addJobChangeListener(new JobChangeAdapter() {
  public void done(IJobChangeEvent event) {
    Display.getDefault().asyncExec(new Runnable() {
      public void run() {
        MyClass.this.tableViewer.
                        setInput(myJob .getInputForTableViewer());
      }
    });
  }
});
myJob.schedule();

Have fun!