Scripted Eclipse RCP…

Last week, I blogged about some work that I’m doing with Eclipse Monkey. I finally found a few minutes to wrap it all up into an RCP application. In doing so, I did have to refactor the Eclipse Monkey code a bit. These changes are focused primarily on extracting the runtime elements of Eclipse Monkey from the ide parts (my RCP application doesn’t need a “Monkey” menu, for example). I’m wrapping up the refactoring so that I can contribute the changes back.

The scripting part is pretty easy, but leans heavily on having a good set of DOMs to actually do the heavy lifting. Fortunately, building good DOMs has thus far been pretty easy; I’m not sure that I’m ready to start building an enterprise-scale application with the technology (though, I’m not aware of anything in the technology that is limiting), but it seems to be pretty powerful for quickly cobbling together an RCP-based mashup. This will only get easier as more and more useful DOMs are created.

To build the RCP application, I created a new plug-in to represent the application. I modified the perspective to include placeholders for the views (thereby indicating where each of the views should be positioned), and added a postUpdate() method to the WorkbenchAdvisor that invokes the script. Here’s the result:


I still have lots of work to do before this is really useful. I need to, for example, build a DOM that provides a decent way of prompting the user for information (the flickr browser so far hard-codes the search pattern in the JavaScript). I thought of using a view for this, but it feels “clunky”; I’ll probably just create a “common dialogs” DOM that includes a text prompter (or something like that). I’m also going to generalize the “image view” DOM to support multiple instances and more arbitrary image sources.

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s