VR-Forces 5.0.1 Developer's Guide
 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 <QtCore/QObject>
18 
19 namespace makVrv
20 {
21  class DtDe;
22  class DtSimEntry;
23 }
24 
25 class QWidget;
26 class DtSimCondExpr;
27 class DtRwTriggersList;
28 
29 namespace makVrf
30 {
31  class DtConditionalDialogInterface;
32  class DtVrfConditionalDialogCreator;
33  class DtVrfConditionalExpressionCreator;
34  class DtVrfConditionalDialogManager;
35  class DtVrfConditionalAction;
36  class DtConditionalExpressionInterface;
37 
43  {
44  typedef std::map<std::string, DtVrfConditionalDialogCreator*> DtVrfConditionalDialogCreatorMap;
45  typedef std::map<std::string, DtVrfConditionalExpressionCreator*> DtVrfConditionalExpressionCreatorMap;
46 
47  public:
48  typedef std::pair<std::string, std::string> DtConditionalExpressionItem;
49  typedef std::vector<DtConditionalExpressionItem> DtConditionalExpressionsList;
50 
51  public:
54 
57 
59  static DtVrfConditionalDialogManager& instance(makVrv::DtDe& de);
60 
61  public:
65  virtual DtConditionalDialogInterface* processDialogFor(const std::string& menuItemType, QWidget* parent,
66  const std::vector<makVrv::DtSimEntry*>& data, DtVrfConditionalAction* forAction, bool partOfGlobalPlan = false,
67  DtRwTriggersList* triggers = 0);
68 
69  public:
72  virtual void addDialogCreator(const std::string& menuItemType, DtVrfConditionalDialogCreator*);
73 
75  virtual bool removeDialogCreator(const std::string& menuItemType);
76 
78  virtual bool hasDialogCreator(const std::string& menuItemType) const;
79 
81  virtual void removeAllDialogCreators();
82 
83  public:
87  virtual void addConditionalExpression(const std::string& menuItemType, DtVrfConditionalExpressionCreator*);
88  virtual void addConditionalExpressionAfter(const std::string& p, const std::string& after, DtVrfConditionalExpressionCreator* i);
89  virtual void addConditionalExpressionBefore(const std::string& p, const std::string& before, DtVrfConditionalExpressionCreator* i);
90 
92  virtual std::string conditionalStringType(int type) const;
93 
95  virtual bool removeConditionalExpression(const std::string& menuItemType);
96 
98  virtual bool hasConditionalExpression(const std::string& menuItemType) const;
99 
101  virtual bool hasConditionalExpression(int type) const;
102 
104  virtual void removeAllConditionalExpressions();
105 
107  virtual int expressionDisplayOrder(const std::string&) const;
108 
111  virtual void setExpressionDisplayOrder(const std::string&, int);
112 
114  virtual DtConditionalExpressionsList getConditionalExpressionsList(bool partOfGlobalPlan = false,
115  bool validOnlyForSyncMatrix = false, bool compoundOnly = false) const;
116 
118  virtual DtConditionalExpressionInterface* createExpression(const std::string& s, QWidget* parent);
119 
121  virtual DtConditionalExpressionInterface* createExpression(int type, QWidget* parent);
122 
124  virtual DtVrfConditionalExpressionCreator* expressionCreatorFor(const std::string& s) const;
125 
127  virtual DtVrfConditionalExpressionCreator* expressionCreatorFor(int type) const;
128 
130  virtual bool canEditType(int iType) const;
131 
133  virtual DtConditionalDialogInterface* createDialog(int iType, QWidget* parent, bool partOfGlobalPlan = false,
134  const std::vector<makVrv::DtSimEntry*>& data = std::vector<makVrv::DtSimEntry*>());
135 
136  protected:
139  virtual void prepDialog(DtConditionalDialogInterface*, const std::vector<makVrv::DtSimEntry*>& data,
140  DtVrfConditionalAction* forAction, DtRwTriggersList* triggers);
141 
142  virtual void addConditional(const std::string&, const std::string&, DtVrfConditionalExpressionCreator*, bool after = true);
143 
144  protected:
148  std::vector<std::string> myExpressionOrder;
149  };
150 }
Class that is used as a template for task/set dialogs.
Definition: conditionalDialogInterface.h:38
Definition: vrfConditionalAction.h:25
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Definition: conditionalDialogInterface.h:45
std::map< std::string, DtVrfConditionalExpressionCreator * > DtVrfConditionalExpressionCreatorMap
Definition: vrfConditionalDialogManager.h:45
makVrv::DtDe & myDe
Definition: vrfConditionalDialogManager.h:145
std::pair< std::string, std::string > DtConditionalExpressionItem
Definition: vrfConditionalDialogManager.h:48
Definition: conditionalExpressionInterface.h:79
Contains makVrv::DtVirtualBaseClass class.
Class that is used as a template for task/set dialogs.
Definition: conditionalExpressionInterface.h:37
DtVrfConditionalExpressionCreatorMap myExpressionCreatorMap
Definition: vrfConditionalDialogManager.h:147
DtVrfConditionalDialogCreatorMap myDialogCreatorMap
Definition: vrfConditionalDialogManager.h:146
DtSimCondExpr is an abstract base class representing various Conditional Expressions used by the Plan...
Definition: simCondExpr.h:53
std::vector< DtConditionalExpressionItem > DtConditionalExpressionsList
Definition: vrfConditionalDialogManager.h:49
std::map< std::string, DtVrfConditionalDialogCreator * > DtVrfConditionalDialogCreatorMap
Definition: vrfConditionalDialogManager.h:44
The Master Scenario Settings Dialog.
Definition: vrfConditionalDialogManager.h:42
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
#define DT_DLL_VRFGUITASKSETQT
Definition: vrfGuiTaskSetQt.h:22
std::vector< std::string > myExpressionOrder
Definition: vrfConditionalDialogManager.h:148
Instances of DtRwTriggersList are lists of readable, writeable when statements (triggers) The list co...
Definition: rwTriggersList.h:21

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)