void QgsPropertyOverrideButton::registerVisibleWidget( QWidget *widget, bool natural ) { Q_FOREACH ( const SiblingWidget &sw, mSiblingWidgets ) { if ( widget == sw.mWidgetPointer.data() && sw.mSiblingType == SiblingVisibility ) return; } mSiblingWidgets.append( SiblingWidget( QPointer<QWidget>( widget ), SiblingVisibility, natural ) ); updateSiblingWidgets( isActive() ); }
void QgsPropertyOverrideButton::registerExpressionWidget( QWidget *widget ) { Q_FOREACH ( const SiblingWidget &sw, mSiblingWidgets ) { if ( widget == sw.mWidgetPointer.data() && sw.mSiblingType == SiblingExpressionText ) return; } mSiblingWidgets.append( SiblingWidget( QPointer<QWidget>( widget ), SiblingExpressionText ) ); updateSiblingWidgets( isActive() ); }
void QgsPropertyOverrideButton::registerLinkedWidget( QWidget *widget ) { for ( const SiblingWidget &sw : qgis::as_const( mSiblingWidgets ) ) { if ( widget == sw.mWidgetPointer.data() && sw.mSiblingType == SiblingLinkedWidget ) return; } mSiblingWidgets.append( SiblingWidget( QPointer<QWidget>( widget ), SiblingLinkedWidget ) ); if ( QgsColorButton *cb = qobject_cast< QgsColorButton * >( widget ) ) { connect( cb, &QgsColorButton::unlinked, this, [ = ] { setActive( false ); updateGui(); } ); } updateSiblingWidgets( isActive() ); }