#1977 Curve Calculator : Use smaller and right aligned buttons

This commit is contained in:
Magne Sjaastad 2017-10-13 16:22:39 +02:00
parent 9819fe946e
commit ccd839c182
5 changed files with 79 additions and 80 deletions

View File

@ -70,6 +70,7 @@ ${SOURCE_GROUP_SOURCE_FILES}
list(APPEND QT_MOC_HEADERS
${CEE_CURRENT_LIST_DIR}RicSummaryCurveCreatorSplitterUi.h
${CEE_CURRENT_LIST_DIR}RicSummaryCurveCreatorDialog.h
${CEE_CURRENT_LIST_DIR}RicSummaryCurveCalculatorEditor.h
)

View File

@ -48,18 +48,6 @@ RicSummaryCurveCalculator::RicSummaryCurveCalculator()
CAF_PDM_InitFieldNoDefault(&m_deleteCalculation, "DeleteCalculation", "Delete Calculation", "", "", "");
RicSummaryCurveCalculator::assignPushButtonEditor(&m_deleteCalculation);
CAF_PDM_InitFieldNoDefault(&m_parseExpression, "ParseExpression", "Parse", "", "", "");
RicSummaryCurveCalculator::assignPushButtonEditor(&m_parseExpression);
CAF_PDM_InitFieldNoDefault(&m_calculateExpression, "CalculateExpression", "Calculate", "", "", "");
RicSummaryCurveCalculator::assignPushButtonEditor(&m_calculateExpression);
CAF_PDM_InitFieldNoDefault(&m_newVariable, "NewVariable", "New Variable", "", "", "");
RicSummaryCurveCalculator::assignPushButtonEditor(&m_newVariable);
CAF_PDM_InitFieldNoDefault(&m_deleteVariable, "DeleteVariable", "Delete Variable", "", "", "");
RicSummaryCurveCalculator::assignPushButtonEditor(&m_deleteVariable);
}
//--------------------------------------------------------------------------------------------------
@ -86,6 +74,19 @@ RimCalculation* RicSummaryCurveCalculator::currentCalculation() const
return m_currentCalculation();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicSummaryCurveCalculator::parseExpression()
{
if (m_currentCalculation())
{
m_currentCalculation()->parseExpression();
this->updateConnectedEditors();
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -112,41 +113,6 @@ void RicSummaryCurveCalculator::fieldChangedByUi(const caf::PdmFieldHandle* chan
this->updateConnectedEditors();
}
}
else if (changedField == &m_parseExpression)
{
m_parseExpression = false;
if (m_currentCalculation())
{
m_currentCalculation()->parseExpression();
this->updateConnectedEditors();
}
}
else if (changedField == &m_calculateExpression)
{
m_calculateExpression = false;
if (m_currentCalculation())
{
m_currentCalculation()->calculate();
}
}
else if (changedField == &m_newVariable)
{
m_newVariable = false;
if (m_currentCalculation())
{
m_currentCalculation()->addVariable();
this->updateConnectedEditors();
}
}
else if (changedField == &m_deleteVariable)
{
m_deleteVariable = false;
}
}
//--------------------------------------------------------------------------------------------------
@ -175,14 +141,7 @@ void RicSummaryCurveCalculator::defineUiOrdering(QString uiConfigName, caf::PdmU
{
m_currentCalculation->uiOrdering(uiConfigName, *group);
}
group->add(&m_parseExpression);
group->add(&m_calculateExpression);
// group->add(&m_newVariable);
// group->add(&m_deleteVariable);
}
}
//--------------------------------------------------------------------------------------------------
@ -240,6 +199,17 @@ void RicSummaryCurveCalculator::assignPushButtonEditorText(caf::PdmUiEditorAttri
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicSummaryCurveCalculator::calculate() const
{
if (m_currentCalculation())
{
m_currentCalculation()->calculate();
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -253,20 +223,4 @@ void RicSummaryCurveCalculator::defineEditorAttribute(const caf::PdmFieldHandle*
{
RicSummaryCurveCalculator::assignPushButtonEditorText(attribute, "Delete Calculation");
}
else if (&m_newVariable == field)
{
RicSummaryCurveCalculator::assignPushButtonEditorText(attribute, "New Variable");
}
else if (&m_deleteVariable == field)
{
RicSummaryCurveCalculator::assignPushButtonEditorText(attribute, "Delete Variable");
}
else if (&m_parseExpression == field)
{
RicSummaryCurveCalculator::assignPushButtonEditorText(attribute, "Parse Expression");
}
else if (&m_calculateExpression == field)
{
RicSummaryCurveCalculator::assignPushButtonEditorText(attribute, "Calculate");
}
}

View File

@ -36,11 +36,14 @@ class RicSummaryCurveCalculator : public caf::PdmObject
public:
RicSummaryCurveCalculator();
static QString calculatedSummariesGroupName();
static QString calulationGroupName();
static QString calculatedSummariesGroupName();
static QString calulationGroupName();
RimCalculation* currentCalculation() const;
void parseExpression();
void calculate() const;
private:
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
@ -59,10 +62,4 @@ private:
caf::PdmField<bool> m_newCalculation;
caf::PdmField<bool> m_deleteCalculation;
caf::PdmField<bool> m_newVariable;
caf::PdmField<bool> m_deleteVariable;
caf::PdmField<bool> m_parseExpression;
caf::PdmField<bool> m_calculateExpression;
};

View File

@ -27,6 +27,7 @@
#include <QBoxLayout>
#include <QHeaderView>
#include <QPushButton>
#include <QSplitter>
#include <QTableView>
@ -64,6 +65,7 @@ void RicSummaryCurveCalculatorEditor::recursivelyConfigureAndUpdateTopLevelUiIte
{
if (!m_firstRowLeftLayout || !m_firstRowRightLayout) return;
int layoutItemIndex = 0;
for (size_t i = 0; i < topLevelUiItems.size(); ++i)
{
if (topLevelUiItems[i]->isUiHidden(uiConfigName)) continue;
@ -79,11 +81,13 @@ void RicSummaryCurveCalculatorEditor::recursivelyConfigureAndUpdateTopLevelUiIte
}
else if (group->keyword() == RicSummaryCurveCalculator::calulationGroupName())
{
m_firstRowRightLayout->addWidget(groupBox);
m_firstRowRightLayout->insertWidget(layoutItemIndex++, groupBox);
}
}
}
m_firstRowRightLayout->insertLayout(layoutItemIndex++, m_parseButtonLayout);
if (m_calculator->currentCalculation())
{
m_pdmTableView->setListField(m_calculator->currentCalculation()->variables());
@ -91,7 +95,8 @@ void RicSummaryCurveCalculatorEditor::recursivelyConfigureAndUpdateTopLevelUiIte
else
m_pdmTableView->setListField(nullptr);
m_firstRowRightLayout->addWidget(m_pdmTableView);
m_firstRowRightLayout->insertWidget(layoutItemIndex++, m_pdmTableView);
m_firstRowRightLayout->insertLayout(layoutItemIndex++, m_calculateButtonLayout);
m_pdmTableView->tableView()->resizeColumnsToContents();
}
@ -142,6 +147,22 @@ QWidget* RicSummaryCurveCalculatorEditor::createWidget(QWidget* parent)
mainLayout->addWidget(rowSplitter);
{
QPushButton* pushButton = new QPushButton("Parse Expression");
connect(pushButton, SIGNAL(clicked()), this, SLOT(slotParseExpression()));
m_parseButtonLayout = new QHBoxLayout;
m_parseButtonLayout->addStretch(10);
m_parseButtonLayout->addWidget(pushButton);
}
{
QPushButton* pushButton = new QPushButton("Calculate");
connect(pushButton, SIGNAL(clicked()), this, SLOT(slotCalculate()));
m_calculateButtonLayout = new QHBoxLayout;
m_calculateButtonLayout->addStretch(10);
m_calculateButtonLayout->addWidget(pushButton);
}
return widget;
}
@ -159,3 +180,19 @@ QMinimizePanel* RicSummaryCurveCalculatorEditor::updateGroupBoxWithContent(caf::
return groupBox;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicSummaryCurveCalculatorEditor::slotCalculate()
{
m_calculator->calculate();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicSummaryCurveCalculatorEditor::slotParseExpression()
{
m_calculator->parseExpression();
}

View File

@ -29,6 +29,7 @@ class QMinimizePanel;
class QString;
class QVBoxLayout;
class QHBoxLayout;
class QPushButton;
namespace caf {
class PdmUiItem;
@ -42,6 +43,8 @@ namespace caf {
//==================================================================================================
class RicSummaryCurveCalculatorEditor : public caf::PdmUiWidgetBasedObjectEditor
{
Q_OBJECT
public:
RicSummaryCurveCalculatorEditor();
~RicSummaryCurveCalculatorEditor();
@ -54,10 +57,17 @@ private:
QMinimizePanel* updateGroupBoxWithContent(caf::PdmUiGroup* group, const QString& uiConfigName);
private slots:
void slotCalculate();
void slotParseExpression();
private:
QPointer<QHBoxLayout> m_firstRowLeftLayout;
QPointer<QVBoxLayout> m_firstRowRightLayout;
QPointer<QHBoxLayout> m_parseButtonLayout;
QPointer<QHBoxLayout> m_calculateButtonLayout;
caf::PdmUiTableView* m_pdmTableView;
std::unique_ptr<RicSummaryCurveCalculator> m_calculator;