/*! \reimp */ bool QButtonGroup::event( QEvent * e ) { if ( e->type() == QEvent::ChildInserted ) { QChildEvent * ce = (QChildEvent *) e; if ( radio_excl && ::qt_cast<QRadioButton*>(ce->child()) ) { QButton * button = (QButton *) ce->child(); if ( button->isToggleButton() && !button->isOn() && selected() && (selected()->focusPolicy() & TabFocus) != 0 ) button->setFocusPolicy( (FocusPolicy)(button->focusPolicy() & ~TabFocus) ); } } return QGroupBox::event( e ); }
/** Insert a check or radio button */ void KGroupEduca::insertAnswer( const QString& text) { QButton *answer = 0; switch( _typeMode ) { case Radio: answer = new KRadioEduca( _vbox2 ); break; case Check: answer = new KCheckEduca( _vbox2 ); break; } answer->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)0 ) ); answer->setText( text ); answer->show(); insert(answer); }
void MainWindow::setCurrent(QListViewItem *item) { if (!item) return; _currentItem = (OListViewItem*)item; // _currentItem = dynamic_cast<OListViewItem*>(item); if (_currentItem->rtti() == OListViewItem::Result) { ResultItem *res = (ResultItem*)item; // ResultItem *res = dynamic_cast<ResultItem*>(item); richEdit->setText( res->toRichText() ); QIntDict<QString> acts = res->actions(); QButton *button; for (uint i = 0; i < acts.count(); i++) { button = buttonMap[i]; if (!button && acts[i]) { owarn << " no button for " << *acts[i] << oendl; button = new QPushButton( buttonBox ); buttonMap.insert( i, button ); signalMapper->setMapping(button, i ); connect(button, SIGNAL(clicked() ), signalMapper, SLOT(map() ) ); } else if (!acts[i]) { owarn << "No action for index " << i << oendl; continue; } button->setText( *acts[i] ); button->show(); } for (uint i = acts.count(); i < _buttonCount; i++) { button = buttonMap[i]; if (button) button->hide(); } _buttonCount = acts.count(); detailsFrame->show(); buttonBox->show(); } else { detailsFrame->hide(); buttonBox->hide(); } popupTimer->start( 300, true ); }
void QButtonGroup::buttonToggled( bool on ) { // introduce a QButtonListIt if calling anything if ( !on || !excl_grp && !radio_excl ) return; QButton *bt = ::qt_cast<QButton*>(sender()); // object that sent the signal #if defined(QT_CHECK_NULL) Q_ASSERT( bt ); Q_ASSERT( bt->isToggleButton() ); #endif if ( !excl_grp && !::qt_cast<QRadioButton*>(bt) ) return; QButtonItem * i = buttons->first(); bool hasTabFocus = FALSE; while( i != 0 && hasTabFocus == FALSE ) { if ( ( excl_grp || ::qt_cast<QRadioButton*>(i->button) ) && (i->button->focusPolicy() & TabFocus) ) hasTabFocus = TRUE; i = buttons->next(); } i = buttons->first(); while( i ) { if ( bt != i->button && i->button->isToggleButton() && i->button->isOn() && ( excl_grp || ::qt_cast<QRadioButton*>(i->button) ) ) i->button->setOn( FALSE ); if ( ( excl_grp || ::qt_cast<QRadioButton*>(i->button) ) && i->button->isToggleButton() && hasTabFocus ) i->button->setFocusPolicy( (FocusPolicy)(i->button->focusPolicy() & ~TabFocus) ); i = buttons->next(); } if ( hasTabFocus ) bt->setFocusPolicy( (FocusPolicy)(bt->focusPolicy() | TabFocus) ); }
QString EmailSelectDialog::selected() { QButton *button = mButtonGroup->selected(); if ( button ) return button->text(); return QString::null; }
KeyPad::KeyPad(LCDDisplay *lcd, QWidget *parent, const char *name ) : QGrid(5, parent, name) { int i; QButton *btnButton; // save lcd at init display = lcd; // Init variable dCurrent = 0; iLenCurrent = 1; bIsDec = false; dDecCurrent = 0; iPreviousOperator = 0; dPreviousValue = 0; // First line btnClear = new QPushButton("CE/C", this, "Clear"); btn7 = new QPushButton("7", this, "7"); btn8 = new QPushButton("8", this, "8"); btn9 = new QPushButton("9", this, "9"); btnPlus = new QPushButton("+", this, "+"); // 2nd line btnBackspace = new QPushButton("<-",this, "Backspace"); btn4 = new QPushButton("4", this, "4"); btn5 = new QPushButton("5", this, "5"); btn6 = new QPushButton("6", this, "6"); btnMinus = new QPushButton("-", this, "-"); // 3rd line btnPercent = new QPushButton("%", this, "percent"); btn1 = new QPushButton("1", this, "1"); btn2 = new QPushButton("2", this, "2"); btn3 = new QPushButton("3", this, "3"); btnMultiply = new QPushButton("X", this, "X"); // 4th line btnAbout = new QPushButton("?", this, "About"); btn0 = new QPushButton("0", this, "0"); btnDot = new QPushButton(".", this, "dot"); btnEqual = new QPushButton("=", this, "equal"); btnDivide = new QPushButton("/", this, "divide"); // Digit key grpbtnDigits = new QButtonGroup(0, "digits"); grpbtnDigits->insert(btn0, 0); grpbtnDigits->insert(btn1, 1); grpbtnDigits->insert(btn2, 2); grpbtnDigits->insert(btn3, 3); grpbtnDigits->insert(btn4, 4); grpbtnDigits->insert(btn5, 5); grpbtnDigits->insert(btn6, 6); grpbtnDigits->insert(btn7, 7); grpbtnDigits->insert(btn8, 8); grpbtnDigits->insert(btn9, 9); // set appearance of buttons for(i=0; i<10; i++) { btnButton = grpbtnDigits->find(i); btnButton->setFixedSize(30,30); } // Operator key grpbtnOperators = new QButtonGroup(0, "operator"); grpbtnOperators->insert(btnPlus, 1); grpbtnOperators->insert(btnMinus,2); grpbtnOperators->insert(btnMultiply,3); grpbtnOperators->insert(btnDivide,4); grpbtnOperators->insert(btnEqual,5); // set appearance of buttons for(i=1; i<6; i++) { btnButton = grpbtnOperators->find(i); btnButton->setFixedSize(30,30); } btnClear->setFixedSize(30,30); btnClear->setPalette(QPalette( QColor(255, 99, 71) ) ); btnDot->setFixedSize(30,30); btnPercent->setFixedSize(30,30); btnBackspace->setFixedSize(30,30); btnAbout->setFixedSize(30,30); m_buttonKeys.insert(Key_0, btn0); m_buttonKeys.insert(Key_1, btn1); m_buttonKeys.insert(Key_2, btn2); m_buttonKeys.insert(Key_3, btn3); m_buttonKeys.insert(Key_4, btn4); m_buttonKeys.insert(Key_5, btn5); m_buttonKeys.insert(Key_6, btn6); m_buttonKeys.insert(Key_7, btn7); m_buttonKeys.insert(Key_8, btn8); m_buttonKeys.insert(Key_9, btn9); m_buttonKeys.insert(Key_Period, btnDot); m_buttonKeys.insert(Key_Plus, btnPlus); m_buttonKeys.insert(Key_Minus, btnMinus); m_buttonKeys.insert(Key_Equal, btnEqual); m_buttonKeys.insert(Key_Asterisk, btnMultiply); m_buttonKeys.insert(Key_Slash, btnDivide); m_buttonKeys.insert(Key_Percent, btnPercent); m_buttonKeys.insert(Key_Backspace, btnBackspace); // SIGNALS AND SLOTS connect(grpbtnDigits, SIGNAL(clicked(int) ), this, SLOT(enterDigits(int))); connect(grpbtnOperators, SIGNAL(clicked(int)), this, SLOT(operatorPressed(int))); connect(btnClear, SIGNAL(clicked()), this, SLOT(clearLCD())); connect(btnBackspace, SIGNAL(clicked()), this, SLOT(backspace())); connect(btnAbout, SIGNAL(clicked()), this, SLOT(aboutDialog())); connect(btnDot, SIGNAL(clicked()), this, SLOT(gotoDec())); connect(display, SIGNAL(keyPressed(int)), SLOT(slotKeyPressed(int))); connect(display, SIGNAL(keyReleased(int)), SLOT(slotKeyReleased(int))); }
void ElogEntryI::saveSettings() { KstELOGAttribStruct attrib; KConfig cfg("kstrc", false, false); QButton* button; QString str; unsigned int i; int j; _strAttributes.truncate( 0 ); for( i=0; i<_attribs.count(); i++ ) { attrib = _attribs[i]; switch( attrib.type ) { case AttribTypeText: str.sprintf( "%s=%s\n", attrib.attribName.latin1(), ((QLineEdit*)(attrib.pWidget))->text().latin1() ); _strAttributes += str; break; case AttribTypeBool: if( ((QCheckBox*)(attrib.pWidget))->isChecked() ) { str.sprintf( "%s=1\n", attrib.attribName.latin1() ); _strAttributes += str; } break; case AttribTypeCombo: str.sprintf( "%s=%s\n", attrib.attribName.latin1(), ((QComboBox*)(attrib.pWidget))->currentText().latin1() ); _strAttributes += str; break; case AttribTypeRadio: button = ((QHButtonGroup*)(attrib.pWidget))->selected( ); if( button != NULL ) { str.sprintf( "%s=%s\n", attrib.attribName.latin1(), button->text( ).latin1() ); _strAttributes += str; } break; case AttribTypeCheck: for( j=0; j<((QHButtonGroup*)(attrib.pWidget))->count(); j++ ) { button = ((QHButtonGroup*)(attrib.pWidget))->find( j ); if( button != NULL ) { if( ((QRadioButton*)button)->isChecked() ) { str.sprintf( "%s#%d=%s\n", attrib.attribName.latin1(), j, button->text( ).latin1() ); _strAttributes += str; } } } break; } } _strText = textEditText->text(); _bIncludeCapture = checkBoxIncludeCapture->isChecked(); _bIncludeConfiguration = checkBoxIncludeConfiguration->isChecked(); _bIncludeDebugInfo = checkBoxIncludeDebugInfo->isChecked(); cfg.setGroup("ELOG"); str.sprintf( "Attributes:%s:%d:%s", _elog->configuration()->ipAddress().ascii(), _elog->configuration()->portNumber(), _elog->configuration()->name().ascii() ); cfg.writeEntry(str, _strAttributes); cfg.writeEntry("IncludeCapture", _bIncludeCapture); cfg.writeEntry("IncludeConfiguration", _bIncludeConfiguration); cfg.writeEntry("IncludeDebugInfo", _bIncludeDebugInfo); cfg.sync(); }
static void button_clicked(GtkButton *button, gpointer user_data) { QButton* btn = static_cast<QButton*>(user_data); btn->clicked(); }
void QButtonGroup::moveFocus( int key ) { QWidget * f = qApp->focusWidget(); QButtonItem * i; i = buttons->first(); while( i && i->button != f ) i = buttons->next(); if ( !i || !i->button ) return; QWidget * candidate = 0; int bestScore = -1; QPoint goal( f->mapToGlobal( f->geometry().center() ) ); i = buttons->first(); while( i && i->button ) { if ( i->button != f && i->button->isEnabled() ) { QPoint p(i->button->mapToGlobal(i->button->geometry().center())); int score = (p.y() - goal.y())*(p.y() - goal.y()) + (p.x() - goal.x())*(p.x() - goal.x()); bool betterScore = score < bestScore || !candidate; switch( key ) { case Key_Up: if ( p.y() < goal.y() && betterScore ) { if ( QABS( p.x() - goal.x() ) < QABS( p.y() - goal.y() ) ) { candidate = i->button; bestScore = score; } else if ( i->button->x() == f->x() ) { candidate = i->button; bestScore = score/2; } } break; case Key_Down: if ( p.y() > goal.y() && betterScore ) { if ( QABS( p.x() - goal.x() ) < QABS( p.y() - goal.y() ) ) { candidate = i->button; bestScore = score; } else if ( i->button->x() == f->x() ) { candidate = i->button; bestScore = score/2; } } break; case Key_Left: if ( p.x() < goal.x() && betterScore ) { if ( QABS( p.y() - goal.y() ) < QABS( p.x() - goal.x() ) ) { candidate = i->button; bestScore = score; } else if ( i->button->y() == f->y() ) { candidate = i->button; bestScore = score/2; } } break; case Key_Right: if ( p.x() > goal.x() && betterScore ) { if ( QABS( p.y() - goal.y() ) < QABS( p.x() - goal.x() ) ) { candidate = i->button; bestScore = score; } else if ( i->button->y() == f->y() ) { candidate = i->button; bestScore = score/2; } } break; } } i = buttons->next(); } QButton *buttoncand = ::qt_cast<QButton*>(candidate); if ( buttoncand && ::qt_cast<QButton*>(f) && ((QButton*)f)->isOn() && buttoncand->isToggleButton() && ( isExclusive() || ( ::qt_cast<QRadioButton*>(f) && ::qt_cast<QRadioButton*>(candidate)))) { if ( f->focusPolicy() & TabFocus ) { f->setFocusPolicy( (FocusPolicy)(f->focusPolicy() & ~TabFocus) ); candidate->setFocusPolicy( (FocusPolicy)(candidate->focusPolicy()| TabFocus) ); } buttoncand->setOn( TRUE ); buttoncand->animateClick(); buttoncand->animateTimeout(); // ### crude l&f hack } if ( candidate ) { if (key == Key_Up || key == Key_Left) QFocusEvent::setReason(QFocusEvent::Backtab); else QFocusEvent::setReason(QFocusEvent::Tab); candidate->setFocus(); QFocusEvent::resetReason(); } }
void QButtonGroup::setButton( int id ) { QButton * b = find( id ); if ( b ) b->setOn( TRUE ); }