dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DotGNU]The Abstract GUI


From: minddog
Subject: Re: [DotGNU]The Abstract GUI
Date: Sun, 9 Mar 2003 08:05:13 -0700
User-agent: KMail/1.5.9

On Saturday 08 March 2003 08:03, Peter Minten wrote:
> Hi folks,
>
> mdupont and I talked on IRC today about a way to get rid of the toolkit
> incompatibility problem (you can't run a Qt app with GTK) for DotGNU.
> Mdupont devised a scheme to place a toolkit independant GUI description in
> a file and send it to the client that displays the GUI using it's preferred
> toolkit. The following is my implementation of that idea.

I believe we had gone over this a while ago, but in a bigger picture.  This 
brought us to look at metawrap(www.metawrap.com) being a component of the 
DotGNU Suite.  
> First a little terminology:
> AGS: Abstract GUI Specification: the spec (for now this email).
> AGD: Abstract GUI Description: the file that is send to the client.
> AGC: Abstract GUI Converter: the program/lib that converts the GUI
> description into a real GUI.
All necessary concepts...
> The Abstract GUI system is based on the idea that all popular GUI's share
> common elements like textboxes and buttons. Another similarity is that all
> popular GUI's are event based. A third similarity is that all popular GUI's
> use containers for layout. That's enough similarity for a pretty decent
> abstract GUI that will work well on all toolkits.
You might run into problems with things like SDL, GDI, and weird components 
that aren't available across all toolkits.
> Now an example of the AGD, simple hello world:
> 1  <gui>
> 2    <widget type="vbox"> <!-- Vertical container -->
> 3      <children>
> 4        <widget type="label" value="Push the button to quit"/>
> 5        <widget type="button" name="Button1" value="Hello world">
> 6          <events>
> 7            <event name="Clicked">
> 8          </events>
> 9        </widget>
> 10     </children>
> 11   </widget>
> 12 </gui>
You've described the way XWT looks (www.xwt.org)  Take a look at how they 
developed their syntax.

I think if we spend the time to develop this idea with metawrap, using the 
already developed concepts, we can solve the whole problem of toolkit 
dependency.  This is a monumentous task IMHO, that can only be acheived with 
precision design, good luck! =)

regards,
-- 
--minddog( Adam Ballai )

"I try to take it one day at a time, but several of them attack me at once."
-mistyflip


reply via email to

[Prev in Thread] Current Thread [Next in Thread]