QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgseffectdrawmodecombobox.cpp
Go to the documentation of this file.
1/***************************************************************************
2 qgseffectdrawmodecombobox.cpp
3 -----------------------------
4 begin : March 2015
5 copyright : (C) 2015 by Nyall Dawson
6 email : nyall dot dawson at gmail dot com
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15
17#include "qgsapplication.h"
18
19#include <QList>
20#include <QPair>
21
23 : QComboBox( parent )
24{
25 QList < QPair<QgsPaintEffect::DrawMode, QString> > modes;
26 modes << qMakePair( QgsPaintEffect::Render, tr( "Render only" ) )
27 << qMakePair( QgsPaintEffect::Modifier, tr( "Modifier only" ) )
28 << qMakePair( QgsPaintEffect::ModifyAndRender, tr( "Render and modify" ) );
29
30 for ( int i = 0; i < modes.count(); i++ )
31 {
32 const QgsPaintEffect::DrawMode mode = modes.at( i ).first;
33 const QString name = modes.at( i ).second;
34 addItem( name, QVariant( ( int ) mode ) );
35 }
36}
37
39{
40 return ( QgsPaintEffect::DrawMode ) currentData().toInt();
41}
42
44{
45 const int idx = findData( QVariant( ( int ) drawMode ) );
46 setCurrentIndex( idx == -1 ? 0 : idx );
47}
void setDrawMode(QgsPaintEffect::DrawMode drawMode)
Sets the currently selected draw mode for the combo box.
QgsPaintEffect::DrawMode drawMode() const
Returns the currently selected draw mode for the combo box.
QgsEffectDrawModeComboBox(QWidget *parent SIP_TRANSFERTHIS=nullptr)
DrawMode
Drawing modes for effects.
@ Render
The result of the effect is rendered on the destination, but does not affect subsequent effects in th...
@ Modifier
The result of the effect is not rendered, but is passed on to following effects in the stack.
@ ModifyAndRender
The result of the effect is both rendered and passed on to subsequent effects in the stack.