Re: 'reloading' gtktreeview when model changes drastically
- From: Paul Davis <paul linuxaudiosystems com>
- To: Philip Van Hoof <spam pvanhoof be>
- Cc: GTK+ development mailing list <gtk-devel-list gnome org>, gtk-list gnome org, gtk zevv nl, Kristian Rietveld <kris gtk org>
- Subject: Re: 'reloading' gtktreeview when model changes drastically
- Date: Sat, 04 Aug 2007 16:51:20 -0400
On Sat, 2007-08-04 at 17:00 +0200, Philip Van Hoof wrote:
> The model itself is the source. The view is just a viewer for it. The
> source itself doesn't change. The content of the source changes. The
> view, being an observer of the model in the MVC paradigm, should adapt
> to the changes. It should not require a sudden set and unset of its
> model.
I'm a big user of MVC. Although on some level I agree with you, I would
ask what the difference is between:
void gtk_treeview_freeze (GtkTreeView* tv) {
/* store model in tv, then unset */
}
void gtk_treeview_thaw (GtkTreeView* tv) {
/* reset model in tv */
}
and just calling gtk_treeview_set_model (NULL) and
gtk_treeview_set_model (NOTNULL).
there are additional issues: freeze/thaw semantics require use of a
counter, so that, for example, if 3 nested contexts call "freeze", only
the 3rd subsequent call to "thaw" actually unfreezes. contrast this to
the simplicity of code in which only the top level sets+unsets the
model, and all lower levels act on the model regardless of whether its
connected to a view or not.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]