SGSolve
sgrandomhandler.hpp
1 #ifndef SGRANDOMHNALDER_HPP
2 #define SGRANDOMHANDLER_HPP
3 
4 #include <QWidget>
5 #include <QMenuBar>
6 #include <QAction>
7 #include <QFormLayout>
8 #include <QLineEdit>
9 #include <QPushButton>
10 #include <QCheckBox>
11 #include <QDialog>
12 #include <QValidator>
13 #include "sgrisksharinghandler.hpp"
14 
15 class SGRandomHandler : public QDialog
16 {
17  Q_OBJECT;
18 
19 private:
20  int & numStates;
21  int & numActions;
22 
23 public:
25  SGRandomHandler(QWidget * parent,
26  int & _numStates,
27  int & _numActions):
28  QDialog(parent),
29  numStates(_numStates),
30  numActions(_numActions)
31  {
32  setWindowTitle(tr("SGViewer: Random game parameters"));
33  setWindowModality(Qt::WindowModal);
34 
35  QPushButton * okButton = new QPushButton(QString("OK"));
36  QPushButton * cancelButton = new QPushButton(QString("Cancel"));
37  connect(okButton,SIGNAL(clicked()),
38  this,SLOT(accept()));
39  connect(cancelButton,SIGNAL(clicked()),
40  this,SLOT(reject()));
41 
42  QVBoxLayout * mainLayout = new QVBoxLayout();
43 
44  QFormLayout * editLayout = new QFormLayout ();
45  // Construct and add the new parameters
46  SGIntAttrEdit * stateEdit = new SGIntAttrEdit(numStates);
47  QIntValidator * stateValidator = new QIntValidator();
48  stateValidator->setBottom(1);
49  stateEdit->setValidator(stateValidator);
50 
51  SGIntAttrEdit * actionEdit = new SGIntAttrEdit(numActions);
52  QIntValidator * actionValidator = new QIntValidator();
53  actionValidator->setBottom(1);
54  actionEdit->setValidator(actionValidator);
55 
56  editLayout->addRow(QString("Number of states:"),
57  stateEdit);
58  editLayout->addRow(QString("Number of Actions:"),
59  actionEdit);
60 
61  mainLayout->addLayout(editLayout);
62  QHBoxLayout * buttonLayout = new QHBoxLayout();
63  buttonLayout->addWidget(cancelButton);
64  buttonLayout->addWidget(okButton);
65  okButton->setDefault(true);
66  cancelButton->setDefault(false);
67 
68  mainLayout->addLayout(buttonLayout);
69 
70  setLayout(mainLayout);
71  }
73  virtual ~SGRandomHandler() {}
74 
75 };
76 
77 #endif
78 
79 
80 
81 
82 
83 
84 
85 
86 
87 
88 
89 
90 
91 
92 
93 
94 
95 
96 
97 
SGIntAttrEdit
A widget for editing integer attributes.
Definition: sgrisksharinghandler.hpp:40
SGRandomHandler::~SGRandomHandler
virtual ~SGRandomHandler()
Destructor.
Definition: sgrandomhandler.hpp:73
SGRandomHandler::SGRandomHandler
SGRandomHandler(QWidget *parent, int &_numStates, int &_numActions)
Constructor.
Definition: sgrandomhandler.hpp:25
SGRandomHandler
Definition: sgrandomhandler.hpp:16