Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/UIElements/Dialog.cpp

    r5605032 r6d574a  
    66 */
    77
    8 #include <cassert>
    9 
    10 #include "UIElements/Dialog.hpp"
    11 
     8#include "Helpers/MemDebug.hpp"
     9
     10#include "Dialog.hpp"
     11
     12#include "atom.hpp"
     13#include "element.hpp"
     14#include "molecule.hpp"
    1215#include "vector.hpp"
    1316
     
    3639    retval &= (*iter)->handle();
    3740    // if any query fails (is canceled), we can end the handling process
    38     if(!retval)
     41    if(!retval) {
     42      DoeLog(1) && (eLog() << Verbose(1) << "The following query failed: " << (**iter).getTitle() << "." << endl);
    3943      break;
     44    }
    4045  }
    4146  if (retval){
     
    5156
    5257// Base class
    53 Dialog::Query::Query(string _title) :
    54     title(_title)
     58Dialog::Query::Query(string _title, string _description) :
     59    title(_title),
     60    description(_description)
    5561{}
    5662
     
    6167}
    6268
     69const std::string Dialog::Query::getDescription() const{
     70  return description;
     71}
     72// empty Queries
     73
     74Dialog::EmptyQuery::EmptyQuery(string title, std::string description) :
     75    Query(title, description)
     76{}
     77
     78Dialog::EmptyQuery::~EmptyQuery() {}
     79
     80void Dialog::EmptyQuery::setResult() {
     81}
     82
    6383// Int Queries
    6484
    65 Dialog::IntQuery::IntQuery(string title,int *_target) :
    66     Query(title), target(_target)
     85Dialog::IntQuery::IntQuery(string title,int *_target, std::string description) :
     86    Query(title, description), target(_target)
    6787{}
    6888
     
    7393}
    7494
     95// Int Queries
     96
     97Dialog::BooleanQuery::BooleanQuery(string title,bool *_target, std::string description) :
     98    Query(title, description), target(_target)
     99{}
     100
     101Dialog::BooleanQuery::~BooleanQuery() {}
     102
     103void Dialog::BooleanQuery::setResult() {
     104  *target = tmp;
     105}
     106
    75107// String Queries
    76108
    77 Dialog::StringQuery::StringQuery(string title,string *_target) :
    78     Query(title), target(_target)
     109Dialog::StringQuery::StringQuery(string title,string *_target, std::string _description) :
     110    Query(title, _description), target(_target)
    79111{}
    80112
     
    87119// Double Queries
    88120
    89 Dialog::DoubleQuery::DoubleQuery(string title,double *_target) :
    90     Query(title), target(_target)
     121Dialog::DoubleQuery::DoubleQuery(string title,double *_target, std::string _description) :
     122    Query(title, _description), target(_target)
    91123{}
    92124
     
    98130
    99131
     132// Atom Queries
     133
     134Dialog::AtomQuery::AtomQuery(string title, atom **_target, std::string _description) :
     135    Query(title, _description),
     136    tmp(0),
     137    target(_target)
     138
     139{}
     140
     141Dialog::AtomQuery::~AtomQuery() {}
     142
     143void Dialog::AtomQuery::setResult() {
     144  *target = tmp;
     145}
     146
    100147// Molecule Queries
    101148
    102 Dialog::MoleculeQuery::MoleculeQuery(string title, molecule **_target, MoleculeListClass *_molecules) :
    103     Query(title),
     149Dialog::MoleculeQuery::MoleculeQuery(string title, molecule **_target, std::string _description) :
     150    Query(title, _description),
    104151    tmp(0),
    105     molecules(_molecules),
    106152    target(_target)
    107153
     
    116162// Vector Queries
    117163
    118 Dialog::VectorQuery::VectorQuery(std::string title,Vector *_target,const double *const _cellSize,bool _check) :
    119   Query(title),
     164Dialog::VectorQuery::VectorQuery(std::string title,Vector *_target,const double *const _cellSize,bool _check, std::string _description) :
     165  Query(title, _description),
    120166  cellSize(_cellSize),
    121167  check(_check),
    122168  target(_target)
    123169{
    124 tmp = new Vector();
     170  tmp = new Vector();
    125171}
    126172
     
    134180}
    135181
     182// Box Queries
     183
     184Dialog::BoxQuery::BoxQuery(std::string title, double ** const _cellSize, std::string _description) :
     185  Query(title, _description),
     186  target(_cellSize)
     187{
     188    tmp = new double[6];
     189}
     190
     191Dialog::BoxQuery::~BoxQuery()
     192{
     193  delete[] tmp;
     194}
     195
     196void Dialog::BoxQuery::setResult() {
     197  for (int i=0;i<6;i++) {
     198    (*target)[i] = tmp[i];
     199  }
     200}
     201
    136202// Element Queries
    137 Dialog::ElementQuery::ElementQuery(std::string title, const element **_target) :
    138   Query(title),
    139   tmp(0),
     203Dialog::ElementQuery::ElementQuery(std::string title, std::vector<element *> *_target, std::string _description) :
     204  Query(title, _description),
    140205  target(_target)
    141206  {}
     
    144209
    145210void Dialog::ElementQuery::setResult(){
    146   *target=tmp;
    147 }
     211  *target=elements;
     212}
Note: See TracChangeset for help on using the changeset viewer.