Boost logo

Boost :

Subject: Re: [boost] Thoughts for a GUI (Primitives) Library
From: Yakov Galka (ybungalobill_at_[hidden])
Date: 2010-09-06 17:09:30


Hi Gwenio,

On Mon, Sep 6, 2010 at 22:28, Gwenio <urulokiurae_at_[hidden]> wrote:

> In the end the usefulness of these events comes down to how the library is
> designed.
>

Right, so design the library first.

On Mon, Sep 6, 2010 at 22:07, Gwenio <urulokiurae_at_[hidden]> wrote:

> [...]
> For this initial stage, I am sticking to the "multi-platform interface".
> Higher level stuff will come later, if a design can be agreed to.
>

Yes, I think that all of us understand your intent, so you don't have to
repeat it again. The problem is that there are *already* many low-level
libraries with "multi-platform interface" (wxWidgets, Qt, omgui, gtkmm, and
more...). To do a better design you should analyze why their design is
wrong, what problems you want to solve and come up with a design that solves
these problems. Almost everything you said till now doesn't differ
conceptually from existing libraries, except the iostream analogy which is
good and reminds Notus ideas.

I've been for the quest of "how a good gui library should look" for about a
year. However I could tell only counter-examples for a good library. I still
don't have a grasp of the whole design. It's good that you opened this
conversation here because:
1) As Daniel said two people is the perfect size of a team to agree on a
design, however making a good design requires much more thought, IMO.
2) Some libraries that people mentioned here and I wasn't aware of, added to
my understanding of the topic (again: notus, Adam&Eve).

My claim is that you should think of higher level stuff and the low-level
will come later. Think of event passing and model/view binding. Think of
what concept should be there to make it possible to the same logic to
operate with a dialog with "native" look, "uniform" look or even drawn with
OpenGL on a single canvas in some computer game menu. How to design these to
make all the three co-exist in a single application?

Yakov


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk