void DkTransferToolBar::enableToolBar(bool enable) { QObjectList list = this->children(); for (int i = 0; i < list.count(); i++) { if (QWidget *action = qobject_cast<QWidget*>(list.at(i))) action->setEnabled(enable); } if (enable) mEffect->setOpacity(1); else mEffect->setOpacity(.5); }
void YGWidget::deleteAllSubuis() { QObjectList childList = children(); if(!childList.isEmpty()) { for (int i = 0; i < childList.size(); ++i) { YGWidget* wgt = qobject_cast<YGWidget*>(childList.at(i)); if(wgt) { wgt->deleteLater(); } } } }
void MainWindow::setWindowStatus() { //Set window title QString title; //title = QString("%1").arg(CInfo::AppNameShort()); title = QString("Visualize and Process"); setWindowTitle(title); //Set status bar //Set data file informations if(m_pDataWindow->getDataModel()->m_bFileloaded) { int idx = m_qFileRaw.fileName().lastIndexOf("/"); QString filename = m_qFileRaw.fileName().remove(0,idx+1); title = QString("Data file: %1 / First sample: %2 / Sample frequency: %3Hz").arg(filename).arg(m_pDataWindow->getDataModel()->firstSample()).arg(m_pDataWindow->getDataModel()->m_fiffInfo.sfreq); } else title = QString("No data file"); //Set event file informations if(m_pEventWindow->getEventModel()->m_bFileloaded) { int idx = m_qEventFile.fileName().lastIndexOf("/"); QString filename = m_qEventFile.fileName().remove(0,idx+1); title.append(QString(" - Event file: %1").arg(filename)); } else title.append(" - No event file"); //Set evoked file informations if(m_pAverageWindow->getAverageModel()->m_bFileloaded) { int idx = m_qEvokedFile.fileName().lastIndexOf("/"); QString filename = m_qEvokedFile.fileName().remove(0,idx+1); title.append(QString(" - Evoked file: %1").arg(filename)); } else title.append(" - No evoked file"); //Add permanent widget to status bar after deleting old one QObjectList cildrenList = statusBar()->children(); for(int i = 0; i< cildrenList.size(); i++) statusBar()->removeWidget((QWidget*)cildrenList.at(i)); QLabel* label = new QLabel(title); statusBar()->addWidget(label); }
static bool isChildOf(QWidget* child, QWidget *parent) { if (!child) return false; QObjectList list = parent->children(); for (int i = 0; i < list.size(); ++i) { QObject *obj = list.at(i); if (!obj->isWidgetType()) continue; QWidget *widget = static_cast<QWidget *>(obj); if (!widget->isWindow()) continue; if (widget == child || isChildOf(child, widget)) return true; } return false; }
void QSAEditor::completeQObject(const QVector<QObject *> &objects, const QString &object, QVector<CompletionEntry> &res) { for ( int i = 0; i < objects.count(); i++ ) { QObject *qobj = objects[ i ]; if ( !qobj ) continue; // children QObjectList clist; if ( qobj == qApp ) clist = interpreter()->topLevelObjects() != 0 ? *((QObjectList*)interpreter()->topLevelObjects()) : QObjectList(); else clist = qobj->children(); if ( !clist.isEmpty() ) { for (int ci = 0; ci<clist.size(); ++ci) { const QObject *o = clist.at(ci); CompletionEntry c; c.type = o->isWidgetType() ? "widget" : "object"; c.text = o->objectName(); c.postfix2 = o->metaObject()->className(); if ( !c.postfix2.isEmpty() ) c.postfix2.prepend( QString::fromLatin1(" : ") ); res << c; } } QSObject qsobj = interpreter()->wrap( qobj ); int flags = 0; if ( i == 0 ) flags |= IncludeSuperClass; completeQMetaObject( qobj->metaObject(), object, res, flags, qsobj ); } }
/* sets all children of the group box except the qt_groupbox_checkbox to either disabled/enabled */ void QGroupBoxPrivate::_q_setChildrenEnabled(bool b) { Q_Q(QGroupBox); QObjectList childList = q->children(); for (int i = 0; i < childList.size(); ++i) { QObject *o = childList.at(i); if (o->isWidgetType()) { QWidget *w = static_cast<QWidget *>(o); if (b) { if (!w->testAttribute(Qt::WA_ForceDisabled)) w->setEnabled(true); } else { if (w->isEnabled()) { w->setEnabled(false); w->setAttribute(Qt::WA_ForceDisabled, false); } } } } }
/*! \reimp */ QSize QSplitter::sizeHint() const { Q_D(const QSplitter); ensurePolished(); int l = 0; int t = 0; QObjectList childList = children(); for (int i = 0; i < childList.size(); ++i) { if (QWidget *w = qobject_cast<QWidget *>(childList.at(i))) { if (w->isHidden()) continue; QSize s = w->sizeHint(); if (s.isValid()) { l += d->pick(s); t = qMax(t, d->trans(s)); } } } return orientation() == Qt::Horizontal ? QSize(l, t) : QSize(t, l); }
void WidgetSizeHelper::setDefaultFontSize(QWidget* pWidget) { // we get all of pWidget's children QObjectList children = pWidget->children(); // for each child for ( int i = 0; i < children.length(); i++ ) { /* * we change its font size if it is of one of those types * * - QLabel * - QLineEdit * - QRadioButton * - QGroupBox * - QCheckBox * - QStatusBar */ QWidget* pChild = static_cast<QWidget*> ( children.at(i) ); if ( qobject_cast<QLabel*>(pChild) != NULL || qobject_cast<QLineEdit*>(pChild) != NULL || qobject_cast<QRadioButton*>(pChild) != NULL || qobject_cast<QGroupBox*>(pChild) != NULL || qobject_cast<QCheckBox*>(pChild) != NULL || qobject_cast<QStatusBar*>(pChild) != NULL ) { QFont lFont = pChild->font(); lFont.setPointSize(Constants::MAC_FONT_SIZE); pChild->setFont(lFont); } // and scan it, if it has children if ( ! pChild->children().isEmpty() ) { setDefaultFontSize( pChild ); } } }
void BasketStatusBar::setupStatusBar() { QWidget* parent = statusBar(); QObjectList lst = parent->findChildren<QObject*>("KRSqueezedTextLabel"); //Tools::printChildren(parent); if (lst.count() == 0) { m_basketStatus = new QLabel(parent); QSizePolicy policy(QSizePolicy::Ignored, QSizePolicy::Ignored); policy.setHorizontalStretch(0); policy.setVerticalStretch(0); policy.setHeightForWidth(false); m_basketStatus->setSizePolicy(policy); addWidget(m_basketStatus, 1, false); // Fit all extra space and is hiddable } else m_basketStatus = static_cast<QLabel*>(lst.at(0)); lst.clear(); m_selectionStatus = new QLabel(i18n("Loading..."), parent); addWidget(m_selectionStatus, 0, true); m_lockStatus = new QLabel(0/*this*/); m_lockStatus->setMinimumSize(18, 18); m_lockStatus->setAlignment(Qt::AlignCenter); // addWidget( m_lockStatus, 0, true ); m_lockStatus->installEventFilter(this); m_savedStatusPixmap = SmallIcon("document-save"); m_savedStatus = new QLabel(parent); m_savedStatus->setPixmap(m_savedStatusPixmap); m_savedStatus->setFixedSize(m_savedStatus->sizeHint()); m_savedStatus->clear(); //m_savedStatus->setPixmap(m_savedStatusIconSet.pixmap(QIconSet::Small, QIconSet::Disabled)); //m_savedStatus->setEnabled(false); addWidget(m_savedStatus, 0, true); m_savedStatus->setToolTip("<p>" + i18n("Shows if there are changes that have not yet been saved.")); }
void QWidgetResizeHandler::setMouseCursor(MousePosition m) { #ifdef QT_NO_CURSOR Q_UNUSED(m); #else QObjectList children = widget->children(); for (int i = 0; i < children.size(); ++i) { if (QWidget *w = qobject_cast<QWidget*>(children.at(i))) { if (!w->testAttribute(Qt::WA_SetCursor)) { w->setCursor(Qt::ArrowCursor); } } } switch (m) { case TopLeft: case BottomRight: widget->setCursor(Qt::SizeFDiagCursor); break; case BottomLeft: case TopRight: widget->setCursor(Qt::SizeBDiagCursor); break; case Top: case Bottom: widget->setCursor(Qt::SizeVerCursor); break; case Left: case Right: widget->setCursor(Qt::SizeHorCursor); break; default: widget->setCursor(Qt::ArrowCursor); break; } #endif // QT_NO_CURSOR }
static QString buddyString(const QWidget *widget) { if (!widget) return QString(); QWidget *parent = widget->parentWidget(); if (!parent) return QString(); #ifndef QT_NO_SHORTCUT QObjectList ol = parent->children(); for (int i = 0; i < ol.size(); ++i) { QLabel *label = qobject_cast<QLabel*>(ol.at(i)); if (label && label->buddy() == widget) return label->text(); } #endif #ifndef QT_NO_GROUPBOX QGroupBox *groupbox = qobject_cast<QGroupBox*>(parent); if (groupbox) return groupbox->title(); #endif return QString(); }
/*! \reimp */ void Q3WidgetStack::setVisible(bool visible) { if (visible) { // Reimplemented in order to set the children's geometries // appropriately and to pick the first widget as d->topWidget if no // topwidget was defined QObjectList c = children(); if (!isVisible() && !c.isEmpty()) { for (int i = 0; i < c.size(); ++i) { QObject * o = c.at(i); if (o->isWidgetType()) { if (!topWidget && o != invisible) topWidget = static_cast<QWidget*>(o); if (o == topWidget) static_cast<QWidget *>(o)->show(); else static_cast<QWidget *>(o)->hide(); } } setChildGeometries(); } } Q3Frame::setVisible(visible); }
/*! Creates an unit group. Usually done with CTRL+number. */ void CcfQmlBaseScenario::groupUnits(int groupNumber) { if ((groupNumber < 0) || (selectedUnitsCount() == 0)) { return; } // Remove old members. if (groupNumber < mUnitGroups.count()) { for (int i = 0; i < mUnitGroups.value(groupNumber).length(); ++i) { if (mUnitGroups.value(groupNumber).at(i)->getBool("selected") == false) mUnitGroups.value(groupNumber).at(i)->set("groupNumber", 0); } } QObjectList group = selectedUnits(); mUnitGroups.insert(groupNumber, group); for (int i = 0; i < group.length(); ++i) { group.at(i)->set("groupNumber", groupNumber); } // console.log("Group " + groupNumber + " created."); mlogger->statusMessage(tr("Group %1 created.").arg(groupNumber)); }
void CQGroupBox:: updateCollapsed() { //area_->setVisible(isCollapsed()); QObjectList childList = children(); for (int i = 0; i < childList.size(); ++i) { QObject *o = childList.at(i); if (! o->isWidgetType()) continue; QWidget *w = static_cast<QWidget *>(o); w->setVisible(! isCollapsed()); } QSize size = this->size(); size.setHeight(minimumSizeHint().height()); resize(size); }
void Q3WidgetStack::raiseWidget(QWidget *w) { if (!w || w == invisible || w->parent() != this || w == topWidget) return; if (id(w) == -1) addWidget(w); if (!isVisible()) { topWidget = w; return; } if (w->maximumSize().width() < invisible->width() || w->maximumSize().height() < invisible->height()) invisible->setBackgroundMode(backgroundMode()); else if (invisible->backgroundMode() != NoBackground) invisible->setBackgroundMode(NoBackground); if (invisible->isHidden()) { invisible->setGeometry(contentsRect()); invisible->lower(); invisible->show(); QApplication::sendPostedEvents(invisible, QEvent::ShowWindowRequest); } // try to move focus onto the incoming widget if focus // was somewhere on the outgoing widget. if (topWidget) { QWidget * fw = window()->focusWidget(); if (topWidget->isAncestorOf(fw)) { // focus was on old page // look for the best focus widget we can find QWidget *p = w->focusWidget(); if (!p) { // second best == first child widget in the focus chain QWidget *i = fw; while ((i = i->nextInFocusChain()) != fw) { if (((i->focusPolicy() & Qt::TabFocus) == Qt::TabFocus) && !i->focusProxy() && i->isVisibleTo(w) && i->isEnabled() && w->isAncestorOf(i)) { p = i; break; } } } if (p) p->setFocus(); } else { // the focus wasn't on the old page, so we have to ensure focus doesn't go to // the widget in the page that last had focus when we show the page again. QWidget *oldfw = topWidget->focusWidget(); if (oldfw) oldfw->clearFocus(); } } if (isVisible()) { emit aboutToShow(w); int i = id(w); if (i != -1) emit aboutToShow(i); } topWidget = w; QObjectList c = children(); for (int i = 0; i < c.size(); ++i) { QObject * o = c.at(i); if (o->isWidgetType() && o != w && o != invisible) static_cast<QWidget *>(o)->hide(); } w->setGeometry(invisible->geometry()); w->show(); }
/*! Sets internal pointers to frequently used QML items, thus reducing the overhead of repeated searching for them at runtime. */ void CcfQmlBaseScenario::init() { if (mScenarioFile != "") { QStringList unitSideList; QObject *unitsLoader = child("unitsLoader"); QObject *unitItem = unitsLoader->property("unitsItem").value<QObject *>(); QObject *map = child("map"); if (unitItem->objectName() != "Campaign") { // This is a single scenario map->set("source", unitItem->getString("mapFile")); QObjectList tempList = unitItem->children(); for (int i = 0; i < tempList.count(); ++i) { CcfQmlBaseUnit *unit = ccfUnit(tempList.at(i)); if ((unit != 0) && (unit->property("unitIndex").isValid())) { unit->setUnitIndex(i); connect(this, &CcfQmlBaseScenario::togglePause, unit, &CcfQmlBaseUnit::togglePause); connect(unit, &CcfQmlBaseUnit::actionFinished, this, &CcfQmlBaseScenario::actionFinished); connect(unit, &CcfQmlBaseUnit::movementStateChange, this, &CcfQmlBaseScenario::handleUnitMovement); unitSideList.append(unit->getUnitSide()); mUnits.append(unit); } } mMapItem = map->property("mapItem").value<CcfQmlBaseMap *>(); if(mMapItem != 0) mMapItem->setUnits(mUnits); else mlogger->error("MapItem object was not properly initialised", "Robin Hood is a jerk"); } else { // This is a campaign // TODO: add some clever code here ;) } mScenarioState->setAvailableSides(unitSideList); mAimLine = item("aimLine"); mGameArea = item("gameArea"); mZoomArea = item("zoomArea"); mContextMenu = item("contextMenu"); mEffectsTimer = child("effectsTimer"); mRotationTimer = child("rotationTimer"); mFollowingTimer = child("followingTimer"); mMouseAreaMain = child("mouseAreaMain"); mRoster = findChild<CcfQmlBaseRosterMenu *>("roster"); mRoster->populateUnits(mUnits); connect(mContextMenu, SIGNAL(menuEntryClicked(QString)), this, SLOT(scheduleContextAction(QString))); connect(mRotationTimer, SIGNAL(triggered()), this, SLOT(updateAimLine())); connect(mEffectsTimer, SIGNAL(triggered()), this, SLOT(updateEffects())); connect(mFollowingTimer, SIGNAL(triggered()), this, SLOT(updateFollowingUnit())); connect(child("sceneUpdateTimer"), SIGNAL(triggered()), this, SLOT(updateUnitVisibility())); connect(child("rubberBandTimer"), SIGNAL(triggered()), this, SLOT(updateRubberBand())); hideNonPlayerUnits(); setSideMarks(); } }
MainWindow::MainWindow(QString projectPath, QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), m_progressDialog(NULL), m_renderProgressDialog(NULL), m_flowExaminer(NULL), m_cs(this) { ui->setupUi(this); restoreGeometry(m_settings.value("geometry").toByteArray()); restoreState(m_settings.value("windowState").toByteArray()); m_project = new Project_sV(); m_wCanvas = new Canvas(m_project, this); setCentralWidget(m_wCanvas); m_wInputMonitor = new FrameMonitor(this); m_wInputMonitorDock = new QDockWidget(tr("Input monitor"), this); m_wInputMonitorDock->setWidget(m_wInputMonitor); m_wInputMonitorDock->setObjectName("inputMonitor"); addDockWidget(Qt::TopDockWidgetArea, m_wInputMonitorDock); m_wCurveMonitor = new FrameMonitor(this); m_wCurveMonitorDock = new QDockWidget(tr("Curve monitor"), this); m_wCurveMonitorDock->setWidget(m_wCurveMonitor); m_wCurveMonitorDock->setObjectName("curveMonitor"); addDockWidget(Qt::TopDockWidgetArea, m_wCurveMonitorDock); m_wRenderPreview = new RenderPreview(m_project, this); m_wRenderPreviewDock = new QDockWidget(tr("Render preview"), this); m_wRenderPreviewDock->setWidget(m_wRenderPreview); m_wRenderPreviewDock->setObjectName("renderPreview"); addDockWidget(Qt::TopDockWidgetArea, m_wRenderPreviewDock); // Fill the view menu that allows (de)activating widgets QObjectList windowChildren = children(); QDockWidget *w; for (int i = 0; i < windowChildren.size(); i++) { if ((w = dynamic_cast<QDockWidget*>(windowChildren.at(i))) != NULL) { qDebug() << "Adding " << w->windowTitle() << " to the menu's widget list"; QAction *a = new QAction("&" + w->objectName(), this); a->setCheckable(true); bool b = true; b &= connect(a, SIGNAL(toggled(bool)), w, SLOT(setVisible(bool))); // This does not work since it is also emitted e.g. when the window is minimized // (with «Show Desktop» on KDE4), therefore an event filter is required. (below.) // Thanks ArGGu^^ for the tip! // b &= connect(w, SIGNAL(visibilityChanged(bool)), a, SLOT(setChecked(bool))); Q_ASSERT(b); a->setChecked(true); // To uncheck the menu entry when the widget is closed via the (x) w->installEventFilter(this); ui->menuView->addAction(a); m_widgetActions << a; } }
void SearchResultWidget::setupUi(QMainWindow* qmw, const QString &iconThemePath) { searchResultWidget = new QDockWidget(qmw); searchResultWidget->setObjectName(QString::fromUtf8("searchResultWidget_new"));//object name for created instance, it renames to 'searchResultWidget_old' //searchResultWidget->setLayoutDirection(Qt::RightToLeft); searchResultWidget->setFeatures(QDockWidget::AllDockWidgetFeatures); searchResultWidget->setAttribute(Qt::WA_DeleteOnClose, true); searchResultWidget->setStyleSheet("QDockWidget::title { background: transparent; text-align: left; padding: 0 10 0 10;}" "QDockWidget::close-button, QDockWidget::float-button { background: transparent;}"); QGridLayout* searchGridLayout = new QGridLayout(searchResultContents); searchGridLayout->setSpacing(6); searchGridLayout->setContentsMargins(11, 11, 11, 11); searchGridLayout->setObjectName(QString::fromUtf8("searchGridLayout")); QHBoxLayout* horizontalLayout = new QHBoxLayout(); horizontalLayout->setSpacing(6); horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout")); QGridLayout* searchTableGridLayout = new QGridLayout(); searchTableGridLayout->setSpacing(6); searchTableGridLayout->setObjectName(QString::fromUtf8("searchTableGridLayout")); //create filter lable and lineEdit and layout QHBoxLayout* filterHorizontalLayout = new QHBoxLayout(); filterHorizontalLayout->setSpacing(6); filterHorizontalLayout->setObjectName(QString::fromUtf8("filterHorizontalLayout")); QLabel* filterLabel = new QLabel(searchResultContents); filterLabel->setObjectName(QString::fromUtf8("filterLabel")); filterLabel->setText(tr("Filter:")); filterHorizontalLayout->addWidget(filterLabel, 0, Qt::AlignRight | Qt::AlignCenter); QString clearIconPath = iconThemePath + "/clear-left.png"; if (searchResultContents->layoutDirection() == Qt::RightToLeft) { clearIconPath = iconThemePath + "/clear-right.png"; } filterLineEdit = new QSearchLineEdit(searchResultContents, clearIconPath, iconThemePath + "/filter.png"); filterLineEdit->setObjectName(QString::fromUtf8("filterLineEdit")); #if QT_VERSION >= 0x040700 filterLineEdit->setPlaceholderText(tr("Filter")); #endif connect(filterLineEdit, SIGNAL(textChanged(QString)), this, SLOT(filterResults(QString))); filterHorizontalLayout->addWidget(filterLineEdit); QSpacerItem* filterHorizSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); filterHorizontalLayout->addItem(filterHorizSpacer); pageLabel = new QLabel(searchResultContents); pageLabel->setObjectName(QString::fromUtf8("pageLabel")); // filterHorizontalLayout->addWidget(pageLabel, 0, Qt::AlignRight|Qt::AlignCenter); //searchTableGridLayout->addLayout(filterHorizontalLayout, 1, 0, 1, 1); //create QTableWidget searchTable = new QTableWidget(searchResultContents); searchTable->setObjectName(QString::fromUtf8("searchTable")); searchTable->setColumnCount(3); searchTable->setLayoutDirection(Qt::RightToLeft); searchTable->setAlternatingRowColors(true); searchTable->setSelectionMode(QAbstractItemView::NoSelection /*SingleSelection*/); searchTable->setSelectionBehavior(QAbstractItemView::SelectRows); searchTable->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); searchTable->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel); searchTable->verticalHeader()->setVisible(false); //searchTable->horizontalHeader()->setVisible(false); searchTable->horizontalHeader()->setHighlightSections(false); searchTable->horizontalHeader()->setStretchLastSection(true); connect(searchTable, SIGNAL(currentCellChanged(int,int,int,int)), this, SLOT(currentRowColumnChanged(int,int,int,int))); //install delagate on third column SaagharItemDelegate* searchDelegate = new SaagharItemDelegate(searchTable, searchTable->style(), phrase); searchTable->setItemDelegateForColumn(2, searchDelegate); connect(this, SIGNAL(searchFiltered(QString)), searchDelegate, SLOT(keywordChanged(QString))); //searchTable->setItemDelegateForColumn(2, new SaagharItemDelegate(searchTable, searchTable->style(), phrase)); searchTableGridLayout->addWidget(searchTable, 0, 0, 1, 1); // QVBoxLayout *searchNavVerticalLayout = new QVBoxLayout(); // searchNavVerticalLayout->setSpacing(6); // searchNavVerticalLayout->setObjectName(QString::fromUtf8("searchNavVerticalLayout")); searchNextPage = new QToolButton(searchResultContents); searchNextPage->setObjectName(QString::fromUtf8("searchNextPage")); searchNextPage->setStyleSheet("QToolButton { border: none; padding: 0px; }"); actSearchNextPage = new QAction(searchResultContents); searchNextPage->setDefaultAction(actSearchNextPage); connect(searchNextPage, SIGNAL(triggered(QAction*)), this, SLOT(searchPageNavigationClicked(QAction*))); searchNextPage->setEnabled(false); searchNextPage->hide(); //searchNavVerticalLayout->addWidget(searchNextPage); searchPreviousPage = new QToolButton(searchResultContents); searchPreviousPage->setObjectName(QString::fromUtf8("searchPreviousPage")); searchPreviousPage->setStyleSheet("QToolButton { border: none; padding: 0px; }"); actSearchPreviousPage = new QAction(searchResultContents); searchPreviousPage->setDefaultAction(actSearchPreviousPage); if (qmw->layoutDirection() == Qt::LeftToRight) { actSearchPreviousPage->setIcon(QIcon(iconThemePath + "/previous.png")); actSearchNextPage->setIcon(QIcon(iconThemePath + "/next.png")); } else { actSearchPreviousPage->setIcon(QIcon(iconThemePath + "/next.png")); actSearchNextPage->setIcon(QIcon(iconThemePath + "/previous.png")); } connect(searchPreviousPage, SIGNAL(triggered(QAction*)), this, SLOT(searchPageNavigationClicked(QAction*))); searchPreviousPage->setEnabled(false); searchPreviousPage->hide(); // searchNavVerticalLayout->addWidget(searchPreviousPage); //QSpacerItem *searchNavVerticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding); //searchNavVerticalLayout->addItem(searchNavVerticalSpacer); // if (moreThanOnePage) // horizontalLayout->addLayout(searchNavVerticalLayout); filterHorizontalLayout->addWidget(searchPreviousPage); filterHorizontalLayout->addWidget(searchNextPage); filterHorizontalLayout->addWidget(pageLabel, 0, Qt::AlignRight | Qt::AlignCenter); searchTableGridLayout->addLayout(filterHorizontalLayout, 1, 0, 1, 1); horizontalLayout->addLayout(searchTableGridLayout); searchGridLayout->addLayout(horizontalLayout, 0, 0, 1, 1); /****************************/ QDockWidget* tmpDockWidget = 0; QObjectList mainWindowChildren = qmw->children(); for (int i = 0; i < mainWindowChildren.size(); ++i) { tmpDockWidget = qobject_cast<QDockWidget*>(mainWindowChildren.at(i)); if (tmpDockWidget) { if (mainWindowChildren.at(i)->objectName() == "searchResultWidget_old") { break; } } } /****************************************/ searchResultWidget->setWidget(searchResultContents); qmw->addDockWidget(Qt::BottomDockWidgetArea, searchResultWidget); if (tmpDockWidget && tmpDockWidget->objectName() == "searchResultWidget_old") { //there is another search results dock-widget present qmw->tabifyDockWidget(tmpDockWidget, searchResultWidget); } searchResultWidget->setObjectName("searchResultWidget_old"); searchResultWidget->show(); searchResultWidget->raise(); }
void QtCalculator::updateGeometry() { QObjectList *l; QSize s; int margin; // // Uppermost bar // calc_display->setMinimumWidth(calc_display->fontMetrics().maxWidth() * 15); // // Button groups (base and angle) // //QButtonGroup *g; //g = (QButtonGroup*)(anglebutton[0]->parentWidget()); //g = (QButtonGroup*)(basebutton[0]->parentWidget()); // // Calculator buttons // s.setWidth(mSmallPage->fontMetrics().width("MMM")); s.setHeight(mSmallPage->fontMetrics().lineSpacing()); l = (QObjectList*)mSmallPage->children(); // silence please for(uint i=0; i < l->count(); i++) { QObject *o = l->at(i); if( o->isWidgetType() ) { margin = QApplication::style(). pixelMetric(QStyle::PM_ButtonMargin, ((QWidget *)o))*2; ((QWidget*)o)->setMinimumSize(s.width()+margin, s.height()+margin); ((QWidget*)o)->installEventFilter( this ); ((QWidget*)o)->setAcceptDrops(true); } } l = (QObjectList*)mLargePage->children(); // silence please int h1 = pbF->minimumSize().height(); int h2 = (int)((((float)h1 + 4.0) / 5.0)); s.setWidth(mLargePage->fontMetrics().width("MMM") + QApplication::style(). pixelMetric(QStyle::PM_ButtonMargin, pbF)*2); s.setHeight(h1 + h2); for(uint i = 0; i < l->count(); i++) { QObject *o = l->at(i); if(o->isWidgetType()) { ((QWidget*)o)->setFixedSize(s); ((QWidget*)o)->installEventFilter(this); ((QWidget*)o)->setAcceptDrops(true); } } // // The status bar // s.setWidth( statusINVLabel->fontMetrics().width("NORM") + statusINVLabel->frameWidth() * 2 + 10); statusINVLabel->setMinimumWidth(s.width()); statusHYPLabel->setMinimumWidth(s.width()); //setFixedSize(minimumSize()); }
/*! \reimp */ int QAccessibleWidget::navigate(RelationFlag relation, int entry, QAccessibleInterface **target) const { if (!target) return -1; *target = 0; QObject *targetObject = 0; QWidgetList childList = childWidgets(widget()); bool complexWidget = childList.size() < childCount(); switch (relation) { // Hierarchical case Self: targetObject = object(); break; case Child: if (complexWidget) { if (entry > 0 && entry <= childCount()) return entry; return -1; }else { if (entry > 0 && childList.size() >= entry) targetObject = childList.at(entry - 1); } break; case Ancestor: { if (entry <= 0) return -1; targetObject = widget()->parentWidget(); int i; for (i = entry; i > 1 && targetObject; --i) targetObject = targetObject->parent(); if (!targetObject && i == 1) targetObject = qApp; } break; case Sibling: { QAccessibleInterface *iface = QAccessible::queryAccessibleInterface(parentObject()); if (!iface) return -1; iface->navigate(Child, entry, target); delete iface; if (*target) return 0; } break; // Geometrical case QAccessible::Left: if (complexWidget && entry) { if (entry < 2 || widget()->height() > widget()->width() + 20) // looks vertical return -1; return entry - 1; } // fall through case QAccessible::Right: if (complexWidget && entry) { if (entry >= childCount() || widget()->height() > widget()->width() + 20) // looks vertical return -1; return entry + 1; } // fall through case QAccessible::Up: if (complexWidget && entry) { if (entry < 2 || widget()->width() > widget()->height() + 20) // looks horizontal return - 1; return entry - 1; } // fall through case QAccessible::Down: if (complexWidget && entry) { if (entry >= childCount() || widget()->width() > widget()->height() + 20) // looks horizontal return - 1; return entry + 1; } else { QAccessibleInterface *pIface = QAccessible::queryAccessibleInterface(parentObject()); if (!pIface) return -1; QRect startg = rect(0); QPoint startc = startg.center(); QAccessibleInterface *candidate = 0; int mindist = 100000; int sibCount = pIface->childCount(); for (int i = 0; i < sibCount; ++i) { QAccessibleInterface *sibling = 0; pIface->navigate(Child, i+1, &sibling); Q_ASSERT(sibling); if ((relationTo(0, sibling, 0) & Self) || (sibling->state(0) & QAccessible::Invisible)) { //ignore ourself and invisible siblings delete sibling; continue; } QRect sibg = sibling->rect(0); QPoint sibc = sibg.center(); QPoint sibp; QPoint startp; QPoint distp; switch (relation) { case QAccessible::Left: startp = QPoint(startg.left(), startg.top() + startg.height() / 2); sibp = QPoint(sibg.right(), sibg.top() + sibg.height() / 2); if (QPoint(sibc - startc).x() >= 0) { delete sibling; continue; } distp = sibp - startp; break; case QAccessible::Right: startp = QPoint(startg.right(), startg.top() + startg.height() / 2); sibp = QPoint(sibg.left(), sibg.top() + sibg.height() / 2); if (QPoint(sibc - startc).x() <= 0) { delete sibling; continue; } distp = sibp - startp; break; case QAccessible::Up: startp = QPoint(startg.left() + startg.width() / 2, startg.top()); sibp = QPoint(sibg.left() + sibg.width() / 2, sibg.bottom()); if (QPoint(sibc - startc).y() >= 0) { delete sibling; continue; } distp = sibp - startp; break; case QAccessible::Down: startp = QPoint(startg.left() + startg.width() / 2, startg.bottom()); sibp = QPoint(sibg.left() + sibg.width() / 2, sibg.top()); if (QPoint(sibc - startc).y() <= 0) { delete sibling; continue; } distp = sibp - startp; break; default: break; } int dist = (int)qSqrt((qreal)distp.x() * distp.x() + distp.y() * distp.y()); if (dist < mindist) { delete candidate; candidate = sibling; mindist = dist; } else { delete sibling; } } delete pIface; *target = candidate; if (*target) return 0; } break; case Covers: if (entry > 0) { QAccessibleInterface *pIface = QAccessible::queryAccessibleInterface(parentObject()); if (!pIface) return -1; QRect r = rect(0); int sibCount = pIface->childCount(); QAccessibleInterface *sibling = 0; for (int i = pIface->indexOfChild(this) + 1; i <= sibCount && entry; ++i) { pIface->navigate(Child, i, &sibling); if (!sibling || (sibling->state(0) & Invisible)) { delete sibling; sibling = 0; continue; } if (sibling->rect(0).intersects(r)) --entry; if (!entry) break; delete sibling; sibling = 0; } delete pIface; *target = sibling; if (*target) return 0; } break; case Covered: if (entry > 0) { QAccessibleInterface *pIface = QAccessible::queryAccessibleInterface(parentObject()); if (!pIface) return -1; QRect r = rect(0); int index = pIface->indexOfChild(this); QAccessibleInterface *sibling = 0; for (int i = 1; i < index && entry; ++i) { pIface->navigate(Child, i, &sibling); Q_ASSERT(sibling); if (!sibling || (sibling->state(0) & Invisible)) { delete sibling; sibling = 0; continue; } if (sibling->rect(0).intersects(r)) --entry; if (!entry) break; delete sibling; sibling = 0; } delete pIface; *target = sibling; if (*target) return 0; } break; // Logical case FocusChild: { if (widget()->hasFocus()) { targetObject = object(); break; } QWidget *fw = widget()->focusWidget(); if (!fw) return -1; if (isAncestor(widget(), fw) || fw == widget()) targetObject = fw; /* ### QWidget *parent = fw; while (parent && !targetObject) { parent = parent->parentWidget(); if (parent == widget()) targetObject = fw; } */ } break; case Label: if (entry > 0) { QAccessibleInterface *pIface = QAccessible::queryAccessibleInterface(parentObject()); if (!pIface) return -1; // first check for all siblings that are labels to us // ideally we would go through all objects and check, but that // will be too expensive int sibCount = pIface->childCount(); QAccessibleInterface *candidate = 0; for (int i = 0; i < sibCount && entry; ++i) { const int childId = pIface->navigate(Child, i+1, &candidate); Q_ASSERT(childId >= 0); if (childId > 0) candidate = pIface; if (candidate->relationTo(childId, this, 0) & Label) --entry; if (!entry) break; if (candidate != pIface) delete candidate; candidate = 0; } if (!candidate) { if (pIface->relationTo(0, this, 0) & Label) --entry; if (!entry) candidate = pIface; } if (pIface != candidate) delete pIface; *target = candidate; if (*target) return 0; } break; case Labelled: // only implemented in subclasses break; case Controller: if (entry > 0) { // check all senders we are connected to, // and figure out which one are controllers to us QACConnectionObject *connectionObject = (QACConnectionObject*)object(); QObjectList allSenders = connectionObject->senderList(); QObjectList senders; for (int s = 0; s < allSenders.size(); ++s) { QObject *sender = allSenders.at(s); QAccessibleInterface *candidate = QAccessible::queryAccessibleInterface(sender); if (!candidate) continue; if (candidate->relationTo(0, this, 0)&Controller) senders << sender; delete candidate; } if (entry <= senders.size()) targetObject = senders.at(entry-1); } break; case Controlled: if (entry > 0) { QObjectList allReceivers; QACConnectionObject *connectionObject = (QACConnectionObject*)object(); for (int sig = 0; sig < d->primarySignals.count(); ++sig) { QObjectList receivers = connectionObject->receiverList(d->primarySignals.at(sig).toAscii()); allReceivers += receivers; } if (entry <= allReceivers.size()) targetObject = allReceivers.at(entry-1); } break; default: break; } *target = QAccessible::queryAccessibleInterface(targetObject); return *target ? 0 : -1; }
/*! \internal */ void QDeclarativeGeoMap::onMapChildrenChanged() { if (!m_componentCompleted || !m_mappingManagerInitialized) return; int maxChildZ = 0; QObjectList kids = children(); bool foundCopyrights = false; for (int i = 0; i < kids.size(); ++i) { QDeclarativeGeoMapCopyrightNotice *copyrights = qobject_cast<QDeclarativeGeoMapCopyrightNotice *>(kids.at(i)); if (copyrights) { foundCopyrights = true; } else { QDeclarativeGeoMapItemBase *mapItem = qobject_cast<QDeclarativeGeoMapItemBase *>(kids.at(i)); if (mapItem) { if (mapItem->z() > maxChildZ) maxChildZ = mapItem->z(); } } } QDeclarativeGeoMapCopyrightNotice *copyrights = m_copyrights.data(); // if copyrights object not found within the map's children if (!foundCopyrights) { // if copyrights object was deleted! if (!copyrights) { // create a new one and set its parent, re-assign it to the weak pointer, then connect the copyrights-change signal m_copyrights = new QDeclarativeGeoMapCopyrightNotice(this); copyrights = m_copyrights.data(); connect(m_map, SIGNAL(copyrightsChanged(QImage)), copyrights, SLOT(copyrightsChanged(QImage))); connect(m_map, SIGNAL(copyrightsChanged(QString)), copyrights, SLOT(copyrightsChanged(QString))); connect(copyrights, SIGNAL(linkActivated(QString)), this, SIGNAL(copyrightLinkActivated(QString))); } else { // just re-set its parent. copyrights->setParent(this); } } // put the copyrights notice object at the highest z order copyrights->setCopyrightsZ(maxChildZ + 1); }
/*! \internal */ void QDeclarativeGeoMap::populateMap() { QObjectList kids = children(); QList<QQuickItem *> quickKids = childItems(); for (int i=0; i < quickKids.count(); ++i) kids.append(quickKids.at(i)); for (int i = 0; i < kids.size(); ++i) { // dispatch items appropriately QDeclarativeGeoMapItemView *mapView = qobject_cast<QDeclarativeGeoMapItemView *>(kids.at(i)); if (mapView) { m_mapViews.append(mapView); setupMapView(mapView); continue; } QDeclarativeGeoMapItemBase *mapItem = qobject_cast<QDeclarativeGeoMapItemBase *>(kids.at(i)); if (mapItem) { addMapItem(mapItem); } } }
bool OComboBoxEventFilter :: eventFilter (QObject *watched, QEvent *pQEvent ) { if ( watched && pQEvent ) { switch ( pQEvent->type() ) { case QEvent::ChildAdded: // j 060330: very often on the same object //if ( cbox->lineEdit() ) // cbox->lineEdit()->installEventFilter(this); //cbox->get_listbox()->installEventFilter(this); break; case QEvent::FocusIn: if ( !hadfocus ) { hadfocus = YES; if ( watched != cbox ) QApplication::sendEvent(cbox,pQEvent); } break; case QEvent::FocusOut: if ( hadfocus && !( cbox->get_listbox()->isVisible() ) ) { hadfocus = NO; if ( watched != cbox ) QApplication::sendEvent(cbox,pQEvent); } break; case QEvent::Hide: if ( hadfocus && watched == cbox->get_listbox() && !cbox->hasFocus() ) { hadfocus = NO; QFocusEvent fo(QEvent::FocusOut); QApplication::sendEvent(cbox,&fo); } break; case QEvent::EnabledChange: if ( watched != cbox ) QApplication::sendEvent(cbox,pQEvent); break; case QEvent::Show: if (watched == cbox->get_listbox()) { QWidget* popup = 0; QObjectList objects = cbox->children(); for(int i = 0; i < objects.size(); ++i) { QObject* obj = objects.at(i); if(obj->inherits("QComboBoxPrivateContainer")){ popup = qobject_cast<QWidget*>(obj); QRect csize = cbox->get_listbox()->geometry(); popup->resize(csize.width()<120?120:csize.width() ,csize.height()<100?100:csize.height()); break; } } } } } return QObject::eventFilter(watched,pQEvent); }