Esempio n. 1
0
Selection filterSelections(
        T* pressedModel,
        Selection sel,
        bool cumulation)
{
    if(!cumulation)
    {
        sel.clear();
    }

    // If the pressed element is selected
    if(pressedModel->selection.get())
    {
        if(cumulation)
        {
            sel.erase(pressedModel);
        }
        else
        {
            sel.insert(pressedModel);
        }
    }
    else
    {
        sel.insert(pressedModel);
    }

    return sel;
}
Esempio n. 2
0
void InspectorPanel::on_tabClose(int index)
{
    auto inspector_widget = static_cast<InspectorWidgetBase*>(m_tabWidget->widget(index));
    // TODO need m_tabWidget.movable() = false !

    Selection sel = m_currentSel;
    sel.erase(inspector_widget->inspectedObject());

    m_selectionDispatcher.setAndCommit(sel);
}