We’ve added new wizards to create a JavaFX Library Project in contrast to JavaFX Project which is the main application project. There are new wizards to create an Preloader and Application class.
The Preview control can be put into a mode where it loads the associated controller and creates an instance of it, including all bindings defined, … . The foundation for this feature was to provide the whole projects classpath to the FXMLLoader which is needed to reference e.g. custom controls developped in your project as well as other none JavaFX components like the MigLayout port for JavaFX.
I’ve started documenting the DSL at http://efclipse.org/fxgraph.html.
I decided to redefine some keywords (previewCssFiles is now called styledwith, previewResourceFile is now called resourcefile, previewClasspathEntries is not needed anymore because the projects classpath available in the preview).
I’ve added the (optional) concept of namespaces to the DSL which makes sense once you want to reference other FXGraph components inside your FXGraph-Definition.
So your DSL file can now start with something like this:
Including other components
At the language level this feature was already present since the start but it was not implemented until now.
The Preview currently does not support loading those subcomponents but I’ll try to make this work in 0.0.10.
Support for translations from resource files
There’s a new keyword rstring which allows you to mark that a given string should be looked up in the given resource file instead of used as is.
Improved (singlevalued) attribute content proposals
The class proposal displayed for single valued attributes now take the accepted object type into account which reduces the number of proposals tremendously in most cases.
Reading the above paragraphs one might think e(fx)clipse is only about my custom DSL but to demostrate this is not I’ve started – as promised – on an FXML-Tooling support. Please note the support is currently really rudimentary (only simple attributes on elements) but what I have now is a foundation to build on in the next release.
I’ve experimented a lot in the last days (e.g. building an in memory logical model using SAX) but I finally once more used Xtext to built up an in memory model of the XML-File because there would have been so many things I’d have had to write my own when doing the parsing myself.
The Preview component does not yet support the FXML-Files but is scheduled to get supported with 0.0.10 with many more FXML improvements as well as bidirectional FXGraph to FXML conversion. Because of this planned feature the fxml-Document created from FXGraph-Files is now written next to the FXGraph-File.
No new features have been released in the runtime components but Kai is busy working on the e4 front and we hope to provide new features with 0.0.10.
Other soft facts
I’ve updated to Xtext and Xtend 2.2 which are now a prerequisit because I’m using some of their bleeding edge features in the DSL. The All-In-One downloads are now built on top of Eclipse 3.7.1 (For the cowards) and 4.2M4 (For the adventurous) and naturally also include Xtext and Xtend 2.2.
Bugtracking and contributing
We now have a bugtracker at http://efxclipse.org/trac if you are seeking for a feature, discover bugs (which is very likely), … I can only hope you’ll find the time to report them.
I plan to release a new version every 3 weeks which is half the time of an Eclipse Milestone cycle. So every time the Eclipse SDK releases a new version so does e(fx)clipse. The only exception might be support for 3.7.2 where an All-In-One build with the latest e(fx)clipse version at time will be provided.