34  mCondCombo->addItem( tr( 
"has the tag" ), QVariant( 
"tag" ) );
 
   35  mCondCombo->addItem( tr( 
"has a part of name matching" ), QVariant( 
"name" ) );
 
   36  mCondCombo->addItem( tr( 
"does NOT have the tag" ), QVariant( 
"!tag" ) );
 
   37  mCondCombo->addItem( tr( 
"has NO part of name matching" ), QVariant( 
"!name" ) );
 
 
   51  return mCondCombo->currentData().toString();
 
 
   56  return mCondLineEdit->text();
 
 
   61  mCondCombo->setCurrentIndex( mCondCombo->findData( QVariant( 
constraint ) ) );
 
 
   66  mCondLineEdit->setText( param );
 
 
   71  mRemoveBtn->setVisible( !hide );
 
 
   85  connect( buttonBox, &QDialogButtonBox::accepted, 
this, &QgsSmartGroupEditorDialog::buttonBox_accepted );
 
   89  mAndOrCombo->addItem( tr( 
"ALL the constraints" ), QVariant( 
"AND" ) );
 
   90  mAndOrCombo->addItem( tr( 
"any ONE of the constraints" ), QVariant( 
"OR" ) );
 
   92  mLayout = 
new QGridLayout( mConditionsBox );
 
 
  100  return mNameLineEdit->text();
 
 
  111      condition->hideRemoveButton( 
false );
 
 
  134      condition->hideRemoveButton( 
true );
 
 
  149    conditions.insert( condition->constraint(), condition->parameter() );
 
 
  157  return mAndOrCombo->currentData().toString();
 
 
  162  QStringList constraints;
 
  163  constraints << QStringLiteral( 
"tag" ) << QStringLiteral( 
"name" ) << QStringLiteral( 
"!tag" ) << QStringLiteral( 
"!name" );
 
  170  const auto constConstraints = constraints;
 
  171  for ( 
const QString &constr : constConstraints )
 
  173    const QStringList params = map.values( constr );
 
  174    const auto constParams = params;
 
  175    for ( 
const QString ¶m : constParams )
 
 
  193  mAndOrCombo->setCurrentIndex( mAndOrCombo->findData( QVariant( op ) ) );
 
 
  198  mNameLineEdit->setText( name );
 
 
  201void QgsSmartGroupEditorDialog::buttonBox_accepted()
 
  203  if ( mNameLineEdit->text().isEmpty() )
 
  205    QMessageBox::critical( 
this, tr( 
"Edit Smart Group" ), tr( 
"The smart group name field is empty. Kindly provide a name." ) );
 
static QString iconPath(const QString &iconFile)
Returns path to the desired icon file.
 
static void enableAutoGeometryRestore(QWidget *widget, const QString &key=QString())
Register the widget to allow its position to be automatically saved and restored when open and closed...
 
void setConstraint(const QString &constraint)
sets the given constraint
 
QgsSmartGroupCondition(int id, QWidget *parent=nullptr)
 
QString parameter()
returns the parameter
 
void setParameter(const QString ¶m)
sets the given param
 
void hideRemoveButton(bool hide)
sets the remove button hidden state to 'hide'
 
QString constraint()
returns the constraint key
 
void setConditionMap(const QgsSmartConditionMap &)
sets up the GUI for the given conditionmap
 
QMap< int, QgsSmartGroupCondition * > mConditionMap
 
QgsSmartConditionMap conditionMap()
returns the condition map
 
QString smartgroupName()
returns the value from mNameLineEdit
 
QgsSmartGroupEditorDialog(QgsStyle *style, QWidget *parent=nullptr)
 
void addCondition()
function to create a new ConditionBox and update UI
 
void removeCondition(int)
slot to remove the condition with id int
 
void setSmartgroupName(const QString &)
sets the smart group Name
 
void setOperator(const QString &)
sets the operator AND/OR
 
QString conditionOperator()
returns the AND/OR condition
 
QMultiMap< QString, QString > QgsSmartConditionMap
A multimap to hold the smart group conditions as constraint and parameter pairs.