23#include "moc_qgsaggregatetoolbutton.cpp"
27 setFocusPolicy( Qt::StrongFocus );
28 setPopupMode( QToolButton::InstantPopup );
30 mMenu =
new QMenu(
this );
31 connect( mMenu, &QMenu::aboutToShow,
this, &QgsAggregateToolButton::aboutToShowMenu );
34 setText( tr(
"Exclude" ) );
43 updateAvailableAggregates();
51void QgsAggregateToolButton::aboutToShowMenu()
55 QAction *action = mMenu->addAction( tr(
"Exclude" ) );
56 connect( action, &QAction::triggered,
this, [
this] {
60 for (
const auto &
aggregate : std::as_const( mAvailableAggregates ) )
62 QAction *action = mMenu->addAction(
aggregate.name );
63 connect( action, &QAction::triggered,
this, [
this,
aggregate] {
70void QgsAggregateToolButton::updateAvailableAggregates()
74 for (
const auto &
aggregate : aggregates )
76 if (
aggregate.supportedTypes.contains( mType ) )
91 setText( tr(
"Exclude" ) );
105 mAggregate = QString();
107 for (
const auto &agg : std::as_const( mAvailableAggregates ) )
static QList< QgsAggregateCalculator::AggregateInfo > aggregates()
Structured information for available aggregates.
static QMetaType::Type variantTypeToMetaType(QVariant::Type variantType)
Converts a QVariant::Type to a QMetaType::Type.