On 6/25/06, Chris Vine <[EMAIL PROTECTED]> wrote: > On Sunday 25 June 2006 18:13, Joe Van Dyk wrote: > > On 6/25/06, Joe Van Dyk <[EMAIL PROTECTED]> wrote: > > > Hi, > > > > > > Say a user clicks a checkbox in a menu that affects three other parts > > > of the application. Would a signal be the best way to communicate > > > that change to the rest of the application? How would that work? > > > Would I create a custom signal or slot? How would the other parts of > > > the application listen to that signal? Would I create the slot and > > > then pass that slot to the other parts of the application (i.e. in a > > > constructor)? > > > > > > Sorry for the basic questions, but signals and slots and functors are > > > still confusing to me. > > > > > > I'm also a gigantic fan of unit testing -- are signals unit testable? > > > > Historically, I've hooked up a function to the clicked event of the > > check box. And that function calls member functions of the different > > objects in the application. So, signals aren't used for > > communication. But something about that seems smelly. > > I do not really understand what you are saying. sigc slots are just > callbacks, executed at the point the signal is invoked. Nothing "listens" to > them; they just execute when called, like any other function pointer or > functor or callback. > > If the callback function calls other member functions it does so because you > have coded the callback function to call the member functions.
"Ardour makes heavy use of libsigc++ as a way to provide anonymous coupling between components, particulular between the backend and user interface. The code makes heavy use of the Model-View-Controller programming model, and attempts to draw from the best work on programming pattern languages." From http://ardour.org/development . That's what I'm asking about. I wonder if I'm not understanding "anonymous coupling" correctly. Hm. Joe _______________________________________________ gtkmm-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gtkmm-list
