Re: [gtkmm] Variable maps and spin buttons



On Tue, 2004-08-31 at 16:45, Martin Schulze wrote:
> 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').

Right, I get it.  My bad.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]