One of my favorite techniques for passing structured bulk data around is using datas queue’s with the format of the data defined in an external data structure.
In RPG this is very easy … you defined a data structure using the EXTNAME keyword.
dcl-ds stuct1 extname('EXTDS1') end-ds;
Then you just use the data structure name when calling the QRCVDTAQ or QSNDDTAQ api’s and the data will be nicely mapped into the appropriate structure field.
But what if you wanted to allow a Java application to consume or populate the data queue?
I’m working on a routine that downloads content from a host to the users desktop.
As the content is being downloaded, a progress dialog is displayed (implemented as ProgressMonitorDialog).
In the progress monitor, the cancel button is enabled.
In the default implementation, if the cancel button is pressed on the ProgressMonitorDialog, the cancel button is disabled.
I wanted to be able to ask the user if they really want to cancel the operation. If they don’t, then continue on with the operation. If they do, then perform the cancellation as usual.
I couldn’t find a straight forward way to implement this with the default operation, so I came up with my own solution…
In a recent project I had a combo box that I wanted to add additional entries to if they clicked on it with the shift key pressed.
This is to allow to select entries that would not normally be displayed (for example, out dated values that could actually be selected).
To do this, I added key-up & key-down listeners on the Display object and populated the Combo based on the shift key state.
Normally, when you view the property pages on Eclipse items, the pages show up in alphabetical order.
Sometimes this isn’t what you want. While I was working on my RCP project I found the property pages usually didn’t show up in a pleasing order, so had to figure out a way to control the sort order.
I’m in the process of updating the help text for my RCP and have found that some of the dialogs that I’m invoking don’t have the ability to directly add help context id’s.
After a bit of digging, I found it’s not that difficult to add help to an object that extends Dialog.
For this example, I’m going to add a help id to the InputDialog class.