/** * Draws the button label. */ void ColorButton::paintEvent (QPaintEvent * e) { #if 0 // first paint the complete button QPushButton::paintEvent(e); // repaint the rectangle area QPalette::ColorGroup group = isEnabled() ? hasFocus() ? QPalette::Active : QPalette::Inactive : QPalette::Disabled; QColor pen = palette().color(group,QPalette::ButtonText); { QPainter paint(this); paint.setPen(pen); if (d->drawFrame) { paint.setBrush(QBrush(d->col)); paint.drawRect(5, 5, width()-10, height()-10); } else { paint.fillRect(5, 5, width()-10, height()-10, QBrush(d->col)); } } // overpaint the rectangle to paint icon and text QStyleOptionButton opt; opt.init(this); opt.text = text(); opt.icon = icon(); opt.iconSize = iconSize(); QStylePainter p(this); p.drawControl(QStyle::CE_PushButtonLabel, opt); #else if (d->dirty) { QSize isize = iconSize(); QPixmap pix(isize); pix.fill(palette().button().color()); QPainter p(&pix); int w = pix.width(); int h = pix.height(); p.setPen(QPen(Qt::gray)); if (d->drawFrame) { p.setBrush(d->col); p.drawRect(2, 2, w - 5, h - 5); } else { p.fillRect(0, 0, w, h, QBrush(d->col)); } setIcon(QIcon(pix)); d->dirty = false; } QPushButton::paintEvent(e); #endif }
void InputCheckBox::paintEvent(QPaintEvent * event) { QStyleOptionButton opt; opt.init(this); QPainter p(this); QPalette palette; if( isChecked() ) { opt.state |= QStyle::State_On; } style()->drawControl(QStyle::CE_CheckBox,&opt,&p,this); }
void CSVWidget::ColorPickerPopup::mousePressEvent(QMouseEvent *event) { QPushButton *button = qobject_cast<QPushButton *>(parentWidget()); if (button != NULL) { QStyleOptionButton option; option.init(button); QRect buttonRect = option.rect; buttonRect.moveTo(button->mapToGlobal(buttonRect.topLeft())); // If the mouse is pressed above the pop-up parent, // the pop-up will be hidden and the pressed signal won't be repeated for the parent if (buttonRect.contains(event->globalPos()) || buttonRect.contains(event->pos())) { setAttribute(Qt::WA_NoMouseReplay); } } QFrame::mousePressEvent(event); }
void VColorButton::drawButton(QPainter *p) { QStyleOptionButton buttonOptions; buttonOptions.init(this); buttonOptions.features = QStyleOptionButton::None; buttonOptions.rect = rect(); buttonOptions.palette = palette(); buttonOptions.state = (isDown() ? QStyle::State_Sunken : QStyle::State_Raised); style()->drawPrimitive(QStyle::PE_PanelButtonBevel, &buttonOptions, p, this); p->save(); drawButtonLabel(p); p->restore(); QStyleOptionFocusRect frectOptions; frectOptions.init(this); frectOptions.rect = style()->subElementRect(QStyle::SE_PushButtonFocusRect, &buttonOptions, this); if (hasFocus()) style()->drawPrimitive(QStyle::PE_FrameFocusRect, &frectOptions, p, this); }
static QStyleOptionButton styleOpt(const QwtArrowButton* btn) { QStyleOptionButton option; option.init(btn); option.features = QStyleOptionButton::None; if (btn->isFlat()) option.features |= QStyleOptionButton::Flat; if (btn->menu()) option.features |= QStyleOptionButton::HasMenu; if (btn->autoDefault() || btn->isDefault()) option.features |= QStyleOptionButton::AutoDefaultButton; if (btn->isDefault()) option.features |= QStyleOptionButton::DefaultButton; if (btn->isDown()) option.state |= QStyle::State_Sunken; if (!btn->isFlat() && !btn->isDown()) option.state |= QStyle::State_Raised; return option; }
//----------------------------------------------------------------------------- QStyleOptionButton ctkPushButtonPrivate::drawIcon(QPainter* p) { Q_Q(ctkPushButton); QStyleOptionButton iconOpt; iconOpt.init(q); iconOpt.rect = this->iconRect(); QIcon::Mode mode = iconOpt.state & QStyle::State_Enabled ? QIcon::Normal : QIcon::Disabled; if (mode == QIcon::Normal && iconOpt.state & QStyle::State_HasFocus) { mode = QIcon::Active; } QIcon::State state = QIcon::Off; if (iconOpt.state & QStyle::State_On) { state = QIcon::On; } QPixmap pixmap = q->icon().pixmap(iconOpt.rect.size(), mode, state); p->drawPixmap(iconOpt.rect, pixmap); return iconOpt; }
void ATCMtime::paintEvent(QPaintEvent * e) { Q_UNUSED( e ); QPainter painter(this); QPalette palette = this->palette(); QStyleOptionButton opt; opt.init(this); /* text */ opt.text = text(); /* button color */ palette.setColor(QPalette::Button, m_bgcolor); /* font color */ palette.setColor(QPalette::ButtonText, m_fontcolor); /* border color */ palette.setColor(QPalette::Foreground, m_bordercolor); if (m_apparence == QFrame::Raised) { opt.state = QStyle::State_Off | QStyle::State_Raised; } else if (m_apparence == QFrame::Sunken) { opt.state = QStyle::State_Off | QStyle::State_Sunken; } else { opt.state = QStyle::State_Off; } opt.palette = palette; _diameter_ = m_borderradius; _penWidth_ = m_borderwidth; style()->drawControl(QStyle::CE_PushButton, &opt, &painter); }
QRect LabelTaskMenuInlineEditor::editRectangle() const { QStyleOptionButton opt; opt.init(widget()); return opt.rect; }
void ATCMbutton::paintEvent(QPaintEvent * e) { Q_UNUSED( e ); QPainter painter(this); QPalette palette = this->palette(); QStyleOptionButton opt; opt.init(this); if (isDown() == false && isChecked() == false) { /* button color */ palette.setColor(QPalette::Button, m_bgcolor); /* font color */ palette.setColor(QPalette::ButtonText, m_fontcolor); /* border color */ palette.setColor(QPalette::Foreground, m_bordercolor); /* icon */ opt.icon = m_icon; opt.iconSize = iconSize(); /* text */ opt.text = m_text; if (m_apparence == QFrame::Raised) { opt.state = QStyle::State_Off | QStyle::State_Raised; } else if (m_apparence == QFrame::Sunken) { opt.state = QStyle::State_Off | QStyle::State_Sunken; } else { opt.state = QStyle::State_Off; } } else { /* button color */ palette.setColor(QPalette::Button, m_bgcolor_press); /* font color */ palette.setColor(QPalette::ButtonText, m_fontcolor_press); /* border color */ palette.setColor(QPalette::Foreground, m_bordercolor_press); /* icon */ opt.icon = m_icon_press; opt.iconSize = iconSize(); /* text */ opt.text = m_text_press; if (m_apparence == QFrame::Raised) { opt.state = QStyle::State_Off | QStyle::State_Sunken; } else if (m_apparence == QFrame::Sunken) { opt.state = QStyle::State_Off | QStyle::State_Raised; } else { opt.state = QStyle::State_Off; } } #ifdef TARGET_ARM if (m_viewstatus) { /* draw the background color in funtion of the status */ palette.setColor(QPalette::Foreground, Qt::red); if (m_status & STATUS_OK) palette.setColor(QPalette::Foreground, Qt::green); else if (m_status & (STATUS_BUSY_R | STATUS_BUSY_W)) palette.setColor(QPalette::Foreground, Qt::yellow); else if (m_status & (STATUS_FAIL_W | STATUS_ERR)) palette.setColor(QPalette::Foreground, Qt::red); else palette.setColor(QPalette::Foreground, Qt::gray); } #endif opt.palette = palette; _diameter_ = m_borderradius; _penWidth_ = m_borderwidth; style()->drawControl(QStyle::CE_PushButton, &opt, &painter); }