SWT visual designer

Up to now I have been doing all my Notes 8.5 sidebar UI development manually and coding the UI by hand which is and has been fine. Now getting a WYSIWYG editor is becoming increasingly important both for quick development, demos and for education situations. I went searching for one and found SWT Designer from Instantiations. The editor looks very, very nice (take a look at the demos) and being priced at 239 USD also very competitive from a price standpoint.

My search continues for alternatives but this looks very attractive.

Setting table row height in SWT

So it appears you can actually set the row height of a SWT table despite me previously saying you couldn’t. The caveat is that it cannot be set on a per row basis. Row height is set using a Listener for SWT.MeasureItem and then setting the height property of the supplied event object as shown below.

// resize the row height using a MeasureItem listener
table.addListener(SWT.MeasureItem, new Listener() {
   public void handleEvent(Event event) {
      // height cannot be per row so simply set
      event.height = 67;

If need be you could compute the actual height using the GC.stringExtent(String).y and simply set to the biggest value you encounter.

Information from Custom Drawing Table and Tree Items at Eclipse.org.

SWT @ Notes 8: Notes 8 design guidelines

This is the first post of what I plan to make a returning series of posts on using the SWT widget library in Notes 8 that is writing plug-ins, sidebar applications etc. I will als include posts on Java issues you need to consider. It’s always good to do a soft start so I will start by pointing to another post. Mary Beth Raven just published a link to the user experience design guidelines for Notes.

"This white paper describes user-interface design and
interaction guidelines for designers and developers who
are building IBM® Lotus® Notes® applications, IBM Lotus
Sametime® V7.5 or later plug-ins, IBM Lotus Symphony™
plug-ins, IBM Lotus Expeditor plug-ins, or composite
applications (assembling any mixture of plug-ins, Lotus
Notes applications, and components built with IBM Lotus
Component Designer)."

There are a lot of gems such as programmers should refrain from using Question and Confirm dialog boxes and how to capitalize sentences. It sounds like small things but it’s important if we want a consistent interface.

What’s up with the “me too” articles on developerWorks?

After reading the last installment in an article series on Notes 8 development on developerWorks I have to wonder how many articles they (developerWorks) need to publish on creating simple plug-ins, building features and publishing them using an update site. This is already extensively covered as part of the Eclipse development articles both on developerWorks and on eclipse.org/articles.

In my mind a good example of bringing something new to the table is the article on leveraging the current context in Notes 8 (Leveraging user context in the IBM Lotus Notes V8 sidebar and toolbar). That’s new. That’s something I wanna do. It still uses the first third configuring and setting up stuff but still it’s new.

Why not try some more concrete examples that actually cover some of the things that IBM bring to the table in Notes 8 / Sametime 7.5 / Expeditor or some of the areas that is going to cause problems? Suggestions could be:

  • Using the components of Expeditor e.g. the message broker and the web services engine
  • Building Notes UI’s using SWT components
  • Making your SWT components look the ones supplied by IBM
  • Communicating with the Notes application from your features/plug-ins

The above suggestions aren’t great but I’m dying to read articles on Notes 8/Sametime 7.5 that doesn’t spend the better half explaining the same ol’ concepts as have been explained so many times before…