|
Boost : |
Subject: Re: [boost] [rfc] cppgui
From: Tomas (pecholt_at_[hidden])
Date: 2009-06-22 08:12:56
I also agree that using MVC pattern for more complex controls like
tables and trees is a good thing because of its flexibility. On the
other hand there are situations where you only need to fill the
control with data and present it to the user. In such case using MVC
would mean redundant typying. So I would take inspiration from Qt
here. For example for a tree widget, there are two options: QTreeView
which has MVC interface and then QTreeWidget which inherits from
QTreeView, plugs default model and adds some easy interface for adding
items etc.
+1 for the named parameter interface which you introduced
Another very important aspect is layouting the controls. I think this
is so important feature it should be thought over in the beginning
(now). I have seen your examples and I saw you simply set position
and size for each widget. This is nice but it simply doesn't work for
real applications from 2 reasons:
- it's much simpler to set size constraints for widgets like maximum
size, stretching factor, borders and then let the layout system to
position and size widgets automatically than do the calculations and
repositioning yourself when something changes (like when user resizes
the dialog)
- if I understand it correctly your gui can be used to write
multiplatform code. Like one code for windows and linux
version of the app. But on every platform the sizes of individual
widgets are different, the default fonts are different and you
certainly don't want to be bothered with this.
For the start something like vertical/horizontal layout would be sufficient
It would be interesting to have an option to be be able to load GUI
definition from xml file. It would enable using GUI designers which
save time and also make code compile faster. But I understand it's
too early for such functionality.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk