BackgroundWidget::BackgroundWidget( MasterConfiguration& configuration, QWidget* parent_ ) : QDialog(parent_) , configuration_(configuration) { setWindowTitle(tr("Background settings")); const int frameStyle = QFrame::Sunken | QFrame::Panel; // Get current variables previousColor_ = configuration_.getBackgroundColor(); previousBackgroundURI_ = configuration_.getBackgroundUri(); // Color chooser colorLabel_ = new QLabel(previousColor_.name()); colorLabel_->setFrameStyle(frameStyle); colorLabel_->setPalette(QPalette(previousColor_)); colorLabel_->setAutoFillBackground(true); QPushButton *colorButton = new QPushButton(tr("Choose background color...")); connect(colorButton, SIGNAL(clicked()), this, SLOT(chooseColor())); // Background chooser backgroundLabel_ = new QLabel(previousBackgroundURI_); backgroundLabel_->setFrameStyle(frameStyle); QPushButton *backgroundButton = new QPushButton(tr("Choose background content...")); connect(backgroundButton, SIGNAL(clicked()), this, SLOT(openBackgroundContent())); QPushButton *backgroundClearButton = new QPushButton(tr("Remove background")); connect(backgroundClearButton, SIGNAL(clicked()), this, SLOT(removeBackground())); // Standard buttons QDialogButtonBox* buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, this); connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept())); connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject())); // Layout QGridLayout *gridLayout = new QGridLayout; gridLayout->setColumnStretch(1, 1); gridLayout->setColumnMinimumWidth(1, 250); setLayout(gridLayout); gridLayout->addWidget(colorButton, 0, 0); gridLayout->addWidget(colorLabel_, 0, 1); gridLayout->addWidget(backgroundButton, 1, 0); gridLayout->addWidget(backgroundLabel_, 1, 1); gridLayout->addWidget(backgroundClearButton, 2, 0); gridLayout->addWidget(buttonBox, 2, 1); }
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(); }
void wyToast::setBackground(wyNode* bg) { // remove old bg from scene removeBackground(); // save new bg m_bg = bg; addBackground(); // set flag m_dirty = true; m_useDefaultBg = false; }
//------------------------------------------------------------------------ SkyDef::~SkyDef() { removeFog(); removeAllFogControllers(); removeFarClippingPlane(); removeAllFarClippingPlaneControllers(); removeBackground(); removeAllBackgroundControllers(); removeAllAtmospheres(); removeAllAtmosphereControllers(); removeAllBodies(); removeAllBodyControllers(); removeAllCloudLayers(); removeAllCloudLayerControllers(); removeAllMaterialControllers(); removeAllSounds(); removeAllSoundControllers(); removeAllOverlays(); removeAllOverlayControllers(); }