if (_stripables.insert (ss).second) {
DEBUG_TRACE (DEBUG::Selection, string_compose ("added %1/%2 to s/c selection\n", s->name(), c));
- /* send per-object signal to notify interested parties
- the selection status has changed
- */
- if (s) {
- PropertyChange pc (Properties::selected);
- s->PropertyChanged (pc);
- }
send = true;
} else {
DEBUG_TRACE (DEBUG::Selection, string_compose ("%1/%2 already in s/c selection\n", s->name(), c));
if (send) {
send_selection_change ();
+ /* send per-object signal to notify interested parties
+ the selection status has changed
+ */
+ if (s) {
+ PropertyChange pc (Properties::selected);
+ s->presentation_info().PropertyChanged (pc);
+ }
}
}
if (i != _stripables.end()) {
_stripables.erase (i);
DEBUG_TRACE (DEBUG::Selection, string_compose ("removed %1/%2 from s/c selection\n", s, c));
- /* send per-object signal to notify interested parties
- the selection status has changed
- */
- if (s) {
- PropertyChange pc (Properties::selected);
- s->PropertyChanged (pc);
- }
send = true;
}
}
if (send) {
send_selection_change ();
+ /* send per-object signal to notify interested parties
+ the selection status has changed
+ */
+ if (s) {
+ PropertyChange pc (Properties::selected);
+ s->presentation_info().PropertyChanged (pc);
+ }
}
}
_stripables.clear ();
_stripables.insert (ss);
DEBUG_TRACE (DEBUG::Selection, string_compose ("set s/c selection to %1/%2\n", s->name(), c));
- /* send per-object signal to notify interested parties
- the selection status has changed
- */
- if (s) {
- PropertyChange pc (Properties::selected);
- s->PropertyChanged (pc);
- }
}
send_selection_change ();
+
+ /* send per-object signal to notify interested parties
+ the selection status has changed
+ */
+ if (s) {
+ PropertyChange pc (Properties::selected);
+ s->presentation_info().PropertyChanged (pc);
+ }
}
void
}
if (send) {
+ send_selection_change ();
+
PropertyChange pc (Properties::selected);
for (std::vector<boost::shared_ptr<Stripable> >::iterator ss = s.begin(); ss != s.end(); ++ss) {
- (*ss)->PropertyChanged (pc);
+ (*ss)->presentation_info().PropertyChanged (pc);
}
- send_selection_change ();
}
}
_stripables.insert (ss);
}
- std::cerr << "set state: " << _stripables.size() << std::endl;
-
return 0;
}