void ControllerEventsRuler::eventRemoved(const Segment*, Event *event) { // Segment observer notification of a removed event // Could be an erase action on the ruler or an undo/redo event // Old code did this ... not sure why // clearSelectedItems(); // if (isOnThisRuler(event) && !m_moddingSegment) { eraseControlItem(event); update(); } }
void PropertyControlRuler::elementRemoved(const ViewSegment *, ViewElement *el) { if (el->event()->isa(Note::EventRestType)) return ; RG_DEBUG << "PropertyControlRuler::elementRemoved()"; for (ControlItemMap::iterator it = m_controlItemMap.begin(); it != m_controlItemMap.end(); ++it) { if (PropertyControlItem *item = dynamic_cast<PropertyControlItem*>(it->second)) { if (item->getEvent() == el->event()) { // m_controlItemList.erase(it); // m_selectedItems.remove(item); // delete item; eraseControlItem(it); RG_DEBUG << "Control item erased"; break; } } } update(); }
void ControlRuler::eraseControlItem(const Event *event) { ControlItemMap::iterator it = findControlItem(event); if (it != m_controlItemMap.end()) eraseControlItem(it); }