- on Win7, taskbar items show Job image as overlay. We need to attach images to our Jobs even without Win7 because they appear in the Progress view. And we'll be done when we do move to Win7.
- SWT.WRAP now works for Buttons of all styles (e.g. SWT.PUSH, SWT.CHECK, SWT.RADIO).
- can now set preset of duplex when printing. We should test our dusty old Jasper will do this.
- WebKit now default browser if it's installed.
- Touches and Gestures now supported but I don't think we're there yet.
Wednesday, March 23, 2011
What's new in the SWT for Eclipse 3.7
A lot of Mac stuff but a few items seemed important:
10 Techniques to Test a Plug-in
This guy was full of good ideas. He's putting together a blog that will have code samples and more details on testing:
- MANIFEST.MF using OSGi PlatformAdmin service for basic identity values and dependencies
- plugin.xml, e.g. parsing extension points .exsd files to determine attributes then testing extensions for valid values
- commands and handlers using ICommandListener and IExecutionListener
- views and editors using IWorkbench and reflection
- a PropertyTester by parsing its extension to drive tests using IEvaluationService with various values
- a SourceProvider, testing its variable is the same when obtained from the extension, the implementation class, and from its current state
- expressions as used in a plugin.xml using the IEvaluationService with various contexts
- dialogs and wizards using Display.timerExec()
- unwanted messages using an ILogListener and replacing the default system.out stream
Getting Eclipse Preferences Under Control in Teams
An exploration of free tools that aid in maintaining preferences in a team environment. Three solutions were described:
- "Eclipse Team Etceteras" - a feature that prompts the user on startup of a new workspace to install preferences from the location specified in a fragment. Also allows when switching workspace to copy preferences in the switch. More information here.
- "Workspace Mechanic" - a more invasive but capable feature that is task oriented and can manage preferences, java files, and plugins. File-based with HTTP function not yet released.
- "Common Preferences" aka bug 334016 - an eclipse project than handles preferences and can optionally lock them down.
Commands in Eclipse 4: Understanding who does what
Complementary to Commands in Eclipse 3.x: the 10 most common pattern.
A description of the Command Framework in Eclipse 4.x. Much of it remains the same; the command is still an abstraction for a semantic operation, still declared as an extension as are the handlers and menus that reference it. Expressions are still used for visibleWhen, activeWhen and enabledWhen statements.
The big difference is in the handler implementation and its supporting API:
It's comforting that plugin.xml extensions can probably be left as they are and that only the handlers need migration. Though the injection and context use is radically different, it is also apparent it is leaner code and that, once learned, is portable to the rest of RCP development.
A description of the Command Framework in Eclipse 4.x. Much of it remains the same; the command is still an abstraction for a semantic operation, still declared as an extension as are the handlers and menus that reference it. Expressions are still used for visibleWhen, activeWhen and enabledWhen statements.
The big difference is in the handler implementation and its supporting API:
- An @Execute annotation is used on the method to be invoked.
- Optionally, an @CanExecute annotation can be used on a method called by the framework to determine enablement.
- Most objects needed by the handler are to be injected using:
- @Inject (for service by interface)
- @Named (for variables, e.g. selection)
- @Preference (for the handler's plugin's preference store)
- An IEclipseContext is used extensively.
It's comforting that plugin.xml extensions can probably be left as they are and that only the handlers need migration. Though the injection and context use is radically different, it is also apparent it is leaner code and that, once learned, is portable to the rest of RCP development.
Commands in Eclipse 3.x: the 10 most common patterns
A description of the different ways of using the Command Framework in Eclipse 3.x. I think our group has used them all and I believe we've done so properly. They are:
- Simple command with a default handler and a simple menu contribution for it.
- Providing static parameters to commands.
- Specifying a toggle state for a command.
- Specifying a radio state for a command.
- A pulldown command with sub-menu items.
- Dynamic menu contribution.
- Using "activeMenuSelection" in an expression.
- Adding a control to a toolbar - not sure if we've done this but I've seen it.
- PropertyTester.
- Calling Command Framework API, e.g. programmatic invocation.
The Java Renaissance
A announcement by an Oracle architect and an IBM engineer that IBM will be joining OpenJDK. IBM promised to bring significant bugfixes and performance improvements. Oracle stated Java is their highest priority because they have so much invested into and depending on it. They also stated they are still very much in competition with each other and that Java's future is secure.
Some details on Java 7:
Some details on Java 7:
- to be released end of July 2011 - developer release available now
- introduces switch on String
- the initialization of a new genericized variable need not specify the generic, e.g. Collection<Foo> c = new ArrayList<>();
- I/O simplification, e.g. ResourceStream automatically closes
- improved fork/join operations when developing for multiple core CPUs
Subscribe to:
Comments (Atom)