void RemoveStackPageAction::slotTriggered() { if ( !KexiUtils::objectIsA(m_receiver, "QStackedWidget") && /* compat */ !KexiUtils::objectIsA(m_receiver, "QWidgetStack")) { return; } QStackedWidget *stack = qobject_cast<QStackedWidget*>(m_receiver); QWidget *page = stack->currentWidget(); QWidgetList list; list.append(page); KFormDesigner::Command *com = new KFormDesigner::DeleteWidgetCommand(*m_container->form(), list); // raise prev/next widget int index = stack->indexOf(page); if (index > 0) { index--; } else if (index < (stack->count()-1)) { index++; } else { index = -1; } if (index >= 0) { stack->setCurrentIndex(index); } stack->removeWidget(page); m_container->form()->addCommand(com); }
void InsertPageCommand::undo() { QWidget *page = m_form->objectTree()->lookup(m_name)->widget(); QWidget *parent = m_form->objectTree()->lookup(m_parentname)->widget(); QWidgetList list; list.append(page); KFormDesigner::Command *com = new KFormDesigner::DeleteWidgetCommand(*m_form, list); QByteArray classname = parent->metaObject()->className(); if (classname == "KFDTabWidget") { TabWidgetBase *tab = dynamic_cast<TabWidgetBase*>(parent); tab->removeTab(tab->indexOf(page)); } else if (classname == "QStackedWidget" || /* compat */ classname == "QWidgetStack") { QStackedWidget *stack = dynamic_cast<QStackedWidget*>(parent); int index = stack->indexOf(page); if (index > 0) index--; else if (index < (stack->count()-1)) index++; else index = -1; if (index >= 0) stack->setCurrentIndex(index); stack->removeWidget(page); } com->execute(); delete com; }
void SplitGrid2::setCell(QWidget * w, int row, int col) { Q_ASSERT( w != 0 ); QStackedWidget* cell = getCellImp( row, col ); Q_ASSERT( cell != 0 ); if( cell->count() > 0 ) cell->removeWidget( cell->widget(0) ); cell->addWidget( w ); }
SEXP qt_qremoveWidgetFromStack(SEXP x, SEXP index) { int i = asInteger(index); QStackedWidget *s = unwrapQObject(x, QStackedWidget); QWidget *w; if (i > 0 && i <= s->count()) { w = s->widget(i - 1); s->removeWidget(w); return wrapQWidget(w); } return R_NilValue; }
static void recreate_instruments_widget_from_state(vector_t *state){ QStackedWidget* tabs = instruments_widget->tabs; while(tabs->count()>0) tabs->removeWidget(tabs->currentWidget()); //vector_t *names = (vector_t*)state->elements[0]; vector_t *pages = (vector_t*)state->elements[0]; for(int i=pages->num_elements-1; i>=0; i--){ QWidget *page = (QWidget*)pages->elements[i]; tabs->insertWidget(0,page);//,(const char*)names->elements[i]); } tabs->setCurrentWidget((QWidget*)state->elements[1]); }
void QStackedWidgetProto::removeWidget(QWidget *widget) { QStackedWidget *item = qscriptvalue_cast<QStackedWidget*>(thisObject()); if (item) item->removeWidget(widget); }