[Laszlo-dev] For Review: Change 20080405-ptw-k Summary: Fix components that use JS classes
André Bargull
a.bargull at intensis.de
Sun Apr 6 10:13:41 PDT 2008
Btw, to be able declare something as "static" was also requested a few
times in the forum.
> The only other one I see is "uid", which may be possible to store
> some other way. Maybe we need a UID generator API for the LFC ?
There'll be another one: "_colorcache". Because I've just send a
changeset to declare it as static; atm it's implicitly static as it is
only defined on the prototype object.
On 4/6/2008 6:55 PM, Henry Minsky wrote:
> Or maybe we should add "static" as an option to declaring an
> <attribute> in LZX?
>
>
> On Sun, Apr 6, 2008 at 12:54 PM, Henry Minsky <henry.minsky at gmail.com> wrote:
>
>> I don't think we have any way to declare a static var in a LZX class.
>>
>> But maybe you don't need them? What does drawview have that needs to
>> be a static var?
>> The 'tagname' and 'attributes' declarations will be supplied by the
>> compiler automatically.
>> The only other one I see is "uid", which may be possible to store
>> some other way. Maybe we
>> need a UID generator API for the LFC ?
>>
>>
>>
>>
>>
>> On Sun, Apr 6, 2008 at 12:41 PM, André Bargull <a.bargull at intensis.de> wrote:
>> > Hm, I've just started to re-write drawview as a normal lzx-class, but I
>> > needed to suspend that idea after a few lines:
>> > The current lfc-like drawview implementation uses the "static" qualifier,
>> > but that's currently not available in the lzx-world, right!?
>> >
>> >
>> >
>> >
>> > On 4/6/2008 6:23 PM, André Bargull wrote:
>> >
>> > > Concerning drawview:
>> > > I guess that needs/should be rewritten nevertheless, because of the heavy
>> > use of "lz.drawview.addProperty(..)", not really a good JS2 class-style.
>> > >
>> > > Generally, what information do you need at compile time to add
>> > automatically that prefix "$lzc$class_" to a class name?
>> > > And how are lzx-interfaces processed by the compiler? Is that interface
>> > definition only needed for the tag-compiler, so it knows that i.e. drawview
>> > extends LzView and is has got a few attributes and methods. Or is it a 'real
>> > interface', like in Java?
>> > >
>> > >
>> > > On 4/6/2008 5:49 PM, P T Withington wrote:
>> > >
>> > > > I'm open to ideas, but there are a number of these conventions that you
>> > 'just have to know' if you are writing a class to implement a tag. It's not
>> > expected that the LZX programmer will be doing this -- they should just use
>> > the <class> tag, which will handle all these conventions for them.
>> > > >
>> > > > In these particular cases, what is really happening is that someone has
>> > effectively broken a piece of the LFC out as a component, so that it is only
>> > loaded when needed. And in this case, they have written an LFC-style class,
>> > which does require that they understand the inner workings of how an LFC
>> > class is used to implement a tag.
>> > > >
>> > > > On 2008-04-06, at 11:21 EDT, André Bargull wrote:
>> > > >
>> > > > > Approved, as usual I have no idea regarding the compiler-stuff, but
>> > hey, drawview works again!
>> > > > >
>> > > > >
>> > > > > > // Classes that implement an interface must obey the LZX
>> > > > > > // tag->class mapping convention
>> > > > > >
>> > > > > Should I file an improvement request, so the compiler will perform
>> > this mapping automatically, because writing "$lzc$class_foobar" isn't really
>> > intuitive.
>> > > > >
>> > > > >
>> > > > > On 4/5/2008 8:26 PM, P T Withington wrote:
>> > > > >
>> > > > > > Change 20080405-ptw-k by ptw at dueling-banjos.local on 2008-04-05
>> > 14:12:50 EDT
>> > > > > > in /Users/ptw/OpenLaszlo/ringding-clean
>> > > > > > for http://svn.openlaszlo.org/openlaszlo/trunk
>> > > > > >
>> > > > > > Summary: Fix components that use JS classes
>> > > > > >
>> > > > > > Bugs Fixed:
>> > > > > > LPP-5700 'drawview broken'
>> > > > > >
>> > > > > > Technical Reviewer: a.bargull at intensis.de (pending)
>> > > > > > QA Reviewer: promanik (pending)
>> > > > > >
>> > > > > > Details:
>> > > > > > NodeModel: Consider interfaces and mixins for getParentClassModel
>> > > > > >
>> > > > > > ClassModel: Store the 'kind' (class, interface, mixin), don't
>> > > > > > generate any code for interfaces (for now).
>> > > > > >
>> > > > > > drawview, richinputtext, lazyreplicator, replicator: Obey the new
>> > > > > > LFC tag class conventions.
>> > > > > >
>> > > > > > Tests:
>> > > > > > drawview examples work again
>> > > > > >
>> > > > > > Files:
>> > > > > > M WEB-INF/lps/server/src/org/openlaszlo/compiler/NodeModel.java
>> > > > > > M
>> > WEB-INF/lps/server/src/org/openlaszlo/compiler/ClassModel.java
>> > > > > > M lps/components/extensions/drawview.lzx
>> > > > > > M lps/components/extensions/views/richinputtext.lzx
>> > > > > > M lps/components/utils/replicator/lazyreplicator.lzx
>> > > > > > M lps/components/utils/replicator/replicator.lzx
>> > > > > >
>> > > > > > Changeset:
>> > http://svn.openlaszlo.org/openlaszlo/patches/20080405-ptw-k.tar
>> > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > > >
>> > > >
>> > >
>> > >
>> >
>>
>>
>>
>> --
>> Henry Minsky
>> Software Architect
>> hminsky at laszlosystems.com
>>
>>
>
>
>
>
More information about the Laszlo-dev
mailing list