pivot-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Brown <gkbr...@mac.com>
Subject Re: [jira] Resolved: (PIVOT-542) enable the serializer to initialize components written in java code
Date Wed, 23 Jun 2010 18:40:46 GMT
> The seriliazer already plays the initialization role. 

The serializer is the creator and the initializer. In the model you suggest, it is only the
initializer - the new keyword is used to create the object. This is inconsistent. If you only
need initialization, you should use the bind() method.

> My understanding is that skins are views. Components are model/controllers.
> The view should not be loading user data and other child content into the
> mode/controller so I'm not sure I would agree that the skin should be doing
> this at all because part of the initialization is also Component data such
> as userData.

Skins shouldn't get involved in the model data, but they are allowed to add sub-components.
For example, all composite component skins do this (Spinner, ScrollBar, Frame, etc.).

> With the editor, there are a few ways to do this. This is actually a very
> direct approach. In the thoughts below, I am still forced, at a minimum, to
> use an interface and for me to write code for wiring. I'm not against
> writing code but when the serializer can do it naturally, that's a win.

The problem is that the suggested modifications to the serializer are not natural because
they don't fit in with the overall design of the framework.

> It took me awhile to understand why I
> had to always had to do extra work with includes or setting left and right
> children in code until I realized that the serializer should be doing it for
> me.

Again, in frameworks that compile to classes, this makes sense. When I define MyClass.xaml
and MyClass.cs, they are both combined such that the following both instantiates and initializes
the class:

  MyClass myClass = new MyClass();

But this doesn't work for BXMLSerializer.

View raw message