Changeset 324403 for src/UIElements/Qt4


Ignore:
Timestamp:
Jul 24, 2012, 3:20:17 PM (12 years ago)
Author:
Michael Ankele <ankele@…>
Branches:
Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
Children:
26ac2d
Parents:
572701
git-author:
Michael Ankele <ankele@…> (07/24/12 14:15:55)
git-committer:
Michael Ankele <ankele@…> (07/24/12 15:20:17)
Message:

QtQueryList applied to FilesQtQuery

Location:
src/UIElements/Qt4/Query
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/UIElements/Qt4/Query/FilesQtQuery.cpp

    r572701 r324403  
    1818#endif
    1919
     20#include <Qt/qpushbutton.h>
    2021#include <Qt/qboxlayout.h>
    21 #include <Qt/qlabel.h>
    22 #include <Qt/qlineedit.h>
    2322#include <Qt/qlistwidget.h>
    24 #include <Qt/qpushbutton.h>
    2523
    2624#include "CodePatterns/MemDebug.hpp"
    2725
    28 #include <boost/filesystem/path.hpp>
    2926
    3027#include "UIElements/Qt4/Query/QtQuery.hpp"
     28#include "UIElements/Qt4/Query/QtQueryList.hpp"
    3129#include "UIElements/Qt4/Pipe/QtQueryListPipe.hpp"
    3230
    3331
    34 QtDialog::FilesQtQuery::FilesQtQuery(Parameter<std::vector< boost::filesystem::path> > &param, std::string _title, QBoxLayout *_parent, Dialog *_dialog) :
    35     Dialog::FilesQuery(param, _title),
    36     parent(_parent),
    37     dialog(_dialog)
     32QtDialog::FilesQtQuery::FilesQtQuery(Parameter<std::vector<boost::filesystem::path> > &_param, std::string _title,QBoxLayout *_parent,Dialog *_dialog) :
     33    Dialog::FilesQuery(_param, _title),
     34    QtQueryList<boost::filesystem::path>(_parent, _dialog, temp)
    3835{
    39   QHBoxLayout * thisHLayout = new QHBoxLayout();
    40   QVBoxLayout * thisV1Layout = new QVBoxLayout();
    41   QVBoxLayout * thisV2Layout = new QVBoxLayout();
     36  ListQuerySubDialog *subDialog = new ListQuerySubDialog(this);
     37  subQuery = new FileQtQuery(*subParam, _title, thisVLayout, subDialog);
     38  subDialog->setSubQuery(subQuery);
    4239
    43   QLabel *titleLabel = new QLabel(QString(getTitle().c_str()));
    44   QLabel *inputLabel = new QLabel("Enter to add");
    45   QListWidget* inputList = new QListWidget();
    46   inputList->setSelectionMode(QAbstractItemView::ExtendedSelection);
    47   QLineEdit* inputBox = new QLineEdit();
    48   inputLabel->setBuddy(inputBox);
    49   titleLabel->setBuddy(inputList);
    50   QPushButton* AddButton = new QPushButton("Add");
    51   AddButton->setEnabled(false);
    52   QPushButton* RemoveButton = new QPushButton("Remove");
    53   RemoveButton->setEnabled(false);
    54 
    55   thisV1Layout->addWidget(titleLabel);
    56   thisV1Layout->addWidget(inputList);
    57   thisV2Layout->addWidget(inputLabel);
    58   thisV2Layout->addWidget(inputBox);
    59   thisV2Layout->addWidget(AddButton);
    60   thisV2Layout->addWidget(RemoveButton);
    61   parent->addLayout(thisHLayout);
    62   thisHLayout->addLayout(thisV1Layout);
    63   thisHLayout->addLayout(thisV2Layout);
    64 
    65   /*pipe = new QtQueryListPipe<boost::filesystem::path>(temp,_dialog,inputBox,inputList,AddButton,RemoveButton);
    66   connect(inputBox,SIGNAL(textChanged(const QString&)),pipe,SLOT(IntegerEntered(const QString&)));
    67   connect(inputList,SIGNAL(itemSelectionChanged()),pipe,SLOT(IntegerSelected()));
    68   connect(AddButton,SIGNAL(Clicked()),pipe,SLOT(AddValue()));
    69   connect(RemoveButton,SIGNAL(Clicked()),pipe,SLOT(RemoveRow()));*/
     40  connect(inputList,SIGNAL(itemSelectionChanged()),this,SLOT(onElementSelected()));
     41  connect(addButton,SIGNAL(clicked()),this,SLOT(onAddElement()));
     42  connect(removeButton,SIGNAL(clicked()),this,SLOT(onRemoveElement()));
    7043}
    7144
    7245QtDialog::FilesQtQuery::~FilesQtQuery()
    7346{
     47  delete(subQuery);
    7448}
    7549
    76 void QtDialog::FilesQtQuery::onUpdate() {
    77   dialog->update();
     50void QtDialog::FilesQtQuery::onSubUpdate()
     51{
     52  addButton->setEnabled(subParam->isSet());
    7853}
    7954
    80 bool QtDialog::FilesQtQuery::handle(){
     55void QtDialog::FilesQtQuery::onElementSelected() {
     56  elementSelected();
     57}
     58
     59void QtDialog::FilesQtQuery::onAddElement() {
     60  addElement();
     61}
     62
     63void QtDialog::FilesQtQuery::onRemoveElement() {
     64  removeElements();
     65}
     66
     67bool QtDialog::FilesQtQuery::handle()
     68{
    8169  if (param.isValid(temp)){
    8270    param.set(temp);
    8371    return true;
    8472  }
    85   return true;
     73  return false;
    8674}
    8775
     76
  • src/UIElements/Qt4/Query/QtQuery.hpp

    r572701 r324403  
    213213};
    214214
    215 class QtDialog::FilesQtQuery : public QWidget, public Dialog::FilesQuery {
    216   Q_OBJECT
    217 public:
    218   FilesQtQuery(Parameter<std::vector< boost::filesystem::path> > &, std::string _title, QBoxLayout *_parent, Dialog *_dialog);
     215class QtDialog::FilesQtQuery : public QWidget, public Dialog::FilesQuery, public QtQueryList<boost::filesystem::path> {
     216  Q_OBJECT
     217public:
     218  FilesQtQuery(Parameter<std::vector<boost::filesystem::path> > &, std::string _title, QBoxLayout *_parent,Dialog *_dialog);
    219219  virtual ~FilesQtQuery();
    220220  virtual bool handle();
    221   void IntegerEntered(const QString&);
    222   void IntegerSelected();
    223   void AddInteger();
    224   void RemoveInteger();
    225 
    226 public slots:
    227   void onUpdate();
    228 
    229 private:
    230   QBoxLayout *parent;
    231   QBoxLayout *thisLayout;
    232   QLabel *titleLabel;
    233   Dialog *dialog;
     221
     222  virtual void onSubUpdate();
     223
     224public slots:
     225  void onAddElement();
     226  void onRemoveElement();
     227  void onElementSelected();
     228
     229private:
     230  FileQtQuery *subQuery;
    234231};
    235232
Note: See TracChangeset for help on using the changeset viewer.