
Are you considering using the MVC pattern especially with respect to more complex controls such as list, trees and grids? Comparing it to Java, I
Yes the items contained in those controls. Think virtual mode where the control doesn't store items but requests the data as it is needed. That can save memory, load faster and be able to handle large number of items. Further, I was considering when the data changes in the model the view, ie. the control, is notified and when the control edits data than the model is notified. The MVC pattern encourages good OOP practices and the creation of reusable data sources. The following are good references. Java's Swing is a personal preference as it encourages the creation of reusable classes. Win32 C++ ListView: LVS_OWNERDATA, LVN_GETDISPINFO Java's Swing Trees: TreeModel, TreeModelListener Tables: TableModel, TableModelListener C# ListView: VirtualListSize, VirtualMode, RetrieveVirtualItem -----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Felipe Magno de Almeida Sent: Monday, June 15, 2009 9:33 AM To: boost@lists.boost.org Subject: Re: [boost] [rfc] cppgui On Mon, Jun 15, 2009 at 10:00 AM, Jarrad Waterloo<jwaterloo@dynamicquest.com> wrote: like
the architecture of Swing and SWT over the simple OS wrapper based architecture of GWT. Even the recent version of QT, I believe is using the MVC pattern. In a nut shell, data mapping and binding is preferable to adding data to a particular control and trying to keep the data in sync with the original source!
I'm not sure I follow your question. Do you mean with regard to the items contained in these controls? I'm working with an iterator-like interface. You can add and remove, the signals from user input return the iterator the item used. You just need to dereference it to see what it was. The MVC is implemented in cppgui as responses from signals. The signals would then be executed in another object, which implements the controller. [snip] -- Felipe Magno de Almeida _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost