pivot-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From calathus <calat...@gmail.com>
Subject Re: Pivot, Scala, Gradle, Life, the Universe and Everything
Date Sat, 29 Jan 2011 09:26:13 GMT
This kind of requirement may be better understood from Java based Pivot
programing(that is what I'm doing).
When we write GUI application in Java, the most important part is GUI
application logic (description of user interaction), not layout.
So we don't want to bother with layout in Java code level, also some GUI
object should be determined by the data type used in the application. For
instance, if type is boolean, we may want to map to check box etc. And if we
want to change these data type, we should not have to modify the layout(most
of case) file.
But if these information is defined in BXML files, it creates dependency
between Java code and BXML file.

Essentially we may consider this as 'separation of concern' in AOP sense.
In particular, when implementing CRUD library with Pivot,  if we write
separate BXML files for each entity class(for form pane and table pane
respectively), when the bean data type is changed, we must change all BXML
files. That is quite painful. if layout info and programming logic are
cleanly separated, this will not be necessary.

there are a few annoyance for BXML.
1) There are no default layout setting value mechanism.
2) some basic table pane (such creating two columns, three etc, are going to
be quite messy Java code(even BXML, it will be the same) Hard to understand
the layout from Program.
3) often if we remove terminal GUI object info from BXML(replace by
bxml:ref), the layout description will be much shorter.(if we introduce
special syntax for layout, it will be very short)
4) Actually one request(or supported?) is the ability to assign attribute
for a referenced object.(e.g, <bxml:ref id=abc width="20" ...> so that these
layout information can be set for the objects created outside of BXML.

The idea to make application logic independent from specific GUI library is
something I consider interesting but not so urgent. But if we only need to
use basic GUI component, and working in higher level API, it may be possible
to deploy same GUI application on different mode like desktop, browser,
The idea is somehow similar to the idea of ORM  tools(like JPA).

On Fri, Jan 28, 2011 at 3:53 PM, Greg Brown <gk_brown@verizon.net> wrote:

> > Whether it is component or not are not matter here like block is
> expression or not. In other word it matters whether it is terminal element
> or not.
> Why? The whole point of BXML is constructing a hierarchy, and hierarchies
> generally consist of both leaves and branches. I can't imagine what benefit
> excluding the leaves would offer.


View raw message