QGIS API Documentation  3.22.4-Białowieża (ce8e65e95e)
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.