From 9080d6bfed5ee55e448bedc258b08c72236857ad Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 11 Aug 2024 22:55:27 -0400 Subject: [PATCH] add wizard for tutorial 2 --- tools/lammps-gui/icons/tutorial2-logo.png | Bin 0 -> 72878 bytes tools/lammps-gui/lammpsgui.cpp | 160 ++++++++++++++++++++-- tools/lammps-gui/lammpsgui.h | 10 ++ tools/lammps-gui/lammpsgui.qrc | 1 + 4 files changed, 163 insertions(+), 8 deletions(-) create mode 100644 tools/lammps-gui/icons/tutorial2-logo.png diff --git a/tools/lammps-gui/icons/tutorial2-logo.png b/tools/lammps-gui/icons/tutorial2-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..dc661decb34d1f7de0e05ecd952d6f33b99cdaf7 GIT binary patch literal 72878 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 + wizard->addPage(tutorial2_info()); wizard->addPage(tutorial2_directory()); + wizard->addPage(tutorial2_finish()); wizard->setWindowTitle("Tutorial 2 Setup Wizard"); + wizard->setWizardStyle(QWizard::ModernStyle); wizard->show(); } QWizardPage *LammpsGui::tutorial2_intro() { auto *page = new QWizardPage; - page->setTitle("Starting Tutorial 2"); - auto *label = new QLabel("This wizard will guide you to get set up for working " - "through the Tutorial 2 from lammpstutorials.github.io."); + page->setTitle("Getting Started With Tutorial 2"); + page->setPixmap(QWizard::WatermarkPixmap, QPixmap(":/icons/tutorial2-logo.png")); + + // XXX TODO: update URL to published tutorial DOI + auto *label = + new QLabel("

This wizard will help you to select and populate a folder with " + "materials required to work through tutorial 2 from a fourthcoming " + "LAMMPS tutorial using LAMMPS-GUI by Simon Gravelle, Jake Gissinger, " + "and Axel Kohlmeyer.

\n" + "The work-in-progress materials for this tutorial are available at: " + "github.com/lammpstutorials/lammpstutorials-article


\n" + "
\n" + "

Click on the \"Next\" button to begin.

"); + label->setWordWrap(true); + + auto *layout = new QVBoxLayout; + layout->addWidget(label); + page->setLayout(layout); + return page; +} + +QWizardPage *LammpsGui::tutorial2_info() +{ + auto *page = new QWizardPage; + page->setTitle("Contents of Tutorial 2"); + page->setPixmap(QWizard::WatermarkPixmap, QPixmap(":/icons/tutorial2-logo.png")); + + auto *label = + new QLabel("

In tutorial 2 you will learn about setting up a simulation for a molecular " + "system with bonds. The target is to simulate a carbon nanotube with a " + "conventional molecular force field under growing strain and observe the " + "response to it. Since bonds are represented by a harmonic potential, they " + "cannot break. This is then compared to simulating the same system with a " + "reactive force field (AIREBO) where bonds may be broken and formed.

" + "
\n" + "

Click on the \"Next\" button to select a folder.

"); label->setWordWrap(true); auto *layout = new QVBoxLayout; @@ -1693,11 +1730,79 @@ QWizardPage *LammpsGui::tutorial2_directory() { auto *page = new QWizardPage; page->setTitle("Select Directory for Tutorial 2"); - auto *label = new QLabel("Please select a directory to store the files for tutorial 2"); + page->setPixmap(QWizard::WatermarkPixmap, QPixmap(":/icons/tutorial2-logo.png")); + + auto *frame = new QFrame; + auto *label = new QLabel( + "

Select a directory to store the files for tutorial 2. The directory will be " + "created if necessary and LAMMPS-GUI will download the files required for the " + "tutorial.

\n" + "

If selected, an existing directory may be cleared.

\n" + "

Also, available files of the tutorial solution may be downloaded to a " + "folder \"solution\", if requested.

\n" + "
\n"); + label->setWordWrap(true); + + auto *dirlayout = new QHBoxLayout; + auto *directory = new QLineEdit; + // if we are already in the tutorial folder, stay there + if (!current_dir.endsWith("tutorial2")) { + // if current dir is home, or application folder, switch to desktop path + if ((current_dir == QDir::homePath()) || current_dir.contains("AppData") || + current_dir.contains("Program Files")) { + current_dir = QStandardPaths::writableLocation(QStandardPaths::DesktopLocation); + } + current_dir += "/tutorial2"; + } + directory->setText(current_dir); + + auto *dirbutton = new QPushButton("&Choose"); + dirlayout->addWidget(directory); + dirlayout->addWidget(dirbutton); + directory->setObjectName("t2_directory"); + connect(dirbutton, &QPushButton::released, this, &LammpsGui::get_directory); + + auto *grid = new QGridLayout; + auto *purgeval = new QCheckBox; + auto *solval = new QCheckBox; + auto *purgelabel = new QLabel("Remove existing files from directory"); + auto *sollabel = new QLabel("Download solutions"); + purgeval->setCheckState(Qt::Unchecked); + purgeval->setObjectName("t2_dirpurge"); + solval->setCheckState(Qt::Unchecked); + solval->setObjectName("t2_getsolution"); + grid->addWidget(purgeval, 0, 0, Qt::AlignVCenter); + grid->addWidget(purgelabel, 0, 1, Qt::AlignVCenter); + grid->addWidget(solval, 1, 0, Qt::AlignVCenter); + grid->addWidget(sollabel, 1, 1, Qt::AlignVCenter); + grid->setColumnStretch(0, 0); + grid->setColumnStretch(1, 100); + + auto *layout = new QVBoxLayout(frame); + layout->addWidget(label); + layout->addLayout(dirlayout); + layout->addLayout(grid); + + page->setLayout(layout); + return page; +} + +QWizardPage *LammpsGui::tutorial2_finish() +{ + auto *page = new QWizardPage; + page->setTitle("Start Tutorial 2"); + page->setPixmap(QWizard::WatermarkPixmap, QPixmap(":/icons/tutorial2-logo.png")); + + auto *label = new QLabel("

You are now ready to start tutorial 2.

\n" + "
\n" + "

Click on the \"Finish\" button to " + "complete the setup.

"); label->setWordWrap(true); auto *layout = new QVBoxLayout; layout->addWidget(label); + layout->setStretch(0, 100); + page->setLayout(layout); return page; } @@ -1881,7 +1986,7 @@ void LammpsGui::setup_tutorial(int tutno, const QString &dir, bool purgedir, boo lammps.command(QString("shell cd " + dir).toLocal8Bit()); // read and process manifest - lammps.command(geturl.arg(1).arg(".manifest").toLocal8Bit()); + lammps.command(geturl.arg(tutno).arg(".manifest").toLocal8Bit()); QFile manifest(".manifest"); QString line, first; if (manifest.open(QIODevice::ReadOnly)) { @@ -1895,12 +2000,12 @@ void LammpsGui::setup_tutorial(int tutno, const QString &dir, bool purgedir, boo // file in subfolder if (line.contains('/')) { if (getsolution && line.startsWith("solution")) { - lammps.command(geturl.arg(1).arg(line).toLocal8Bit()); + lammps.command(geturl.arg(tutno).arg(line).toLocal8Bit()); } } else { // first file is the initial template if (first.isEmpty()) first = line; - lammps.command(geturl.arg(1).arg(line).toLocal8Bit()); + lammps.command(geturl.arg(tutno).arg(line).toLocal8Bit()); } } manifest.close(); @@ -1948,6 +2053,45 @@ void Tutorial1Wizard::accept() QDialog::accept(); } +Tutorial2Wizard::Tutorial2Wizard(QWidget *parent) : QWizard(parent) +{ + setWindowIcon(QIcon(":/icons/tutorial-logo.png")); +} + +// actions to perform when the wizard for tutorial 2 is complete +// and the user has clicked on "Finish" + +void Tutorial2Wizard::accept() +{ + // get pointers to the widgets with the information we need + auto *dirname = findChild("t2_directory"); + auto *dirpurge = findChild("t2_dirpurge"); + auto *getsol = findChild("t2_getsolution"); + + // create and populate directory. + if (dirname) { + QDir directory; + auto curdir = dirname->text().trimmed(); + if (!directory.mkpath(curdir)) { + QMessageBox::warning(this, "Warning", + "Cannot create tutorial 2 working directory " + curdir + + ".\n\nGoing back to directory selection."); + back(); + return; + } + + bool purgedir = dirpurge && (dirpurge->checkState() == Qt::Checked); + bool getsolution = getsol && (getsol->checkState() == Qt::Checked); + + // get hold of LAMMPS-GUI main widget + LammpsGui *main = nullptr; + for (QWidget *widget : QApplication::topLevelWidgets()) + if (widget->objectName() == "LammpsGui") main = dynamic_cast(widget); + if (main) main->setup_tutorial(2, curdir, purgedir, getsolution); + } + QDialog::accept(); +} + // Local Variables: // c-basic-offset: 4 // End: diff --git a/tools/lammps-gui/lammpsgui.h b/tools/lammps-gui/lammpsgui.h index 255df4e150..ce89d23998 100644 --- a/tools/lammps-gui/lammpsgui.h +++ b/tools/lammps-gui/lammpsgui.h @@ -64,6 +64,7 @@ class LammpsGui : public QMainWindow { friend class CodeEditor; friend class GeneralTab; friend class Tutorial1Wizard; + friend class Tutorial2Wizard; public: LammpsGui(QWidget *parent = nullptr, const char *filename = nullptr); @@ -86,7 +87,9 @@ protected: QWizardPage *tutorial1_directory(); QWizardPage *tutorial1_finish(); QWizardPage *tutorial2_intro(); + QWizardPage *tutorial2_info(); QWizardPage *tutorial2_directory(); + QWizardPage *tutorial2_finish(); void setup_tutorial(int tutno, const QString &dir, bool purgedir, bool getsolution); void purge_inspect_list(); bool eventFilter(QObject *watched, QEvent *event) override; @@ -180,6 +183,13 @@ public: void accept() override; }; +class Tutorial2Wizard : public QWizard { + Q_OBJECT + +public: + Tutorial2Wizard(QWidget *parent = nullptr); + void accept() override; +}; #endif // LAMMPSGUI_H // Local Variables: diff --git a/tools/lammps-gui/lammpsgui.qrc b/tools/lammps-gui/lammpsgui.qrc index c6be49a40b..5de1a5efba 100644 --- a/tools/lammps-gui/lammpsgui.qrc +++ b/tools/lammps-gui/lammpsgui.qrc @@ -3,6 +3,7 @@ icons/lammps-icon-128x128.png icons/tutorial1-logo.png + icons/tutorial2-logo.png help_index.table lammps_internal_commands.txt