source: molecuilder/src/UIElements/CommandLineDialog.hpp@ 07d2cd

Last change on this file since 07d2cd was 83afe0, checked in by Frederik Heber <heber@…>, 15 years ago

Extended UIFactory to a CommandLine derivate.

Signed-off-by: Frederik Heber <heber@…>

  • Property mode set to 100644
File size: 2.1 KB
Line 
1/*
2 * CommandLineDialog.hpp
3 *
4 * Created on: May 8, 2010
5 * Author: heber
6 */
7
8#ifndef COMMANDLINEDIALOG_HPP_
9#define COMMANDLINEDIALOG_HPP_
10
11#include <string>
12
13#include "UIElements/Dialog.hpp"
14
15/** CommandLineUIFactory implementation of the Dialog.
16 * The idea here is that for each query the parsed command line options are used instead.
17 */
18class CommandLineDialog : public Dialog
19{
20public:
21 CommandLineDialog();
22 virtual ~CommandLineDialog();
23
24 virtual void queryInt(const char *, int *);
25 virtual void queryString(const char*, std::string *);
26 virtual void queryDouble(const char*, double*);
27 virtual void queryMolecule(const char*,molecule**,MoleculeListClass*);
28 virtual void queryVector(const char*,Vector *,const double * const,bool);
29 virtual void queryElement(const char*,const element **);
30
31protected:
32 // specialized stuff for text queries
33 class IntTextQuery : public Dialog::IntQuery {
34 public:
35 IntTextQuery(std::string title, int *_target);
36 virtual ~IntTextQuery();
37 virtual bool handle();
38 };
39
40 class DoubleTextQuery : public Dialog::DoubleQuery {
41 public:
42 DoubleTextQuery(std::string title, double *_target);
43 virtual ~DoubleTextQuery();
44 virtual bool handle();
45 };
46
47 class StringTextQuery : public Dialog::StringQuery {
48 public:
49 StringTextQuery(std::string title, std::string *_target);
50 virtual ~StringTextQuery();
51 virtual bool handle();
52 };
53
54 class MoleculeTextQuery : public Dialog::MoleculeQuery {
55 public:
56 MoleculeTextQuery(std::string title, molecule **_target, MoleculeListClass *_molecules);
57 virtual ~MoleculeTextQuery();
58 virtual bool handle();
59 };
60
61 class VectorTextQuery : public Dialog::VectorQuery {
62 public:
63 VectorTextQuery(std::string title,Vector *_target,const double *const _cellSize,bool _check);
64 virtual ~VectorTextQuery();
65 virtual bool handle();
66 };
67
68 class ElementTextQuery : public Dialog::ElementQuery {
69 public:
70 ElementTextQuery(std::string title, const element **_target);
71 virtual ~ElementTextQuery();
72 virtual bool handle();
73 };
74};
75
76#endif /* COMMANDLINEDIALOG_HPP_ */
Note: See TracBrowser for help on using the repository browser.