Skip to content

Commit

Permalink
Improve const-correctness of signals
Browse files Browse the repository at this point in the history
  • Loading branch information
sgsaenger committed Oct 8, 2024
1 parent 7c6b5a2 commit 37df279
Show file tree
Hide file tree
Showing 15 changed files with 39 additions and 39 deletions.
6 changes: 3 additions & 3 deletions gui/qt/mainwidgets/molwidget_aux/atomlist.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ AtomList::~AtomList()
delete ui;
}

void AtomList::setActiveStep(Step &step, Step::selection &sel)
void AtomList::setActiveStep(const Step &step, const Step::selection &sel)
{
QSignalBlocker blockAtomFmt(ui->atomFmtBox);
auto &fmtBox = *ui->atomFmtBox;
Expand All @@ -90,15 +90,15 @@ void AtomList::setActiveStep(Step &step, Step::selection &sel)
updateSelection(sel);
}

void AtomList::updateStep(Step &step)
void AtomList::updateStep(const Step &step)
{
// only update active step
if (&step != &vApp.curStep()) return;

atomModel.update();
}

void AtomList::updateSelection(Step::selection &sel)
void AtomList::updateSelection(const Step::selection &sel)
{
// only update selection of active step
if (&sel != &vApp.curSel()) return;
Expand Down
6 changes: 3 additions & 3 deletions gui/qt/mainwidgets/molwidget_aux/atomlist.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ class AtomList : public QWidget
~AtomList();

private slots:
void setActiveStep(Vipster::Step &step, Vipster::Step::selection &sel);
void updateStep(Vipster::Step &step);
void updateSelection(Vipster::Step::selection &sel);
void setActiveStep(const Vipster::Step &step, const Vipster::Step::selection &sel);
void updateStep(const Vipster::Step &step);
void updateSelection(const Vipster::Step::selection &sel);

private:
void selectionChanged();
Expand Down
2 changes: 1 addition & 1 deletion gui/qt/mainwidgets/molwidget_aux/atommodel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ enum colIds{
c_fixx, c_fixy, c_fixz
};

void AtomModel::setStep(Step::formatter &&step)
void AtomModel::setStep(Step::const_formatter &&step)
{
beginResetModel();
curStep = step;
Expand Down
4 changes: 2 additions & 2 deletions gui/qt/mainwidgets/molwidget_aux/atommodel.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ class AtomModel : public QAbstractTableModel
Q_OBJECT

public:
void setStep(Vipster::Step::formatter &&curStep);
void setStep(Vipster::Step::const_formatter &&curStep);
void update();
void setColumns(int cols);

Expand All @@ -29,7 +29,7 @@ class AtomModel : public QAbstractTableModel
Qt::ItemFlags flags(const QModelIndex& index) const override;

private:
std::optional<Vipster::Step::formatter> curStep{};
std::optional<Vipster::Step::const_formatter> curStep{};
QStringList colNames = {"Type" , "x", "y", "z", "Charge", "fx", "fy", "fz",
"Hide", "fix x", "fix y", "fix z"};
std::vector<int> colMap = {0,1,2,3};
Expand Down
4 changes: 2 additions & 2 deletions gui/qt/mainwidgets/molwidget_aux/bondwidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ BondWidget::~BondWidget()
delete ui;
}

void BondWidget::setActiveStep(Step &step, Step::selection &)
void BondWidget::setActiveStep(const Step &step, const Step::selection &)
{
// expose BondMode
QSignalBlocker blockBondMode(ui->bondModeBox);
Expand All @@ -57,7 +57,7 @@ void BondWidget::setActiveStep(Step &step, Step::selection &)
bondModel.reset();
}

void BondWidget::updateStep(Step &step)
void BondWidget::updateStep(const Step &step)
{
// only update active step
if (&step != &vApp.curStep()) return;
Expand Down
4 changes: 2 additions & 2 deletions gui/qt/mainwidgets/molwidget_aux/bondwidget.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ class BondWidget : public QWidget
~BondWidget();

private:
void setActiveStep(Vipster::Step &step, Vipster::Step::selection &sel);
void updateStep(Vipster::Step &step);
void setActiveStep(const Vipster::Step &step, const Vipster::Step::selection &sel);
void updateStep(const Vipster::Step &step);
void recalculateBonds();
void bondModeHandler(int index);
void updateOverlap();
Expand Down
2 changes: 1 addition & 1 deletion gui/qt/mainwidgets/molwidget_aux/cellwidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ CellWidget::~CellWidget()
delete ui;
}

void CellWidget::updateStep(Step &step)
void CellWidget::updateStep(const Step &step)
{
// only update active step
if (&step != &vApp.curStep()) return;
Expand Down
2 changes: 1 addition & 1 deletion gui/qt/mainwidgets/molwidget_aux/cellwidget.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class CellWidget : public QWidget
~CellWidget();

private:
void updateStep(Vipster::Step &step);
void updateStep(const Vipster::Step &step);
void enableCell(bool enable);
void cellFmtChanged(int idx);
void cellDimChanged(double dim);
Expand Down
4 changes: 2 additions & 2 deletions gui/qt/mainwidgets/molwidget_aux/kpointwidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ KPointWidget::~KPointWidget()
delete ui;
}

void KPointWidget::setActiveMol(Molecule &m)
void KPointWidget::setActiveMol(const Molecule &m)
{
// show active format
ui->activeKpoint->setCurrentIndex(static_cast<int>(m.kpoints.active));
Expand All @@ -112,7 +112,7 @@ void KPointWidget::setActiveMol(Molecule &m)
updateMol(m);
}

void KPointWidget::updateMol(Molecule &m)
void KPointWidget::updateMol(const Molecule &m)
{
// Only act on active molecule
if (&m != &vApp.curMol()) return;
Expand Down
4 changes: 2 additions & 2 deletions gui/qt/mainwidgets/molwidget_aux/kpointwidget.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ class KPointWidget : public QWidget
~KPointWidget();

private:
void setActiveMol(Vipster::Molecule &mol);
void updateMol(Vipster::Molecule &mol);
void setActiveMol(const Vipster::Molecule &mol);
void updateMol(const Vipster::Molecule &mol);

Ui::KPointWidget *ui;
};
Expand Down
8 changes: 4 additions & 4 deletions gui/qt/mainwidgets/periodictablewidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -184,18 +184,18 @@ PeriodicTableWidget::PeriodicTableWidget(QWidget *parent, bool isGlob) :
}
});
} else {
connect(&vApp, &Application::activeMolChanged, this, [this](Molecule &m){
connect(&vApp, &Application::activeMolChanged, this, [this](const Molecule &m){
setTable(&m.getPTE());
});
connect(&vApp, &Application::activeStepChanged, this, [this](Step &s){
connect(&vApp, &Application::activeStepChanged, this, [this](const Step &s){
setTable(&s.getPTE());
});
connect(&vApp, &Application::molChanged, this, [this](Molecule &m){
connect(&vApp, &Application::molChanged, this, [this](const Molecule &m){
if (&m == &vApp.curMol()) {
setTable(&m.getPTE());
}
});
connect(&vApp, &Application::stepChanged, this, [this](Step &s){
connect(&vApp, &Application::stepChanged, this, [this](const Step &s){
if (&s == &vApp.curStep()) {
setTable(&s.getPTE());
}
Expand Down
12 changes: 6 additions & 6 deletions gui/qt/mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ void MainWindow::setupEditMenu()
QKeySequence::Cut);
cutAction->setEnabled(false);
connect(&vApp, &Application::selChanged,
cutAction, [=](Step::selection &sel){cutAction->setEnabled(sel.getNat() > 0);});
cutAction, [=](const Step::selection &sel){cutAction->setEnabled(sel.getNat() > 0);});

// Copy atoms
auto *copyAction = editMenu.addAction("&Copy atom(s)",
Expand All @@ -246,7 +246,7 @@ void MainWindow::setupEditMenu()
QKeySequence::Copy);
copyAction->setEnabled(false);
connect(&vApp, &Application::selChanged,
copyAction, [=](Step::selection &sel){copyAction->setEnabled(sel.getNat() > 0);});
copyAction, [=](const Step::selection &sel){copyAction->setEnabled(sel.getNat() > 0);});

// Paste atoms
auto *pasteAction = editMenu.addAction("&Paste atom(s)",
Expand All @@ -256,7 +256,7 @@ void MainWindow::setupEditMenu()
QKeySequence::Paste);
pasteAction->setEnabled(false);
connect(&vApp, &Application::copyBufChanged,
pasteAction, [=](Step::selection &buf){pasteAction->setEnabled(buf.getNat() > 0);});
pasteAction, [=](const Step::selection &buf){pasteAction->setEnabled(buf.getNat() > 0);});

// Separator
editMenu.addSeparator();
Expand All @@ -275,7 +275,7 @@ void MainWindow::setupEditMenu()
vApp.invokeOnSel(f, newName);
});
connect(&vApp, &Application::selChanged,
renameAction, [=](Step::selection &sel){renameAction->setEnabled(sel.getNat() > 0);});
renameAction, [=](const Step::selection &sel){renameAction->setEnabled(sel.getNat() > 0);});

// Hide
auto *hideAction = editMenu.addAction("&Hide atom(s)",
Expand All @@ -288,7 +288,7 @@ void MainWindow::setupEditMenu()
vApp.invokeOnSel(f);
});
connect(&vApp, &Application::selChanged,
hideAction, [=](Step::selection &sel){hideAction->setEnabled(sel.getNat() > 0);});
hideAction, [=](const Step::selection &sel){hideAction->setEnabled(sel.getNat() > 0);});

// Show
auto *showAction = editMenu.addAction("&Show atom(s)",
Expand All @@ -301,7 +301,7 @@ void MainWindow::setupEditMenu()
vApp.invokeOnSel(f);
});
connect(&vApp, &Application::selChanged,
showAction, [=](Step::selection &sel){showAction->setEnabled(sel.getNat() > 0);});
showAction, [=](const Step::selection &sel){showAction->setEnabled(sel.getNat() > 0);});
}

