Skip to content

Commit

Permalink
Added structure limits to area dialog
Browse files Browse the repository at this point in the history
  • Loading branch information
Jonathan Peters committed Jul 16, 2018
1 parent 88390bd commit 2eea0ca
Show file tree
Hide file tree
Showing 4 changed files with 351 additions and 114 deletions.
34 changes: 34 additions & 0 deletions src/gui/dialogs/settings/frames/arealayoutframe.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ AreaLayoutFrame::AreaLayoutFrame(QWidget *parent, std::shared_ptr<SimulationMana
int ind = ui->cmbResolution->findText( QString::number(SimManager->getResolution()) );
ui->cmbResolution->setCurrentIndex(ind);

setStructLimits();

areasChanged();
}

Expand Down Expand Up @@ -132,6 +134,9 @@ void AreaLayoutFrame::areasChanged() {
float dz = SimManager->getSliceThickness();
float oz = SimManager->getSliceOffset();

connect(ui->edtSliceThickness, &QLineEdit::textChanged, this, &AreaLayoutFrame::slicesChanged);
connect(ui->edtSliceOffset, &QLineEdit::textChanged, this, &AreaLayoutFrame::slicesChanged);

ui->edtSliceThickness->setText(Utils_Qt::numToQString(dz));
ui->edtSliceOffset->setText(Utils_Qt::numToQString(oz));
}
Expand Down Expand Up @@ -268,3 +273,32 @@ void AreaLayoutFrame::checkEditZero(QString txt) {
else
ui->edtSliceOffset->setStyleSheet("color: #FF8C00");
}

void AreaLayoutFrame::setStructLimits() {
if (!SimManager->getStructure())
return;

auto lims_x = SimManager->getStructure()->getLimitsX();
auto lims_y = SimManager->getStructure()->getLimitsY();

ui->lblStructStartX->setText(Utils_Qt::numToQString(lims_x[0]) + " Å");
ui->lblStructFinishX->setText(Utils_Qt::numToQString(lims_x[1]) + " Å");
ui->lblStructStartY->setText(Utils_Qt::numToQString(lims_y[0]) + " Å");
ui->lblStructFinishY->setText(Utils_Qt::numToQString(lims_y[1]) + " Å");
}

void AreaLayoutFrame::slicesChanged() {
if (!SimManager->getStructure())
return;

float dz = ui->edtSliceThickness->text().toFloat();

auto z_lims = SimManager->getPaddedStructLimitsZ();
float z_range = z_lims[1] - z_lims[0];

unsigned int n_slices = (unsigned int) std::ceil(z_range / dz);
n_slices += (n_slices == 0);

ui->lblSlices->setText(Utils_Qt::numToQString(n_slices));

}
5 changes: 4 additions & 1 deletion src/gui/dialogs/settings/frames/arealayoutframe.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ class AreaLayoutFrame : public QWidget
void modeChanged(int);
void updateMainCbed();
void updateMainStem();
void slicesChanged();

public:
explicit AreaLayoutFrame(QWidget *parent, std::shared_ptr<SimulationManager> simMan);
Expand All @@ -42,6 +41,8 @@ private slots:

void dlgCancel_clicked();

void slicesChanged();

private:
Ui::AreaLayoutFrame *ui;

Expand All @@ -54,6 +55,8 @@ private slots:
bool getErrorStringCtem();
bool getErrorStringStem();
bool getErrorStringCbed();

void setStructLimits();
};

#endif // AREALAYOUTFRAME_H
Loading

0 comments on commit 2eea0ca

Please sign in to comment.