VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
resourceConditional.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrvUtil/signalslib.h>
14 
17 
18 #include <QtCore/QVariant>
19 
20 class QLabel;
21 class QLineEdit;
22 class QComboBox;
23 class QGridLayout;
24 class QCheckBox;
25 class QDoubleValidator;
26 class QIntValidator;
27 class DtRwProperties;
28 
29 namespace makVrf
30 {
33  {
34  public:
35  virtual DtConditionalExpressionInterface* create(makVrv::DtDe&, QWidget* parent);
36  virtual QString title() const ;
37  virtual bool canEditType(int) const;
38  virtual bool canBeIncludedInGlobalPlan() const { return false; };
39  };
40 
43  {
44  public:
46  virtual ~DtResourceConditionalLogic();
47 
48  public:
49  virtual void comboChanged(const QString&);
50 
51  protected:
53  virtual void addResourcesFromStateProperties(const DtRwProperties& stateProperties, const DtRwProperties& baseProperties);
54  virtual void addResourceIfPresent(const DtString& propertyName, const QString& displayName,
55  const DtRwProperties& stateProperties, const DtRwProperties& baseProperties);
56 
57  virtual void createConditional(DtConditionalExpressionView* parentView,
58  const std::vector<makVrv::DtSimEntry*>& data);
59  virtual bool isComplete() const;
60  virtual DtSimCondExpr* conditionalExpression() const;
61  virtual void setupConditional(const DtSimCondExpr*, const std::vector<makVrv::DtSimEntry*>& data);
62 
63  virtual void setupGui(DtConditionalExpressionView*, DtConditionalExpressionViewItem*, const std::vector<makVrv::DtSimEntry*>& data);
64  virtual void addResource(const DtResource& resource);
65  virtual void resourceUpdated(const DtResource&);
66 
67  virtual QString resourceName() const;
68  virtual bool setResourceName(const QString&);
69 
70  virtual QString resourceOperator() const;
71  virtual void setResourceOperator(const QString&);
72 
73  virtual bool isPercent() const;
74  virtual void setIsPercent(bool);
75 
77  virtual makVrv::DtDe& de();
78 
79  protected:
80  virtual void resourcesChanged();
81  virtual void resourceCheckingDisabled();
82  virtual void resourceCheckComplete();
83 
84  protected:
85  QString mySelectedName;
86  };
87 
89  {
90  Q_OBJECT
91 
92  public:
93  //CTOR
94  DtResourceConditional(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
95 
96  //DtResource
97  virtual ~DtResourceConditional();
98 
99  public:
100  virtual int resourceCount() const;
101 
102  virtual void addItem(const QString&, const QVariant& = QVariant());
103  virtual void disable(const QString& reason);
104  virtual void enable();
105  virtual void setSelectedIndex(int);
106  virtual QString selectedText() const;
107  virtual void clear();
108  virtual void setRealResource(const QString& full, const QString& current);
109  virtual void setIntegerResource(const QString& full, const QString& current);
110 
111  virtual QString resourceName() const;
112  virtual bool setResourceName(const QString&);
113 
114  virtual QString resourceOperator() const;
115  virtual void setResourceOperator(const QString&);
116 
117  virtual bool isPercent() const;
118  virtual void setIsPercent(bool);
119 
120  protected:
121  virtual QWidget* contents();
122  virtual QString value() const;
123 
124  virtual void setValue(const QString&);
125 
126  virtual void setupConditional(const DtSimCondExpr*, const std::vector<makVrv::DtSimEntry*>& data);
127 
128  protected slots:
129  virtual void onComboChanged(const QString&);
130 
131  public:
132  QWidget* myCanvas;
133  QGridLayout* myLayout;
134 
139 
141 
145  QDoubleValidator* myDoubleValidator;
146  QIntValidator* myIntValidator;
147  };
148 }

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)