void StelButton::initCtor(const QPixmap& apixOn, const QPixmap& apixOff, const QPixmap& apixNoChange, const QPixmap& apixHover, StelAction* aaction, bool noBackground, bool isTristate) { pixOn = apixOn; pixOff = apixOff; pixHover = apixHover; pixNoChange = apixNoChange; noBckground = noBackground; isTristate_ = isTristate; opacity = 1.; hoverOpacity = 0.; action = aaction; checked = false; flagChangeFocus = false; Q_ASSERT(!pixOn.isNull()); Q_ASSERT(!pixOff.isNull()); if (isTristate_) { Q_ASSERT(!pixNoChange.isNull()); } setShapeMode(QGraphicsPixmapItem::BoundingRectShape); setAcceptHoverEvents(true); timeLine = new QTimeLine(250, this); timeLine->setCurveShape(QTimeLine::EaseOutCurve); connect(timeLine, SIGNAL(valueChanged(qreal)), this, SLOT(animValueChanged(qreal))); connect(&StelMainView::getInstance(), SIGNAL(updateIconsRequested()), this, SLOT(updateIcon())); // Not sure if this is ever called? StelGui* gui = dynamic_cast<StelGui*>(StelApp::getInstance().getGui()); connect(gui, SIGNAL(flagUseButtonsBackgroundChanged(bool)), this, SLOT(updateIcon())); if (action!=Q_NULLPTR) { if (action->isCheckable()) { setChecked(action->isChecked()); connect(action, SIGNAL(toggled(bool)), this, SLOT(setChecked(bool))); connect(this, SIGNAL(toggled(bool)), action, SLOT(setChecked(bool))); } else {
void StelButton::initCtor(const QPixmap& apixOn, const QPixmap& apixOff, const QPixmap& apixNoChange, const QPixmap& apixHover, StelAction* aaction, bool noBackground, bool isTristate) { pixOn = apixOn; pixOff = apixOff; pixHover = apixHover; pixNoChange = apixNoChange; noBckground = noBackground; isTristate_ = isTristate; opacity = 1.; hoverOpacity = 0.; action = aaction; checked = false; Q_ASSERT(!pixOn.isNull()); Q_ASSERT(!pixOff.isNull()); if (isTristate_) { Q_ASSERT(!pixNoChange.isNull()); } setShapeMode(QGraphicsPixmapItem::BoundingRectShape); setAcceptHoverEvents(true); timeLine = new QTimeLine(250, this); timeLine->setCurveShape(QTimeLine::EaseOutCurve); connect(timeLine, SIGNAL(valueChanged(qreal)), this, SLOT(animValueChanged(qreal))); if (action!=NULL) { if (action->isCheckable()) { setChecked(action->isChecked()); connect(action, SIGNAL(toggled(bool)), this, SLOT(setChecked(bool))); connect(this, SIGNAL(toggled(bool)), action, SLOT(setChecked(bool))); } else {