[Laszlo-dev] publishing the lz.* names (LPP-6600)
André Bargull
a.bargull at intensis.de
Tue Jul 8 07:49:46 PDT 2008
>
> lz.BrowserService = LzBrowserService
This mapping does not exist. There is just "lz.Browser" which is the
shorthand form for "LzBrowserService.LzBrowser".
So, we got only 3 types of mapping:
1) tagname to classname (lowercase)
2) singletons (camelcase)
3) "lz.embed" (lowercase, but not a tagname)
And we need to decide how to add:
- css-classes (LzCSSStyleSheet, LzCSSStyleRule, LzCSSStyleClass,
LzCSSStyleDeclaration) /(are all css-classes public?)/
- data-classes (LzDataNode, LzDataNodeMixin, LzDataElement,
LzDataElementMixin, LzDataText)
- core-/event-classes (LzEventable, LzDeclaredEventClass, LzEvent,
LzDelegate)
- LzFont (documented as a tag, but not implemented as a subclass of
LzNode..)
- other (LzURL, LzFormatter)
to the "lz"-object (see
"http://www.openlaszlo.org/jira/secure/attachment/12000/LPP-6613.pdf").
> I'd say keep the camel case for non-tag classes (services). So, it'd
> be "lz.view" and then "lz.BrowserService" etc. All LFC tag, public API
> classes, and public objects wind up under "lz.", but only tag names
> are declared as lower case.
>
> Q: Does there even need to be an "LzView" or "LzBrowserService" for
> purposes other than supporting old code? In other words, why is a map
> or transform needed at all if the tag classes can be declared as
> lz.view and used that way throughout the LFC, while lz.BrowserService
> et al are declared that way?
>
> [This whole thing needs a shakeout in the context of namespaces and
> packages... someday...]
>
> On Jul 7, 2008, at 4:51 PM, P T Withington wrote:
>
>
>> > On 2008-07-07, at 19:26 EDT, David Temkin wrote:
>> >
>>
>>> >> I think we want to prefer the tag name of the LFC class to the
>>> >> "new" class name (upper/lower) -- always.
>>> >>
>>> >> meaning, it's "lz.view" instead of "lz.View"... "lz.inputtext"
>>> >> instead of "lz.InputText", and so on
>>> >>
>>> >> What would the implications of this change be, other than changing
>>> >> the (new) left nav?
>>>
>> >
>> > We're working on that.
>> >
>> > The question on the table is whether we should be distinguishing
>> > 'tag classes', 'other LFC public API classes', and 'LFC public API
>> > objects' by casification in the `lz` namespace, or if they should
>> > just all be uniformly lowercased.
>> >
>> > Currently 'tag classes' are referred to by their lowercase tagname
>> > (e.g., lz.view = LzView), singletons and the class they are
>> > instantiated from are camel-cased (e.g., lz.Browser =
>> > LzBrowserService.LzBrowser and lz.BrowserService = LzBrowserService).
>> >
>> > Having this non-uniform mapping means we have to manually create and
>> > maintain the map or the doc tool has to be smart enough to spot the
>> > creation of `lz` entries. In either case, I don't think we are
>> > going to completely solve the terminology issue in time for a 4.1.1,
>> > since we would have to revise all the prose documentation, in
>> > addition to making the doc tool make the appropriate transformation
>> > on the generated reference.
>>
More information about the Laszlo-dev
mailing list