Hello
Here is a short to-do list:
1. Win32: windows should be created at the smallest possible size. They
should automatically resize when recalculate_layout is called (probably
because a widget was added) iff they are not already large enough for
their contents.
2. Some "trivial" widgets:
a) gui::frame (a visible border with an optional title)
b) gui::checkbox (just like a button, except the signal should
indicate its state)
c) gui::divider (user-draggable horizontal or vertical divider)
3. Some "intermediate" widgets, requiring a little thought
a) gui::tabset (tab control - no need for an iterator interface to
this one)
b) gui::radiobutton and gui::radiogroup (I think these should behave
much like they do in HTML, i.e. buttons should have values, and the
group signals the current value).
4. Some "difficult" widgets, requiring a lot of thought
a) gui::list (I'm working on it)
b) gui::menu
c) gui::selection (MVC or static?)
5. Lots of documentation to be written, although I'd like to stabilize
the APIs before investing a lot of time in that.
6. Decide between owner-document and free widget models.
7. Some things that I think belong in distinct libraries, mostly because
they're subject to featuritis:
a) A drawing surface (2d, 3d?)
b) A multi-line text editor
c) bitmap buttons
8. Getting it to build on different platforms.
9, Adding new backends, although I think between Win32 and GTK, we've
got 99% of the desktops out there covered. I would like to see things
like PalmOS backends, though. In fact, I have a Tungsten, so I may just
write one myself :-).
Any and all input is appreciated.
Regards
David Turner
|