DiagramDialog::DiagramDialog(Diagram *d, const QString& _DataSet, QWidget *parent, Graph *currentGraph) : QDialog(parent, 0, TRUE, Qt::WDestructiveClose) { Diag = d; Graphs.setAutoDelete(true); copyDiagramGraphs(); // make a copy of all graphs defaultDataSet = _DataSet; setCaption(tr("Edit Diagram Properties")); changed = false; transfer = false; // have changes be applied ? (used by "Cancel") toTake = false; // double-clicked variable be inserted into graph list ? Expr.setPattern("[^\"]+"); Validator = new QRegExpValidator(Expr, this); ValInteger = new QIntValidator(0, 360, this); ValDouble = new QDoubleValidator(-1e200, 1e200, 6, this); QString NameY, NameZ; if((Diag->Name == "Rect") || (Diag->Name == "Curve")) { NameY = tr("left Axis"); NameZ = tr("right Axis"); } else if(Diag->Name == "Polar") { NameY = tr("y-Axis"); } else if((Diag->Name == "Smith") || (Diag->Name == "ySmith")) { NameY = tr("y-Axis"); } else if(Diag->Name == "PS") { NameY = tr("smith Axis"); NameZ = tr("polar Axis"); } else if(Diag->Name == "SP") { NameY = tr("polar Axis"); NameZ = tr("smith Axis"); } else if(Diag->Name == "Rect3D") { NameY = tr("y-Axis"); NameZ = tr("z-Axis"); } all = new QVBoxLayout(this); // to provide neccessary size QTabWidget *t = new QTabWidget(this); all->addWidget(t); // ........................................................... QVBox *Tab1 = new QVBox(this); Tab1->setSpacing(5); Label4 = 0; // different types with same content yrLabel = 0; yAxisBox = 0; Property2 = 0; ColorButt = 0; hideInvisible = 0; rotationX = rotationY = rotationZ = 0; QVButtonGroup *InputGroup = new QVButtonGroup(tr("Graph Input"), Tab1); GraphInput = new QLineEdit(InputGroup); GraphInput->setValidator(Validator); connect(GraphInput, SIGNAL(textChanged(const QString&)), SLOT(slotResetToTake(const QString&))); QHBox *Box2 = new QHBox(InputGroup); Box2->setSpacing(5); if(Diag->Name == "Tab") { Label1 = new QLabel(tr("Number Notation: "), Box2); PropertyBox = new QComboBox(Box2); PropertyBox->insertItem(tr("real/imaginary")); PropertyBox->insertItem(tr("magnitude/angle (degree)")); PropertyBox->insertItem(tr("magnitude/angle (radian)")); PropertyBox->setCurrentItem(1); connect(PropertyBox, SIGNAL(activated(int)), SLOT(slotSetNumMode(int))); Box2->setStretchFactor(new QWidget(Box2), 5); // stretchable placeholder Label2 = new QLabel(tr("Precision:"), Box2); Property2 = new QLineEdit(Box2); Property2->setValidator(ValInteger); Property2->setMaxLength(2); Property2->setMaximumWidth(25); Property2->setText("3"); } else if(Diag->Name != "Truth") { Label1 = new QLabel(tr("Color:"),Box2); ColorButt = new QPushButton(" ",Box2); ColorButt->setMinimumWidth(50); ColorButt->setEnabled(false); connect(ColorButt, SIGNAL(clicked()), SLOT(slotSetColor())); Box2->setStretchFactor(new QWidget(Box2), 5); // stretchable placeholder Label3 = new QLabel(tr("Style:"),Box2); Label3->setEnabled(false); PropertyBox = new QComboBox(Box2); PropertyBox->insertItem(tr("solid line")); PropertyBox->insertItem(tr("dash line")); PropertyBox->insertItem(tr("dot line")); if(Diag->Name != "Time") { PropertyBox->insertItem(tr("long dash line")); PropertyBox->insertItem(tr("stars")); PropertyBox->insertItem(tr("circles")); PropertyBox->insertItem(tr("arrows")); } connect(PropertyBox, SIGNAL(activated(int)), SLOT(slotSetGraphStyle(int))); Box2->setStretchFactor(new QWidget(Box2), 5); // stretchable placeholder Label2 = new QLabel(tr("Thickness:"),Box2); Property2 = new QLineEdit(Box2); Property2->setValidator(ValInteger); Property2->setMaximumWidth(25); Property2->setMaxLength(2); Property2->setText("0"); if((Diag->Name=="Rect") || (Diag->Name=="PS") || (Diag->Name=="SP") || (Diag->Name=="Curve")) { QHBox *Box3 = new QHBox(InputGroup); Box3->setSpacing(5); Label4 = new QLabel(tr("y-Axis:"),Box3); Label4->setEnabled(false); yAxisBox = new QComboBox(Box3); yAxisBox->insertItem(NameY); yAxisBox->insertItem(NameZ); yAxisBox->setEnabled(false); connect(yAxisBox, SIGNAL(activated(int)), SLOT(slotSetYAxis(int))); Box3->setStretchFactor(new QWidget(Box3), 5); // stretchable placeholder } } if(Property2) { connect(Property2, SIGNAL(textChanged(const QString&)), SLOT(slotSetProp2(const QString&))); Label1->setEnabled(false); PropertyBox->setEnabled(false); Label2->setEnabled(false); Property2->setEnabled(false); } QHBox *Box1 = new QHBox(Tab1); Box1->setSpacing(5); QVButtonGroup *DataGroup = new QVButtonGroup(tr("Dataset"), Box1); ChooseData = new QComboBox(false, DataGroup); ChooseData->setMinimumWidth(200); connect(ChooseData, SIGNAL(activated(int)), SLOT(slotReadVars(int))); ChooseVars = new QListView(DataGroup); ChooseVars->addColumn(tr("Name")); ChooseVars->addColumn(tr("Type")); ChooseVars->addColumn(tr("Size")); connect(ChooseVars, SIGNAL(doubleClicked(QListViewItem*)), SLOT(slotTakeVar(QListViewItem*))); QVButtonGroup *GraphGroup = new QVButtonGroup(tr("Graph"), Box1); GraphList = new QListBox(GraphGroup); connect(GraphList, SIGNAL(clicked(QListBoxItem*)), SLOT(slotSelectGraph(QListBoxItem*))); QPushButton *NewButt = new QPushButton(tr("New Graph"), GraphGroup); connect(NewButt, SIGNAL(clicked()), SLOT(slotNewGraph())); QPushButton *DelButt = new QPushButton(tr("Delete Graph"), GraphGroup); connect(DelButt, SIGNAL(clicked()), SLOT(slotDeleteGraph())); t->addTab(Tab1, tr("Data")); // ........................................................... int Row = 0; if(Diag->Name.at(0) != 'T') { // not tabular or timing diagram QWidget *Tab2 = new QWidget(t); QGridLayout *gp = new QGridLayout(Tab2,13,3,5,5); gp->addMultiCellWidget(new QLabel(tr("x-Axis Label:"), Tab2), Row,Row,0,0); xLabel = new QLineEdit(Tab2); xLabel->setValidator(Validator); gp->addMultiCellWidget(xLabel, Row,Row,1,2); Row++; gp->addMultiCellWidget( new QLabel(NameY+" "+tr("Label:"), Tab2), Row,Row,0,0); ylLabel = new QLineEdit(Tab2); ylLabel->setValidator(Validator); gp->addMultiCellWidget(ylLabel, Row,Row,1,2); Row++; if((Diag->Name != "Smith") && (Diag->Name != "Polar")) { gp->addMultiCellWidget( new QLabel(NameZ +" "+tr("Label:"), Tab2), Row,Row,0,0); yrLabel = new QLineEdit(Tab2); yrLabel->setValidator(Validator); gp->addMultiCellWidget(yrLabel, Row,Row,1,2); Row++; } gp->addMultiCellWidget(new QLabel( tr("<b>Label text</b>: Use LaTeX style for special characters, e.g. \\tau"), Tab2), Row,Row,0,2); Row++; if(Diag->Name != "Rect3D") { GridOn = new QCheckBox(tr("show Grid"), Tab2); gp->addMultiCellWidget(GridOn, Row,Row,0,2); Row++; GridLabel1 = new QLabel(tr("Grid Color:"),Tab2); gp->addMultiCellWidget(GridLabel1, Row,Row,0,0); GridColorButt = new QPushButton(" ",Tab2); connect(GridColorButt, SIGNAL(clicked()), SLOT(slotSetGridColor())); gp->addMultiCellWidget(GridColorButt, Row,Row,1,2); Row++; GridColorButt->setPaletteBackgroundColor(Diag->GridPen.color()); GridLabel2 = new QLabel(tr("Grid Style: "), Tab2); gp->addMultiCellWidget(GridLabel2, Row,Row,0,0); GridStyleBox = new QComboBox(Tab2); GridStyleBox->insertItem(tr("solid line")); GridStyleBox->insertItem(tr("dash line")); GridStyleBox->insertItem(tr("dot line")); GridStyleBox->insertItem(tr("dash dot line")); GridStyleBox->insertItem(tr("dash dot dot line")); gp->addMultiCellWidget(GridStyleBox, Row,Row,1,2); Row++; GridStyleBox->setCurrentItem(Diag->GridPen.style()-1); GridOn->setChecked(Diag->xAxis.GridOn); if(!Diag->xAxis.GridOn) slotSetGridBox(QButton::Off); connect(GridOn, SIGNAL(stateChanged(int)), SLOT(slotSetGridBox(int))); } else { GridOn = 0; GridColorButt = 0; GridStyleBox = 0; } // ........................................................... xLabel->setText(Diag->xAxis.Label); ylLabel->setText(Diag->yAxis.Label); if(yrLabel) yrLabel->setText(Diag->zAxis.Label); if((Diag->Name.left(4) == "Rect") || (Diag->Name == "Curve")) { GridLogX = new QCheckBox(tr("logarithmical X Axis Grid"), Tab2); gp->addMultiCellWidget(GridLogX, Row,Row,0,2); Row++; GridLogY = new QCheckBox(tr("logarithmical")+" "+NameY+" "+tr("Grid"), Tab2); gp->addMultiCellWidget(GridLogY, Row,Row,0,2); Row++; GridLogZ = new QCheckBox(tr("logarithmical")+" "+NameZ+" "+tr("Grid"), Tab2); gp->addMultiCellWidget(GridLogZ, Row,Row,0,2); Row++; // ........................................................... // transfer the diagram properties to the dialog GridLogX->setChecked(Diag->xAxis.log); GridLogY->setChecked(Diag->yAxis.log); GridLogZ->setChecked(Diag->zAxis.log); if(Diag->Name == "Rect3D") { hideInvisible = new QCheckBox(tr("hide invisible lines"), Tab2); gp->addMultiCellWidget(hideInvisible, Row,Row,0,2); Row++; QLabel *LabelRotX = new QLabel(tr("Rotation around x-Axis:"), Tab2); LabelRotX->setPaletteForegroundColor(Qt::red); gp->addWidget(LabelRotX, Row,0); SliderRotX = new QSlider(0,360,20, ((Rect3DDiagram*)Diag)->rotX, Qt::Horizontal, Tab2); gp->addWidget(SliderRotX, Row,1); connect(SliderRotX, SIGNAL(valueChanged(int)), SLOT(slotNewRotX(int))); rotationX = new QLineEdit(Tab2); rotationX->setValidator(ValInteger); rotationX->setMaxLength(3); rotationX->setMaximumWidth(40); gp->addWidget(rotationX, Row,2); connect(rotationX, SIGNAL(textChanged(const QString&)), SLOT(slotEditRotX(const QString&))); Row++; QLabel *LabelRotY = new QLabel(tr("Rotation around y-Axis:"), Tab2); LabelRotY->setPaletteForegroundColor(Qt::green); gp->addWidget(LabelRotY, Row,0); SliderRotY = new QSlider(0,360,20, ((Rect3DDiagram*)Diag)->rotY, Qt::Horizontal, Tab2); gp->addWidget(SliderRotY, Row,1); connect(SliderRotY, SIGNAL(valueChanged(int)), SLOT(slotNewRotY(int))); rotationY = new QLineEdit(Tab2); rotationY->setValidator(ValInteger); rotationY->setMaxLength(3); rotationY->setMaximumWidth(40); gp->addWidget(rotationY, Row,2); connect(rotationY, SIGNAL(textChanged(const QString&)), SLOT(slotEditRotY(const QString&))); Row++; QLabel *LabelRotZ = new QLabel(tr("Rotation around z-Axis:"), Tab2); LabelRotZ->setPaletteForegroundColor(Qt::blue); gp->addWidget(LabelRotZ, Row,0); SliderRotZ = new QSlider(0,360,20, ((Rect3DDiagram*)Diag)->rotZ, Qt::Horizontal, Tab2); gp->addWidget(SliderRotZ, Row,1); connect(SliderRotZ, SIGNAL(valueChanged(int)), SLOT(slotNewRotZ(int))); rotationZ = new QLineEdit(Tab2); rotationZ->setValidator(ValInteger); rotationZ->setMaxLength(3); rotationZ->setMaximumWidth(40); gp->addWidget(rotationZ, Row,2); connect(rotationZ, SIGNAL(textChanged(const QString&)), SLOT(slotEditRotZ(const QString&))); Row++; gp->addWidget(new QLabel(tr("2D-projection:"), Tab2), Row,0); DiagCross = new Cross3D(((Rect3DDiagram*)Diag)->rotX, ((Rect3DDiagram*)Diag)->rotY, ((Rect3DDiagram*)Diag)->rotZ, Tab2); gp->addWidget(DiagCross, Row,1); // transfer the diagram properties to the dialog hideInvisible->setChecked(Diag->hideLines); rotationX->setText(QString::number(((Rect3DDiagram*)Diag)->rotX)); rotationY->setText(QString::number(((Rect3DDiagram*)Diag)->rotY)); rotationZ->setText(QString::number(((Rect3DDiagram*)Diag)->rotZ)); } } else GridLogX = GridLogY = GridLogZ = 0; t->addTab(Tab2, tr("Properties")); // ........................................................... QVBox *Tab3 = new QVBox(this); Tab1->setSpacing(5); QHGroupBox *axisX = new QHGroupBox(tr("x-Axis"), Tab3); QVBox *VBox1 = new QVBox(axisX); VBox1->setStretchFactor(new QWidget(VBox1),5); // stretchable placeholder manualX = new QCheckBox(tr("manual"), VBox1); connect(manualX, SIGNAL(stateChanged(int)), SLOT(slotManualX(int))); QVBox *VBox2 = new QVBox(axisX); new QLabel(tr("start"), VBox2); startX = new QLineEdit(VBox2); startX->setValidator(ValDouble); QVBox *VBox3 = new QVBox(axisX); new QLabel(tr("step"), VBox3); stepX = new QLineEdit(VBox3); stepX->setValidator(ValDouble); QVBox *VBox4 = new QVBox(axisX); new QLabel(tr("stop"), VBox4); stopX = new QLineEdit(VBox4); stopX->setValidator(ValDouble); QHGroupBox *axisY; axisY = new QHGroupBox(NameY, Tab3); QVBox *VBox5 = new QVBox(axisY); VBox5->setStretchFactor(new QWidget(VBox5),5); // stretchable placeholder manualY = new QCheckBox(tr("manual"), VBox5); connect(manualY, SIGNAL(stateChanged(int)), SLOT(slotManualY(int))); QVBox *VBox6 = new QVBox(axisY); new QLabel(tr("start"), VBox6); startY = new QLineEdit(VBox6); startY->setValidator(ValDouble); QVBox *VBox7 = new QVBox(axisY); if((Diag->Name=="Smith") || (Diag->Name=="ySmith") || (Diag->Name=="PS")) new QLabel(tr("number"), VBox7); else new QLabel(tr("step"), VBox7); stepY = new QLineEdit(VBox7); stepY->setValidator(ValDouble); QVBox *VBox8 = new QVBox(axisY); new QLabel(tr("stop"), VBox8); stopY = new QLineEdit(VBox8); stopY->setValidator(ValDouble); QHGroupBox *axisZ; axisZ = new QHGroupBox(NameZ, Tab3); QVBox *VBox9 = new QVBox(axisZ); VBox9->setStretchFactor(new QWidget(VBox9),5); // stretchable placeholder manualZ = new QCheckBox(tr("manual"), VBox9); connect(manualZ, SIGNAL(stateChanged(int)), SLOT(slotManualZ(int))); QVBox *VBox10 = new QVBox(axisZ); new QLabel(tr("start"), VBox10); startZ = new QLineEdit(VBox10); startZ->setValidator(ValDouble); QVBox *VBox11 = new QVBox(axisZ); if(Diag->Name == "SP") new QLabel(tr("number"), VBox11); else new QLabel(tr("step"), VBox11); stepZ = new QLineEdit(VBox11); stepZ->setValidator(ValDouble); QVBox *VBox12 = new QVBox(axisZ); new QLabel(tr("stop"), VBox12); stopZ = new QLineEdit(VBox12); stopZ->setValidator(ValDouble); Tab3->setStretchFactor(new QWidget(Tab3),5); // stretchable placeholder t->addTab(Tab3, tr("Limits")); // ........................................................... // transfer the diagram properties to the dialog if(Diag->xAxis.autoScale) slotManualX(QButton::Off); else manualX->setChecked(true); if(Diag->yAxis.autoScale) slotManualY(QButton::Off); else manualY->setChecked(true); if(Diag->zAxis.autoScale) slotManualZ(QButton::Off); else manualZ->setChecked(true); Diag->calcLimits(); // inserts auto-scale values if not manual startX->setText(QString::number(Diag->xAxis.limit_min)); stepX->setText(QString::number(Diag->xAxis.step)); stopX->setText(QString::number(Diag->xAxis.limit_max)); startY->setText(QString::number(Diag->yAxis.limit_min)); stepY->setText(QString::number(Diag->yAxis.step)); stopY->setText(QString::number(Diag->yAxis.limit_max)); startZ->setText(QString::number(Diag->zAxis.limit_min)); stepZ->setText(QString::number(Diag->zAxis.step)); stopZ->setText(QString::number(Diag->zAxis.limit_max)); if((Diag->Name == "Smith") || (Diag->Name == "ySmith") || (Diag->Name == "Polar")) { axisZ->setEnabled(false); } if(Diag->Name.left(4) != "Rect") // cartesian 2D and 3D if(Diag->Name != "Curve") { axisX->setEnabled(false); startY->setEnabled(false); startZ->setEnabled(false); } } else stepX = 0; connect(t, SIGNAL(currentChanged(QWidget*)), SLOT(slotChangeTab(QWidget*))); // ........................................................... QHBox *Butts = new QHBox(this); Butts->setSpacing(5); Butts->setMargin(5); all->addWidget(Butts); QPushButton *OkButt = new QPushButton(tr("OK"), Butts); connect(OkButt, SIGNAL(clicked()), SLOT(slotOK())); QPushButton *ApplyButt = new QPushButton(tr("Apply"), Butts); connect(ApplyButt, SIGNAL(clicked()), SLOT(slotApply())); QPushButton *CancelButt = new QPushButton(tr("Cancel"), Butts); connect(CancelButt, SIGNAL(clicked()), SLOT(slotCancel())); OkButt->setDefault(true); // ........................................................... // put all data files into ComboBox QFileInfo Info(defaultDataSet); QDir ProjDir(Info.dirPath()); QStringList Elements = ProjDir.entryList("*.dat", QDir::Files, QDir::Name); QStringList::iterator it; for(it = Elements.begin(); it != Elements.end(); ++it) { ChooseData->insertItem((*it).left((*it).length()-4)); if((*it) == Info.fileName()) // default dataset should be the current ChooseData->setCurrentItem(ChooseData->count()-1); } slotReadVars(0); // put variables into the ListView // ........................................................... // put all graphs into the ListBox Row = 0; for(Graph *pg = Diag->Graphs.first(); pg != 0; pg = Diag->Graphs.next()) { GraphList->insertItem(pg->Var); if(pg == currentGraph) { GraphList->setCurrentItem(Row); // select current graph SelectGraph(currentGraph); } Row++; } if(ColorButt) if(!currentGraph) ColorButt->setPaletteBackgroundColor (QColor(DefaultColors[GraphList->count()])); }
void PreferencesDialog::addFontOverride( const QString& language ) { // Do nothing if the font override already exists. int fontOverrideCount = fontOverrideLabels.count(); for( int i = 0; i < fontOverrideCount; i++ ) { if( fontOverrideLabels.at( i )->text() == QObject::tr( language ) ) return; } QHBox* fontOverrideBox = new QHBox( fontOverridesBox ); fontOverrideBox->setSpacing( 2 ); fontOverrideBox->setMargin( 2 ); QLabel* fontOverrideLabel = new QLabel( QObject::tr( language ), fontOverrideBox ); QComboBox* fontOverrideFamilyComboBox = new QComboBox( fontOverrideBox ); initFontFamilyValues( fontOverrideFamilyComboBox, true ); if( prefs->isFontOverrideFamilyDefined( language ) ) selectFontFamily( fontOverrideFamilyComboBox, prefs->getFontOverrideFamily( language ) ); QComboBox* fontOverrideSizeComboBox = new QComboBox( fontOverrideBox ); initFontSizeValues( fontOverrideSizeComboBox, true ); if( prefs->isFontOverrideSizeDefined( language ) ) selectFontSize( fontOverrideSizeComboBox, prefs->getFontOverrideSize( language ), true ); fontOverrideBox->setStretchFactor( fontOverrideLabel, 1 ); fontOverrideBoxes.append( fontOverrideBox ); fontOverrideLabels.append( fontOverrideLabel ); fontOverrideFamilyComboBoxes.append( fontOverrideFamilyComboBox ); fontOverrideSizeComboBoxes.append( fontOverrideSizeComboBox ); int indexOfFiller = fontOverridesBoxLayout->findWidget( fontOverridesBoxFiller ); fontOverridesBoxLayout->insertWidget( indexOfFiller, fontOverrideBox ); }
QWidget *Summary::createHeader(QWidget *parent, const QPixmap &icon, const QString &heading) { QHBox *hbox = new QHBox(parent); hbox->setMargin(2); QFont boldFont; boldFont.setBold(true); boldFont.setPointSize(boldFont.pointSize() + 2); QLabel *label = new QLabel(hbox); label->setPixmap(icon); label->setFixedSize(label->sizeHint()); label->setPaletteBackgroundColor(colorGroup().mid()); label->setAcceptDrops(true); label = new QLabel(heading, hbox); label->setAlignment(AlignLeft | AlignVCenter); label->setIndent(KDialog::spacingHint()); label->setFont(boldFont); label->setPaletteForegroundColor(colorGroup().light()); label->setPaletteBackgroundColor(colorGroup().mid()); hbox->setPaletteBackgroundColor(colorGroup().mid()); hbox->setMaximumHeight(hbox->minimumSizeHint().height()); return hbox; }
MyRichText::MyRichText( QWidget *parent, const char *name ) : QVBox( parent, name ) { setMargin( 5 ); view = new QTextView( this ); view->setText( "This is a <b>Test</b> with <i>italic</i> <u>stuff</u>" ); QBrush paper; paper.setPixmap( QPixmap( "../richtext/marble.png" ) ); if ( paper.pixmap() != 0 ) view->setPaper( paper ); else view->setPaper( white ); view->setText( sayings[0] ); view->setMinimumSize( 450, 250 ); QHBox *buttons = new QHBox( this ); buttons->setMargin( 5 ); bClose = new QPushButton( "&Close", buttons ); bPrev = new QPushButton( "<< &Prev", buttons ); bNext = new QPushButton( "&Next >>", buttons ); bPrev->setEnabled( FALSE ); connect( bClose, SIGNAL( clicked() ), qApp, SLOT( quit() ) ); connect( bPrev, SIGNAL( clicked() ), this, SLOT( prev() ) ); connect( bNext, SIGNAL( clicked() ), this, SLOT( next() ) ); num = 0; }
void PreferencesDialog::initFontOverrides() { QValueList<QString> lang( prefs->getStudyLanguages() ); int i = 0; for( QValueList<QString>::ConstIterator it = lang.begin(); it != lang.end(); it++, i++ ) { QString language( *it ); QHBox* fontOverrideBox = new QHBox( fontOverridesBox ); fontOverrideBox->setSpacing( 2 ); fontOverrideBox->setMargin( 2 ); QLabel* fontOverrideLabel = new QLabel( QObject::tr( language ), fontOverrideBox ); QComboBox* fontOverrideFamilyComboBox = new QComboBox( fontOverrideBox ); initFontFamilyValues( fontOverrideFamilyComboBox, true ); if( prefs->isFontOverrideFamilyDefined( language ) ) selectFontFamily( fontOverrideFamilyComboBox, prefs->getFontOverrideFamily( language ) ); QComboBox* fontOverrideSizeComboBox = new QComboBox( fontOverrideBox ); initFontSizeValues( fontOverrideSizeComboBox, true ); if( prefs->isFontOverrideSizeDefined( language ) ) selectFontSize( fontOverrideSizeComboBox, prefs->getFontOverrideSize( language ), true ); fontOverrideBox->setStretchFactor( fontOverrideLabel, 1 ); fontOverrideBoxes.append( fontOverrideBox ); fontOverrideLabels.append( fontOverrideLabel ); fontOverrideFamilyComboBoxes.append( fontOverrideFamilyComboBox ); fontOverrideSizeComboBoxes.append( fontOverrideSizeComboBox ); fontOverridesBoxLayout->addWidget( fontOverrideBox, 0 ); } fontOverridesBoxFiller = new QWidget( fontOverridesBox ); fontOverridesBoxLayout->addWidget( fontOverridesBoxFiller, 1 ); }
// ------------------------------------------------------------------------------------------------- void AboutDialog::setupAboutTab() { QHBox* aboutTab = new QHBox(this); aboutTab->setMargin(15); (void)new QLabel( tr("<p><nobr>This is a logic analyzer tool written for Unix and Windows" "</nobr> written in C++ using the Qt library.</p>" "<p><b>Thanks to:</b>" "<ul><li>Trolltech for the Qt library</li>" "<li>Tim Waugh for the IEEE1284 (parallelport) library</li>" "<li>Gtk+ artists for the nice stock icons</li>" "</ul></p>" "<p><b>Homepage:</b> <tt>http://tfla-01.berlios.de</tt></p>"), aboutTab); m_tabWidget->addTab(aboutTab, tr("&About")); }
void KHelpMenu::aboutApplication() { if (d->mAboutData) { if( !mAboutApp ) { mAboutApp = new KAboutApplication( d->mAboutData, mParent, "about", false ); connect( mAboutApp, SIGNAL(finished()), this, SLOT( dialogFinished()) ); } mAboutApp->show(); } else if( mAboutAppText.isEmpty() ) { emit showAboutApplication(); } else { if( !mAboutApp ) { mAboutApp = new KDialogBase( QString::null, // Caption is defined below KDialogBase::Yes, KDialogBase::Yes, KDialogBase::Yes, mParent, "about", false, true, KStdGuiItem::ok() ); connect( mAboutApp, SIGNAL(finished()), this, SLOT( dialogFinished()) ); QHBox *hbox = new QHBox( mAboutApp ); mAboutApp->setMainWidget( hbox ); hbox->setSpacing(KDialog::spacingHint()*3); hbox->setMargin(KDialog::marginHint()*1); QLabel *label1 = new QLabel(hbox); label1->setPixmap( kapp->icon() ); QLabel *label2 = new QLabel(hbox); label2->setText( mAboutAppText ); mAboutApp->setPlainCaption( i18n("About %1").arg(kapp->caption()) ); mAboutApp->disableResize(); } mAboutApp->show(); } }
Themes::Themes( QWidget *parent, const char *name, WFlags f ) : QMainWindow( parent, name, f ) { appFont = QApplication::font(); tabwidget = new QTabWidget( this ); tabwidget->addTab( new ButtonsGroups( tabwidget ), "Buttons/Groups" ); QHBox *hbox = new QHBox( tabwidget ); hbox->setMargin( 5 ); (void)new LineEdits( hbox ); (void)new ProgressBar( hbox ); tabwidget->addTab( hbox, "Lineedits/Progressbar" ); tabwidget->addTab( new ListBoxCombo( tabwidget ), "Listboxes/Comboboxes" ); tabwidget->addTab( new CheckLists( tabwidget ), "Listviews" ); tabwidget->addTab( new RangeControls( tabwidget ), "Rangecontrols" ); tabwidget->addTab( new MyRichText( tabwidget ), "Fortune" ); setCentralWidget( tabwidget ); QPopupMenu *style = new QPopupMenu( this ); style->setCheckable( TRUE ); menuBar()->insertItem( "&Style" , style ); sMetal = style->insertItem( "&Metal", this, SLOT( styleMetal() ) ); sWood = style->insertItem( "&Norwegian Wood", this, SLOT( styleWood() ) ); sPlatinum = style->insertItem( "&Platinum" , this ,SLOT( stylePlatinum() ) ); sWindows = style->insertItem( "&Windows", this, SLOT( styleWindows() ) ); sCDE = style->insertItem( "&CDE", this, SLOT( styleCDE() ) ); sMotif = style->insertItem( "M&otif", this, SLOT( styleMotif() ) ); sMotifPlus = style->insertItem( "Motif P&lus", this, SLOT( styleMotifPlus() ) ); style->insertSeparator(); style->insertItem("&Quit", qApp, SLOT( quit() ), CTRL | Key_Q ); QPopupMenu * help = new QPopupMenu( this ); menuBar()->insertSeparator(); menuBar()->insertItem( "&Help", help ); help->insertItem( "&About", this, SLOT(about()), Key_F1); help->insertItem( "About &Qt", this, SLOT(aboutQt())); qApp->setStyle( new NorwegianWoodStyle ); menuBar()->setItemChecked( sWood, TRUE ); }
int main(int argc, char **argv) { QApplication app(argc, argv); QHBox *hbox = new QHBox(); hbox->setMargin(10); hbox->setSpacing(10); DDLabel *lab1 = new DDLabel(hbox, DDLabel::Sor); lab1->setText("Drag the Content\nto the rightest\nand drop it"); DDLabel *lab2 = new DDLabel(hbox, DDLabel::Sor); lab2->setPixmap(QPixmap("logo.jpg")); DDLabel *lab3 = new DDLabel(hbox, DDLabel::Des); lab3->setText("Drop here"); app.setMainWidget(hbox); hbox->show(); return app.exec(); }
/* Constructor setups the GUI. */ QucsLib::QucsLib() { // set application icon setIcon (QPixmap(QucsSettings.BitmapDir + "big.qucs.xpm")); setCaption("Qucs Library Tool " PACKAGE_VERSION); QMenuBar * menuBar = new QMenuBar (this); // create file menu QPopupMenu * fileMenu = new QPopupMenu (); QAction * manageLib = new QAction ("Manage User Libraries...", tr("Manage User &Libraries..."), CTRL+Key_M, this); manageLib->addTo (fileMenu); connect(manageLib, SIGNAL(activated()), SLOT(slotManageLib())); fileMenu->insertSeparator(); QAction * fileQuit = new QAction ("Quit", tr("&Quit"), CTRL+Key_Q, this); fileQuit->addTo (fileMenu); connect(fileQuit, SIGNAL(activated()), SLOT(slotQuit())); // create help menu QPopupMenu * helpMenu = new QPopupMenu (); QAction * helpHelp = new QAction (tr("Help"), tr("&Help"), Key_F1, this); helpHelp->addTo (helpMenu); connect(helpHelp, SIGNAL(activated()), SLOT(slotHelp())); QAction * helpAbout = new QAction (tr("About"), tr("About"), 0, helpMenu); helpAbout->addTo (helpMenu); connect(helpAbout, SIGNAL(activated()), SLOT(slotAbout())); // setup menu bar menuBar->insertItem (tr("&File"), fileMenu); menuBar->insertSeparator (); menuBar->insertItem (tr("&Help"), helpMenu); // main box QVBoxLayout * all = new QVBoxLayout (this); all->setSpacing (0); all->setMargin (0); // reserve space for menubar QWidget * Space = new QWidget (this); Space->setFixedSize(5, menuBar->height() + 2); all->addWidget (Space); // main layout QHBox * h = new QHBox (this); h->setSpacing (5); h->setMargin (3); all->addWidget (h); // library and component choice QVGroupBox * LibGroup = new QVGroupBox (tr("Component Selection"), h); Library = new QComboBox (LibGroup); connect(Library, SIGNAL(activated(int)), SLOT(slotSelectLibrary(int))); CompList = new QListBox(LibGroup); connect(CompList, SIGNAL(highlighted(QListBoxItem*)), SLOT(slotShowComponent(QListBoxItem*))); QHBox * h1 = new QHBox (LibGroup); QPushButton * SearchButton = new QPushButton (tr("Search..."), h1); connect(SearchButton, SIGNAL(clicked()), SLOT(slotSearchComponent())); h1->setStretchFactor(new QWidget(h1), 5); // stretchable placeholder // component display QVGroupBox *CompGroup = new QVGroupBox (tr("Component"), h); CompDescr = new QTextEdit(CompGroup); CompDescr->setTextFormat(Qt::PlainText); CompDescr->setReadOnly(true); CompDescr->setWordWrap(QTextEdit::NoWrap); Symbol = new SymbolWidget (CompGroup); QHBox * h2 = new QHBox (CompGroup); QPushButton * CopyButton = new QPushButton (tr("Copy to clipboard"), h2); connect(CopyButton, SIGNAL(clicked()), SLOT(slotCopyToClipBoard())); QPushButton * ShowButton = new QPushButton (tr("Show Model"), h2); connect(ShowButton, SIGNAL(clicked()), SLOT(slotShowModel())); // ...................................................... putLibrariesIntoCombobox(); }
void SimpleUI::setupCentralWidget() { QVBox *npWidget = new QVBox( this ); npWidget->setMargin( 0 ); npWidget->setSpacing( 0 ); positionLabel = new QLabel( statusBar() ); positionLabel->setAlignment( AlignVCenter | AlignCenter ); positionLabel->setFixedSize( fontMetrics().size( 0, " 00:00/00:00 " ) ); statusBar()->addWidget( positionLabel, 0, true ); video = new VideoFrame( npWidget ); connect( video, SIGNAL(adaptSize(int,int)), SLOT(slotAdaptSize(int,int)) ); connect( video, SIGNAL(rightButtonPressed(const QPoint &)), SLOT(slotContextMenu(const QPoint &)) ); QHBox *ctlFrame = new QHBox( npWidget ); ctlFrame->setFixedHeight( 38 ); ctlFrame->setFrameShape( QFrame::StyledPanel ); ctlFrame->setFrameShadow( QFrame::Raised ); ctlFrame->setMargin( 6 ); ctlFrame->setSpacing( 6 ); QPushButton *backButton = new QPushButton( ctlFrame ); backButton->setFixedSize( 24, 24 ); backButton->setPixmap( QPixmap( back_xpm ) ); QToolTip::add( backButton, i18n("Back") ); connect( backButton, SIGNAL(clicked()), napp->player(), SLOT(back()) ); stopButton = new QPushButton( ctlFrame ); stopButton->setFixedSize( 24, 24 ); stopButton->setPixmap( QPixmap( stop_xpm ) ); QToolTip::add( stopButton, i18n("Stop") ); connect( stopButton, SIGNAL(clicked()), napp->player(), SLOT(stop()) ); playButton = new QPushButton( ctlFrame ); playButton->setFixedSize( 24, 24 ); playButton->setPixmap( QPixmap( play_xpm ) ); QToolTip::add( playButton, i18n("Play / Pause") ); connect( playButton, SIGNAL(clicked()), napp->player(), SLOT(playpause()) ); QPushButton *forwButton = new QPushButton( ctlFrame ); forwButton->setFixedSize( 24, 24 ); forwButton->setPixmap( QPixmap( forward_xpm ) ); QToolTip::add( forwButton, i18n("Forward") ); connect( forwButton, SIGNAL(clicked()), napp->player(), SLOT(forward()) ); slider = new L33tSlider( 0, 1000, 10, 0, L33tSlider::Horizontal, ctlFrame ); slider->setFixedHeight( 24 ); slider->setMinimumWidth( 100 ); slider->setTickmarks( QSlider::NoMarks ); connect( slider, SIGNAL(userChanged(int)), SLOT(slotSkipTo(int)) ); connect( slider, SIGNAL(sliderMoved(int)), SLOT(slotSliderMoved(int)) ); QPushButton *playlistButton = new QPushButton( ctlFrame ); playlistButton->setFixedSize( 24, 24 ); playlistButton->setPixmap( QPixmap( playlist_xpm ) ); QToolTip::add( playlistButton, i18n("Playlist") ); connect( playlistButton, SIGNAL(clicked()), napp->player(), SLOT(toggleListView()) ); volumeButton = new QPushButton( ctlFrame ); volumeButton->setFixedSize( 24, 24 ); volumeButton->setPixmap( QPixmap( volume_xpm ) ); QToolTip::add( volumeButton, i18n("Volume") ); volumeFrame = new QVBox( this, "Volume", WStyle_Customize | WType_Popup ); volumeFrame->setFrameStyle( QFrame::PopupPanel ); volumeFrame->setMargin( 4 ); volumeLabel = new QLabel( volumeFrame ); volumeLabel->setText( "100%" ); volumeLabel->setAlignment( AlignCenter ); volumeLabel->setFixedSize( volumeLabel->sizeHint() ); QHBox *volumeSubFrame = new QHBox( volumeFrame ); volumeSlider = new L33tSlider( 0, 100, 10, 0, Vertical, volumeSubFrame ); volumeSlider->setValue( 100 - napp->player()->volume() ); volumeSlider->setFixedSize( volumeSlider->sizeHint() ); volumeFrame->resize( volumeFrame->sizeHint() ); connect( volumeSlider, SIGNAL(sliderMoved(int)), SLOT(slotVolumeSliderMoved(int)) ); connect( volumeSlider, SIGNAL(userChanged(int)), SLOT(slotVolumeSliderMoved(int)) ); connect( volumeButton, SIGNAL(clicked()), SLOT(slotVolumeFrame()) ); setCentralWidget( npWidget ); video->setMinimumSize( minimumSizeHint().width(), 1 ); // Create properties dialog propertiesDialog = new PropertiesDialog( this ); propertiesDialog->resize( 375, 285 ); }
FilterDialog::FilterDialog (QWidget * parent) : QDialog (parent) { // set application icon setIcon (QPixmap(":/bitmaps/big.qucs.xpm")); setCaption("Qucs Filter " PACKAGE_VERSION); all = new QVBoxLayout(this); // -------- create menubar ------------------- QPopupMenu *fileMenu = new QPopupMenu(); fileMenu->insertItem(tr("E&xit"), this, SLOT(slotQuit()), Qt::CTRL+Qt::Key_Q); QPopupMenu *helpMenu = new QPopupMenu(); helpMenu->insertItem( tr("&About Qucs Filter..."), this, SLOT(slotHelpAbout()), 0); helpMenu->insertItem(tr("About Qt..."), this, SLOT(slotHelpAboutQt()), 0); QMenuBar *bar = new QMenuBar(this); bar->insertItem(tr("&File"), fileMenu); bar->insertSeparator (); bar->insertItem(tr("&Help"), helpMenu); all->addWidget(bar); // reserve space for menubar all->addSpacing (bar->height() + 2); QTabWidget *t = new QTabWidget(this); all->addWidget(t); // ........................................................... QWidget *Tab1 = new QWidget(t); QGridLayout *gp1 = new QGridLayout(Tab1,12,6,5,5); FilterName = new QComboBox(false, Tab1); gp1->addWidget(FilterName,0,0); TformName = new QComboBox(false, Tab1); gp1->addWidget(TformName,0,1); OrderBox = new QCheckBox(tr("Specify order"), Tab1); gp1->addWidget(OrderBox,1,0); QHBox *h1 = new QHBox(Tab1); h1->setSpacing (5); OrderCombo = new QComboBox(false, h1); OrderCombo->setEnabled(true); SubOrderCombo = new QComboBox(false, h1); SubOrderCombo->setEnabled(false); SubOrderCombo->insertItem( tr( "b" ) ); SubOrderCombo->insertItem( tr( "c" ) ); gp1->addWidget(h1,1,1); CutoffLabel = new QLabel(tr("Cutoff/Center"),Tab1); gp1->addWidget(CutoffLabel,2,0); EnterCutoff = new QLineEdit(Tab1); gp1->addWidget(EnterCutoff,2,1); CutoffCombo = new QComboBox(Tab1); CutoffCombo->insertItem( tr( "Hz" ) ); CutoffCombo->insertItem( tr( "kHz" ) ); CutoffCombo->insertItem( tr( "MHz" ) ); CutoffCombo->insertItem( tr( "GHz" ) ); gp1->addWidget(CutoffCombo,2,2); RippleLabel = new QLabel(tr("Ripple"),Tab1); gp1->addWidget(RippleLabel,3,0); EnterRipple = new QLineEdit(Tab1); gp1->addWidget(EnterRipple,3,1); RippleUnitLabel = new QLabel(tr("dB"),Tab1); gp1->addWidget(RippleUnitLabel,3,2); AngleLabel = new QLabel(tr("Angle"),Tab1); gp1->addWidget(AngleLabel,3,3); EnterAngle = new QLineEdit(Tab1); gp1->addWidget(EnterAngle,3,4); AngleUnitLabel = new QLabel(tr("°"),Tab1); gp1->addWidget(AngleUnitLabel,3,5); ZinLabel = new QLabel(tr("Zin"),Tab1); gp1->addWidget(ZinLabel,7,0); EnterZin = new QLineEdit(Tab1); gp1->addWidget(EnterZin,7,1); OhmLabel = new QLabel(tr("Ohm"),Tab1); gp1->addWidget(OhmLabel,7,2); ZoutLabel = new QLabel(tr("Zout"),Tab1); ZoutLabel->setEnabled(false); gp1->addWidget(ZoutLabel,7,3); EnterZout = new QLineEdit(Tab1); gp1->addWidget(EnterZout,7,4); OhmLabel_2 = new QLabel(tr("Ohm"),Tab1); gp1->addWidget(OhmLabel_2,7,5); StopbandLabel = new QLabel(tr("Stopband corner"),Tab1); gp1->addWidget(StopbandLabel,5,0); EnterStopband = new QLineEdit(Tab1); gp1->addWidget(EnterStopband,5,1); StopbandCombo = new QComboBox(false, Tab1); StopbandCombo->insertItem( tr( "Hz" ) ); StopbandCombo->insertItem( tr( "kHz" ) ); StopbandCombo->insertItem( tr( "MHz" ) ); StopbandCombo->insertItem( tr( "GHz" ) ); gp1->addWidget(StopbandCombo,5,2); BandwidthLabel = new QLabel(tr("Bandwidth"),Tab1); BandwidthLabel->setEnabled(false); gp1->addWidget(BandwidthLabel,4,0); EnterBandwidth = new QLineEdit(Tab1); gp1->addWidget(EnterBandwidth,4,1); BandwidthCombo = new QComboBox(false, Tab1); BandwidthCombo->setEnabled(false); BandwidthCombo->insertItem( tr( "Hz" ) ); BandwidthCombo->insertItem( tr( "kHz" ) ); BandwidthCombo->insertItem( tr( "MHz" ) ); BandwidthCombo->insertItem( tr( "GHz" ) ); gp1->addWidget(BandwidthCombo,4,2); AttenuationLabel = new QLabel(tr("Attenuation"),Tab1); gp1->addWidget(AttenuationLabel,6,0); EnterAttenuation = new QLineEdit(Tab1); gp1->addWidget(EnterAttenuation,6,1); dBLabel = new QLabel(tr("dB"),Tab1); gp1->addWidget(dBLabel,6,2); DualBox = new QCheckBox(tr("dual"),Tab1); gp1->addMultiCellWidget(DualBox,8,8,0,2); CauerPoleBox = new QCheckBox(tr("Stopband is first pole"),Tab1); CauerPoleBox->setEnabled(false); gp1->addMultiCellWidget(CauerPoleBox,9,9,0,2); OptimizeCauerBox = new QCheckBox(tr("Optimize cauer"),Tab1); OptimizeCauerBox->setEnabled(false); gp1->addMultiCellWidget(OptimizeCauerBox,10,10,0,2); EqualInductorBox = new QCheckBox(tr("Equal inductors"),Tab1); EqualInductorBox->setEnabled(false); gp1->addMultiCellWidget(EqualInductorBox,8,8,3,5); UseCrossBox = new QCheckBox(tr("+ rather than T"),Tab1); UseCrossBox->setEnabled(false); gp1->addMultiCellWidget(UseCrossBox,9,9,3,5); Cboxes = new QVButtonGroup(tr("Optimize C"),Tab1); Cmin = new QRadioButton(tr("Cmin"),Cboxes); Cmax = new QRadioButton(tr("Cmax"),Cboxes); NoC = new QRadioButton(tr("noC"),Cboxes); gp1->addMultiCellWidget(Cboxes,11,11,0,2); Lboxes = new QVButtonGroup(tr("Optimize L"),Tab1); Lmin = new QRadioButton(tr("Lmin"),Lboxes); Lmax = new QRadioButton(tr("Lmax"),Lboxes); NoL = new QRadioButton(tr("noL"),Lboxes); gp1->addMultiCellWidget(Lboxes,11,11,3,5); t->addTab(Tab1, tr("LC Filters")); // ........................................................... QWidget *Tab2 = new QWidget(t); t->addTab(Tab2, tr("Microstrip Filters")); // ........................................................... QWidget *Tab3 = new QWidget(t); t->addTab(Tab3, tr("Active Filters")); // reserve space for vertical resizing all->addStretch(); // ........................................................... // buttons on the bottom of the dialog (independent of the TabWidget) QHBox *Butts = new QHBox(this); Butts->setSpacing(3); Butts->setMargin(3); all->addWidget(Butts); cancelButton = new QPushButton(tr("Exit"),Butts); okButton = new QPushButton(tr("Calculate"),Butts); okButton->setEnabled(false); // signals and slots connections connect( cancelButton, SIGNAL( clicked() ), this, SLOT( reject() ) ); connect( okButton, SIGNAL( clicked() ), this, SLOT( accept() ) ); }
Dialog::Dialog(QCString & path, QCString & encoding, QCString & nomodel, QCString & genview, QCString & uml20, QCString & pk, QCString & vis, QCString & primitivetype, QCString & genextension, QCString & geneclipse, QCString & commentexporter, QCString & linefeed, Language & lang) : QDialog(0, 0, TRUE), _path(path), _encoding(encoding), _nomodel(nomodel), _genview(genview), _uml20(uml20), _pk(pk), _vis(vis), _primitivetype(primitivetype), _genextension(genextension), _geneclipse(geneclipse), _commentexporter(commentexporter), _linefeed(linefeed), _lang(lang) { QVBoxLayout * vbox = new QVBoxLayout(this); QHBox * htab; vbox->setMargin(5); // get xmi pathname htab = new QHBox(this); htab->setMargin(5); vbox->addWidget(htab); new QLabel("generated \nXMI file : ", htab); ed = new QLineEdit(htab); ed->setText(_path); new QLabel(" ", htab); SmallPushButton * br = new SmallPushButton("browse", htab); connect(br, SIGNAL(clicked ()), this, SLOT(browse())); // to choose encoding htab = new QHBox(this); htab->setMargin(5); vbox->addWidget(htab); new QLabel("Encoding : ", htab); QString charset = getenv("BOUML_CHARSET"); int index = 0; while ((index = charset.find('_')) != -1) { charset[index] = '-'; index += 1; } encoding_cb = new QComboBox(TRUE, htab); htab->setStretchFactor(encoding_cb, 1000); if (_encoding.isEmpty()) _encoding = "UTF-8"; encoding_cb->insertItem(QString(_encoding)); if (!charset.isEmpty() && (_encoding != (const char *) charset)) encoding_cb->insertItem(charset); if (_encoding != "UTF-8") encoding_cb->insertItem("UTF-8"); #ifdef WIN32 if ((_encoding != "windows-1252") && (charset != "windows-1252")) encoding_cb->insertItem("windows-1252"); if ((_encoding != "ISO-8859-1") && (charset != "ISO-8859-1")) encoding_cb->insertItem("ISO-8859-1"); #else if ((_encoding != "ISO-8859-1") && (charset != "ISO-8859-1")) encoding_cb->insertItem("ISO-8859-1"); if ((_encoding != "windows-1252") && (charset != "windows-1252")) encoding_cb->insertItem("windows-1252"); #endif // uml 2.0 or uml2.1 htab = new QHBox(this); htab->setMargin(5); vbox->addWidget(htab); QButtonGroup * bg = new QButtonGroup(2, Qt::Horizontal, "Uml", htab); uml20_rb = new QRadioButton("uml 2.0", bg); uml21_rb = new QRadioButton("uml 2.1", bg); if (uml20 == "yes") uml20_rb->setChecked(TRUE); else uml21_rb->setChecked(TRUE); // generate model htab = new QHBox(this); htab->setMargin(5); vbox->addWidget(htab); nomodel_cb = new QCheckBox("Don't generate model level", htab); if (_nomodel == "yes") nomodel_cb->setChecked(TRUE); // generate view checkbox htab = new QHBox(this); htab->setMargin(5); vbox->addWidget(htab); genview_cb = new QCheckBox("Generate views as package (not compatible with profile generation)", htab); if (_genview == "yes") genview_cb->setChecked(TRUE); // generate pk_ prefix htab = new QHBox(this); htab->setMargin(5); vbox->addWidget(htab); pk_cb = new QCheckBox("Generate 'pk_' prefix for parameter direction", htab); if (_pk == "yes") pk_cb->setChecked(TRUE); // generate vis_ prefix htab = new QHBox(this); htab->setMargin(5); vbox->addWidget(htab); vis_cb = new QCheckBox("Generate 'vis_' prefix for visibility", htab); if (_vis == "yes") vis_cb->setChecked(TRUE); // use PrimitiveType rather than DataType htab = new QHBox(this); htab->setMargin(5); vbox->addWidget(htab); primitivetype_cb = new QCheckBox("Use PrimitiveType rather than DataType", htab); if (_primitivetype == "yes") primitivetype_cb->setChecked(TRUE); // generate extension htab = new QHBox(this); htab->setMargin(5); vbox->addWidget(htab); genextension_cb = new QCheckBox("Generate extensions", htab); if (_genextension == "yes") genextension_cb->setChecked(TRUE); // generate for Eclipse htab = new QHBox(this); htab->setMargin(5); vbox->addWidget(htab); geneclipse_cb = new QCheckBox("Generate for Eclipse (aggregation set on other relation side)", htab); if (_geneclipse == "yes") geneclipse_cb->setChecked(TRUE); // comment exporter htab = new QHBox(this); htab->setMargin(5); vbox->addWidget(htab); commentexporter_cb = new QCheckBox("Comment exporter indication (needed to import in some tools like Rsa)", htab); if (_commentexporter == "yes") commentexporter_cb->setChecked(TRUE); // generate rather than linefeed htab = new QHBox(this); htab->setMargin(5); vbox->addWidget(htab); linefeed_cb = new QCheckBox("Generate lf and cr characters in string rather than '& ' and '& '", htab); if (_linefeed == "yes") linefeed_cb->setChecked(TRUE); // uml , c++, java, cancel buttons htab = new QHBox(this); htab->setMargin(5); vbox->addWidget(htab); new QLabel(htab); QPushButton * uml = new QPushButton("&Uml", htab); new QLabel(htab); QPushButton * cpp = new QPushButton("&C++", htab); new QLabel(htab); QPushButton * java = new QPushButton("&Java", htab); new QLabel(htab); QPushButton * cancel = new QPushButton("&Cancel", htab); new QLabel(htab); QSize bs(cancel->sizeHint()); uml->setFixedSize(bs); cpp->setFixedSize(bs); java->setFixedSize(bs); connect(uml, SIGNAL(clicked()), this, SLOT(accept_uml())); connect(cpp, SIGNAL(clicked()), this, SLOT(accept_cpp())); connect(java, SIGNAL(clicked()), this, SLOT(accept_java())); connect(cancel, SIGNAL(clicked()), this, SLOT(reject())); // help htab = new QHBox(this); htab->setMargin(5); vbox->addWidget(htab); new QLabel(htab); new QLabel("Remark : to help Eclipse to import the generated file,\n" "choose Uml 2.1 and name the file with the extension '.xmi'", htab); new QLabel(htab); }
kpEffectsDialog::kpEffectsDialog (bool actOnSelection, kpMainWindow *parent, const char *name) : kpToolPreviewDialog (kpToolPreviewDialog::Preview, true/*reserve top row*/, QString::null/*caption*/, QString::null/*afterActionText (no Dimensions Group Box)*/, actOnSelection, parent, name), m_delayedUpdateTimer (new QTimer (this)), m_effectsComboBox (0), m_settingsGroupBox (0), m_settingsLayout (0), m_colorEffectWidget (0) { #if DEBUG_KP_EFFECTS_DIALOG kdDebug () << "kpEffectsDialog::kpEffectsDialog()" << endl; #endif if (actOnSelection) setCaption (i18n ("More Image Effects (Selection)")); else setCaption (i18n ("More Image Effects")); connect (m_delayedUpdateTimer, SIGNAL (timeout ()), this, SLOT (slotUpdateWithWaitCursor ())); QHBox *effectContainer = new QHBox (mainWidget ()); effectContainer->setSpacing (spacingHint () * 4 /*need more space for QGroupBox titles*/); effectContainer->setMargin (0); QLabel *label = new QLabel (i18n ("&Effect:"), effectContainer); m_effectsComboBox = new KComboBox (effectContainer); m_effectsComboBox->insertItem (i18n ("Balance")); m_effectsComboBox->insertItem (i18n ("Emboss")); m_effectsComboBox->insertItem (i18n ("Flatten")); m_effectsComboBox->insertItem (i18n ("Invert")); m_effectsComboBox->insertItem (i18n ("Reduce Colors")); m_effectsComboBox->insertItem (i18n ("Soften & Sharpen")); label->setBuddy (m_effectsComboBox); effectContainer->setStretchFactor (m_effectsComboBox, 1); addCustomWidgetToFront (effectContainer); m_settingsGroupBox = new QGroupBox (mainWidget ()); m_settingsLayout = new QVBoxLayout (m_settingsGroupBox, marginHint () * 2, spacingHint ()); addCustomWidgetToBack (m_settingsGroupBox); connect (m_effectsComboBox, SIGNAL (activated (int)), this, SLOT (selectEffect (int))); selectEffect (0); resize (s_lastWidth, s_lastHeight); #if DEBUG_KP_EFFECTS_DIALOG kdDebug () << "\tabout to slotUpdate()" << endl; #endif slotUpdate (); }
configDialog::configDialog( QWidget* parent, const char* name, bool modal, WFlags fl ) : QDialog( parent, name, modal, fl ) { ApplicationWindow *app = (ApplicationWindow *)parentWidget(); plot3DColors = app->plot3DColors; plot3DTitleFont = app->plot3DTitleFont; plot3DNumbersFont = app->plot3DNumbersFont; plot3DAxesFont = app->plot3DAxesFont; textFont = app->tableTextFont; headerFont = app->tableHeaderFont; appFont = app->appFont; axesFont = app->plotAxesFont; numbersFont = app->plotNumbersFont; legendFont = app->plotLegendFont; titleFont = app->plotTitleFont; if ( !name ) setName( "configDialog" ); setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, sizePolicy().hasHeightForWidth() ) ); setMouseTracking( TRUE ); setSizeGripEnabled( FALSE ); QHBox *box = new QHBox (this); box->setSpacing (5); box->setMargin(5); itemsList = new QListBox (box); QVBox *vbox = new QVBox (box); vbox->setSpacing (10); lblPageHeader = new QLabel (vbox); QFont fnt = this->font(); fnt.setPointSize(fnt.pointSize() + 3); fnt.setBold(true); lblPageHeader->setFont(fnt); lblPageHeader->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken); lblPageHeader->setBackgroundColor(app->panelsColor); generalDialog = new QWidgetStack(vbox); initAppPage(); initTablesPage(); initPlotsPage(); initPlots3DPage(); initFittingPage(); generalDialog->addWidget(appTabWidget, 0); generalDialog->addWidget(tables, 1); generalDialog->addWidget(plotsTabWidget, 2); generalDialog->addWidget(plots3D, 3); generalDialog->addWidget(fitPage, 4); GroupBox2 = new QButtonGroup( 3,QGroupBox::Horizontal, QString::null,this); GroupBox2->setFlat(TRUE); GroupBox2->setLineWidth(0); buttonApply = new QPushButton(GroupBox2); buttonOk = new QPushButton(GroupBox2); buttonOk->setDefault( TRUE ); buttonCancel = new QPushButton(GroupBox2); QVBoxLayout* hlayout = new QVBoxLayout(this, 0, 0); hlayout->addWidget(box); hlayout->addWidget(GroupBox2); languageChange(); // signals and slots connections connect( itemsList, SIGNAL(highlighted(int)), this, SLOT(update())); connect( itemsList, SIGNAL(highlighted(int)), this, SLOT(setCurrentPage(int))); connect( buttonOk, SIGNAL( clicked() ), this, SLOT( accept() ) ); connect( buttonApply, SIGNAL( clicked() ), this, SLOT( update() ) ); connect( buttonCancel, SIGNAL( clicked() ), this, SLOT( reject() ) ); connect( buttonBackground, SIGNAL( clicked() ), this, SLOT( pickBgColor() ) ); connect( buttonText, SIGNAL( clicked() ), this, SLOT( pickTextColor() ) ); connect( buttonHeader, SIGNAL( clicked() ), this, SLOT( pickHeaderColor() ) ); connect( buttonTextFont, SIGNAL( clicked() ), this, SLOT( pickTextFont() ) ); connect( buttonHeaderFont, SIGNAL( clicked() ), this, SLOT( pickHeaderFont() ) ); setCurrentPage(0); }
FileBrowser::FileBrowser( const char * name, Medium * medium ) : QVBox( 0, name ) { KActionCollection *actionCollection; SearchPane *searchPane; KURL *location; // Try to keep filebrowser working even if not in a medium context // so if a medium object not passed in, keep earlier behavior if (!medium) { m_medium = 0; location = new KURL( Pana::config( "Filebrowser" )->readPathEntry( "Location", QDir::homeDirPath() ) ); KFileItem *currentFolder = new KFileItem( KFileItem::Unknown, KFileItem::Unknown, *location ); //KIO sucks, NetAccess::exists puts up a dialog and has annoying error message boxes //if there is a problem so there is no point in using it anyways. //so... setting the diroperator to ~ is the least sucky option if ( !location->isLocalFile() || !currentFolder->isReadable() ) { delete location; location = new KURL( QDir::homeDirPath() ) ; } } else{ m_medium = medium; location = new KURL( m_medium->mountPoint() ); } KActionCollection* ac = new KActionCollection( this ); KStdAction::selectAll( this, SLOT( selectAll() ), ac, "filebrowser_select_all" ); KToolBar *toolbar = new Browser::ToolBar( this ); { //Filter LineEdit KToolBar* searchToolBar = new Browser::ToolBar( this ); KToolBarButton *button = new KToolBarButton( "locationbar_erase", 0, searchToolBar ); m_filter = new ClickLineEdit( i18n( "Enter search terms here" ), searchToolBar ); searchToolBar->setStretchableWidget( m_filter ); connect( button, SIGNAL(clicked()), m_filter, SLOT(clear()) ); QToolTip::add( button, i18n( "Clear search field" ) ); QToolTip::add( m_filter, i18n( "Enter space-separated terms to search in the directory-listing" ) ); } { //Directory Listing QVBox *container; QHBox *box; container = new QVBox( this ); container->setFrameStyle( m_filter->frameStyle() ); container->setMargin( 3 ); container->setSpacing( 2 ); container->setBackgroundMode( Qt::PaletteBase ); box = new QHBox( container ); box->setMargin( 3 ); box->setBackgroundMode( Qt::PaletteBase ); //folder selection combo box m_combo = new KURLComboBox( KURLComboBox::Directories, true, box, "path combo" ); if (!m_medium){ m_combo->setCompletionObject( new KURLCompletion( KURLCompletion::DirCompletion ) ); m_combo->setAutoDeleteCompletionObject( true ); } m_combo->setMaxItems( 9 ); m_combo->setURLs( Pana::config( "Filebrowser" )->readPathListEntry( "Dir History" ) ); if (!m_medium) m_combo->lineEdit()->setText( location->path() ); else m_combo->lineEdit()->setText( "/" ); //The main widget with file listings and that m_dir = new MyDirOperator( *location, container, m_medium ); m_dir->setEnableDirHighlighting( true ); m_dir->setMode( KFile::Mode((int)KFile::Files | (int)KFile::Directory) ); //allow selection of multiple files + dirs m_dir->setOnlyDoubleClickSelectsFiles( true ); //Pana type settings m_dir->readConfig( Pana::config( "Filebrowser" ) ); m_dir->setView( KFile::Default ); //will set userconfigured view, will load URL m_dir->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Expanding ); m_dir->setAcceptDrops( true ); //Automatically open folder after hovering above it...probably a good thing //but easily disabled by commenting this line out //Disabled for now because can't show . and .. folders. //TODO: Find out a way to fix this? //m_dir->setDropOptions( KFileView::AutoOpenDirs ); static_cast<QFrame*>(m_dir->viewWidget())->setFrameStyle( QFrame::NoFrame ); static_cast<QIconView*>(m_dir->viewWidget())->setSpacing( 1 ); actionCollection = m_dir->actionCollection(); searchPane = new SearchPane( this ); setStretchFactor( container, 2 ); } { QPopupMenu* const menu = static_cast<KActionMenu*>(actionCollection->action("popupMenu"))->popupMenu(); menu->clear(); menu->insertItem( SmallIconSet( Pana::icon( "files" ) ), i18n( "&Load" ), MakePlaylist ); menu->insertItem( SmallIconSet( Pana::icon( "add_playlist" ) ), i18n( "&Append to Playlist" ), AppendToPlaylist ); menu->insertItem( SmallIconSet( Pana::icon( "queue_track" ) ), i18n( "&Queue Track" ), QueueTrack ); menu->insertItem( SmallIconSet( Pana::icon( "queue_track" ) ), i18n( "&Queue Tracks" ), QueueTracks ); menu->insertItem( SmallIconSet( Pana::icon( "save" ) ), i18n( "&Save as Playlist..." ), SavePlaylist ); menu->insertSeparator(); if (!m_medium) menu->insertItem( SmallIconSet( Pana::icon( "device" ) ), i18n( "&Transfer to Media Device" ), MediaDevice ); menu->insertItem( SmallIconSet( Pana::icon( "collection" ) ), i18n( "&Organize Files..." ), OrganizeFiles ); menu->insertItem( SmallIconSet( Pana::icon( "collection" ) ), i18n( "&Copy Files to Collection..." ), CopyToCollection ); menu->insertItem( SmallIconSet( Pana::icon( "collection" ) ), i18n( "&Move Files to Collection..." ), MoveToCollection ); menu->insertItem( SmallIconSet( Pana::icon( "burn" ) ), i18n("Burn to CD..."), BurnCd ); menu->insertSeparator(); menu->insertItem( i18n( "&Select All Files" ), SelectAllFiles ); menu->insertSeparator(); actionCollection->action( "delete" )->setIcon( Pana::icon( "remove" ) ); actionCollection->action( "delete" )->plug( menu ); menu->insertSeparator(); menu->insertItem( SmallIconSet( Pana::icon( "info" ) ), i18n( "Edit Track &Information..." ), EditTags ); actionCollection->action( "properties" )->plug( menu ); menu->setItemEnabled( BurnCd, K3bExporter::isAvailable() ); connect( menu, SIGNAL(aboutToShow()), SLOT(prepareContextMenu()) ); connect( menu, SIGNAL(activated( int )), SLOT(contextMenuActivated( int )) ); } { KActionMenu *a; a = static_cast<KActionMenu*>( actionCollection->action( "sorting menu" ) ); a->setIcon( Pana::icon( "configure" ) ); a->setDelayed( false ); //TODO should be done by KDirOperator actionCollection->action( "delete" )->setShortcut( KShortcut( SHIFT + Key_Delete ) ); a = new KActionMenu( i18n("Bookmarks"), "bookmark", actionCollection, "bookmarks" ); a->setDelayed( false ); new KBookmarkHandler( m_dir, a->popupMenu() ); } { if ( KAction *a = actionCollection->action( "up" ) ) a->plug( toolbar ); if ( KAction *a = actionCollection->action( "back" ) ) a->plug( toolbar ); if ( KAction *a = actionCollection->action( "forward" ) ) a->plug( toolbar ); if ( KAction *a = actionCollection->action( "home" ) ) a->plug( toolbar ); if ( KAction *a = actionCollection->action( "reload" ) ) { a->setIcon( Pana::icon( "refresh" ) ); a->plug( toolbar ); } toolbar->insertLineSeparator(); if ( KAction *a = actionCollection->action( "short view" ) ) a->plug( toolbar ); if ( KAction *a = actionCollection->action( "detailed view" ) ) a->plug( toolbar ); toolbar->insertLineSeparator(); if ( KAction *a = actionCollection->action( "sorting menu" ) ) a->plug( toolbar ); if ( KAction *a = actionCollection->action( "bookmarks" ) ) a->plug( toolbar ); KAction *gotoCurrent = new KAction( i18n("Go To Current Track Folder"), Pana::icon( "music" ), 0, this, SLOT( gotoCurrentFolder() ), actionCollection ); gotoCurrent->plug( toolbar ); disconnect( actionCollection->action( "up" ), SIGNAL( activated() ), m_dir, SLOT( cdUp() ) ); connect( actionCollection->action( "up" ), SIGNAL( activated() ), m_dir, SLOT( myCdUp() ) ); disconnect( actionCollection->action( "home" ), SIGNAL( activated() ), m_dir, SLOT( home() ) ); connect( actionCollection->action( "home" ), SIGNAL( activated() ), m_dir, SLOT( myHome() ) ); } connect( m_filter, SIGNAL(textChanged( const QString& )), SLOT(setFilter( const QString& )) ); connect( m_combo, SIGNAL(urlActivated( const KURL& )), SLOT(setUrl( const KURL& )) ); connect( m_combo, SIGNAL(returnPressed( const QString& )), SLOT(setUrl( const QString& )) ); connect( m_dir, SIGNAL(viewChanged( KFileView* )), SLOT(slotViewChanged( KFileView* )) ); connect( m_dir, SIGNAL(fileSelected( const KFileItem* )), SLOT(activate( const KFileItem* )) ); connect( m_dir, SIGNAL(urlEntered( const KURL& )), SLOT(urlChanged( const KURL& )) ); connect( m_dir, SIGNAL(urlEntered( const KURL& )), searchPane, SLOT(urlChanged( const KURL& )) ); connect( m_dir, SIGNAL(dropped( const KFileItem*, QDropEvent*, const KURL::List& )), SLOT(dropped( const KFileItem*, QDropEvent*, const KURL::List& )) ); setSpacing( 4 ); setFocusProxy( m_dir ); //so the dirOperator is focused when we get focus events // Toolbar is more than 250px wide, BrowserBar doesn't allow that. -> Resizing issues. setMinimumWidth( 250 /* toolbar->sizeHint().width() */ ); }
Themes::Themes( QWidget *parent, const char *name, WFlags f ) : QMainWindow( parent, name, f ) { appFont = QApplication::font(); tabwidget = new QTabWidget( this ); tabwidget->addTab( new ButtonsGroups( tabwidget ), "Buttons/Groups" ); QHBox *hbox = new QHBox( tabwidget ); hbox->setMargin( 5 ); (void)new LineEdits( hbox ); (void)new ProgressBar( hbox ); tabwidget->addTab( hbox, "Lineedits/Progressbar" ); tabwidget->addTab( new ListBoxCombo( tabwidget ), "Listboxes/Comboboxes" ); tabwidget->addTab( new CheckLists( tabwidget ), "Listviews" ); tabwidget->addTab( new RangeControls( tabwidget ), "Rangecontrols" ); tabwidget->addTab( new MyRichText( tabwidget ), "Fortune" ); setCentralWidget( tabwidget ); QPopupMenu *style = new QPopupMenu( this ); style->setCheckable( TRUE ); menuBar()->insertItem( "&Style" , style ); style->setCheckable( TRUE ); QActionGroup *ag = new QActionGroup( this, 0 ); ag->setExclusive( TRUE ); QSignalMapper *styleMapper = new QSignalMapper( this ); connect( styleMapper, SIGNAL( mapped( const QString& ) ), this, SLOT( makeStyle( const QString& ) ) ); QStringList list = QStyleFactory::keys(); list.sort(); #ifndef QT_NO_STYLE_WINDOWS list.insert(list.begin(), "Norwegian Wood"); list.insert(list.begin(), "Metal"); #endif QDict<int> stylesDict( 17, FALSE ); for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it ) { QString styleStr = *it; QString styleAccel = styleStr; if ( stylesDict[styleAccel.left(1)] ) { for ( uint i = 0; i < styleAccel.length(); i++ ) { if ( !stylesDict[styleAccel.mid( i, 1 )] ) { stylesDict.insert(styleAccel.mid( i, 1 ), (const int *)1); styleAccel = styleAccel.insert( i, '&' ); break; } } } else { stylesDict.insert(styleAccel.left(1), (const int *)1); styleAccel = "&"+styleAccel; } QAction *a = new QAction( styleStr, QIconSet(), styleAccel, 0, ag, 0, ag->isExclusive() ); connect( a, SIGNAL( activated() ), styleMapper, SLOT(map()) ); styleMapper->setMapping( a, a->text() ); } ag->addTo(style); style->insertSeparator(); style->insertItem("&Quit", qApp, SLOT( quit() ), CTRL | Key_Q ); QPopupMenu * help = new QPopupMenu( this ); menuBar()->insertSeparator(); menuBar()->insertItem( "&Help", help ); help->insertItem( "&About", this, SLOT(about()), Key_F1); help->insertItem( "About &Qt", this, SLOT(aboutQt())); #ifndef QT_NO_STYLE_WINDOWS qApp->setStyle( new NorwegianWoodStyle ); #endif }