diff --git a/share/qchem_option.db b/share/qchem_option.db index 8f4586b9..3b39f7bd 100644 Binary files a/share/qchem_option.db and b/share/qchem_option.db differ diff --git a/src/Network/SshConnection.C b/src/Network/SshConnection.C index f2c69fcf..45f89be5 100644 --- a/src/Network/SshConnection.C +++ b/src/Network/SshConnection.C @@ -305,6 +305,7 @@ void SshConnection::authenticate(AuthenticationT const authentication, QString& switch (rc) { case LIBSSH2_ERROR_NONE: m_status = Connection::Authenticated; + QLOG_INFO() << "SSH Connection established"; break; case LIBSSH2_ERROR_PUBLICKEY_NOT_FOUND: diff --git a/src/Process/JobMonitor.C b/src/Process/JobMonitor.C index c07f6dd4..184c60c3 100644 --- a/src/Process/JobMonitor.C +++ b/src/Process/JobMonitor.C @@ -492,6 +492,8 @@ bool JobMonitor::getQueueResources(Server* server, QChemJobInfo& qchemJobInfo) if (list.isEmpty()) { QLOG_DEBUG() << "QueueResources List is empty, getting queue information"; QString info(server->queueInfo()); + QLOG_TRACE() << info; + ServerConfiguration::QueueSystemT queueSystem(configuration.queueSystem()); switch (queueSystem) { diff --git a/src/Qui/AdcTab.h b/src/Qui/AdcTab.h new file mode 100644 index 00000000..6bc14225 --- /dev/null +++ b/src/Qui/AdcTab.h @@ -0,0 +1,34 @@ +#ifndef QUI_ADCTAB_H +#define QUI_ADCTAB_H + +/*! + * \file AdcTab.h + * + * \brief contains class definitions associated with the ADC tab + * in the toolBoxOptions widget of the QUI. + * + * \author Andrew Gilbert + * \date May 2019 + */ + +#include "ui_AdcTab.h" + + +namespace Qui { + +class AdcTab : public QWidget { + + Q_OBJECT + + public: + AdcTab(QWidget* parent) : QWidget(parent) { + m_ui.setupUi(this); + } + + // Public access for the logic to operate + Ui::AdcTab m_ui; +}; + +} // end namespaces Qui + +#endif diff --git a/src/Qui/AdcTab.ui b/src/Qui/AdcTab.ui new file mode 100644 index 00000000..2d8adadb --- /dev/null +++ b/src/Qui/AdcTab.ui @@ -0,0 +1,140 @@ + + + AdcTab + + + + 0 + 0 + 391 + 234 + + + + Form + + + + + + + + Circular Dichroism + + + + + + + Spin-Orbit Coupling + + + + + + + Energy Corrections + + + + + + + + + Singlet States + + + qui_adc_states1 + + + + + + + + + + Triplet States + + + qui_adc_states2 + + + + + + + + + + Core Orbitals + + + + + + + + + + + + Two-Photon Absorption + + + + + + + Excited State Properties + + + + + + + Qt::Horizontal + + + + 166 + 18 + + + + + + + + State-to-State Properties + + + + + + + Use DIIS + + + + + + + + + Qt::Vertical + + + + 20 + 21 + + + + + + + + + diff --git a/src/Qui/AimdTab.h b/src/Qui/AimdTab.h new file mode 100644 index 00000000..10d23977 --- /dev/null +++ b/src/Qui/AimdTab.h @@ -0,0 +1,34 @@ +#ifndef QUI_AIMDTAB_H +#define QUI_AIMDTAB_H + +/*! + * \file AimdTab.h + * + * \brief contains class definitions associated with the AIMDtab + * in the toolBoxOptions widget of the QUI. + * + * \author Andrew Gilbert + * \date May 2019 + */ + +#include "ui_AimdTab.h" + + +namespace Qui { + +class AimdTab : public QWidget { + + Q_OBJECT + + public: + AimdTab(QWidget* parent) : QWidget(parent) { + m_ui.setupUi(this); + } + + // Public access for the logic to operate + Ui::AimdTab m_ui; +}; + +} // end namespaces Qui + +#endif diff --git a/src/Qui/AimdTab.ui b/src/Qui/AimdTab.ui new file mode 100644 index 00000000..efaca484 --- /dev/null +++ b/src/Qui/AimdTab.ui @@ -0,0 +1,136 @@ + + + AimdTab + + + + 0 + 0 + 461 + 163 + + + + Form + + + + + + + + Deuterate + + + + + + + + + + + + + a.u. + + + + + + + Electron Mass + + + + + + + Time Step + + + + + + + a.u. + + + 9999 + + + + + + + Initial Velocities + + + + + + + + + + K + + + 9999 + + + + + + + Method + + + + + + + Number of Steps + + + + + + + Temperature + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Qt::Vertical + + + + 17 + 0 + + + + + + + + + diff --git a/src/Qui/AttenuationParameterTab.h b/src/Qui/AttenuationParameterTab.h new file mode 100644 index 00000000..a27f7450 --- /dev/null +++ b/src/Qui/AttenuationParameterTab.h @@ -0,0 +1,34 @@ +#ifndef QUI_ATTENUATIONPARAMETERTAB_H +#define QUI_ATTENUATIONPARAMETERTAB_H + +/*! + * \file AttenuationParameterTab.h + * + * \brief contains class definitions associated with the Attenuation Parameter + * in the toolBoxOptions widget of the QUI. + * + * \author Andrew Gilbert + * \date May 2019 + */ + +#include "ui_AttenuationParameterTab.h" + + +namespace Qui { + +class AttenuationParameterTab : public QWidget { + + Q_OBJECT + + public: + AttenuationParameterTab(QWidget* parent) : QWidget(parent) { + m_ui.setupUi(this); + } + + // Public access for the logic to operate + Ui::AttenuationParameterTab m_ui; +}; + +} // end namespaces Qui + +#endif diff --git a/src/Qui/AttenuationParameterTab.ui b/src/Qui/AttenuationParameterTab.ui new file mode 100644 index 00000000..ba8764b9 --- /dev/null +++ b/src/Qui/AttenuationParameterTab.ui @@ -0,0 +1,65 @@ + + + AttenuationParameterTab + + + + 0 + 0 + 302 + 84 + + + + Form + + + + + + + + Omega + + + + + + + 3 + + + + + + + Qt::Horizontal + + + + 53 + 20 + + + + + + + + + + Qt::Vertical + + + + 20 + 21 + + + + + + + + + diff --git a/src/Qui/AuxiliaryBasisTab.h b/src/Qui/AuxiliaryBasisTab.h new file mode 100644 index 00000000..330de747 --- /dev/null +++ b/src/Qui/AuxiliaryBasisTab.h @@ -0,0 +1,34 @@ +#ifndef QUI_AUXILIARYBASISTAB_H +#define QUI_AUXILIARYBASISTAB_H + +/*! + * \file AuxiliaryBasis.h + * + * \brief contains class definitions associated with the Auxiliary Basis + * in the toolBoxOptions widget of the QUI. + * + * \author Andrew Gilbert + * \date May 2019 + */ + +#include "ui_AuxiliaryBasisTab.h" + + +namespace Qui { + +class AuxiliaryBasisTab : public QWidget { + + Q_OBJECT + + public: + AuxiliaryBasisTab(QWidget* parent) : QWidget(parent) { + m_ui.setupUi(this); + } + + // Public access for the logic to operate + Ui::AuxiliaryBasisTab m_ui; +}; + +} // end namespaces Qui + +#endif diff --git a/src/Qui/AuxiliaryBasisTab.ui b/src/Qui/AuxiliaryBasisTab.ui new file mode 100644 index 00000000..31741c6c --- /dev/null +++ b/src/Qui/AuxiliaryBasisTab.ui @@ -0,0 +1,61 @@ + + + AuxiliaryBasisTab + + + + 0 + 0 + 302 + 84 + + + + Form + + + + + + + + RI Fitting Basis + + + + + + + + + + Qt::Horizontal + + + + 53 + 20 + + + + + + + + + + Qt::Vertical + + + + 20 + 21 + + + + + + + + + diff --git a/src/Qui/CisTab.h b/src/Qui/CisTab.h new file mode 100644 index 00000000..35d4229f --- /dev/null +++ b/src/Qui/CisTab.h @@ -0,0 +1,34 @@ +#ifndef QUI_CISTAB_H +#define QUI_CISTAB_H + +/*! + * \file CISTab.h + * + * \brief contains class definitions associated with the CIS/TDDFT tab + * in the toolBoxOptions widget of the QUI. + * + * \author Andrew Gilbert + * \date May 2019 + */ + +#include "ui_CisTab.h" + + +namespace Qui { + +class CisTab : public QWidget { + + Q_OBJECT + + public: + CisTab(QWidget* parent) : QWidget(parent) { + m_ui.setupUi(this); + } + + // Public access for the logic to operate + Ui::CisTab m_ui; +}; + +} // end namespaces Qui + +#endif diff --git a/src/Qui/CisTab.ui b/src/Qui/CisTab.ui new file mode 100644 index 00000000..0d799c6f --- /dev/null +++ b/src/Qui/CisTab.ui @@ -0,0 +1,158 @@ + + + CisTab + + + + 0 + 0 + 426 + 200 + + + + Form + + + + + + + + Analyze Amplitudes + + + + + + + State To Optimize + + + + + + + Excited State Moments + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + XCIS + + + + + + + + + + Transition Moments + + + + + + + SF-XCIS + + + + + + + Number of Roots + + + + + + + RPA + + + + + + + Singlets + + + + + + + Spin Flip + + + + + + + State Mulliken Charges + + + + + + + Triplets + + + + + + + Analyze Relaxed Density + + + + + + + NTO Pairs + + + + + + + + + + + + Qt::Vertical + + + + 20 + 21 + + + + + + + + + diff --git a/src/Qui/EomTab.h b/src/Qui/EomTab.h new file mode 100644 index 00000000..83400d21 --- /dev/null +++ b/src/Qui/EomTab.h @@ -0,0 +1,34 @@ +#ifndef QUI_EOMTAB_H +#define QUI_EOMTAB_H + +/*! + * \file EomTab.h + * + * \brief contains class definitions associated with the EOM tab + * in the toolBoxOptions widget of the QUI. + * + * \author Andrew Gilbert + * \date May 2019 + */ + +#include "ui_EomTab.h" + + +namespace Qui { + +class EomTab : public QWidget { + + Q_OBJECT + + public: + EomTab(QWidget* parent) : QWidget(parent) { + m_ui.setupUi(this); + } + + // Public access for the logic to operate + Ui::EomTab m_ui; +}; + +} // end namespaces Qui + +#endif diff --git a/src/Qui/EomTab.ui b/src/Qui/EomTab.ui new file mode 100644 index 00000000..d07a14d8 --- /dev/null +++ b/src/Qui/EomTab.ui @@ -0,0 +1,173 @@ + + + EomTab + + + + 0 + 0 + 488 + 172 + + + + Form + + + + + + + + EE + + + + + + + SF + + + + + + + IP + + + + + + + EA + + + + + + + DIP + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + Singlets + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Triplets + + + + + + + + + + Excited State Properties + + + + + + + Transition Properties + + + + + + + 2 Electron Transition Properties + + + + + + + State to optimize + + + + + + + + 0 + 0 + + + + + 1677715 + 16777215 + + + + + 0 + 0 + + + + + + + + + + Qt::Vertical + + + + 20 + 21 + + + + + + + + + diff --git a/src/Qui/FreezingStringTab.h b/src/Qui/FreezingStringTab.h new file mode 100644 index 00000000..d39a5cd3 --- /dev/null +++ b/src/Qui/FreezingStringTab.h @@ -0,0 +1,34 @@ +#ifndef QUI_FREEZINGSTRINGTAB_H +#define QUI_FREEZINGSTRINGTAB_H + +/*! + * \file FreezingStringTab.h + * + * \brief contains class definitions associated with the Freezing String tab + * in the toolBoxOptions widget of the QUI. + * + * \author Andrew Gilbert + * \date May 2019 + */ + +#include "ui_FreezingStringTab.h" + + +namespace Qui { + +class FreezingStringTab : public QWidget { + + Q_OBJECT + + public: + FreezingStringTab(QWidget* parent) : QWidget(parent) { + m_ui.setupUi(this); + } + + // Public access for the logic to operate + Ui::FreezingStringTab m_ui; +}; + +} // end namespaces Qui + +#endif diff --git a/src/Qui/FreezingStringTab.ui b/src/Qui/FreezingStringTab.ui new file mode 100644 index 00000000..77e99241 --- /dev/null +++ b/src/Qui/FreezingStringTab.ui @@ -0,0 +1,91 @@ + + + FreezingStringTab + + + + 0 + 0 + 396 + 99 + + + + Form + + + + + + + + + + + Nodes + + + + + + + Opt Method + + + + + + + Interpolation + + + + + + + Gradient Steps + + + + + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Qt::Vertical + + + + 20 + 21 + + + + + + + + + diff --git a/src/Qui/FrequenciesTab.h b/src/Qui/FrequenciesTab.h new file mode 100644 index 00000000..866632dc --- /dev/null +++ b/src/Qui/FrequenciesTab.h @@ -0,0 +1,34 @@ +#ifndef QUI_FREQUENCIESTAB_H +#define QUI_FREQUENCIESTAB_H + +/*! + * \file FrequenciesTab.h + * + * \brief contains class definitions associated with the Frequencies tab + * in the toolBoxOptions widget of the QUI. + * + * \author Andrew Gilbert + * \date May 2019 + */ + +#include "ui_FrequenciesTab.h" + + +namespace Qui { + +class FrequenciesTab : public QWidget { + + Q_OBJECT + + public: + FrequenciesTab(QWidget* parent) : QWidget(parent) { + m_ui.setupUi(this); + } + + // Public access for the logic to operate + Ui::FrequenciesTab m_ui; +}; + +} // end namespaces Qui + +#endif diff --git a/src/Qui/FrequenciesTab.ui b/src/Qui/FrequenciesTab.ui new file mode 100644 index 00000000..7710a351 --- /dev/null +++ b/src/Qui/FrequenciesTab.ui @@ -0,0 +1,105 @@ + + + FrequenciesTab + + + + 0 + 0 + 414 + 159 + + + + Form + + + + + + Raman Frequencies + + + + + + + Isotopic Analysis + + + + + + + Project Out Translational And Rotational Degrees Of Freedom + + + + + + + Compute Anharmonic Corrections + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 40 + 20 + + + + + + + + VCI Quanta + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Qt::Vertical + + + + 20 + 21 + + + + + + + + + diff --git a/src/Qui/InputDialog.C b/src/Qui/InputDialog.C index bd0f26b7..263e4237 100644 --- a/src/Qui/InputDialog.C +++ b/src/Qui/InputDialog.C @@ -69,6 +69,18 @@ namespace Qui { InputDialog::InputDialog(QWidget* parent) : QMainWindow(parent), + m_adcTab(this), + m_aimdTab(this), + m_attenuationParameterTab(this), + m_auxiliaryBasisTab(this), + m_cisTab(this), + m_eomTab(this), + m_freezingStringTab(this), + m_frequenciesTab(this), + m_primaryBasisTab(this), + m_propertiesTab(this), + m_reactionPathTab(this), + m_transitionStateTab(this), m_db(OptionDatabase::instance()), m_reg(OptionRegister::instance()), m_taint(false), m_currentJob(0), m_fileIn("") { @@ -131,7 +143,8 @@ InputDialog::~InputDialog() void InputDialog::initializeToolBoxOptions() { - int numberOfUndeletedPages(2); +/* + int numberOfUndeletedPages(2); // wtf are these? while (m_ui.toolBoxOptions->count() > numberOfUndeletedPages) { QWidget* widget(m_ui.toolBoxOptions->widget(0)); QString name(m_ui.toolBoxOptions->itemText(0)); @@ -139,6 +152,31 @@ void InputDialog::initializeToolBoxOptions() m_ui.toolBoxOptions->removeItem(0); m_toolBoxOptions.insert(name, widget); } +*/ + m_toolBoxOptions.insert("ADC", &m_adcTab); + m_adcTab.hide(); + m_toolBoxOptions.insert("Ab Initio MD", &m_aimdTab); + m_aimdTab.hide(); + m_toolBoxOptions.insert("Attenuation Parameter", &m_attenuationParameterTab); + m_attenuationParameterTab.hide(); + m_toolBoxOptions.insert("Auxiliary Basis", &m_auxiliaryBasisTab); + m_auxiliaryBasisTab.hide(); + m_toolBoxOptions.insert("CIS/TD-DFT", &m_cisTab); + m_cisTab.hide(); + m_toolBoxOptions.insert("EOM", &m_eomTab); + m_eomTab.hide(); + m_toolBoxOptions.insert("Freezing String", &m_freezingStringTab); + m_freezingStringTab.hide(); + m_toolBoxOptions.insert("Frequencies", &m_frequenciesTab); + m_frequenciesTab.hide(); + m_toolBoxOptions.insert("Primary Basis", &m_primaryBasisTab); + m_primaryBasisTab.hide(); + m_toolBoxOptions.insert("Properties", &m_propertiesTab); + m_propertiesTab.hide(); + m_toolBoxOptions.insert("Reaction Path", &m_reactionPathTab); + m_reactionPathTab.hide(); + m_toolBoxOptions.insert("Transition State", &m_transitionStateTab); + m_transitionStateTab.hide(); } diff --git a/src/Qui/InputDialog.h b/src/Qui/InputDialog.h index 558cdcbb..dcfd422d 100644 --- a/src/Qui/InputDialog.h +++ b/src/Qui/InputDialog.h @@ -28,6 +28,19 @@ #include "ui_QuiMainWindow.h" #include "QChemJobInfo.h" +#include "AdcTab.h" +#include "AimdTab.h" +#include "AttenuationParameterTab.h" +#include "AuxiliaryBasisTab.h" +#include "CisTab.h" +#include "EomTab.h" +#include "FreezingStringTab.h" +#include "FrequenciesTab.h" +#include "PrimaryBasisTab.h" +#include "PropertiesTab.h" +#include "ReactionPathTab.h" +#include "TransitionStateTab.h" + #include #include @@ -133,6 +146,22 @@ class InputDialog : public QMainWindow { private: // ---------- Data ---------- Ui::MainWindow m_ui; + // Tool Box tabs + AdcTab m_adcTab; + AimdTab m_aimdTab; + AttenuationParameterTab m_attenuationParameterTab; + AuxiliaryBasisTab m_auxiliaryBasisTab; + CisTab m_cisTab; + EomTab m_eomTab; + FreezingStringTab m_freezingStringTab; + FrequenciesTab m_frequenciesTab; + PrimaryBasisTab m_primaryBasisTab; + PropertiesTab m_propertiesTab; + ReactionPathTab m_reactionPathTab; + TransitionStateTab m_transitionStateTab; + + + IQmol::Process::QChemJobInfo m_qchemJobInfo; OptionDatabase& m_db; @@ -149,6 +178,7 @@ class InputDialog : public QMainWindow { QMap m_toolBoxOptions; + // ---------- Functions ---------- void finalizeJob(Job*); diff --git a/src/Qui/InputDialogLogic.C b/src/Qui/InputDialogLogic.C index 755a7f52..e590842a 100644 --- a/src/Qui/InputDialogLogic.C +++ b/src/Qui/InputDialogLogic.C @@ -402,7 +402,7 @@ void InputDialog::initializeQuiLogic() method.addRule(rule); - s = "Atenuation Parameter"; + s = "Attenuation Parameter"; rule = If(requiresOmega, AddPage(m_ui.toolBoxOptions, m_toolBoxOptions.value(s), s), RemovePage(m_ui.toolBoxOptions, s) @@ -442,21 +442,21 @@ void InputDialog::initializeQuiLogic() method.addRule( If(isADC, - Disable(m_ui.adc_prop_cd) + Disable(m_ui.adc_prop_soc) + Disable(m_adcTab.m_ui.adc_prop_cd) + Disable(m_adcTab.m_ui.adc_prop_soc) ) ); method.addRule( If(method == "ADC(2)" || method == "SOS-ADC(2)", - Enable(m_ui.adc_do_diis), - Disable(m_ui.adc_do_diis) + Enable(m_adcTab.m_ui.adc_do_diis), + Disable(m_adcTab.m_ui.adc_do_diis) ) ); method.addRule( If(isCVS_ADC, - Show(m_ui.qui_adc_core) + Show(m_ui.label_adc_core), - Hide(m_ui.qui_adc_core) + Hide(m_ui.label_adc_core) + Show(m_adcTab.m_ui.qui_adc_core) + Show(m_adcTab.m_ui.label_adc_core), + Hide(m_adcTab.m_ui.qui_adc_core) + Hide(m_adcTab.m_ui.label_adc_core) ) ); @@ -593,8 +593,8 @@ void InputDialog::initializeQuiLogic() QtNode& anharmonic(reg.get("ANHARMONIC")); anharmonic.addRule( If (anharmonic == QtTrue, - Enable(m_ui.vci), - Disable(m_ui.vci) + Enable(m_frequenciesTab.m_ui.vci), + Disable(m_frequenciesTab.m_ui.vci) ) ); @@ -603,16 +603,16 @@ void InputDialog::initializeQuiLogic() QtNode& aimd_method(reg.get("AIMD_METHOD")); aimd_method.addRule( If (aimd_method == "BOMD", - Disable(m_ui.deuterate), - Enable(m_ui.deuterate) + Disable(m_aimdTab.m_ui.deuterate), + Enable(m_aimdTab.m_ui.deuterate) ) ); QtNode& aimd_initial_velocities(reg.get("AIMD_INITIAL_VELOCITIES")); aimd_initial_velocities.addRule( If (aimd_initial_velocities == QString("Thermal"), - Enable(m_ui.aimd_temp), - Disable(m_ui.aimd_temp) + Enable(m_aimdTab.m_ui.aimd_temp), + Disable(m_aimdTab.m_ui.aimd_temp) ) ); @@ -620,8 +620,8 @@ void InputDialog::initializeQuiLogic() // Setup -> Transition State job_type.addRule( If (job_type == "Transition State", - Enable(m_ui.geom_opt_mode), - Disable(m_ui.geom_opt_mode)) + Enable(m_transitionStateTab.m_ui.geom_opt_mode), + Disable(m_transitionStateTab.m_ui.geom_opt_mode)) ); @@ -630,8 +630,10 @@ void InputDialog::initializeQuiLogic() If(job_type == "Geometry" || job_type == "Reaction Path" || job_type == "Frequencies" || job_type == "Transition State" || job_type == "Forces" || job_type == "PES Scan", - Enable(m_ui.cis_state_derivative) + Enable(m_ui.label_cis_state_derivative), - Disable(m_ui.cis_state_derivative) + Disable(m_ui.label_cis_state_derivative) + Enable(m_cisTab.m_ui.cis_state_derivative) + + Enable(m_cisTab.m_ui.label_cis_state_derivative), + Disable(m_cisTab.m_ui.cis_state_derivative) + + Disable(m_cisTab.m_ui.label_cis_state_derivative) ) ); @@ -647,11 +649,11 @@ void InputDialog::initializeQuiLogic() ); spin_flip_xcis.addRule( - If(spin_flip_xcis == QtTrue, Disable(m_ui.sts_mom), Enable(m_ui.sts_mom)) + If(spin_flip_xcis == QtTrue, Disable(m_cisTab.m_ui.sts_mom), Enable(m_cisTab.m_ui.sts_mom)) ); QtNode& spin_flip(reg.get("SPIN_FLIP")); - rule = If(method == "TD-DFT" && spin_flip == QtTrue, Disable(m_ui.rpa), Enable(m_ui.rpa)); + rule = If(method == "TD-DFT" && spin_flip == QtTrue, Disable(m_cisTab.m_ui.rpa), Enable(m_cisTab.m_ui.rpa)); method.addRule(rule); spin_flip.addRule(rule); @@ -669,8 +671,10 @@ void InputDialog::initializeQuiLogic() QtNode& qui_eom_states2(reg.get("QUI_EOM_STATES2")); rule = If((qui_eom_ee == QtTrue || qui_eom_dip == QtTrue) && multiplicity != "1", - Hide(m_ui.label_eom2) + Hide(m_ui.qui_eom_states2), - Show(m_ui.label_eom2) + Show(m_ui.qui_eom_states2)); + Hide(m_eomTab.m_ui.label_eom2) + + Hide(m_eomTab.m_ui.qui_eom_states2), + Show(m_eomTab.m_ui.label_eom2) + + Show(m_eomTab.m_ui.qui_eom_states2)); qui_eom_ee.addRule(rule); qui_eom_sf.addRule(rule); qui_eom_ip.addRule(rule); qui_eom_ea.addRule(rule); qui_eom_dip.addRule(rule); multiplicity.addRule(rule); @@ -681,24 +685,33 @@ void InputDialog::initializeQuiLogic() QtNode& ee_triplets(reg.get("EE_TRIPLETS")); rule = If(qui_eom_ee == QtTrue && multiplicity == "1", - Enable(m_ui.ee_singlets) + Enable(m_ui.ee_triplets) + Disable(m_ui.ee_states) - + ee_singlets.makeSameAs(qui_eom_states1) + ee_triplets.makeSameAs(qui_eom_states2) - + SetLabel(m_ui.label_eom1, "Singlets") + SetLabel(m_ui.label_eom2, "Triplets") + Enable(m_ui.ee_singlets) + + Enable(m_ui.ee_triplets) + + Disable(m_ui.ee_states) + + ee_singlets.makeSameAs(qui_eom_states1) + + ee_triplets.makeSameAs(qui_eom_states2) + + SetLabel(m_eomTab.m_ui.label_eom1, "Singlets") + + SetLabel(m_eomTab.m_ui.label_eom2, "Triplets") ); qui_eom_ee.addRule(rule); qui_eom_states1.addRule(rule); multiplicity.addRule(rule); qui_eom_states2.addRule(rule); rule = If(qui_eom_ee == QtTrue && multiplicity != "1", - Disable(m_ui.ee_singlets) + Disable(m_ui.ee_triplets) + Enable(m_ui.ee_states) - + ee_states.makeSameAs(qui_eom_states1) + SetLabel(m_ui.label_eom1, "States") + Disable(m_ui.ee_singlets) + + Disable(m_ui.ee_triplets) + + Enable(m_ui.ee_states) + + ee_states.makeSameAs(qui_eom_states1) + + SetLabel(m_eomTab.m_ui.label_eom1, "States") ); qui_eom_ee.addRule(rule); qui_eom_states1.addRule(rule); multiplicity.addRule(rule); rule = If(qui_eom_ee == QtFalse, - Disable(m_ui.ee_singlets) + Disable(m_ui.ee_triplets) + Disable(m_ui.ee_states)); + Disable(m_ui.ee_singlets) + + Disable(m_ui.ee_triplets) + + Disable(m_ui.ee_states)); qui_eom_ee.addRule(rule); qui_eom_sf.addRule(rule); qui_eom_dip.addRule(rule); qui_eom_ip.addRule(rule); qui_eom_ea.addRule(rule); @@ -710,17 +723,24 @@ void InputDialog::initializeQuiLogic() QtNode& dip_triplets(reg.get("DIP_TRIPLETS")); rule = If(qui_eom_dip == QtTrue && multiplicity == "1", - Enable(m_ui.dip_singlets) + Enable(m_ui.dip_triplets) + Disable(m_ui.dip_states) - + dip_singlets.makeSameAs(qui_eom_states1) + dip_triplets.makeSameAs(qui_eom_states2) - + SetLabel(m_ui.label_eom1, "Singlets") + SetLabel(m_ui.label_eom2, "Triplets") + Enable(m_ui.dip_singlets) + + Enable(m_ui.dip_triplets) + + Disable(m_ui.dip_states) + + dip_singlets.makeSameAs(qui_eom_states1) + + dip_triplets.makeSameAs(qui_eom_states2) + + SetLabel(m_eomTab.m_ui.label_eom1, "Singlets") + + SetLabel(m_eomTab.m_ui.label_eom2, "Triplets") ); qui_eom_dip.addRule(rule); qui_eom_states1.addRule(rule); multiplicity.addRule(rule); qui_eom_states2.addRule(rule); rule = If(qui_eom_dip == QtTrue && multiplicity != "1", - Disable(m_ui.dip_singlets) + Disable(m_ui.dip_triplets) + Enable(m_ui.dip_states) - + dip_states.makeSameAs(qui_eom_states1) + SetLabel(m_ui.label_eom1, "States") + Disable(m_ui.dip_singlets) + + Disable(m_ui.dip_triplets) + + Enable(m_ui.dip_states) + + dip_states.makeSameAs(qui_eom_states1) + + SetLabel(m_eomTab.m_ui.label_eom1, "States") ); qui_eom_dip.addRule(rule); qui_eom_states1.addRule(rule); @@ -738,9 +758,12 @@ void InputDialog::initializeQuiLogic() QtNode& dsf_states(reg.get("DSF_STATES")); rule = If(qui_eom_sf == QtTrue, - Enable(m_ui.sf_states) + Enable(m_ui.dsf_states) - + sf_states.makeSameAs(qui_eom_states1) + dsf_states.makeSameAs(qui_eom_states2) - + SetLabel(m_ui.label_eom1, "Spin-Flip") + SetLabel(m_ui.label_eom2, "Double SF") + Enable(m_ui.sf_states) + + Enable(m_ui.dsf_states) + + sf_states.makeSameAs(qui_eom_states1) + + dsf_states.makeSameAs(qui_eom_states2) + + SetLabel(m_eomTab.m_ui.label_eom1, "Spin-Flip") + + SetLabel(m_eomTab.m_ui.label_eom2, "Double SF") ); qui_eom_sf.addRule(rule); qui_eom_states1.addRule(rule); qui_eom_states2.addRule(rule); @@ -755,9 +778,12 @@ void InputDialog::initializeQuiLogic() QtNode& ip_beta(reg.get("EOM_IP_BETA")); rule = If(qui_eom_ip == QtTrue, - Enable(m_ui.eom_ip_alpha) + Enable(m_ui.eom_ip_beta) - + ip_beta.makeSameAs(qui_eom_states1) + ip_alpha.makeSameAs(qui_eom_states2) - + SetLabel(m_ui.label_eom1, "Beta") + SetLabel(m_ui.label_eom2, "Alpha") + Enable(m_ui.eom_ip_alpha) + + Enable(m_ui.eom_ip_beta) + + ip_beta.makeSameAs(qui_eom_states1) + + ip_alpha.makeSameAs(qui_eom_states2) + + SetLabel(m_eomTab.m_ui.label_eom1, "Beta") + + SetLabel(m_eomTab.m_ui.label_eom2, "Alpha") ); qui_eom_ip.addRule(rule); qui_eom_states1.addRule(rule); qui_eom_states2.addRule(rule); @@ -774,7 +800,7 @@ void InputDialog::initializeQuiLogic() rule = If(qui_eom_ea == QtTrue, Enable(m_ui.eom_ea_alpha) + Enable(m_ui.eom_ea_beta) + ea_beta.makeSameAs(qui_eom_states1) + ea_alpha.makeSameAs(qui_eom_states2) - + SetLabel(m_ui.label_eom1, "Beta") + SetLabel(m_ui.label_eom2, "Alpha") + + SetLabel(m_eomTab.m_ui.label_eom1, "Beta") + SetLabel(m_eomTab.m_ui.label_eom2, "Alpha") ); qui_eom_ea.addRule(rule); qui_eom_states1.addRule(rule); qui_eom_states2.addRule(rule); @@ -789,8 +815,8 @@ void InputDialog::initializeQuiLogic() If(job_type == "Geometry" || job_type == "Reaction Path" || job_type == "Frequencies" || job_type == "Transition State" || job_type == "Forces", - Enable(m_ui.cc_state_to_opt) + Enable(m_ui.label_cc_state_to_opt), - Disable(m_ui.cc_state_to_opt) + Disable(m_ui.label_cc_state_to_opt) + Enable(m_eomTab.m_ui.cc_state_to_opt) + Enable(m_eomTab.m_ui.label_cc_state_to_opt), + Disable(m_eomTab.m_ui.cc_state_to_opt) + Disable(m_eomTab.m_ui.label_cc_state_to_opt) ) ); @@ -798,19 +824,19 @@ void InputDialog::initializeQuiLogic() QtNode& qui_adc_es1(reg.get("QUI_ADC_STATES1")); QtNode& qui_adc_es2(reg.get("QUI_ADC_STATES2")); - rule = If(isADCandCS, Show(m_ui.label_adc2) + Show(m_ui.qui_adc_states2)); + rule = If(isADCandCS, Show(m_adcTab.m_ui.label_adc2) + Show(m_adcTab.m_ui.qui_adc_states2)); method.addRule(rule); multiplicity.addRule(rule); - rule = If(isADCandOS, Hide(m_ui.label_adc2) + Hide(m_ui.qui_adc_states2)); + rule = If(isADCandOS, Hide(m_adcTab.m_ui.label_adc2) + Hide(m_adcTab.m_ui.qui_adc_states2)); method.addRule(rule); multiplicity.addRule(rule); rule = If(isADCandCS, Enable(m_ui.ee_singlets) + Enable(m_ui.ee_triplets) + Disable(m_ui.ee_states) - + SetLabel(m_ui.label_adc1, "Singlets") + SetLabel(m_ui.label_adc2, "Triplets") + + SetLabel(m_adcTab.m_ui.label_adc1, "Singlets") + SetLabel(m_adcTab.m_ui.label_adc2, "Triplets") + ee_singlets.makeSameAs(qui_adc_es1) + ee_triplets.makeSameAs(qui_adc_es2)); method.addRule(rule); @@ -820,7 +846,7 @@ void InputDialog::initializeQuiLogic() rule = If(isADCandOS, Disable(m_ui.ee_singlets) + Disable(m_ui.ee_triplets) + Enable(m_ui.ee_states) - + SetLabel(m_ui.label_adc1, "States") + + SetLabel(m_adcTab.m_ui.label_adc1, "States") + ee_states.makeSameAs(qui_adc_es1)); method.addRule(rule); @@ -839,9 +865,14 @@ void InputDialog::initializeQuiLogic() ) ); - method.addRule(If(isADC, Enable(m_ui.adc_ecorr))); - method.addRule(If(isCVS_ADC, Disable(m_ui.adc_ecorr))); - method.addRule(If(method == "SOS-ADC(2)" || method == "SOS-ADC(2)-x", Disable(m_ui.adc_ecorr))); + method.addRule(If(isADC, Enable(m_adcTab.m_ui.adc_ecorr))); + method.addRule(If(isCVS_ADC, Disable(m_adcTab.m_ui.adc_ecorr))); + method.addRule( + If(method == "SOS-ADC(2)" || + method == "SOS-ADC(2)-x", + Disable(m_adcTab.m_ui.adc_ecorr) + ) + ); QtNode& qui_adc_core(reg.get("QUI_ADC_CORE")); QtNode& cc_rest_occ(reg.get("CC_REST_OCC")); diff --git a/src/Qui/PrimaryBasisTab.h b/src/Qui/PrimaryBasisTab.h new file mode 100644 index 00000000..fd5b1172 --- /dev/null +++ b/src/Qui/PrimaryBasisTab.h @@ -0,0 +1,34 @@ +#ifndef QUI_PRIMARYBASISTAB_H +#define QUI_PRIMARYBASISTAB_H + +/*! + * \file PrimaryBasis.h + * + * \brief contains class definitions associated with the Primary Basis + * in the toolBoxOptions widget of the QUI. + * + * \author Andrew Gilbert + * \date May 2019 + */ + +#include "ui_PrimaryBasisTab.h" + + +namespace Qui { + +class PrimaryBasisTab : public QWidget { + + Q_OBJECT + + public: + PrimaryBasisTab(QWidget* parent) : QWidget(parent) { + m_ui.setupUi(this); + } + + // Public access for the logic to operate + Ui::PrimaryBasisTab m_ui; +}; + +} // end namespaces Qui + +#endif diff --git a/src/Qui/PrimaryBasisTab.ui b/src/Qui/PrimaryBasisTab.ui new file mode 100644 index 00000000..cad6b38d --- /dev/null +++ b/src/Qui/PrimaryBasisTab.ui @@ -0,0 +1,54 @@ + + + PrimaryBasisTab + + + + 0 + 0 + 302 + 84 + + + + Form + + + + + + + + + + + Qt::Horizontal + + + + 53 + 20 + + + + + + + + + + Qt::Vertical + + + + 20 + 21 + + + + + + + + + diff --git a/src/Qui/PropertiesTab.h b/src/Qui/PropertiesTab.h new file mode 100644 index 00000000..8f590762 --- /dev/null +++ b/src/Qui/PropertiesTab.h @@ -0,0 +1,34 @@ +#ifndef QUI_PROPERTIESTAB_H +#define QUI_PROPERTIESTAB_H + +/*! + * \file PropertiesTab.h + * + * \brief contains class definitions associated with the Properties tab + * in the toolBoxOptions widget of the QUI. + * + * \author Andrew Gilbert + * \date May 2019 + */ + +#include "ui_PropertiesTab.h" + + +namespace Qui { + +class PropertiesTab : public QWidget { + + Q_OBJECT + + public: + PropertiesTab(QWidget* parent) : QWidget(parent) { + m_ui.setupUi(this); + } + + // Public access for the logic to operate + Ui::PropertiesTab m_ui; +}; + +} // end namespaces Qui + +#endif diff --git a/src/Qui/PropertiesTab.ui b/src/Qui/PropertiesTab.ui new file mode 100644 index 00000000..8bf5acc9 --- /dev/null +++ b/src/Qui/PropertiesTab.ui @@ -0,0 +1,68 @@ + + + PropertiesTab + + + + 0 + 0 + 332 + 75 + + + + Form + + + + + + + + Property + + + + + + + + + + Save G[Px] Data + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Qt::Vertical + + + + 20 + 21 + + + + + + + + + diff --git a/src/Qui/Qui.pro b/src/Qui/Qui.pro index 0a1802bc..a5fad4c2 100644 --- a/src/Qui/Qui.pro +++ b/src/Qui/Qui.pro @@ -27,10 +27,19 @@ SOURCES += \ $$PWD/RemSection.C \ $$PWD/ReadInput.C \ + HEADERS += \ $$PWD/Actions.h \ + $$PWD/AdcTab.h \ + $$PWD/AimdTab.h \ + $$PWD/AttenuationParameterTab.h \ + $$PWD/AuxiliaryBasisTab.h \ + $$PWD/CisTab.h \ $$PWD/Conditions.h \ + $$PWD/EomTab.h \ $$PWD/ExternalChargesSection.h \ + $$PWD/FreezingStringTab.h \ + $$PWD/FrequenciesTab.h \ $$PWD/GeometryConstraint.h \ $$PWD/InputDialog.h \ $$PWD/KeywordSection.h \ @@ -44,17 +53,33 @@ HEADERS += \ $$PWD/OptionEditors.h \ $$PWD/OptSection.h \ $$PWD/PcmSection.h \ + $$PWD/PrimaryBasisTab.h \ + $$PWD/PropertiesTab.h \ $$PWD/QuiJob.h \ $$PWD/Qui.h \ $$PWD/QuiMolecule.h \ $$PWD/QtNode.h \ + $$PWD/ReactionPathTab.h \ $$PWD/Register.h \ $$PWD/RemSection.h \ + $$PWD/TransitionStateTab.h \ FORMS += \ + $$PWD/AdcTab.ui \ + $$PWD/AimdTab.ui \ + $$PWD/AttenuationParameterTab.ui \ + $$PWD/AuxiliaryBasisTab.ui \ + $$PWD/CisTab.ui \ + $$PWD/EomTab.ui \ + $$PWD/FreezingStringTab.ui \ + $$PWD/FrequenciesTab.ui \ $$PWD/GeometryConstraintDialog.ui \ $$PWD/OptionDatabaseForm.ui \ $$PWD/OptionListEditor.ui \ $$PWD/OptionNumberEditor.ui \ - $$PWD/QuiMainWindow.ui + $$PWD/PrimaryBasisTab.ui \ + $$PWD/PropertiesTab.ui \ + $$PWD/QuiMainWindow.ui \ + $$PWD/ReactionPathTab.ui \ + $$PWD/TransitionStateTab.ui \ diff --git a/src/Qui/QuiMainWindow.ui b/src/Qui/QuiMainWindow.ui index 7ddea877..ae4e1316 100644 --- a/src/Qui/QuiMainWindow.ui +++ b/src/Qui/QuiMainWindow.ui @@ -7,7 +7,7 @@ 0 0 982 - 645 + 854 @@ -447,7 +447,7 @@ QToolButton:checked { 0 0 523 - 577 + 526 @@ -457,1147 +457,18 @@ QToolButton:checked { true - 5 + 1 -1 - - - - 0 - 0 - 499 - 77 - - - - Auxiliary Basis - - - - - - - - RI Basis - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Qt::Vertical - - - - 20 - 9 - - - - - - - - - - 0 - 0 - 136 - 60 - - - - Primary Basis - - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Qt::Vertical - - - - 20 - 197 - - - - - - - - - - 0 - 0 - 160 - 60 - - - - Atenuation Parameter - - - - - - - - Omega - - - - - - - 3 - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Qt::Vertical - - - - 20 - 8 - - - - - - - - - - 0 - 0 - 165 - 60 - - - - Transition State - - - - - - - - Follow Mode - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Qt::Vertical - - - - 20 - 8 - - - - - - - - - - 0 - 0 - 100 - 30 - - - - Freezing String - - - - - 10 - 0 - 392 - 64 - - - - - - - Nodes - - - - - - - - - - Interpolation - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Gradient Steps - - - - - - - - - - Opt Method - - - - - - - - - - Qt::Vertical - - - - 20 - 13 - - - - - - - - - - - 0 - 0 - 499 - 200 - - - - CIS/TD-DFT - - - - - - - - Analyze Amplitudes - - - - - - - State To Optimize - - - - - - - Excited State Moments - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - XCIS - - - - - - - - - - Transition Moments - - - - - - - SF-XCIS - - - - - - - Number of Roots - - - - - - - RPA - - - - - - - Singlets - - - - - - - Spin Flip - - - - - - - State Mulliken Charges - - - - - - - Triplets - - - - - - - Analyze Relaxed Density - - - - - - - NTO Pairs - - - - - - - - - - - - Qt::Vertical - - - - 20 - 18 - - - - - - - - - - 0 - 0 - 383 - 162 - - - - EOM - - - - - - - - EE - - - - - - - SF - - - - - - - IP - - - - - - - EA - - - - - - - DIP - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - Singlets - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Triplets - - - - - - - - - - - - State to optimize - - - - - - - - 0 - 0 - - - - - 105 - 16777215 - - - - - 0 - 0 - - - - - - - - - - Excited State Properties - - - - - - - Transition Properties - - - - - - - 2 Electron Transition Properties - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - 0 - 0 - 379 - 211 - - - - ADC - - - - - - - - - - Singlet States - - - qui_adc_states1 - - - - - - - - - - Triplet States - - - qui_adc_states2 - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Core Orbitals - - - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - - Use DIIS - - - - - - - State-to-State Properties - - - - - - - Two-Photon Absorption - - - - - - - Excited State Properties - - - - - - - Spin-Orbit Coupling - - - - - - - Energy Corrections - - - - - - - Circular Dichroism - - - - - - - - - - - - - 0 - 0 - 447 - 163 - - - - Ab Initio MD - - - - - - - - Deuterate - - - - - - - - - - - - - a.u. - - - - - - - Electron Mass - - - - - - - Time Step - - - - - - - a.u. - - - 9999 - - - - - - - Initial Velocities - - - - - - - - - - K - - - 9999 - - - - - - - Method - - - - - - - Number of Steps - - - - - - - Temperature - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Qt::Vertical - - - - 20 - 112 - - - - - - - - - - 0 - 0 - 329 - 64 - - - - Reaction Path - - - - - - - - Direction - - - - - - - - - - Max Cycles - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - 0 - 0 - 410 - 146 - - - - Frequencies - - - - - - Raman Frequencies - - - - - - - Isotopic Analysis - - - - - - - Project Out Translational And Rotational Degrees Of Freedom - - - - - - - Compute Anharmonic Corrections - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 40 - 20 - - - - - - - - VCI Quanta - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Qt::Vertical - - - - 20 - 11 - - - - - - - - - - 0 - 0 - 195 - 83 - - - - Properties - - - - - - - - Property - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Save G[Px] Data - - - - - - - Qt::Vertical - - - - 20 - 15 - - - - - - 0 0 - 391 - 155 + 499 + 434 @@ -1742,8 +613,8 @@ QToolButton:checked { 0 0 - 334 - 89 + 499 + 434 @@ -1766,26 +637,6 @@ QToolButton:checked { - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 10 - 5 - - - - - - diff --git a/src/Qui/ReactionPathTab.h b/src/Qui/ReactionPathTab.h new file mode 100644 index 00000000..b0b642d5 --- /dev/null +++ b/src/Qui/ReactionPathTab.h @@ -0,0 +1,34 @@ +#ifndef QUI_REACTIONPATHTAB_H +#define QUI_REACTIONPATHTAB_H + +/*! + * \file ReactionPathTab.h + * + * \brief contains class definitions associated with the Reaction Path tab + * in the toolBoxOptions widget of the QUI. + * + * \author Andrew Gilbert + * \date May 2019 + */ + +#include "ui_ReactionPathTab.h" + + +namespace Qui { + +class ReactionPathTab : public QWidget { + + Q_OBJECT + + public: + ReactionPathTab(QWidget* parent) : QWidget(parent) { + m_ui.setupUi(this); + } + + // Public access for the logic to operate + Ui::ReactionPathTab m_ui; +}; + +} // end namespaces Qui + +#endif diff --git a/src/Qui/ReactionPathTab.ui b/src/Qui/ReactionPathTab.ui new file mode 100644 index 00000000..99db9e17 --- /dev/null +++ b/src/Qui/ReactionPathTab.ui @@ -0,0 +1,71 @@ + + + ReactionPathTab + + + + 0 + 0 + 363 + 89 + + + + Form + + + + + + + + Direction + + + + + + + + + + Max Cycles + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Qt::Vertical + + + + 20 + 21 + + + + + + + + + diff --git a/src/Qui/TransitionStateTab.h b/src/Qui/TransitionStateTab.h new file mode 100644 index 00000000..693c9c53 --- /dev/null +++ b/src/Qui/TransitionStateTab.h @@ -0,0 +1,34 @@ +#ifndef QUI_TRANSITIONSTATETAB_H +#define QUI_TRANSITIONSTATETAB_H + +/*! + * \file TransitionStateTab.h + * + * \brief contains class definitions associated with the Transition State + * in the toolBoxOptions widget of the QUI. + * + * \author Andrew Gilbert + * \date May 2019 + */ + +#include "ui_TransitionStateTab.h" + + +namespace Qui { + +class TransitionStateTab : public QWidget { + + Q_OBJECT + + public: + TransitionStateTab(QWidget* parent) : QWidget(parent) { + m_ui.setupUi(this); + } + + // Public access for the logic to operate + Ui::TransitionStateTab m_ui; +}; + +} // end namespaces Qui + +#endif diff --git a/src/Qui/TransitionStateTab.ui b/src/Qui/TransitionStateTab.ui new file mode 100644 index 00000000..878cc8c6 --- /dev/null +++ b/src/Qui/TransitionStateTab.ui @@ -0,0 +1,61 @@ + + + TransitionStateTab + + + + 0 + 0 + 298 + 74 + + + + Form + + + + + + + + Follow Mode + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Qt::Vertical + + + + 20 + 21 + + + + + + + + +