| [8df74d] | 1 | /*
 | 
|---|
 | 2 |  * Project: MoleCuilder
 | 
|---|
 | 3 |  * Description: creates and alters molecular systems
 | 
|---|
| [0aa122] | 4 |  * Copyright (C)  2010-2012 University of Bonn. All rights reserved.
 | 
|---|
| [8df74d] | 5 |  * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
 | 
|---|
 | 6 |  */
 | 
|---|
 | 7 | 
 | 
|---|
 | 8 | /*
 | 
|---|
 | 9 |  * StringsQtQuery.cpp
 | 
|---|
 | 10 |  *
 | 
|---|
 | 11 |  *  Created on: Oct 25, 2010
 | 
|---|
 | 12 |  *      Author: heber
 | 
|---|
 | 13 |  */
 | 
|---|
 | 14 | 
 | 
|---|
 | 15 | // include config.h
 | 
|---|
 | 16 | #ifdef HAVE_CONFIG_H
 | 
|---|
 | 17 | #include <config.h>
 | 
|---|
 | 18 | #endif
 | 
|---|
 | 19 | 
 | 
|---|
| [7b8a8e] | 20 | #include <Qt/qpushbutton.h>
 | 
|---|
| [8df74d] | 21 | #include <Qt/qboxlayout.h>
 | 
|---|
 | 22 | #include <Qt/qlistwidget.h>
 | 
|---|
 | 23 | 
 | 
|---|
| [ad011c] | 24 | #include "CodePatterns/MemDebug.hpp"
 | 
|---|
| [8df74d] | 25 | 
 | 
|---|
| [308aa4] | 26 | #include "UIElements/Qt4/Query/QtQuery.hpp"
 | 
|---|
| [7b8a8e] | 27 | #include "UIElements/Qt4/Query/QtQueryList.hpp"
 | 
|---|
| [8df74d] | 28 | 
 | 
|---|
 | 29 | 
 | 
|---|
| [7dfd07] | 30 | QtDialog::StringsQtQuery::StringsQtQuery(Parameter<std::vector<std::string> > &_param, std::string _title,QBoxLayout *_parent,Dialog *_dialog) :
 | 
|---|
| [b3a54d] | 31 |     Dialog::StringsQuery(_param, _title),
 | 
|---|
| [7b8a8e] | 32 |     QtQueryList<std::string>(_parent, _dialog, temp)
 | 
|---|
| [8df74d] | 33 | {
 | 
|---|
| [7b8a8e] | 34 |   ListQuerySubDialog *subDialog = new ListQuerySubDialog(this);
 | 
|---|
 | 35 |   subQuery = new StringQtQuery(*subParam, _title, thisVLayout, subDialog);
 | 
|---|
 | 36 |   subDialog->setSubQuery(subQuery);
 | 
|---|
| [8df74d] | 37 | 
 | 
|---|
| [7b8a8e] | 38 |   connect(inputList,SIGNAL(itemSelectionChanged()),this,SLOT(onElementSelected()));
 | 
|---|
 | 39 |   connect(addButton,SIGNAL(clicked()),this,SLOT(onAddElement()));
 | 
|---|
 | 40 |   connect(removeButton,SIGNAL(clicked()),this,SLOT(onRemoveElement()));
 | 
|---|
| [7dfd07] | 41 | }
 | 
|---|
| [8df74d] | 42 | 
 | 
|---|
 | 43 | QtDialog::StringsQtQuery::~StringsQtQuery()
 | 
|---|
 | 44 | {
 | 
|---|
| [7b8a8e] | 45 |   delete(subQuery);
 | 
|---|
 | 46 | }
 | 
|---|
 | 47 | 
 | 
|---|
 | 48 | void QtDialog::StringsQtQuery::onSubUpdate()
 | 
|---|
 | 49 | {
 | 
|---|
 | 50 |   addButton->setEnabled(subParam->isSet());
 | 
|---|
| [8df74d] | 51 | }
 | 
|---|
 | 52 | 
 | 
|---|
| [7b8a8e] | 53 | void QtDialog::StringsQtQuery::onElementSelected() {
 | 
|---|
 | 54 |   elementSelected();
 | 
|---|
 | 55 | }
 | 
|---|
 | 56 | 
 | 
|---|
 | 57 | void QtDialog::StringsQtQuery::onAddElement() {
 | 
|---|
 | 58 |   addElement();
 | 
|---|
 | 59 | }
 | 
|---|
 | 60 | 
 | 
|---|
 | 61 | void QtDialog::StringsQtQuery::onRemoveElement() {
 | 
|---|
 | 62 |   removeElements();
 | 
|---|
| [7c9921] | 63 | }
 | 
|---|
 | 64 | 
 | 
|---|
| [8df74d] | 65 | // All values besides the empty std::string are valid
 | 
|---|
 | 66 | bool QtDialog::StringsQtQuery::handle()
 | 
|---|
 | 67 | {
 | 
|---|
| [9d5531] | 68 |   if (param.isValid(temp)){
 | 
|---|
 | 69 |     param.set(temp);
 | 
|---|
 | 70 |     return true;
 | 
|---|
 | 71 |   }
 | 
|---|
 | 72 |   return false;
 | 
|---|
| [8df74d] | 73 | }
 | 
|---|
 | 74 | 
 | 
|---|