VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfConditionalDialogManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
16 
17 #include <vrvUtil/signalslib.h>
18 
19 #include <QtCore/QObject>
20 
21 namespace makVrv
22 {
23  class DtDe;
24  class DtSimEntry;
25 }
26 
27 class QWidget;
28 class DtSimCondExpr;
29 class DtRwTriggersList;
30 
31 namespace makVrf
32 {
33  class DtConditionalDialogInterface;
34  class DtVrfConditionalDialogCreator;
35  class DtVrfConditionalExpressionCreator;
36  class DtVrfConditionalDialogManager;
37  class DtVrfConditionalAction;
38  class DtConditionalExpressionInterface;
39 
42  {
43  typedef std::map<std::string, DtVrfConditionalDialogCreator*> DtVrfConditionalDialogCreatorMap;
44  typedef std::map<std::string, DtVrfConditionalExpressionCreator*> DtVrfConditionalExpressionCreatorMap;
45 
46  public:
47  typedef std::pair<std::string, std::string> DtConditionalExpressionItem;
48  typedef std::vector<DtConditionalExpressionItem> DtConditionalExpressionsList;
49 
50  public:
53 
56 
58  static DtVrfConditionalDialogManager& instance(makVrv::DtDe& de);
59 
60  public:
64  virtual DtConditionalDialogInterface* processDialogFor(const std::string& menuItemType, QWidget* parent,
65  const std::vector<makVrv::DtSimEntry*>& data, DtVrfConditionalAction* forAction, bool partOfGlobalPlan = false,
66  DtRwTriggersList* triggers = 0);
67 
68  bool dialogInProgress() const
69  {
70  return myDialogInProgress;
71  }
72 
73  public:
76  virtual void addDialogCreator(const std::string& menuItemType, DtVrfConditionalDialogCreator*);
77 
79  virtual bool removeDialogCreator(const std::string& menuItemType);
80 
82  virtual bool hasDialogCreator(const std::string& menuItemType) const;
83 
85  virtual void removeAllDialogCreators();
86 
87  public:
91  virtual void addConditionalExpression(const std::string& menuItemType, DtVrfConditionalExpressionCreator*);
92  virtual void addConditionalExpressionAfter(const std::string& p, const std::string& after, DtVrfConditionalExpressionCreator* i);
93  virtual void addConditionalExpressionBefore(const std::string& p, const std::string& before, DtVrfConditionalExpressionCreator* i);
94 
96  virtual std::string conditionalStringType(int type) const;
97 
99  virtual bool removeConditionalExpression(const std::string& menuItemType);
100 
102  virtual bool hasConditionalExpression(const std::string& menuItemType) const;
103 
105  virtual bool hasConditionalExpression(int type) const;
106 
108  virtual void removeAllConditionalExpressions();
109 
111  virtual int expressionDisplayOrder(const std::string&) const;
112 
115  virtual void setExpressionDisplayOrder(const std::string&, int);
116 
118  virtual DtConditionalExpressionsList getConditionalExpressionsList(bool partOfGlobalPlan = false,
119  bool compoundOnly = false) const;
120 
122  virtual DtConditionalExpressionInterface* createExpression(const std::string& s, QWidget* parent);
123 
125  virtual DtConditionalExpressionInterface* createExpression(int type, QWidget* parent);
126 
128  virtual DtVrfConditionalExpressionCreator* expressionCreatorFor(const std::string& s) const;
129 
131  virtual DtVrfConditionalExpressionCreator* expressionCreatorFor(int type) const;
132 
134  virtual bool canEditType(int iType) const;
135 
137  virtual DtConditionalDialogInterface* createDialog(int iType, QWidget* parent, bool partOfGlobalPlan = false,
138  const std::vector<makVrv::DtSimEntry*>& data = std::vector<makVrv::DtSimEntry*>());
139 
140  protected:
141  virtual void slot_onDialogDestroyed(DtConditionalDialogInterface*);
142  virtual void slot_onExpressionDestroyed(DtConditionalExpressionInterface*);
143 
144  protected:
147  virtual void prepDialog(DtConditionalDialogInterface*, const std::vector<makVrv::DtSimEntry*>& data,
148  DtVrfConditionalAction* forAction, DtRwTriggersList* triggers);
149 
150  virtual void addConditional(const std::string&, const std::string&, DtVrfConditionalExpressionCreator*, bool after = true);
151 
152  protected:
156  std::vector<std::string> myExpressionOrder;
158  };
159 }
Class that is used as a template for task/set dialogs.
Definition: conditionalDialogInterface.h:39
Definition: vrfConditionalAction.h:25
Virtual base class.
Definition: DtVirtualBaseClass.h:19
Definition: conditionalDialogInterface.h:46
std::map< std::string, DtVrfConditionalExpressionCreator * > DtVrfConditionalExpressionCreatorMap
Definition: vrfConditionalDialogManager.h:44
makVrv::DtDe & myDe
Definition: vrfConditionalDialogManager.h:153
std::pair< std::string, std::string > DtConditionalExpressionItem
Definition: vrfConditionalDialogManager.h:47
Definition: conditionalExpressionInterface.h:78
Contains makVrv::DtVirtualBaseClass class.
bool dialogInProgress() const
Definition: vrfConditionalDialogManager.h:68
Class that is used as a template for task/set dialogs.
Definition: conditionalExpressionInterface.h:37
DtVrfConditionalExpressionCreatorMap myExpressionCreatorMap
Definition: vrfConditionalDialogManager.h:155
DtVrfConditionalDialogCreatorMap myDialogCreatorMap
Definition: vrfConditionalDialogManager.h:154
DtSimCondExpr is an abstract base class representing various Conditional Expressions used by the Plan...
Definition: simCondExpr.h:49
std::vector< DtConditionalExpressionItem > DtConditionalExpressionsList
Definition: vrfConditionalDialogManager.h:48
std::map< std::string, DtVrfConditionalDialogCreator * > DtVrfConditionalDialogCreatorMap
Definition: vrfConditionalDialogManager.h:43
The Master Scenario Settings Dialog.
Definition: vrfConditionalDialogManager.h:41
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
#define DT_DLL_VRFGUITASKSETQT
Definition: vrfGuiTaskSetQt.h:22
std::vector< std::string > myExpressionOrder
Definition: vrfConditionalDialogManager.h:156
bool myDialogInProgress
Definition: vrfConditionalDialogManager.h:157
Instances of DtRwTriggersList are lists of readable, writeable when statements (triggers) The list co...
Definition: rwTriggersList.h:21

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)