StyleEditor::StyleEditor(QWidget* parent, bool singleStyleEditor) : QDialog(parent), obsStyle(0) { setupUi(this); if ( singleStyleEditor ) { for(int i = 0; i < horizontalLayout_styles->count(); ++i) { QWidget* w = horizontalLayout_styles->itemAt(i)->widget(); if(w) w->setVisible(false); } pushButton_new->setVisible(false); } styleListModel = new StyleListModel(styleComboBox); styleProxyModel = new StyleSortFilterProxyModel(styleComboBox); styleProxyModel->setDynamicSortFilter(true); styleProxyModel->setSourceModel(styleListModel); styleComboBox->setModel(styleProxyModel); connect( pushButton_save, SIGNAL( clicked() ), this, SLOT( save() ) ); connect( pushButton_new, SIGNAL( clicked() ), this, SLOT( newStyle() ) ); connect( pushButton_cancel, SIGNAL( clicked() ), this, SLOT( clearAndClose() ) ); connect( pushButton_remove, SIGNAL( clicked() ), this, SLOT(removeStyle()) ); connect( styleComboBox, SIGNAL(activated( const QString& )), this, SLOT( styleSelected(const QString&) ) ); setStyle( styleListModel->at(styleComboBox->currentIndex())); }
void ListView::allowMultiSelection(bool allow) { if (allow) { removeStyle(LVS_SINGLESEL); } else { addStyle(LVS_SINGLESEL); } }
void AbstractSettings::replaceStyle(const QString &oldKey, const QString &newKey, const QString &value) { // Set value regardles if keys are equal m_styles.insert(newKey, value); if (oldKey != newKey) removeStyle(oldKey); m_changedStyles.insert(newKey); }
QgsMapLayerStyleManagerWidget::QgsMapLayerStyleManagerWidget( QgsMapLayer* layer, QgsMapCanvas *canvas, QWidget *parent ) : QgsMapStylePanel( layer, canvas, parent ) { mModel = new QStandardItemModel( this ); mStyleList = new QListView( this ); mStyleList->setModel( mModel ); mStyleList->setViewMode( QListView::ListMode ); mStyleList->setResizeMode( QListView::Adjust ); QToolBar* toolbar = new QToolBar( this ); QAction* addAction = toolbar->addAction( tr( "Add" ) ); connect( addAction, SIGNAL( triggered() ), this, SLOT( addStyle() ) ); QAction* removeAction = toolbar->addAction( tr( "Remove Current" ) ); connect( removeAction, SIGNAL( triggered() ), this, SLOT( removeStyle() ) ); connect( canvas, SIGNAL( mapCanvasRefreshed() ), this, SLOT( updateCurrent() ) ); connect( mStyleList, SIGNAL( clicked( QModelIndex ) ), this, SLOT( styleClicked( QModelIndex ) ) ); setLayout( new QVBoxLayout() ); layout()->setContentsMargins( 0, 0, 0, 0 ); layout()->addWidget( toolbar ); layout()->addWidget( mStyleList ); connect( mLayer->styleManager(), SIGNAL( currentStyleChanged( QString ) ), this, SLOT( currentStyleChanged( QString ) ) ); connect( mLayer->styleManager(), SIGNAL( styleAdded( QString ) ), this, SLOT( styleAdded( QString ) ) ); connect( mLayer->styleManager(), SIGNAL( styleremoved( QString ) ), this, SLOT( styleRemoved( QString ) ) ); connect( mLayer->styleManager(), SIGNAL( styleRenamed( QString, QString ) ), this, SLOT( styleRenamed( QString, QString ) ) ); mModel->clear(); Q_FOREACH ( const QString name, mLayer->styleManager()->styles() ) { QString stylename = name; if ( stylename.isEmpty() ) stylename = "(default)"; QStandardItem* item = new QStandardItem( stylename ); mModel->appendRow( item ); } QString active = mLayer->styleManager()->currentStyle(); currentStyleChanged( active ); }