With one big push the work I did on ALM (Auckland Layout Model) while I was at the University of Auckland is now in the main Haiku repo. In short, I’ve brought the BALMLayout up to standard with the other layouts in Haiku, and added some new features as well.
As part of my work at the University of Auckland (which is drawing to a close soon) I have been looking at Java on Haiku. There is already some support for Java on Haiku. By running installoptionalpackage DevelopmentJava you can get the JamVM java virtual machine, GNU Classpath (including gjar, gjavah and maybe some other utilities), and ecj (the Eclipse Java compiler, which is written in Java). This is enough to run and compile basic Java apps.
As was announced a little while ago, I recently got the opportunity to travel to Auckland, New Zealand to do some Computer Science research at the University of Auckland (UoA) with Christof Lutteroth and Gerald Weber (two professors here). Actually, it’s not so much ‘recently’ as it is ‘currently’, since I’m still here! Christof has been interested in Haiku for a while, and has already done some research using Haiku. Stack and Tile, for instance, started as a research project here, as did the BALMLayout layout class.
It’s been a long time coming, and they’re still not done, but I’ve committed some initial documentation for the Layout API. For the curious, you can access the documented classes here, there is also an introduction to building a GUI with the Layout API here. If you happen to find a typo, or inaccurate info, please contact me so I can fix it. Finally, note that, like the documentation, the Layout API is not yet finalized.
I noticed the other day that I had a comment below my previous blog post, I didn't have time to reply that day, the next day I was in bed sick, but TODAY, I can reply!
In the comment, AndrewZ asked if I could post some of my unit testing code, and I thought that would make for an interesting blog post, and here one is.
Here is my first blog post about my progress so far for my gsoc project, a little later than it should be, but at least it's here!
So, what have I been working on? Two things, basically: archiving with cross-references, and view-less layouts.
I've been chatting with my mentor and things are getting revised fairly quickly, so instead of writing about implementation, I'll write about the ideas and results of what I'm working on!
Project Outline
My GSoC project revolves around polishing and preparing Haiku's Layout API for public consumption. Currently, this is only supposed to be used in Haiku's included applications, so third party applications must manually position and resize all their GUI elements, which can be really tedious and inflexible. I will also be modifying some Haiku-provided applications to use the Layout API, which will help me find bugs and help with Haiku's ongoing localization.