Archive for the ‘RCP’ Tag

Contributing to JSDT #1: Setting up Build Target

I’ve been experimenting with the JSDT to try some HTML5/CSS/JavaScript development.  In order to poke around the JSDT code to understand it better, I spent a bit of time figuring out how to get things checked out, built and running. The instructions on the JSDT site are a bit sparse, so I thought I would document what I did.

I’m not on the JSDT team, so this may not be exactly how they do it. But it works for me.

Downloading Dependencies:

First you will need to set up your PDE Target.

The WTP Downloads page is where to start.

Download the following:

I unzipped these into individual folders, someplace where you keep pristine PDE targets separate from your daily running Eclipse. For example, I unzipped GEF into c:/code/buildTargets/GEF3.6.

Setting up the Target

Now, we’ll combine all these into a single PDE Build Target.

  • Under Preferences Plugin DevelopmentTarget Platform, select Add:

Select “Start with Nothing” , then Next.

In the Locations Tab, we will add each of the installed components from our buildTargets folder.    Select Add Directory Next – then Browse the location.

(Note: when selecting, choose the eclipse folder under each target.)

Do this for each of the 6 downloads above.

Then give your target a meaningful name such as JSDT_Target.

Then click Finish.

In the Preferences dialog, change the active build target to the new “JSDT_Target” and hit OK.

Now your JSDT code– which we have not yet imported–  will compile against the expected target platform.

Resources

  • Modular Mind has some great articles on PDE build targets.

Next: Checking out the code.

Debugging Eclipse UI layouts with Picasso

I always seem to spend too much time dinking around with UI layouts.  In fact, today I’ve been fighting an odd problem where I had a bunch of extra space in a dialog between two other elements.  I had spent excessive time trying things, over and over again, with no success.  That’s usually a sign to take a step back from the keyboard.

I vaguely remembered there was a tool that painted each composite in the UI a different color.  I Googled and found Simon Archer and Chris Aniszczyk’s Picasso tool.  Picasso is found in the PDE incubator source code (unfortunately it doesn’t get full billing on the PDE incubator page).

I ran my app with Picasso enabled, and clearly saw that something was amiss between my text and my table.  I hovered over the lime green box and was able to get a large screen of useful information (not shown): what the element is, its parentage, layout, etc.  I was able to quickly fix my mistake.

How to use:

  • Import the project into your workspace from the PDE incubator repository.
  • In your run config:
    • Plug-ins: add org.eclipse.pde.picasso.
    • Tracing: enable tracing and turn on org.eclipse.pde.picasso.
  • Start your app.

Is upgrade to “Eclipse RCP, 2nd Edition” worth it?

Today I received my copy of the Eclipse Rich Client Platform, 2nd (McAffer, Lemieux, Aniszczyk).

If you are interested in RCP development, this is the book to own.

But if you already own the 1st edition, is it worth buying the newer edition?  So you can decide for yourself, here are the major differences:

Software management. This chapter has been re-written to discuss software management using p2, which replaced the Update Manager

Action and Commands.  A chapter has been added to discuss the newer Commands API, as well as their differences with Actions.

Installing and Updating with P2.  More p2 information

PDE build. PDE Build is one of the more error-prone and time consuming aspects of working with Eclipse products.  (It’s also powerful and useful.  This chapter is completely reworked.  Lots of clarification as well as updated information.

Testing. A new chapter on testing an RCP application.  A great addition to the book.

A DataBinding reference chapter has been added.

One other thing I really liked was the new font– much more readable IMO.  I also like the Pointers section at the end of each chapter.  Very nice touches.

Design a site like this with WordPress.com
Get started