It was always a goal to integrate a powerful Java editor in Bio7. The current default Java editor of Bio7 is a custom editor with a set of tools to ease the creation of valid Java files and enables the compilation of Java classbodies and regular Java classes dynamically.
However the editor lacks many advanced Java editing capabilities which would be very hard to implement bottom up. So instead of trying to improve the current editor i evaluated the use of JDT (Java development tools) inside of Bio7.
After some research and time i was finally able to embed JDT in Bio7 in a decent and easy to use way. As the result in next release you can create a Bio7 Java project with JDT support using several project creation wizards of Bio7 which create e.g. Bio7 Java templates ready for dynamic compilation (see below).
The file(s) for compilation are created in the base src folder (the bin folder contains compiled *.class files which we don’t need for dynamic compilation – the built process can be disabled in the preferences).
As in previous releases the dynamic compilation action is available in the toolbar of Bio7 (you don’t need the Run configuration of JDT) to compile the files instantly
into the current Java process.
The process of creation also configures the project Build Path automatically to include all necessary Bio7 runtime libraries, binaries and source folders which are needed more or less for the dynamic compilation process (see screenshot below) so that no further adjustments are needed to interact with the Bio7 environment.
The JDT Java editor drastically improves the creation of Java simulation models, etc. You definitely profit from the fantastic editing support of the editor with code completion, refactoring and error analysis, Quick fixes, etc. (below a screenshot shows the code completion for the available Bio7 API).
However if the Java editor is not active the usual Bio7 GUI is not cluttered by JDT elements.
At all JDT support for Bio7 is a huge improvement for the creation of e.g. simulation models avoiding many errors with Java classes. The Java file creation and the dynamic compilation process will be as easy as in previous releases of Bio7.
For the next release of Bio7 based on Eclipse 4.4 an improvement of the R editor for a much better editing experience of R scripts will be available. The integrated editor itself is built bottom-up (based upon an Eclipse editor editor template) although there a great editor frameworks (DLTK) or frameworks to develop programming languages and domain specific languages (Xtext) for Eclipse available.
I decided to built the editor this way to avoid dependencies with Eclipse plugins adding unnecessary interfaces and complexities in a Rich Client Platform and because i wanted to understand the internals of the editor for manageable improvements of upcoming releases.
Until now i integrated a parser for R based on ANTLR, implemented error marking, code folding, a first simple version of “Quick Fixes” and an outline view for the R scripts.
This screenshot demonstrates:
Here a screenshot with error marking and a “Quick Fix”:
Beside other improvements coming from Eclipse (e.g. split editor capabilities) for the next release of Bio7 i hope that this new functionality will ease the development of R scripts inside of Bio7.
The JavaFX team recently announced the availability of a OpenSource Scene Builder API (“JavaFX Scene Builder Kit”) to integrate the Scene Builder in a custom application (e.g. in an RCP application).
Reading this blog entry about a Netbeans integration i was tempted to integrate the SceneBuilder in my application, too.
So i started to create a perspective with different views for the Scene Builder components which are exposed by the API. Below you can see the first result using a MultiPageEditor to display the JavaFX canvas and the FXML source.
I have to resolve some bugs in the implementation and the API is quite new so maybe some thing will be changed. However an integrated GUI builder shipped with Bio7 would be a great win to create custom views inside of one application.
Today i tried Bio7 1.7.1 with the new Eclipse 4.4M3 platform and it didn’t look bad. There are some minor UI bugs/defects and missing implementations (detached views, e.g.) but i’m quite confident that these bugs will be resolved soon by the Eclipse team. At all this is huge improvement to 4.3 which was not usable with my RCP application. Here a first screenshot:
As you can see some controls and menus are not in the right place. But at all 4.4 will be a huge UI improvement.
Finally i released Bio7 1.7.1 for MacOSX. This release is bundled with a Java Runtime Environment and the latest R version (3.0.2) for MacOSX. For the plot functionality eventually XQuartz has to be installed (if not already installed!).
Please note the installation requirements at the bottom of the page. Here are some screenshots for a first impression:
- MacOSX >=10.7.3 64-bit
- Eventually XQuartz
- Avoid blanks in the Bio7 installation path for the bundled JRE (Java Runtime Environment)
Eventually XQuartz has to be installed to use the default custom R plotting device of Bio7 on MacOSX. If you plot the first time with R and XQuartz is not available a dialog will inform you about the missing installation.
Simply unpack the Bio7_1.7.1_Mac64.zip in your preferred location. A double-click on the Bio7 file in the created Bio7 folder will start the application from the local bundled JRE.
If you would like to use Bio7 with your installed R application:
Please install the Rserve package. After the Bio7 start adjust the path to R in the Bio7 Preferences.
You can get the path from the R application with the command:
E.g. path to R: /Library/Frameworks/R.framework/Resources. Also adjust the path to the install location of the R packages:
Preferences->Preferences Bio7->Preferences Rserve
You can get the path from your R installation by evaluating the expression
in the R console. If an error is indicated in the Bio7 preferences please adjust wrong paths to the correct location or adjust them to a temporary available location else you can’t save the preferences.
For an overview of the new Bio7 features in this release please read the following posts:
New in Bio7 1.7
New in Bio7 1.7.1
Bio7 1.7.1 can be downloaded here.