void GUIToggle::toggleOff() { if(!mIsToggled) return; bool canBeToggledOff = false; if(mToggleGroup != nullptr) // If in group ensure at least one element is toggled on { for(auto& toggleElem : mToggleGroup->mButtons) { if(toggleElem != this) { if(toggleElem->mIsToggled) { canBeToggledOff = true; break; } } } } else canBeToggledOff = true; if (canBeToggledOff || mToggleGroup->mAllowAllOff) { mIsToggled = false; if(!onToggled.empty()) onToggled(mIsToggled); _setOn(false); } }
int MoodBox::TextStyleButton::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QToolButton::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: fontNameSelected((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 1: onToggled((*reinterpret_cast< bool(*)>(_a[1]))); break; case 2: onStyleWidgetClosed(); break; default: ; } _id -= 3; } return _id; }
void GUIToggle::toggleOn() { if(mIsToggled) return; mIsToggled = true; if(!onToggled.empty()) onToggled(mIsToggled); if(mToggleGroup != nullptr) { for(auto& toggleElem : mToggleGroup->mButtons) { if(toggleElem != this) toggleElem->toggleOff(); } } _setOn(true); }