void MainWindow::setupHelpMenu()
Expand Down
4 changes: 2 additions & 2 deletions gui/qt/vipsterapplication.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ using namespace Vipster;
Application::Application()
{
// Ensure bonds and overlap information is up to date
auto updateBonds = [&](Step &step){
auto updateBonds = [&](const Step &step){
if (getState(step).automatic_bonds ||
config_val.settings.overlap.val) {
step.generateBonds(!getState(step).automatic_bonds);
const_cast<Step&>(step).generateBonds(!getState(step).automatic_bonds);
}
};
connect(this, &Application::stepChanged, updateBonds);
Expand Down
13 changes: 6 additions & 7 deletions gui/qt/vipsterapplication.h
Original file line number Diff line number Diff line change
Expand Up @@ -121,8 +121,8 @@ class Application: public QObject
}
signals:
void molListChanged(const std::list<Vipster::Molecule> &molecules);
void molChanged(Vipster::Molecule &mol);
void activeMolChanged(Vipster::Molecule &mol);
void molChanged(const Vipster::Molecule &mol);
void activeMolChanged(const Vipster::Molecule &mol);

// Additional data
private:
Expand Down Expand Up @@ -178,11 +178,10 @@ class Application: public QObject
}
}
signals:
// TODO: const-correctness
void activeStepChanged(Vipster::Step &step, Vipster::Step::selection &sel);
void stepChanged(Vipster::Step &step);
void selChanged(Vipster::Step::selection &sel);
void copyBufChanged(Vipster::Step::selection &buf);
void activeStepChanged(const Vipster::Step &step, const Vipster::Step::selection &sel);
void stepChanged(const Vipster::Step &step);
void selChanged(const Vipster::Step::selection &sel);
void copyBufChanged(const Vipster::Step::selection &buf);

public:
// GUI-Data related to a loaded Step
Expand Down
3 changes: 2 additions & 1 deletion vipster/stepbase.h
Original file line number Diff line number Diff line change
Expand Up @@ -165,13 +165,14 @@ namespace Vipster {
{
template<typename U> friend class StepMutable;
public:
virtual ~StepMutable() = default;
~StepMutable() override = default;
StepMutable(const StepMutable &) = default;
StepMutable(StepMutable &&) = default;
StepMutable& operator=(const StepMutable&) = default;
StepMutable& operator=(StepMutable&&) = default;

// Periodic table
using StepConst<T>::getPTE;
PeriodicTable& getPTE();

// Atoms
Expand Down

0 comments on commit 37df279

Please sign in to comment.