VR-Forces 4.7 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 
17 #include <QWidget>
18 #include <QTreeWidget>
19 
20 class QComboBox;
21 class QVBoxLayout;
22 class QCheckBox;
23 class QPushButton;
24 class QTextEdit;
25 class QLabel;
26 class QLineEdit;
27 class QHBoxLayout;
28 class DtSimCondExpr;
29 class QGridLayout;
30 class QSpacerItem;
31 class QSplitter;
32 
33 namespace makVrv
34 {
35  class DtSimObjectEntry;
36  class DtDe;
37 }
38 
39 namespace makVrf
40 {
41  class DtConditionalExpressionViewItem;
42  class DtConditionalExpressionInterface;
43 
47  {
48  Q_OBJECT
49 
50  public:
51  //CTOR
52  DtConditionalExpressionView(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, bool partOfGlobalPlan = false);
53 
54  //DTOR
55  virtual ~DtConditionalExpressionView();
56 
57  virtual void setupGui(const std::vector<makVrv::DtSimEntry*>& data);
58 
60  virtual void enable();
61  virtual void disable();
62 
63  virtual void setupFromExpression(const DtSimCondExpr* expr, const std::vector<makVrv::DtSimEntry*>& data);
64 
66  virtual DtSimCondExpr* conditionalExpression();
67 
68  virtual QString statementDescription() const;
69  virtual void setStatementDescription(const QString&);
70 
72  virtual DtConditionalExpressionViewItem* addConditionalRow(QTreeWidgetItem* after = 0);
73 
75  virtual void removeRow(DtConditionalExpressionViewItem*);
76 
77  QTreeWidget* conditionalsTree() const { return myConditionalsTree; };
78  virtual void validateOk();
79 
80  boost::signal<void ()> signal_conditionComplete;
81  boost::signal<void ()> signal_conditionIncomplete;
82  boost::signal<void ()> signal_conditionCancelled;
83 
84  boost::signal<void ()> signal_enable;
85  boost::signal<void ()> signal_disable;
86 
87  protected slots:
88  virtual void onItemCollapsed(QTreeWidgetItem*);
89 
90  protected:
93  virtual void slot_onSimDataRemoved(makVrv::DtSimObjectEntry&);
94 
95  virtual void conditionsChanged();
96 
97  virtual void removeOnTick(DtConditionalExpressionViewItem*);
98 
99  virtual void showEvent(QShowEvent*);
100 
101  public:
102  QVBoxLayout* myMasterLayout;
104  QTextEdit* myConditionText;
107  QHBoxLayout* myDescriptionLayout;
109  QSplitter* mySplitter;
110 
111  protected:
113  std::vector<makVrv::DtSimEntry*> mySelectedData;
116  };
117 
120  {
121  Q_OBJECT
122 
123  public:
125  QTreeWidget* parent, bool, const std::vector<makVrv::DtSimEntry*>&);
127  QTreeWidgetItem*, bool, const std::vector<makVrv::DtSimEntry*>&);
128 
130 
132  virtual QComboBox* createConditionalComboBox(bool compoundOnly) const;
133 
135  virtual void setup(bool compoundOnly = false);
136 
138  virtual bool isComplete() const;
139 
141  virtual DtSimCondExpr* condition();
142 
144  virtual bool isNot() const;
145 
146  virtual void setCanRemove(bool);
147  virtual void setRemoveEnabled(bool);
148  virtual void setEditEnabled(bool);
149 
150  virtual void setupFromExpression(const DtSimCondExpr* expr);
151 
152  virtual void setItemParent(DtConditionalExpressionViewItem*);
153  virtual DtConditionalExpressionViewItem* itemParent() const;
154 
155  virtual void addButton(QPushButton*);
156  virtual void removeButton(QPushButton*);
157 
158  DtConditionalExpressionView* conditionalExpressionView() { return myParent; };
159 
160  boost::signal<void ()> signal_conditionChanged;
161  boost::signal<void (DtConditionalExpressionViewItem*)> signal_removeRow;
162 
163  public slots:
164  virtual void conditionalTypeChanged();
165 
166  protected:
167  virtual void slot_conditionComplete();
168  virtual void slot_conditionCancelled();
169  virtual bool setupExpressionForConditional(const std::string& conditional,
170  const DtSimCondExpr* expression);
171  virtual void resetToEmpty();
172 
173  protected slots:
174  virtual void editConditional();
175  virtual void onNotChanged();
176  virtual void removeRow();
177 
178  protected:
179  struct Conditional
180  {
184  QHBoxLayout* canvasLayout;
185  QGridLayout* controlsLayout;
187  QSpacerItem* editSpacer;
188 
189  QPushButton* remove;
190  QSpacerItem* removeSpacer;
191  };
192 
196  std::vector<makVrv::DtSimEntry*> mySelectedData;
205  };
206 
208  {
209  public:
212 
214  static void registerInstance(makVrv::DtDe&, DtConditionalExpressionViewItemCreator*);
215 
217  bool partOfGlobalPlan, const std::vector<makVrv::DtSimEntry*>&);
218 
219  protected:
221  };
222 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)