Wednesday, February 27, 2008

Automatic User Interface Generator: Metawidget v0.4

Version 0.4 of Metawidget, the automatic user interface generator, is now available. This release concentrates on polishing, based on feedback from the previous release:

  • support for suppressing labels
  • support for Jetty
  • bug fixes; and
  • more unit tests
As before, the best place to start is the Reference Documentation:

Your continued feedback is invaluable to us. Please download it and let us know what you think.

Tuesday, February 26, 2008

Suppressing Label Generation in Metawidget

Many Metawidget layouts add a label beside each component, and it is sometimes handy to tweak this on a per-row basis.

Take, for example, the Swing Address Book example from the tutorial:

Say we decide the Address and Communications labels under Contact Details are unnecessary. To remove them, we simply specify a blank label:

@UiLabel( "" )
public Address getAddress() {


And Metawidget collapses the left hand column:

This can be particularly useful within JTabbedPanes, collapsing this...


...to this:
To hide the label without collapsing the left hand column, use a ResourceBundle to localize the label name to a blank space.

Saturday, February 23, 2008

Element.getAttribute

To tell Metawidget's Inspectors we don't want a label on a field, ideally we'd like to do...

@UiLabel( "" )

...or...

<property name="foo" label="">

Unfortunately, according to the DOM Element.getAttribute specification, it does not distinguish between 'an attribute having no value (eg. foo="")' and 'an attribute not existing'. In both cases getAttribute returns an empty String.

So to be able to specify an empty String without it just being ignored as a non-existant attribute, we need to put a String with a space...

@UiLabel( " " )

...or...

<property name="foo" label=" ">

...which is a bit sucky I know.

Suggested improvements welcome :)

Update: After playing around with label="null" for a bit, I noticed DOM supplies an Element.hasAttribute method for this purpose, so you can differentiate after all.

Friday, February 22, 2008

Declarative User Interface Generation: Metawidget v0.35

Version 0.35 of Metawidget, the tool for declarative user interface generation, is now available. This release concentrates on polishing, based on feedback from the previous release:
  • Hibernate support
  • Upgraded Android support
  • Better support for types (byte, Byte, short, Short, etc.)
  • bug fixes; and
  • yet more unit tests :)
As before, the best place to start is the Reference Documentation:


Your continued feedback is invaluable to us. Please download it and let us know what you think.

Thursday, February 21, 2008

Automatically Generated JTabbedPane

Update: the APIs shown in this blog entry have changed slightly in newer releases of Metawidget. Specifically .setParameter has been replaced with a more typesafe mechanism. Please download the latest documentation from http://metawidget.org

The new release of Metawidget adds support for automatically generated JTabbedPanes to TableGridBagLayout. This is in response to a forum posting by Mark P Ashworth (thanks Mark!).

To take the Swing Address Book from the tutorial as an example, if you have...


...by setting a single parameter on the Metawidget...

m_metawidget.setParameter(
  "sectionStyle",
  TableGridBagLayout.SECTION_AS_TAB );

...you'll now get...


...note the Contact Details and Other sections are now arranged in a JTabbedPane.

Wednesday, February 13, 2008

Automated User Interface Generation from Metadata: Metawidget v0.3

Version 0.3 of Metawidget, the tool for automated user interface generation, is now available. This release concentrates on polishing, based on feedback from the previous release:

  • clearer documentation (eg. save the technical details until later)
  • more thorough unit tests; and
  • lower system requirements (eg. better support for J2SE 1.4)

As before, the best place to start is the Reference Documentation:

http://metawidget.org/doc/reference/en/pdf/metawidget.pdf

Your continued feedback is invaluable to us. Please download it and let us know what you think.

Tuesday, February 5, 2008

Automatic GUI Generator: Metawidget v0.2

I released version 0.2 of Metawidget, my automatic GUI generator, publically today (following a private v0.1 release to Mike for an early review - thanks Mike!). The best place to start is the Reference Documentation...


...which includes a detailed tutorial and plenty of screenshots :)

This is an important step in terms of having something to point people at to demonstrate my ideas, and to let them kick the tyres and provide feedback.

I'm under no illusions: it's a very long road ahead. But hopefully now I can foster a handful of people and a bit of a community to help along the way.