Ethereal-dev: Re: [Ethereal-dev] Ethereal GUI

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Erwin Rol <mailinglists@xxxxxxxxxxxx>
Date: Tue, 18 Nov 2003 00:30:33 +0100
On Tue, 2003-11-18 at 00:04, Gerald Combs wrote:
> On Mon, 17 Nov 2003, Ulf Lamping wrote:
> 
> > Well, that would be nice to look at. But please keep in mind, that 
> > making different GUIs for different platforms will force people to 
> > maintain different frontends at once, even if they don't have that 
> > platform by hand. Currently, you will write code for the GTK, and it
> > will work (hopefully) on all supported platforms. 
> > The risk of forking the GUI code seems to become a maintenance 
> > *nightmare* and could slow down development of new features a lot...
> 
> ...and so the nightmare begins. :)  As a proof of concept I've cobbled
> together some Python code that reads XUL interface definitions and
> generates native Windows C SDK code.  It combines the redeeming (to me,
> at least) aspects of Mozilla's XPFE and AbiWords Application Framework.

Do i understand right that you wrote a Python program that generates
WIN32-SDK code ? If so than it sounds like the work of maintaining two
or more GUI's moved to maintaining two of more GUI-code generators (one
for WIN32, one for GTK, etc. ). If not than i don't really understand
what you did :-)

> 
> The autogenerated code has been combined with some hand-written code
> and linked with the rest of Ethereal to create an application with a
> native look and feel.  It isn't much more than a toy at the moment --
> it can only open a file and display a packet list, but it looks promising.
> 
> This method has the following advantages:
> 
> - The interface layout is easy to change, since it's defined by the
>   XUL files.
> 
> - Much (but not all) of the code is automatically generated.
> 
> - Frontends are truly native, and can be tweaked extensively.
> 
> New features will require new code for each platform, but this can
> hopefully be minimized with the use of generated code.
> 
> Does this seem like a viable approach?  If so, I'll keep plodding along.
> If not, speak up 'cause I finally have time to devote to a cross-platform
> frontend and I'd _really_ like to use it effectively.

One thing that i think is still important is to make it possible to
write separate ( outside the Ethereal source tree, and not by the
Ethereal team) GUI's, by having a well defined interface to the Ethereal
core that somehow is put in a DLL/SO. Comparable to the frontends of GDB
(although the GDB interface is a disaster), you have DDD, xgdb, kgdb
etc. 

- Erwin

-- 
       Erwin Rol Software Engineering - http://www.erwinrol.com/