[Top][All Lists]
[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