void FitDialog::initEditPage() { QGridLayout *gl1 = new QGridLayout(); gl1->addWidget(new QLabel(tr("Category")), 0, 0); gl1->addWidget(new QLabel(tr("Function")), 0, 1); gl1->addWidget(new QLabel(tr("Expression")), 0, 2); categoryBox = new QListWidget(); categoryBox->addItem(tr("User defined")); categoryBox->addItem(tr("Built-in")); categoryBox->addItem(tr("Basic")); categoryBox->addItem(tr("Plugins")); gl1->addWidget(categoryBox, 1, 0); funcBox = new QListWidget(); gl1->addWidget(funcBox, 1, 1); explainBox = new QTextEdit(); explainBox->setReadOnly(true); gl1->addWidget(explainBox, 1, 2); boxUseBuiltIn = new QCheckBox(); boxUseBuiltIn->setText(tr("Fit with &built-in function")); boxUseBuiltIn->hide(); QHBoxLayout *hbox1 = new QHBoxLayout(); hbox1->addWidget(boxUseBuiltIn); hbox1->addStretch(); polynomOrderLabel = new QLabel( tr("Polynomial Order")); polynomOrderLabel->hide(); hbox1->addWidget(polynomOrderLabel); polynomOrderBox = new QSpinBox(); polynomOrderBox->setMinimum(1); polynomOrderBox->setValue(2); polynomOrderBox->hide(); connect(polynomOrderBox, SIGNAL(valueChanged(int)), this, SLOT(showExpression(int))); hbox1->addWidget(polynomOrderBox); buttonPlugins = new QPushButton(tr( "&Choose plugins folder..." ) ); hbox1->addWidget(buttonPlugins); buttonPlugins->hide(); buttonClearUsrList = new QPushButton(tr( "Clear user &list" ) ); hbox1->addWidget(buttonClearUsrList); buttonClearUsrList->hide(); QGridLayout *gl2 = new QGridLayout(); gl2->addWidget(new QLabel(tr("Name")), 0, 0); boxName = new QLineEdit(tr("user1")); gl2->addWidget(boxName, 0, 1); btnAddFunc = new QPushButton(tr( "&Save" )); gl2->addWidget(btnAddFunc, 0, 2); gl2->addWidget(new QLabel(tr("Parameters")), 1, 0); boxParam = new QLineEdit("a, b"); gl2->addWidget(boxParam, 1, 1); btnDelFunc = new QPushButton( tr( "&Remove" )); gl2->addWidget(btnDelFunc, 1, 2); QGroupBox *gb = new QGroupBox(); gb->setLayout(gl2); editBox = new QTextEdit(); editBox->setTextFormat(Qt::PlainText); editBox->setFocus(); QVBoxLayout *vbox1 = new QVBoxLayout(); btnAddTxt = new QPushButton(tr( "Add &expression" ) ); vbox1->addWidget(btnAddTxt); btnAddName = new QPushButton(tr( "Add &name" )); vbox1->addWidget(btnAddName); buttonClear = new QPushButton(tr( "Rese&t" )); vbox1->addWidget(buttonClear); buttonCancel2 = new QPushButton(tr( "&Close" )); vbox1->addWidget(buttonCancel2); btnContinue = new QPushButton(tr( "&Fit >>" )); vbox1->addWidget(btnContinue); vbox1->addStretch(); QHBoxLayout *hbox2 = new QHBoxLayout(); hbox2->addWidget(editBox); hbox2->addLayout(vbox1); QVBoxLayout *vbox2 = new QVBoxLayout(); vbox2->addLayout(gl1); vbox2->addLayout(hbox1); vbox2->addWidget(gb); vbox2->addLayout(hbox2); editPage = new QWidget(); editPage->setLayout(vbox2); tw->addWidget(editPage); connect( buttonPlugins, SIGNAL( clicked() ), this, SLOT(choosePluginsFolder())); connect( buttonClear, SIGNAL( clicked() ), this, SLOT(resetFunction())); connect( buttonClearUsrList, SIGNAL( clicked() ), this, SLOT(clearUserFunctions())); connect( categoryBox, SIGNAL(currentRowChanged (int)), this, SLOT(showFunctionsList(int) ) ); connect( funcBox, SIGNAL(currentRowChanged(int)), this, SLOT(showExpression(int))); connect( boxUseBuiltIn, SIGNAL(toggled(bool)), this, SLOT(setFunction(bool) ) ); connect( btnAddName, SIGNAL(clicked()), this, SLOT(pasteFunctionName() ) ); connect( btnAddTxt, SIGNAL(clicked()), this, SLOT(pasteExpression() ) ); connect( btnContinue, SIGNAL(clicked()), this, SLOT(showFitPage() ) ); connect( btnAddFunc, SIGNAL(clicked()), this, SLOT(saveUserFunction())); connect( btnDelFunc, SIGNAL(clicked()), this, SLOT(removeUserFunction())); connect( buttonCancel2, SIGNAL(clicked()), this, SLOT(close()) ); }
void fitDialog::initEditPage() { editPage = new QWidget( tw, "editPage" ); QHBox *hbox1=new QHBox(editPage,"hbox1"); hbox1->setSpacing(5); QVBox *vbox1=new QVBox(hbox1,"vbox1"); vbox1->setSpacing(5); new QLabel( tr("Category"), vbox1, "TextLabel41",0 ); categoryBox = new QListBox( vbox1, "categoryBox" ); categoryBox->insertItem(tr("User defined")); categoryBox->insertItem(tr("Built-in")); categoryBox->insertItem(tr("Basic")); categoryBox->insertItem(tr("Plugins")); categoryBox->setSizePolicy(QSizePolicy (QSizePolicy::Fixed, QSizePolicy::Expanding, 2, 0, FALSE )); QVBox *vbox2=new QVBox(hbox1,"vbox2"); vbox2->setSpacing(5); new QLabel( tr("Function"), vbox2, "TextLabel41",0 ); funcBox = new QListBox( vbox2, "funcBox" ); QVBox *vbox3=new QVBox(hbox1,"vbox3"); vbox3->setSpacing(5); new QLabel( tr("Expression"), vbox3, "TextLabel41",0 ); explainBox = new QTextEdit( vbox3, "explainBox" ); explainBox->setReadOnly(true); QHBox *hbox3=new QHBox(editPage,"hbox3"); hbox3->setSpacing(5); boxUseBuiltIn = new QCheckBox(hbox3,"boxUseBuiltIn"); boxUseBuiltIn->setText(tr("Fit with &built-in function")); boxUseBuiltIn->hide(); buttonPlugins = new QPushButton(hbox3, "buttonPlugins" ); buttonPlugins->setText( tr( "&Choose plugins folder..." ) ); buttonPlugins->hide(); QButtonGroup *GroupBox1 = new QButtonGroup( 3,QGroupBox::Horizontal,tr(""),editPage,"GroupBox3" ); new QLabel( tr("Name"), GroupBox1, "TextLabel41",0 ); boxName = new QLineEdit(GroupBox1, "boxName" ); boxName->setText("user1"); btnAddFunc = new QPushButton(GroupBox1, "btnAddFunc" ); btnAddFunc->setText( tr( "&Save" ) ); new QLabel( tr("Parameters"), GroupBox1, "TextLabel41",0 ); boxParam = new QLineEdit(GroupBox1, "boxParam" ); boxParam->setText("a, b"); btnDelFunc = new QPushButton(GroupBox1, "btnDelFunc" ); btnDelFunc->setText( tr( "&Remove" ) ); QHBox *hbox2=new QHBox(editPage,"hbox2"); hbox2->setSpacing(5); editBox = new QTextEdit( hbox2, "editBox" ); editBox->setTextFormat(Qt::PlainText); editBox->setFocus(); QVBox *vbox4=new QVBox(hbox2,"vbox4"); vbox4->setSpacing(5); btnAddTxt = new QPushButton(vbox4, "btnAddTxt" ); btnAddTxt->setText( tr( "Add &expression" ) ); btnAddName = new QPushButton(vbox4, "btnClose" ); btnAddName->setText( tr( "Add &name" ) ); buttonClear = new QPushButton(vbox4, "buttonClear" ); buttonClear->setText( tr( "Clear user &list" ) ); btnContinue = new QPushButton(vbox4, "btnContinue" ); btnContinue->setText( tr( "&Fit >>" ) ); QVBoxLayout* hlayout = new QVBoxLayout(editPage, 5, 5, "hlayout"); hlayout->addWidget(hbox1); hlayout->addWidget(hbox3); hlayout->addWidget(GroupBox1); hlayout->addWidget(hbox2); connect( buttonPlugins, SIGNAL( clicked() ), this, SLOT(choosePluginsFolder())); connect( buttonClear, SIGNAL( clicked() ), this, SLOT(clearList())); connect( categoryBox, SIGNAL(highlighted(int)), this, SLOT(showFunctionsList(int) ) ); connect( funcBox, SIGNAL(highlighted(int)), this, SLOT(showExpression(int))); connect( boxUseBuiltIn, SIGNAL(toggled(bool)), this, SLOT(setFunction(bool) ) ); connect( btnAddName, SIGNAL(clicked()), this, SLOT(addFunctionName() ) ); connect( btnAddTxt, SIGNAL(clicked()), this, SLOT(addFunction() ) ); connect( btnContinue, SIGNAL(clicked()), this, SLOT(showFitPage() ) ); connect( btnAddFunc, SIGNAL(clicked()), this, SLOT(saveUserFunction())); connect( btnDelFunc, SIGNAL(clicked()), this, SLOT(removeUserFunction())); }