On Mon, 17 Nov 2003, Guy Harris wrote:
> Note, though, that menus would, at least in part, be per-platform; for
> example, "Preferences" would be under the "Ethereal" menu in Mac OS X,
> but under some other menu on other platforms. Multiple XUL files, in
> cases where there's a real UI difference due to different
> conventions/rules on different platforms, probably wouldn't be too bad
> (and if you can do the equivalent of #includes in XUL files - does
> SGML/XML support that? - there might be even more common code
> available).
XML has external entities (http://www.w3.org/TR/REC-xml#sec-external-ent)
and XInclude (http://www.w3.org/TR/xinclude/), either of which might fit
the bill. We could also use the C preprocessor and m4 if we wished.
> Can this handle "custom" widgets - or subclassing existing widgets? We
> might want to do that for the packet list, to implement, for example, a
> list where the text in the columns is supplied by callbacks and not
> even generated for packets that aren't visible.
It should. In the current code the packet list widget might be considered
custom, since it doesn't match the "listbox" element described at
http://www.xulplanet.com/references/elemref/. It looks like the proper
way to do this is to use a different namespace for custom elements, e.g.
"<ethereal:packetlist>".
> (Longhorn will have an XML-based language for GUIs:
>
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/
> dnfoghorn/html/foghorn10272003.asp
>
> and Mac OS X Interface Builder nib files are XML (I think there might
> also be a non-XML NeXTStEP format as well); it appears that Glade also
> uses XML, and Qt Designer uses - wait for it - XML to describe UI
> stuff. So who had that idea first? Mozilla? Or did somebody do it
> before them?)
The earliest XML interface definition language I ran across was UIML
(www.uiml.org).