IsometryWindow::IsometryWindow( int u, Organizer *organ, vector <ManifoldInterface *> v) : QMainWindow(0,0,Qt::WStyle_Tool) { setCaption("Compare"); items = v; o = organ; upper_bound = u; box = new QVBox( this ); setCentralWidget( box ); top = new QHBox( box, "top"); blank = new QLabel( "",top, 0 ); blank->setPixmap( compare_xpm ); top->setStretchFactor( blank, 10 ); button = new QPushButton("Compare", top, 0 ); connect( button, SIGNAL( clicked() ), this, SLOT( sameManifoldSlot() ) ); lists = new QHBox( box, "lists" ); list1 = new QListBox( lists ); QPalette p = list1->palette(); QColorGroup cg = p.active(); cg.setColor(QColorGroup::Base, BASE ); cg.setColor(QColorGroup::Text, TEXT ); cg.setColor(QColorGroup::Highlight, HIGHLIGHT ); p.setBrush(QColorGroup::Text, TEXT ); p.setBrush(QColorGroup::Base, BASE ); p.setActive(cg); list1->setPalette(p); list2 = new QListBox( lists ); p = list1->palette(); cg = p.active(); cg.setColor(QColorGroup::Base, BASE ); cg.setColor(QColorGroup::Text, TEXT ); cg.setColor(QColorGroup::Highlight, HIGHLIGHT ); p.setBrush(QColorGroup::Text, TEXT ); p.setBrush(QColorGroup::Base, BASE ); p.setActive(cg); list2->setPalette(p); buttonGroup = new QHButtonGroup( "Random matching:", box, "buttonGroup"); checkBox = new QCheckBox("Use",buttonGroup, "checkBox"); slider = new QSlider( 1, 1000, 100, 0, Qt::Horizontal, buttonGroup, "slider" ); setMinimumWidth( 225 ); setMaximumWidth( 500 ); setMinimumHeight( 100 ); setMaximumHeight( 500 ); setGeometry(0,353,250,180); }
/** Constructor */ MReportViewer::MReportViewer(QWidget *parent, const char *name) : QWidget(parent, name), progress(0), totalSteps(0), printer(0), posprinter(0), numCopies_(1), printToPos_(false), printerName_(QString::null), dpi_(300), colorMode_(PrintColor) { #if defined(Q_OS_WIN32) || defined(Q_OS_MACX) psprinter = 0; #endif // Create the scrollview scroller = new QScrollView(this); // Create the report engine rptEngine = 0; report = new MPageCollection(this); // Get the current color palette QPalette p = palette(); QColorGroup g = p.active(); // Set the scroller's background color scroller->viewport() ->setBackgroundColor(g.mid()); // Create the report display widget display = new MPageDisplay(scroller->viewport()); // Set the display's default background color display->setBackgroundColor(white); // Add the display to the scrollview scroller->addChild(display); //Hide the display, we don't have a report yet .. display->hide(); }
void StringBody::setAppearance(int appearance) { this->appearance = appearance; switch (appearance) { case PLAIN: setFlat(true); setEnabled(false); { // Use the same background color as Form's qwidget setBackgroundColor(parentWidget()->palette().active().background()); // Make sure that text is displayed with active color values QPalette curPalette = palette(); QColorGroup curActive = curPalette.active(); setPalette(QPalette(curActive, curActive, curActive)); } PAD = 0; break; case HYPERLINK: setFlat(true); setEnabled(true); PAD = 2; break; case BUTTON: setFlat(false); setEnabled(true); PAD = 5; break; } }
EXPORT void disableWidget(QWidget *w) { QPalette pal = w->palette(); pal.setDisabled(pal.active()); w->setPalette(pal); w->setEnabled(false); }
void PropertyPanel::setTitleColors() { QPalette palette = titleFrame->palette(); palette.setActive( highlightColorGroup( palette.active() ) ); palette.setInactive( highlightColorGroup( palette.inactive() ) ); palette.setDisabled( highlightColorGroup( palette.disabled() ) ); titleFrame->setPalette( palette ); }
void amaroK::TrayIcon::paletteChange( const QPalette & op ) { if ( palette().active().highlight() == op.active().highlight() || alternateIcon.isNull() ) return; alternateIcon.resize( 0, 0 ); paintIcon( mergeLevel, true ); }
/*! Reimplementation from QStyle */ void MetalStyle::polish( QApplication *app) { oldPalette = app->palette(); // we simply create a nice QColorGroup with a couple of fancy // pixmaps here and apply to it all widgets QFont f("times", app->font().pointSize() ); f.setBold( TRUE ); f.setItalic( TRUE ); app->setFont( f, TRUE, "QMenuBar"); app->setFont( f, TRUE, "QPopupMenu"); // QPixmap button( stonedark_xpm ); QColor gold("#B9B9A5A54040"); //same as topgrad below QPixmap button( 1, 1 ); button.fill( gold ); QPixmap background(marble_xpm); QPixmap dark( 1, 1 ); dark.fill( red.dark() ); QPixmap mid( stone1_xpm ); QPixmap light( stone1_xpm );//1, 1 ); light.fill( green ); QPalette op = app->palette(); QColor backCol( 227,227,227 ); // QPalette op(white); QColorGroup active (op.active().foreground(), QBrush(op.active().button(),button), QBrush(op.active().light(), light), QBrush(op.active().dark(), dark), QBrush(op.active().mid(), mid), op.active().text(), Qt::white, op.active().base(),// QColor(236,182,120), QBrush(backCol, background) ); active.setColor( QColorGroup::ButtonText, Qt::white ); active.setColor( QColorGroup::Shadow, Qt::black ); QColorGroup disabled (op.disabled().foreground(), QBrush(op.disabled().button(),button), QBrush(op.disabled().light(), light), op.disabled().dark(), QBrush(op.disabled().mid(), mid), op.disabled().text(), Qt::white, op.disabled().base(),// QColor(236,182,120), QBrush(backCol, background) ); QPalette newPalette( active, disabled, active ); app->setPalette( newPalette, TRUE ); }
void KGameProgress::paletteChange() { QPalette p = kapp->palette(); const QColorGroup &colorGroup = p.active(); if (!use_supplied_bar_color) bar_color = colorGroup.highlight(); bar_text_color = colorGroup.highlightedText(); text_color = colorGroup.text(); setPalette(p); adjustStyle(); }
void KexiDBImageBox::setPalette(const QPalette &pal) { KexiFrame::setPalette(pal); if (m_insideSetPalette) return; m_insideSetPalette = true; setPaletteBackgroundColor(pal.active().base()); //setPaletteForegroundColor(pal.active().foreground()); QPalette p(palette()); p.setColor(foregroundRole(), pal.color(foregroundRole())); setPalette(p); m_insideSetPalette = false; }
EXPORT void disableWidget(QWidget *w) { QPalette pal = w->palette(); pal.setDisabled(pal.active()); w->setPalette(pal); if (w->inherits("QLineEdit")){ static_cast<QLineEdit*>(w)->setReadOnly(true); }else if (w->inherits("QMulitLineEdit")){ static_cast<QMultiLineEdit*>(w)->setReadOnly(true); }else{ w->setEnabled(false); } }
void PaletteEditorAdvanced::setPreviewPalette( const QPalette& pal ) { QColorGroup cg; switch (selectedPalette) { case 0: default: cg = pal.active(); break; case 1: cg = pal.inactive(); break; case 2: cg = pal.disabled(); break; } previewPalette.setActive( cg ); previewPalette.setInactive( cg ); previewPalette.setDisabled( cg ); }
void QtCalculator::set_colors(){ QPalette mypalette = (calc_display->palette()).copy(); QColorGroup cgrp = mypalette.active(); QColorGroup ncgrp(kcalcdefaults.forecolor, cgrp.background(), cgrp.light(), cgrp.dark(), cgrp.mid(), kcalcdefaults.forecolor, kcalcdefaults.backcolor); mypalette.setActive(ncgrp); mypalette.setDisabled(ncgrp); mypalette.setActive(ncgrp); calc_display->setPalette(mypalette); calc_display->setBackgroundColor(kcalcdefaults.backcolor); }
void PaletteEditor::setPreviewPalette( const QPalette& pal ) { QColorGroup cg; switch (paletteCombo->currentItem()) { case 0: default: cg = pal.active(); break; case 1: cg = pal.inactive(); break; case 2: cg = pal.disabled(); break; } previewPalette.setActive( cg ); previewPalette.setInactive( cg ); previewPalette.setDisabled( cg ); previewFrame->setPreviewPalette(previewPalette); }
QColor lighterGrayBackgroundColor(const QPalette& palette) { return KexiUtils::blendedColors(palette.active().background(), palette.active().base(), 1, 2); }
ViewReadLinetree3::ViewReadLinetree3( bool open, QWidget* parent, const char* name, bool modal, WFlags fl ) : QDialog( parent, name, modal, fl ), __open(open) { if ( !name ) setName( "ViewReadLinetree3" ); resize( 500, 250 ); if(open)setCaption( tr( "Read Linetree" ) ); else setCaption( tr( "Save Linetree" ) ); buttonLig = new QToolButton( this, "buttonLig" ); buttonLig->setGeometry( QRect( 450, 10, 40, 21 ) ); buttonLig->setText( tr( "..." ) ); QObject::connect( buttonLig,SIGNAL(clicked()),this,SLOT(SelectLigFile())); QLabel * labelDta = new QLabel( this, "labelDta" ); labelDta->setGeometry( QRect( 10, 60, 61, 20 ) ); labelDta->setText( tr( "Dta File" ) ); buttonDta = new QToolButton( this, "buttonDta" ); buttonDta->setGeometry( QRect( 450, 60, 40, 21 ) ); buttonDta->setText( tr( "..." ) ); QObject::connect( buttonDta,SIGNAL(clicked()),this,SLOT(SelectDtaFile())); QLabel * labelSmb = new QLabel( this, "labelSmb" ); labelSmb->setGeometry( QRect( 10, 110, 61, 20 ) ); labelSmb->setText( tr( "SMB Path" ) ); buttonSmb = new QToolButton( this, "buttonSmb" ); buttonSmb->setGeometry( QRect( 450, 110, 40, 21 ) ); buttonSmb->setText( tr( "..." ) ); QObject::connect( buttonSmb,SIGNAL(clicked()),this,SLOT(SelectSMBPath())); QLabel * labelLig = new QLabel( this, "labelLig" ); labelLig->setGeometry( QRect( 10, 10, 61, 20 ) ); labelLig->setText( tr( "Lig File" ) ); editLig = new QLineEdit( this, "editLig" ); editLig->setGeometry( QRect( 100, 10, 350, 22 ) ); editDta = new QLineEdit( this, "editDta" ); editDta->setGeometry( QRect( 100, 60, 350, 22 ) ); if(!DTA_FILENAME.isEmpty())editDta->setText( tr(DTA_FILENAME) ); editSmb = new QLineEdit( this, "editSmb" ); editSmb->setGeometry( QRect( 100, 110, 350, 22 ) ); if(SMB_PATH.isEmpty()) { SMB_PATH = (TOOLS(getPlantGLDir())+"share/plantgl/SMBFiles").c_str() ; } if(!SMB_PATH.isEmpty())editSmb->setText( tr( SMB_PATH ) ); labelKey = new QLabel( this, "labelKey" ); labelKey->setGeometry( QRect( 10, 160, 89, 20 ) ); if(open)labelKey->setText( tr( "Key :" ) ); else labelKey->setText("Key : [AMAPmod]"); editKey = new QLineEdit( this, "editKey" ); editKey->setGeometry( QRect( 100, 160, 350, 22 ) ); editKey->setReadOnly(open); editKey->setFont(QFont("courier", 8)); QPalette pal = editKey->palette(); QColorGroup cg = pal.active(); cg.setColor( QColorGroup::Base, QColor( 212, 208, 200) ); pal.setActive( cg ); cg = pal.inactive(); cg.setColor( QColorGroup::Base, QColor( 212, 208, 200) ); pal.setInactive( cg ); cg = pal.disabled(); cg.setColor( QColorGroup::Base, QColor( 212, 208, 200) ); pal.setDisabled( cg ); editKey->setProperty( "palette", pal ); editKey->setEchoMode(QLineEdit::Password); if(!open)editKey->setText(PGL(LinetreePrinter)::PROTECTION.c_str()); QObject::connect( editKey,SIGNAL(textChanged(const QString&)),this,SLOT(checkKey(const QString&))); DblClickEater * dblCkEater = new DblClickEater(editKey); labelKey->installEventFilter( dblCkEater ); if(!open){ QToolButton * buttonKey = new QToolButton( this, "buttonKey" ); buttonKey->setGeometry( QRect( 450, 160, 40, 21 ) ); buttonKey->setText( tr( "Reset" ) ); QObject::connect( buttonKey,SIGNAL(clicked()),this,SLOT(resetKey())); } buttonCancel = new QPushButton( this, "buttonCancel" ); buttonCancel->setGeometry( QRect( 390, 200, 104, 28 ) ); buttonCancel->setText( tr( "&Cancel" ) ); QObject::connect( buttonCancel,SIGNAL(clicked()),this,SLOT(reject())); buttonOk = new QPushButton( this, "buttonOk" ); buttonOk->setGeometry( QRect( 280, 200, 104, 28 ) ); buttonOk->setText( tr( "&Ok" ) ); QObject::connect( buttonOk,SIGNAL(clicked()),this,SLOT(ok())); endianBox = new QCheckBox( this, "endianBox" ); endianBox->setGeometry( QRect( 10, 205, 90, 20 ) ); endianBox->setText( tr( "Big Endian" ) ); endianBox->setChecked(true); if(open){ QPushButton * buttonTestEndianess = new QPushButton( this, "TestEndianess" ); buttonTestEndianess->setGeometry( QRect( 100, 200, 54, 28 ) ); buttonTestEndianess->setText( tr( "Test" ) ); QObject::connect( buttonTestEndianess,SIGNAL(clicked()),this,SLOT(testEndianess())); } if(!LIG_FILENAME.isEmpty()){ editLig->setText( tr(LIG_FILENAME) ); checkKey(); } }
/** - checks the entered result and compares it to the task's result - shows the correct result and informs the user if he was right or wrong - if the user entered the result unreduced, he will be informed about it - if the user entered a 0 for the denominator, he will be informed about it (division by zero) - emits signals if task was solved right or wrong */ void TaskView::showResult() { QString tmp_str; /* to build a string for a label */ QPalette pal; QColorGroup cg; // change the tooltip of the check button QToolTip::add(m_checkButton, i18n("Click on this button to get to the next task.")); numer_edit->setEnabled(false); deno_edit->setEnabled(false); result = current_task.solve(); m_resultWidget->setResult(result); m_resultWidget->show(); // an empty numerator field will be interpreted as 0 if (numer_edit->text().isEmpty() == true) numer_edit->setText("0"); // an empty denominator field will be interpreted as 1 if (deno_edit->text().isEmpty() == true) deno_edit->setText("1"); /* store the entered result to check it, but without reducing */ entered_result.setNumerator(numer_edit->text().toInt(), false); entered_result.setDenominator(deno_edit->text().toInt(), false); // check the entered result; 0/1 == 0/5 -> true, // but 0/1 == 0/0 -> false // a 0 for denominator is never allowed (always counted as wrong) // // we have to get the 0 directly from the input field, because // Ratio::setDenominator(0, false) will set the denominator to 1 to ensure // the Ratio is valid if ( (deno_edit->text().toInt() != 0) && ((entered_result == result) || (result.numerator() == 0 && entered_result.numerator() == 0)) ) { // emit the signal for correct signalTaskSolvedCorrect(); /* yes, the user entered the correct result */ result_label->setText(i18n("CORRECT")); pal = result_label->palette(); /* set green font color */ cg = pal.active(); cg.setColor(QColorGroup::Foreground, QColor(6, 179, 0)); pal.setActive(cg); cg = pal.inactive(); cg.setColor(QColorGroup::Foreground, QColor(6, 179, 0)); pal.setInactive(cg); result_label->setPalette(pal); result_label->show(); /* show the result at the end of the task */ } else { // emit the signal for wrong signalTaskSolvedWrong(); /* no, the user entered the wrong result */ result_label->setText(i18n("WRONG")); pal = result_label->palette(); /* set red font color */ cg = pal.active(); cg.setColor(QColorGroup::Foreground, QColor(red)); pal.setActive(cg); cg = pal.inactive(); cg.setColor(QColorGroup::Foreground, QColor(red)); pal.setInactive(cg); result_label->setPalette(pal); result_label->show(); /* show the result at the end of the task */ // if the user entered a 0 for the denominator (division by 0) we have to // get the 0 directly from the input field, because // Ratio::setDenominator(0, true) will set the denominator to 1 to ensure // the Ratio is valid if (deno_edit->text().toInt() == 0) { KMessageBox::information(this, i18n("You entered a 0 as the denominator. This means division by zero, which is not allowed. This task will be counted as not correctly solved.")); } else { /* maybe the entered ratio was not reduced */ entered_result.reduce(); if (entered_result == result) KMessageBox::information(this, i18n("You entered the correct result, but not reduced.\nAlways enter your results as reduced. This task will be counted as not correctly solved.")); } } /* if (entered_result == result) */ }
void FreshStyle::drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int tab, QMenuItem* mi, const QPalette& pal, bool act, bool enabled, int x, int y, int w, int h) { #ifndef QT_NO_MENUDATA const QColorGroup & g = pal.active(); bool dis = !enabled; QColorGroup itemg = dis ? pal.disabled() : pal.active(); if ( checkable ) maxpmw = QMAX( maxpmw, 8 ); // space for the checkmarks int checkcol = maxpmw; if ( mi && mi->isSeparator() ) { // draw separator p->setPen( g.dark() ); p->drawLine( x, y, x+w, y ); p->setPen( g.light() ); p->drawLine( x, y+1, x+w, y+1 ); return; } QBrush fill = act? g.brush( QColorGroup::Highlight ) : g.brush( QColorGroup::Button ); p->fillRect( x, y, w, h, fill); if ( !mi ) return; if ( mi->isChecked() ) { if ( act && !dis ) { qDrawShadePanel( p, x, y, checkcol, h, g, TRUE, 1, &g.brush( QColorGroup::Button ) ); } else { qDrawShadePanel( p, x, y, checkcol, h, g, TRUE, 1, &g.brush( QColorGroup::Midlight ) ); } } else if ( !act ) { p->fillRect(x, y, checkcol , h, g.brush( QColorGroup::Button )); } if ( mi->iconSet() ) { // draw iconset QIconSet::Mode mode = dis ? QIconSet::Disabled : QIconSet::Normal; if (act && !dis ) mode = QIconSet::Active; QPixmap pixmap; if ( mode == QIconSet::Disabled ) pixmap = mi->iconSet()->pixmap( QIconSet::Automatic, mode ); else pixmap = mi->iconSet()->pixmap(); int pixw = pixmap.width(); int pixh = pixmap.height(); if ( act && !dis ) { if ( !mi->isChecked() ) qDrawShadePanel( p, x, y, checkcol, h, g, FALSE, 1, &g.brush( QColorGroup::Button ) ); } QRect cr( x, y, checkcol, h ); QRect pmr( 0, 0, pixw, pixh ); pmr.moveCenter( cr.center() ); p->setPen( itemg.text() ); p->drawPixmap( pmr.topLeft(), pixmap ); QBrush fill = act? g.brush( QColorGroup::Highlight ) : g.brush( QColorGroup::Button ); p->fillRect( x+checkcol + 1, y, w - checkcol - 1, h, fill); } else if ( checkable ) { // just "checking"... int mw = checkcol + motifItemFrame; int mh = h - 2*motifItemFrame; if ( mi->isChecked() ) { drawCheckMark( p, x + motifItemFrame + 2, y+motifItemFrame, mw, mh, itemg, act, dis ); } } p->setPen( act ? g.highlightedText() : g.buttonText() ); QColor discol; if ( dis ) { discol = itemg.text(); p->setPen( discol ); } int xm = motifItemFrame + checkcol + motifItemHMargin; if ( mi->custom() ) { int m = motifItemVMargin; p->save(); if ( dis && !act ) { p->setPen( g.light() ); mi->custom()->paint( p, itemg, act, enabled, x+xm+1, y+m+1, w-xm-tab+1, h-2*m ); p->setPen( discol ); } mi->custom()->paint( p, itemg, act, enabled, x+xm, y+m, w-xm-tab+1, h-2*m ); p->restore(); } QString s = mi->text(); if ( !s.isNull() ) { // draw text int t = s.find( '\t' ); int m = motifItemVMargin; const int text_flags = AlignVCenter|ShowPrefix | DontClip | SingleLine; if ( t >= 0 ) { // draw tab text if ( dis && !act ) { p->setPen( g.light() ); p->drawText( x+w-tab-windowsRightBorder-motifItemHMargin-motifItemFrame+1, y+m+1, tab, h-2*m, text_flags, s.mid( t+1 )); p->setPen( discol ); } p->drawText( x+w-tab-windowsRightBorder-motifItemHMargin-motifItemFrame, y+m, tab, h-2*m, text_flags, s.mid( t+1 ) ); } if ( dis && !act ) { p->setPen( g.light() ); p->drawText( x+xm+1, y+m+1, w-xm+1, h-2*m, text_flags, s, t ); p->setPen( discol ); } p->drawText( x+xm, y+m, w-xm-tab+1, h-2*m, text_flags, s, t ); } else if ( mi->pixmap() ) { // draw pixmap QPixmap *pixmap = mi->pixmap(); if ( pixmap->depth() == 1 ) p->setBackgroundMode( OpaqueMode ); p->drawPixmap( x+xm, y+motifItemFrame, *pixmap ); if ( pixmap->depth() == 1 ) p->setBackgroundMode( TransparentMode ); } if ( mi->popup() ) { // draw sub menu arrow int dim = (h-2*motifItemFrame) / 2; if ( act ) { if ( !dis ) discol = white; QColorGroup g2( discol, g.highlight(), white, white, dis ? discol : white, discol, white ); drawArrow( p, RightArrow, FALSE, x+w - motifArrowHMargin - motifItemFrame - dim, y+h/2-dim/2, dim, dim, g2, TRUE ); } else { drawArrow( p, RightArrow, FALSE, x+w - motifArrowHMargin - motifItemFrame - dim, y+h/2-dim/2, dim, dim, g, mi->isEnabled() ); } } #endif }
/*! Attention: this function has to be in sync with Resource::saveProperty() and DomTool::elementToVariant. If you change one, change all. */ QString Uic::setObjectProperty( const QString& objClass, const QString& obj, const QString &prop, const QDomElement &e, bool stdset ) { QString v; if ( e.tagName() == "rect" ) { QDomElement n3 = e.firstChild().toElement(); int x = 0, y = 0, w = 0, h = 0; while ( !n3.isNull() ) { if ( n3.tagName() == "x" ) x = n3.firstChild().toText().data().toInt(); else if ( n3.tagName() == "y" ) y = n3.firstChild().toText().data().toInt(); else if ( n3.tagName() == "width" ) w = n3.firstChild().toText().data().toInt(); else if ( n3.tagName() == "height" ) h = n3.firstChild().toText().data().toInt(); n3 = n3.nextSibling().toElement(); } v = "QRect( %1, %2, %3, %4 )"; v = v.arg(x).arg(y).arg(w).arg(h); } else if ( e.tagName() == "point" ) { QDomElement n3 = e.firstChild().toElement(); int x = 0, y = 0; while ( !n3.isNull() ) { if ( n3.tagName() == "x" ) x = n3.firstChild().toText().data().toInt(); else if ( n3.tagName() == "y" ) y = n3.firstChild().toText().data().toInt(); n3 = n3.nextSibling().toElement(); } v = "QPoint( %1, %2 )"; v = v.arg(x).arg(y); } else if ( e.tagName() == "size" ) { QDomElement n3 = e.firstChild().toElement(); int w = 0, h = 0; while ( !n3.isNull() ) { if ( n3.tagName() == "width" ) w = n3.firstChild().toText().data().toInt(); else if ( n3.tagName() == "height" ) h = n3.firstChild().toText().data().toInt(); n3 = n3.nextSibling().toElement(); } v = "QSize( %1, %2 )"; v = v.arg(w).arg(h); } else if ( e.tagName() == "color" ) { QDomElement n3 = e.firstChild().toElement(); int r = 0, g = 0, b = 0; while ( !n3.isNull() ) { if ( n3.tagName() == "red" ) r = n3.firstChild().toText().data().toInt(); else if ( n3.tagName() == "green" ) g = n3.firstChild().toText().data().toInt(); else if ( n3.tagName() == "blue" ) b = n3.firstChild().toText().data().toInt(); n3 = n3.nextSibling().toElement(); } v = "QColor( %1, %2, %3 )"; v = v.arg(r).arg(g).arg(b); } else if ( e.tagName() == "font" ) { QDomElement n3 = e.firstChild().toElement(); QString attrname = e.parentNode().toElement().attribute( "name", "font" ); QString fontname; if ( !obj.isEmpty() ) { fontname = registerObject( obj + "_" + attrname ); out << indent << "QFont " << fontname << "( " << obj << "->font() );" << endl; } else { fontname = registerObject( "f" ); out << indent << "QFont " << fontname << "( font() );" << endl; } while ( !n3.isNull() ) { if ( n3.tagName() == "family" ) out << indent << fontname << ".setFamily( \"" << n3.firstChild().toText().data() << "\" );" << endl; else if ( n3.tagName() == "pointsize" ) out << indent << fontname << ".setPointSize( " << n3.firstChild().toText().data() << " );" << endl; else if ( n3.tagName() == "bold" ) out << indent << fontname << ".setBold( " << mkBool( n3.firstChild().toText().data() ) << " );" << endl; else if ( n3.tagName() == "italic" ) out << indent << fontname << ".setItalic( " << mkBool( n3.firstChild().toText().data() ) << " );" << endl; else if ( n3.tagName() == "underline" ) out << indent << fontname << ".setUnderline( " << mkBool( n3.firstChild().toText().data() ) << " );" << endl; else if ( n3.tagName() == "strikeout" ) out << indent << fontname << ".setStrikeOut( " << mkBool( n3.firstChild().toText().data() ) << " );" << endl; n3 = n3.nextSibling().toElement(); } if ( prop == "font" ) { if ( !obj.isEmpty() ) out << indent << obj << "->setFont( " << fontname << " ); " << endl; else out << indent << "setFont( " << fontname << " ); " << endl; } else { v = fontname; } } else if ( e.tagName() == "string" ) { QString txt = e.firstChild().toText().data(); QString com = getComment( e.parentNode() ); if ( prop == "toolTip" && objClass != "QAction" && objClass != "QActionGroup" ) { if ( !obj.isEmpty() ) trout << indent << "QToolTip::add( " << obj << ", " << trcall( txt, com ) << " );" << endl; else trout << indent << "QToolTip::add( this, " << trcall( txt, com ) << " );" << endl; } else if ( prop == "whatsThis" && objClass != "QAction" && objClass != "QActionGroup" ) { if ( !obj.isEmpty() ) trout << indent << "QWhatsThis::add( " << obj << ", " << trcall( txt, com ) << " );" << endl; else trout << indent << "QWhatsThis::add( this, " << trcall( txt, com ) << " );" << endl; } else { v = trcall( txt, com ); } } else if ( e.tagName() == "cstring" ) { v = "\"%1\""; v = v.arg( e.firstChild().toText().data() ); } else if ( e.tagName() == "number" ) { v = "%1"; v = v.arg( e.firstChild().toText().data() ); } else if ( e.tagName() == "bool" ) { if ( stdset ) v = "%1"; else v = "QVariant( %1, 0 )"; v = v.arg( mkBool( e.firstChild().toText().data() ) ); } else if ( e.tagName() == "pixmap" ) { v = e.firstChild().toText().data(); if ( !pixmapLoaderFunction.isEmpty() ) { v.prepend( pixmapLoaderFunction + "( " + QString( externPixmaps ? "\"" : "" ) ); v.append( QString( externPixmaps ? "\"" : "" ) + " )" ); } } else if ( e.tagName() == "iconset" ) { v = "QIconSet( %1 )"; QString s = e.firstChild().toText().data(); if ( !pixmapLoaderFunction.isEmpty() ) { s.prepend( pixmapLoaderFunction + "( " + QString( externPixmaps ? "\"" : "" ) ); s.append( QString( externPixmaps ? "\"" : "" ) + " )" ); } v = v.arg( s ); } else if ( e.tagName() == "image" ) { v = e.firstChild().toText().data() + ".convertToImage()"; } else if ( e.tagName() == "enum" ) { if ( stdset ) v = "%1::%2"; else v = "\"%1\""; QString oc = objClass; QString ev = e.firstChild().toText().data(); if ( oc == "QListView" && ev == "Manual" ) // #### workaround, rename QListView::Manual in 4.0 oc = "QScrollView"; if ( stdset ) v = v.arg( oc ).arg( ev ); else v = v.arg( ev ); } else if ( e.tagName() == "set" ) { QString keys( e.firstChild().toText().data() ); QStringList lst = QStringList::split( '|', keys ); v = "int( "; QStringList::Iterator it = lst.begin(); while ( it != lst.end() ) { v += objClass + "::" + *it; if ( it != lst.fromLast() ) v += " | "; ++it; } v += " )"; } else if ( e.tagName() == "sizepolicy" ) { QDomElement n3 = e.firstChild().toElement(); QSizePolicy sp; while ( !n3.isNull() ) { if ( n3.tagName() == "hsizetype" ) sp.setHorData( (QSizePolicy::SizeType)n3.firstChild().toText().data().toInt() ); else if ( n3.tagName() == "vsizetype" ) sp.setVerData( (QSizePolicy::SizeType)n3.firstChild().toText().data().toInt() ); else if ( n3.tagName() == "horstretch" ) sp.setHorStretch( n3.firstChild().toText().data().toInt() ); else if ( n3.tagName() == "verstretch" ) sp.setVerStretch( n3.firstChild().toText().data().toInt() ); n3 = n3.nextSibling().toElement(); } QString tmp; if ( !obj.isEmpty() ) tmp = obj + "->"; v = "QSizePolicy( (QSizePolicy::SizeType)%1, (QSizePolicy::SizeType)%2, %3, %4, " + tmp + "sizePolicy().hasHeightForWidth() )"; v = v.arg( (int)sp.horData() ).arg( (int)sp.verData() ).arg( sp.horStretch() ).arg( sp.verStretch() ); } else if ( e.tagName() == "palette" ) { QPalette pal; bool no_pixmaps = e.elementsByTagName( "pixmap" ).count() == 0; QDomElement n; if ( no_pixmaps ) { n = e.firstChild().toElement(); while ( !n.isNull() ) { QColorGroup cg; if ( n.tagName() == "active" ) { cg = loadColorGroup( n ); pal.setActive( cg ); } else if ( n.tagName() == "inactive" ) { cg = loadColorGroup( n ); pal.setInactive( cg ); } else if ( n.tagName() == "disabled" ) { cg = loadColorGroup( n ); pal.setDisabled( cg ); } n = n.nextSibling().toElement(); } } if ( no_pixmaps && pal == QPalette( pal.active().button(), pal.active().background() ) ) { v = "QPalette( QColor( %1, %2, %3 ), QColor( %1, %2, %3 ) )"; v = v.arg( pal.active().button().red() ).arg( pal.active().button().green() ).arg( pal.active().button().blue() ); v = v.arg( pal.active().background().red() ).arg( pal.active().background().green() ).arg( pal.active().background().blue() ); } else { QString palette = "pal"; if ( !pal_used ) { out << indent << "QPalette " << palette << ";" << endl; pal_used = TRUE; } QString cg = "cg"; if ( !cg_used ) { out << indent << "QColorGroup " << cg << ";" << endl; cg_used = TRUE; } n = e.firstChild().toElement(); while ( !n.isNull() && n.tagName() != "active" ) n = n.nextSibling().toElement(); createColorGroupImpl( cg, n ); out << indent << palette << ".setActive( " << cg << " );" << endl; n = e.firstChild().toElement(); while ( !n.isNull() && n.tagName() != "inactive" ) n = n.nextSibling().toElement(); createColorGroupImpl( cg, n ); out << indent << palette << ".setInactive( " << cg << " );" << endl; n = e.firstChild().toElement(); while ( !n.isNull() && n.tagName() != "disabled" ) n = n.nextSibling().toElement(); createColorGroupImpl( cg, n ); out << indent << palette << ".setDisabled( " << cg << " );" << endl; v = palette; } } else if ( e.tagName() == "cursor" ) { v = "QCursor( %1 )"; v = v.arg( e.firstChild().toText().data() ); } else if ( e.tagName() == "date" ) { QDomElement n3 = e.firstChild().toElement(); int y, m, d; y = m = d = 0; while ( !n3.isNull() ) { if ( n3.tagName() == "year" ) y = n3.firstChild().toText().data().toInt(); else if ( n3.tagName() == "month" ) m = n3.firstChild().toText().data().toInt(); else if ( n3.tagName() == "day" ) d = n3.firstChild().toText().data().toInt(); n3 = n3.nextSibling().toElement(); } v = "QDate( %1, %2, %3 )"; v = v.arg(y).arg(m).arg(d); } else if ( e.tagName() == "time" ) { QDomElement n3 = e.firstChild().toElement(); int h, m, s; h = m = s = 0; while ( !n3.isNull() ) { if ( n3.tagName() == "hour" ) h = n3.firstChild().toText().data().toInt(); else if ( n3.tagName() == "minute" ) m = n3.firstChild().toText().data().toInt(); else if ( n3.tagName() == "second" ) s = n3.firstChild().toText().data().toInt(); n3 = n3.nextSibling().toElement(); } v = "QTime( %1, %2, %3 )"; v = v.arg(h).arg(m).arg(s); } else if ( e.tagName() == "datetime" ) { QDomElement n3 = e.firstChild().toElement(); int h, mi, s, y, mo, d; h = mi = s = y = mo = d = 0; while ( !n3.isNull() ) { if ( n3.tagName() == "hour" ) h = n3.firstChild().toText().data().toInt(); else if ( n3.tagName() == "minute" ) mi = n3.firstChild().toText().data().toInt(); else if ( n3.tagName() == "second" ) s = n3.firstChild().toText().data().toInt(); else if ( n3.tagName() == "year" ) y = n3.firstChild().toText().data().toInt(); else if ( n3.tagName() == "month" ) mo = n3.firstChild().toText().data().toInt(); else if ( n3.tagName() == "day" ) d = n3.firstChild().toText().data().toInt(); n3 = n3.nextSibling().toElement(); } v = "QDateTime( QDate( %1, %2, %3 ), QTime( %4, %5, %6 ) )"; v = v.arg(y).arg(mo).arg(d).arg(h).arg(mi).arg(s); } else if ( e.tagName() == "stringlist" ) { QStringList l; QDomElement n3 = e.firstChild().toElement(); QString listname = "l"; if ( !obj.isEmpty() ) { listname = obj + "_stringlist"; listname = registerObject( listname ); out << indent << "QStringList " << listname << ";" << endl; } else { listname = registerObject( listname ); out << indent << "QStringList " << listname << ";" << endl; } while ( !n3.isNull() ) { if ( n3.tagName() == "string" ) out << indent << listname << " << \"" << n3.firstChild().toText().data().simplifyWhiteSpace() << "\";" << endl; n3 = n3.nextSibling().toElement(); } v = listname; } return v; }
/** - checks, if the user solved the task correctly - emits signals if task was solved correctly or wrong */ void ExerciseFactorize::showResult() { QString tmp_str, tmp_str2; /* to build a string for a label */ QPalette pal; QColorGroup cg; uint uint_result = 0; // change the tooltip of the check button QToolTip::add(m_checkButton, i18n("Click on this button to get to the next task.")); // disable prime factor buttons m_factor2Button->setEnabled(false); m_factor3Button->setEnabled(false); m_factor5Button->setEnabled(false); m_factor7Button->setEnabled(false); m_factor11Button->setEnabled(false); m_factor13Button->setEnabled(false); m_factor17Button->setEnabled(false); m_factor19Button->setEnabled(false); // disable factor removal button as well m_removeLastFactorButton->setEnabled(false); // show the result m_factorsWidget->setFactors(m_factorsResult); m_factorsWidget->show(); // now calculate the product of the prime factors entered by the user for (uint tmp_uint = 0; tmp_uint < m_factorsEntered.count(); tmp_uint++) { if (tmp_uint == 0) { uint_result = m_factorsEntered[0]; } else { uint_result *= m_factorsEntered[tmp_uint]; } } if (uint_result == m_taskNumber) { // emit the signal for correct signalExerciseSolvedCorrect(); /* yes, the user entered the correct result */ result_label->setText(i18n("CORRECT")); pal = result_label->palette(); /* set green font color */ cg = pal.active(); cg.setColor(QColorGroup::Foreground, QColor(6, 179, 0)); pal.setActive(cg); cg = pal.inactive(); cg.setColor(QColorGroup::Foreground, QColor(6, 179, 0)); pal.setInactive(cg); result_label->setPalette(pal); } else { // emit the signal for wrong signalExerciseSolvedWrong(); /* no, the user entered the wrong result */ result_label->setText(i18n("WRONG")); pal = result_label->palette(); /* set red font color */ cg = pal.active(); cg.setColor(QColorGroup::Foreground, QColor(red)); pal.setActive(cg); cg = pal.inactive(); cg.setColor(QColorGroup::Foreground, QColor(red)); pal.setInactive(cg); result_label->setPalette(pal); } /* if (entered_result == result) */ result_label->show(); /* show the result at the end of the task */ return; }