QGraphicsScene * ClusteredArranger::arrange(SegmentList const & segments) const { QGraphicsScene * arrangement = new QGraphicsScene(); QTime time; time.start(); // determine background Segment * background = determineBackground(segments); SegmentList segmentsWOBack = removeBackground(segments, background); arrangement->setBackgroundBrush(QBrush(QColor(background->color().toQRgb()))); segmentsWOBack.calculateFeatureVariances(); // initialize layout //initializeLayout(segmentsWOBack, segmentsWOBack.featX(), segmentsWOBack.featY()); initializeLayout(segmentsWOBack, xAxisBox->currentIndex(), yAxisBox->currentIndex()); // find clusters time.restart(); QList<SegmentList> clusters = meanShift(segmentsWOBack); qDebug("Segments clustered in %f seconds", time.restart()/1000.0); qDebug(" %d clusters found", clusters.size()); // refine clusters //int counter = 0; foreach (SegmentList cluster, clusters) { if (clusterBox->currentIndex() == 0) { refineLayoutCircles(cluster); } else if (clusterBox->currentIndex() == 1) { refineLayoutPiles(cluster); } // debug output /*QGraphicsScene scene; scene.setBackgroundBrush(QBrush(QColor(255, 255, 255))); foreach(Segment * const segment, cluster) { scene.addItem(segment->toQGraphicsItem()); // without the following line QPainter tends to crash scene.width(); } ++counter; saveScene(&scene, QString("Test%1.png").arg(counter, 2));*/ } // refine layout if (clusterBox->currentIndex() == 0) { refineLayoutByPlace(clusters); } else if (clusterBox->currentIndex() == 1) { refineLayoutBySize(clusters); } // convert the segments to QGraphicsItems and add to QGraphicsScene foreach(Segment const * const segment, segmentsWOBack) { arrangement->addItem(segment->toQGraphicsItem()); // without the following line QPainter tends to crash arrangement->width(); }
StatusViewer::StatusViewer(ProjectImage* image, QWidget* parent) : QWidget(parent) { setFixedHeight(150); timer_.setSingleShot(true); image_ = image; watcher_.setFile(image->cfgFile()); connect(&watcher_, SIGNAL(fileChanged(const QString &)), this, SLOT(timedLoad())); connect(&timer_, SIGNAL(timeout()), this, SLOT(load())); setLayout(initializeLayout()); }
WebBrowser::WebBrowser(QWidget *parent) : TabContent(parent), m_layout(new QVBoxLayout(this)), m_toolBar(new QToolBar(tr("Navigation panel"), this)), m_webView(new WebViewer(this)), m_txtLocation(new LocationLineEdit(this)), m_btnDiscoverFeeds(new DiscoverFeedsButton(this)), m_actionBack(m_webView->pageAction(QWebEnginePage::Back)), m_actionForward(m_webView->pageAction(QWebEnginePage::Forward)), m_actionReload(m_webView->pageAction(QWebEnginePage::Reload)), m_actionStop(m_webView->pageAction(QWebEnginePage::Stop)) { // Initialize the components and layout. initializeLayout(); setTabOrder(m_txtLocation, m_toolBar); setTabOrder(m_toolBar, m_webView); createConnections(); reloadFontSettings(); }