Ejemplo n.º 1
0
MatrixFunctionDialog::MatrixFunctionDialog(Matrix* m, QWidget* parent, Qt::WFlags fl) : KDialog(parent, fl), m_matrix(m) {
	Q_ASSERT(m_matrix);
	setWindowTitle(i18n("Function values"));

	QFrame* mainWidget = new QFrame(this);
	ui.setupUi(mainWidget);
	setMainWidget( mainWidget );

	ui.tbConstants->setIcon( KIcon("labplot-format-text-symbol") );
	ui.tbFunctions->setIcon( KIcon("preferences-desktop-font") );

	QStringList vars;
	vars<<"x"<<"y";
	ui.teEquation->setVariables(vars);
	ui.teEquation->setFocus();

	QString info = "[" + QString::number(m_matrix->xStart()) + ", " + QString::number(m_matrix->xEnd()) + "], " + QString::number(m_matrix->columnCount()) + " " + i18n("values");
	ui.lXInfo->setText(info);
	info = "[" + QString::number(m_matrix->yStart()) + ", " + QString::number(m_matrix->yEnd()) + "], " + QString::number(m_matrix->rowCount()) + " " + i18n("values");
	ui.lYInfo->setText(info);

	ui.teEquation->setPlainText(m_matrix->formula());

	setButtons( KDialog::Ok | KDialog::Cancel );
	setButtonText(KDialog::Ok, i18n("&Generate"));
	setButtonToolTip(KDialog::Ok, i18n("Generate function values"));

	connect( ui.teEquation, SIGNAL(expressionChanged()), this, SLOT(checkValues()) );
	connect( ui.tbConstants, SIGNAL(clicked()), this, SLOT(showConstants()) );
	connect( ui.tbFunctions, SIGNAL(clicked()), this, SLOT(showFunctions()) );
	connect(this, SIGNAL(okClicked()), this, SLOT(generate()));

	resize( QSize(300,0).expandedTo(minimumSize()) );
}
Ejemplo n.º 2
0
/*!
 * 	// Tab "General"
 */
void XYFitCurveDock::setupGeneral() {
    QWidget* generalTab = new QWidget(ui.tabGeneral);
    uiGeneralTab.setupUi(generalTab);
    QGridLayout* gridLayout = dynamic_cast<QGridLayout*>(generalTab->layout());
    if (gridLayout) {
        gridLayout->setContentsMargins(2,2,2,2);
        gridLayout->setHorizontalSpacing(2);
        gridLayout->setVerticalSpacing(2);
    }

    cbXDataColumn = new TreeViewComboBox(generalTab);
    gridLayout->addWidget(cbXDataColumn, 4, 4, 1, 2);

    cbYDataColumn = new TreeViewComboBox(generalTab);
    gridLayout->addWidget(cbYDataColumn, 5, 4, 1, 2);

    cbWeightsColumn = new TreeViewComboBox(generalTab);
    gridLayout->addWidget(cbWeightsColumn, 6, 4, 1, 2);

    uiGeneralTab.cbModel->addItem(i18n("Polynomial"));
    uiGeneralTab.cbModel->addItem(i18n("Power"));
    uiGeneralTab.cbModel->addItem(i18n("Exponential"));
    uiGeneralTab.cbModel->addItem(i18n("Inverse Exponential"));
    uiGeneralTab.cbModel->addItem(i18n("Fourier"));
    uiGeneralTab.cbModel->addItem(i18n("Gaussian"));
    uiGeneralTab.cbModel->addItem(i18n("Lorentz (Cauchy)"));
    uiGeneralTab.cbModel->addItem(i18n("Maxwell-Boltzmann"));
    uiGeneralTab.cbModel->addItem(i18n("Sigmoid"));
    uiGeneralTab.cbModel->addItem(i18n("Custom"));

    uiGeneralTab.teEquation->setMaximumHeight(uiGeneralTab.leName->sizeHint().height()*2);

    uiGeneralTab.tbConstants->setIcon( KIcon("labplot-format-text-symbol") );
    uiGeneralTab.tbFunctions->setIcon( KIcon("preferences-desktop-font") );
    uiGeneralTab.pbRecalculate->setIcon(KIcon("run-build"));

    QHBoxLayout* layout = new QHBoxLayout(ui.tabGeneral);
    layout->setMargin(0);
    layout->addWidget(generalTab);

    //Slots
    connect( uiGeneralTab.leName, SIGNAL(returnPressed()), this, SLOT(nameChanged()) );
    connect( uiGeneralTab.leComment, SIGNAL(returnPressed()), this, SLOT(commentChanged()) );
    connect( uiGeneralTab.chkVisible, SIGNAL(clicked(bool)), this, SLOT(visibilityChanged(bool)) );

    connect( uiGeneralTab.cbModel, SIGNAL(currentIndexChanged(int)), this, SLOT(modelChanged(int)) );
    connect( uiGeneralTab.sbDegree, SIGNAL(valueChanged(int)), this, SLOT(updateModelEquation()) );
    connect( uiGeneralTab.teEquation, SIGNAL(expressionChanged()), this, SLOT(enableRecalculate()) );
    connect( uiGeneralTab.tbConstants, SIGNAL(clicked()), this, SLOT(showConstants()) );
    connect( uiGeneralTab.tbFunctions, SIGNAL(clicked()), this, SLOT(showFunctions()) );
    connect( uiGeneralTab.pbParameters, SIGNAL(clicked()), this, SLOT(showParameters()) );
    connect( uiGeneralTab.pbOptions, SIGNAL(clicked()), this, SLOT(showOptions()) );
    connect( uiGeneralTab.pbRecalculate, SIGNAL(clicked()), this, SLOT(recalculateClicked()) );
}