void Layer::removedWidget(Widget& widget) { if (activeWidget) { if (activeWidget == &widget || activeWidget->isChildOf(widget)) setActiveWidget(widget.parent); } if (hoveredWidget) { if (hoveredWidget == &widget || hoveredWidget->isChildOf(widget)) updateHoveredWidget(); } if (captureWidget) { if (captureWidget == &widget || captureWidget->isChildOf(widget)) releaseCursor(); } if (dragging) { if (draggedWidget) { if (draggedWidget == &widget || draggedWidget->isChildOf(widget)) cancelDragging(); } } }
void QSlidingFrame::nextWidget() { int w=m_ActiveWidget; w++; if (w>=Widgets.count()) w=0; setActiveWidget(w); }
void QSlidingFrame::previousWidget() { int w=m_ActiveWidget; w--; if (w<0) w=Widgets.count()-1; setActiveWidget(w); }
void GraphEditor::showEvent(QShowEvent *event) { //load our state monitor into the actions dock auto actionsDock = dynamic_cast<GraphActionsDock *>(getObjectMap()["graphActionsDock"]); assert(actionsDock != nullptr); actionsDock->setActiveWidget(_stateManager); this->updateGraphEditorMenus(); this->updateEnabledActions(); QWidget::showEvent(event); }
void MultiViewWidget::removeView() { ContainerWidget *container = qobject_cast<ContainerWidget *>(sender()); if (container) { QSplitter *splitter = qobject_cast<QSplitter *>(container->parent()); if (splitter && splitter->count() == 2) { // Get its parent, and insert the other widget into it, delete this widget. QSplitter *splitterParent = qobject_cast<QSplitter *>(splitter->parent()); QWidget *moveWidget = splitter->widget(0); if (moveWidget == container) moveWidget = splitter->widget(1); setActiveWidget(moveWidget); if (splitterParent) { int idx = splitterParent->indexOf(splitter); splitterParent->insertWidget(idx, moveWidget); splitter->deleteLater(); } else if (splitter->parent() == this) { // No more splits - back to single view widget. QVBoxLayout *layoutParent = qobject_cast<QVBoxLayout *>(layout()); if (layoutParent) { layoutParent->addWidget(moveWidget); layoutParent->removeWidget(splitter); splitter->deleteLater(); } } } else if (container->parent() == this) { // Delete the current container, and create the option container. QVBoxLayout *vLayout = qobject_cast<QVBoxLayout *>(layout()); container->deleteLater(); ContainerWidget *newContainer = createContainer(); vLayout->addWidget(newContainer); setActiveWidget(newContainer); } } }
void MainWindow::startSensorThread() { sensorThread = new SensorThread(); //QObject::connect(sensorThread, SIGNAL(receivedData(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>)), this, SLOT(printData(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>))); QObject::connect(sensorThread, SIGNAL(receivedData(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>)), this, SLOT(updateCursors(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>))); QObject::connect(sensorThread, SIGNAL(receivedData(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>)), getWidget(WidgetType::settingsWidget), SLOT(displayData(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>))); QObject::connect(sensorThread, SIGNAL(receivedData(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>)), getWidget(WidgetType::homeWidget), SLOT(switchMenu(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>))); QObject::connect(sensorThread, SIGNAL(receivedData(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>)), getWidget(WidgetType::desktopWidget), SLOT(switchMenu(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>))); QObject::connect(sensorThread, SIGNAL(receivedData(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>)), getWidget(WidgetType::galleryWidget), SLOT(displayData(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>))); QObject::connect(sensorThread, SIGNAL(connectionChanged(QString)), getWidget(WidgetType::loadingWidget), SLOT(updateSubtitle(QString))); QObject::connect(sensorThread, SIGNAL(initializationChanged(WidgetType)), this, SLOT(setActiveWidget(WidgetType))); QObject::connect(getWidget(WidgetType::homeWidget), SIGNAL(menuSelected(WidgetType)), this, SLOT(setActiveWidget(WidgetType))); QObject::connect(sensorThread, SIGNAL(finished()), sensorThread, SLOT(deleteLater())); for (int i = 0; i < widgetsList.size(); i++){ QObject::connect(sensorThread, SIGNAL(receivedData(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>)), widgetsList[i], SLOT(collapse(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>))); QObject::connect(widgetsList[i], SIGNAL(returnHome(WidgetType)), this, SLOT(setActiveWidget(WidgetType)));} sensorThread->start(); }
void MultiViewWidget::addWidget(QWidget *widget) { if (widget) { ContainerWidget *container = createContainer(widget); m_children << container; if (m_children.size() == 1) { QVBoxLayout *widgetLayout = qobject_cast<QVBoxLayout *>(layout()); if (!widgetLayout) { widgetLayout = new QVBoxLayout; widgetLayout->setContentsMargins(0, 0, 0, 0); setLayout(widgetLayout); } widgetLayout->addWidget(container); } widget->installEventFilter(m_activeFilter); setActiveWidget(widget); } }
void MultiViewWidget::createView() { QPushButton *button = qobject_cast<QPushButton *>(sender()); if (m_factory && button && button->parentWidget() && button->parentWidget()->parentWidget()) { QWidget *optionsWidget = button->parentWidget(); ContainerWidget *container = qobject_cast<ContainerWidget *>(optionsWidget->parentWidget()); if (container) { QWidget *widget = m_factory->createView(button->text()); if (widget) { widget->installEventFilter(m_activeFilter); container->layout()->removeWidget(optionsWidget); container->layout()->addWidget(widget); optionsWidget->deleteLater(); setActiveWidget(widget); } } } }