Exemple #1
0
void ExtendedTabWidget::onCloseAllDocuments()
{
    QWidget* w = widget(0);
    while (w)
    {
        if (!onCloseWindow(w))
            return;
        w = widget(0);
    }
    tabsUpdate();
}
Exemple #2
0
int ExtendedTabWidget::addSubWindow(EditorInterface* window)
{
    QWidget *widget = window->widget();
    Q_ASSERT(widget != 0);

    int curr = currentIndex();
    int index = QTabWidget::insertTab(curr + 1, widget, window->icon(), tabTextFor(widget));
    widget->installEventFilter(this);
    widget->setAttribute(Qt::WA_DeleteOnClose, true);
    setCurrentWidget(widget);
    tabsUpdate();
    return index;
}
Exemple #3
0
bool ExtendedTabWidget::closeWindow(QWidget* wnd)
{
    Q_ASSERT_X(wnd,
               "bool ExtendedTabWidget::close(int index)",
               "Can't get window");

    if(wnd->close())
    {
        emit tabBeforeClose(wnd);
        removeTab(indexOf(wnd));
        delete wnd;
        tabsUpdate();
        return true;
    }

    return false;
}