VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
conditionalExpressionView.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
15 #include <vrvCore/DtSimEntry.h>
16 #include <boost/signals2.hpp>
17 
18 #include <QWidget>
19 #include <QTreeWidget>
20 
21 class QComboBox;
22 class QVBoxLayout;
23 class QCheckBox;
24 class QPushButton;
25 class QTextEdit;
26 class QLabel;
27 class QLineEdit;
28 class QHBoxLayout;
29 class DtSimCondExpr;
30 class QGridLayout;
31 class QSpacerItem;
32 class QSplitter;
33 
34 namespace makVrv
35 {
36  class DtSimObjectEntry;
37  class DtDe;
38 }
39 
40 namespace makVrf
41 {
42  class DtConditionalExpressionViewItem;
43  class DtConditionalExpressionInterface;
44 
48  {
49  Q_OBJECT
50 
51  public:
52  //CTOR
53  DtConditionalExpressionView(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, bool partOfGlobalPlan = false);
54 
55  //DTOR
56  virtual ~DtConditionalExpressionView();
57 
58  virtual void setupGui(const std::vector<makVrv::DtSimEntry*>& data);
59 
61  virtual void enable();
62  virtual void disable();
63 
64  virtual void setupFromExpression(const DtSimCondExpr* expr, const std::vector<makVrv::DtSimEntry*>& data);
65 
67  virtual DtSimCondExpr* conditionalExpression();
68 
69  virtual QString statementDescription() const;
70  virtual void setStatementDescription(const QString&);
71 
73  virtual DtConditionalExpressionViewItem* addConditionalRow(QTreeWidgetItem* after = 0);
74 
76  virtual void removeRow(DtConditionalExpressionViewItem*);
77 
78  QTreeWidget* conditionalsTree() const { return myConditionalsTree; };
79  virtual void validateOk();
80 
81  boost::signals2::signal<void ()> signal_conditionComplete;
82  boost::signals2::signal<void ()> signal_conditionIncomplete;
83  boost::signals2::signal<void ()> signal_conditionCancelled;
84 
85  boost::signals2::signal<void ()> signal_enable;
86  boost::signals2::signal<void ()> signal_disable;
87 
88  protected slots:
89  virtual void onItemCollapsed(QTreeWidgetItem*);
90 
91  protected:
94  virtual void slot_onSimDataRemoved(makVrv::DtSimObjectEntry&);
95 
96  virtual void conditionsChanged();
97 
98  virtual void removeOnTick(DtConditionalExpressionViewItem*);
99 
100  virtual void showEvent(QShowEvent*);
101 
102  public:
103  QVBoxLayout* myMasterLayout;
105  QTextEdit* myConditionText;
108  QHBoxLayout* myDescriptionLayout;
110  QSplitter* mySplitter;
111 
112  protected:
114  std::vector<makVrv::DtSimEntry*> mySelectedData;
117  };
118 
121  {
122  Q_OBJECT
123 
124  public:
126  QTreeWidget* parent, bool, const std::vector<makVrv::DtSimEntry*>&);
128  QTreeWidgetItem*, bool, const std::vector<makVrv::DtSimEntry*>&);
129 
131 
133  virtual QComboBox* createConditionalComboBox(bool compoundOnly) const;
134 
136  virtual void setup(bool compoundOnly = false);
137 
139  virtual bool isComplete() const;
140 
142  virtual DtSimCondExpr* condition();
143 
145  virtual bool isNot() const;
146 
147  virtual void setCanRemove(bool);
148  virtual void setRemoveEnabled(bool);
149  virtual void setEditEnabled(bool);
150 
151  virtual void setupFromExpression(const DtSimCondExpr* expr);
152 
153  virtual void setItemParent(DtConditionalExpressionViewItem*);
154  virtual DtConditionalExpressionViewItem* itemParent() const;
155 
156  virtual void addButton(QPushButton*);
157  virtual void removeButton(QPushButton*);
158 
159  DtConditionalExpressionView* conditionalExpressionView() { return myParent; };
160 
161  boost::signals2::signal<void ()> signal_conditionChanged;
162  boost::signals2::signal<void (DtConditionalExpressionViewItem*)> signal_removeRow;
163 
164  public slots:
165  virtual void conditionalTypeChanged();
166 
167  protected:
168  virtual void slot_conditionComplete();
169  virtual void slot_conditionCancelled();
170  virtual bool setupExpressionForConditional(const std::string& conditional,
171  const DtSimCondExpr* expression);
172  virtual void resetToEmpty();
173 
174  protected slots:
175  virtual void editConditional();
176  virtual void onNotChanged();
177  virtual void removeRow();
178 
179  protected:
180  struct Conditional
181  {
185  QHBoxLayout* canvasLayout;
186  QGridLayout* controlsLayout;
188  QSpacerItem* editSpacer;
189 
190  QPushButton* remove;
191  QSpacerItem* removeSpacer;
192  };
193 
197  std::vector<makVrv::DtSimEntry*> mySelectedData;
206  };
207 
209  {
210  public:
213 
215  static void registerInstance(makVrv::DtDe&, DtConditionalExpressionViewItemCreator*);
216 
218  bool partOfGlobalPlan, const std::vector<makVrv::DtSimEntry*>&);
219 
220  protected:
222  };
223 }
DtSimCondExpr * myConditionalExpression
Definition: conditionalExpressionView.h:202
Definition: conditionalExpressionView.h:180
makVrv::DtDe & myDe
Definition: conditionalExpressionView.h:113
bool myPartOfGlobalPlan
Definition: conditionalExpressionView.h:196
QHBoxLayout * canvasLayout
Definition: conditionalExpressionView.h:185
Virtual base class.
Definition: DtVirtualBaseClass.h:19
DtConditionalExpressionView * myParent
Definition: conditionalExpressionView.h:201
QComboBox * notCombo
Definition: conditionalExpressionView.h:182
QTreeWidget * conditionalsTree() const
Definition: conditionalExpressionView.h:78
boost::signals2::signal< void()> signal_conditionIncomplete
Definition: conditionalExpressionView.h:82
boost::signals2::signal< void()> signal_conditionComplete
Definition: conditionalExpressionView.h:81
QGridLayout * controlsLayout
Definition: conditionalExpressionView.h:186
Definition: conditionalExpressionView.h:208
Definition: conditionalExpressionInterface.h:78
QWidget * conditionalCanvas
Definition: conditionalExpressionView.h:183
QWidget * myConditionalCanvas
Definition: conditionalExpressionView.h:109
QLabel * myShortDescriptionLabel
Definition: conditionalExpressionView.h:106
std::string myCurrentConditionalType
Definition: conditionalExpressionView.h:204
bool myCanRemove
Definition: conditionalExpressionView.h:205
QTextEdit * myConditionText
Definition: conditionalExpressionView.h:105
DtConditionalExpressionViewItem represents a single conditional expression.
Definition: conditionalExpressionView.h:120
boost::signals2::signal< void()> signal_enable
Definition: conditionalExpressionView.h:85
makVrv::DtDe & myDe
Definition: conditionalExpressionView.h:221
QVBoxLayout * myMasterLayout
Definition: conditionalExpressionView.h:103
QTreeWidget * myConditionalsTree
Definition: conditionalExpressionView.h:104
DtConditionalExpressionInterface * myExpression
Definition: conditionalExpressionView.h:198
QPushButton * edit
Definition: conditionalExpressionView.h:187
Contains makVrv::DtVirtualBaseClass class.
Contains makVrv::DtSimEntry class.
std::vector< makVrv::DtSimEntry * > mySelectedData
Definition: conditionalExpressionView.h:114
A DtSimObjectEntry is an entry for a persistent simulation object like an entity. ...
Definition: DtSimObjectEntry.h:22
DtSimCondExpr * myConditionalExpression
Definition: conditionalExpressionView.h:116
makVrv::DtDe & myDe
Definition: conditionalExpressionView.h:195
Conditional myConditional
Definition: conditionalExpressionView.h:194
std::vector< makVrv::DtSimEntry * > mySelectedData
Definition: conditionalExpressionView.h:197
QComboBox * conditionalCombo
Definition: conditionalExpressionView.h:184
DtConditionalExpressionInterface * myCurrentExpression
Definition: conditionalExpressionView.h:199
DtSimCondExpr is an abstract base class representing various Conditional Expressions used by the Plan...
Definition: simCondExpr.h:49
QHBoxLayout * myDescriptionLayout
Definition: conditionalExpressionView.h:108
QSpacerItem * editSpacer
Definition: conditionalExpressionView.h:188
boost::signals2::signal< void()> signal_disable
Definition: conditionalExpressionView.h:86
QSplitter * mySplitter
Definition: conditionalExpressionView.h:110
QLineEdit * myShortDescription
Definition: conditionalExpressionView.h:107
boost::signals2::signal< void(DtConditionalExpressionViewItem *)> signal_removeRow
Definition: conditionalExpressionView.h:162
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
int myCurrentExpressionIndex
Definition: conditionalExpressionView.h:200
DtConditionalExpressionViewItem * myItemParent
Definition: conditionalExpressionView.h:203
#define DT_DLL_VRFGUITASKSETQT
Definition: vrfGuiTaskSetQt.h:22
QSpacerItem * removeSpacer
Definition: conditionalExpressionView.h:191
DtConditionalExpressionView is the view that is used to create and modify conditional expressions...
Definition: conditionalExpressionView.h:47
boost::signals2::signal< void()> signal_conditionCancelled
Definition: conditionalExpressionView.h:83
bool myPartOfGlobalPlan
Definition: conditionalExpressionView.h:115

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)