Re: [gtkmm] Variable maps and spin buttons
- From: Martin Schulze <martin-ml hippogriff de>
- To: Carl Nygard <cjnygard fast net>
- Cc: Robert Zeh <rzeh efs-us com>, alberto paro homeunix org, gtkmm <gtkmm-list gnome org>
- Subject: Re: [gtkmm] Variable maps and spin buttons
- Date: Tue, 31 Aug 2004 22:45:14 +0200
Am 31.08.2004 22:15:44 schrieb(en) Carl Nygard:
On Tue, 2004-08-31 at 15:25, Martin Schulze wrote:
> Am 27.08.2004 23:44:38 schrieb(en) Alberto Paro:
> > Robert Zeh Wrote:
> > > Has anyone thought of extending the Glade::VariablesMap class
to
> > handle
> > > associations between integers and GtkSpinButtons?
> > >
> > Today I've extended Glade::VariablesMap, now it handles:
> > * Entry,
> > * ComboTextEntry,
> > * SpinButton,
> > * *Scale,
> > * Calendar
> > * CheckBox
> >
> > Tomorrow I'll post the patch on bugzilla.
> >
> > -----------------
> > Now I'm managing to connect slot to a widget.
> >
> > for example:
> >
> > /** This connect a glade button to a slot
> > *
> > * For instance:
> > * @code
> > * refXml->connect_button("button", sigc::mem_fun(*this,
> > &ExampleWindow::on_button_clicked) );
> > * @endcode
> > *
> > * @param name The name of the widget.
> > * @param pslot The slot to connect to.
> > */
> > void connect_button(const Glib::ustring& name, const
> > sigc::slot<void,const Gtk::Widget>& slot_);
> >
> >
> > But I'm studying sigc because I have not understand how to pass a
> > mem_fun to a function.
>
> You will want to use 'const sigc::slot<[signature]>&' as argument
type.
> The problem is that '[signature]' is not known i.e.
'connect_button'
> must be a template function. Also, the function needs eight
overloads
> to cover 0 to 7 template arguments. Note that you won't be able to
> create a type-safe implementation, i.e. passing a wrong slot type
won't
> result in an error at compile time but the executable will probably
> segfault.
I think his connect_button code is correct. The sigc::slot is for
connection to a button signal, and that's well defined by the widget.
So template args don't matter, there's only the slot signature that
he
defines as valid. Any other parameters must be SigC::bind'ed at
connect
time.
Right?
Right - as long as the method is not extended to cover signals that
provide arguments (the name in the patch is a more generic 'connect').
Regards,
Martin
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]