On 2/10/07, Johannes Schmid <[EMAIL PROTECTED]> wrote: > Hi! > > I guess I still did not get correctly how gda_parameter_set_not_null() > should work. I have written a (C++) example to show a form with four > fields and set one to be mandatory. Anyway, there are two fields that > have a mandatory star but not the one I set to mandatory. > > Maybe you can have a look. The method names are exactly the same as in C > but I also can recode this in C if it makes it easier for you to find > the problem. > > Example: > http://svn.gnome.org/viewcvs/gnomemm/libgnomedbmm/trunk/examples/form/mandatory/examplewindow.cc?rev=970&view=markup >
I believe the problem comes from the fact that you create a new GdaDataModelIter object (Glib::RefPtr<Gnome::Gda::DataModelIter> iter = m_model->create_iter();) instead of using the one from the form itself. The GnomeDbForm widget wraps a GnomeDbRawForm (which is in fact a GnomeDbBasicForm and some code to sync. the displayed values with a data model) and a toolbar, and for the GnomeDbBasicForm, it creates a new GdaDataModelIter from the data model to display values from. That iterator is used by the GnomeDbBasicForm to display starts for non null values and to modify the values. Now if you create you own iterator, the form does not know about it, and does not use it. You should first create your form, then obtain the GnomeDbRaw form from it, then get a pointer to the GdaDataModelIter ised by the form using gnome_db_data_widget_get_current_data(raw). Cheers, Vivien _______________________________________________ gnome-db-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gnome-db-list
