VR-Forces 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 #include <set>
20 #include <vrvCore/DtUniqueID.h>
21 
22 namespace makVrv
23 {
24  class DtDe;
25  ;
26 }
27 
28 class QWidget;
29 class DtSimCondExpr;
30 class DtRwTriggersList;
31 
32 namespace makVrf
33 {
34  class DtConditionalDialogInterface;
35  class DtVrfConditionalDialogCreator;
36  class DtVrfConditionalExpressionCreator;
37  class DtVrfConditionalDialogManager;
38  class DtVrfConditionalAction;
39  class DtConditionalExpressionInterface;
40 
45  {
46  typedef std::map<std::string, DtVrfConditionalDialogCreator*> DtVrfConditionalDialogCreatorMap;
47  typedef std::map<std::string, DtVrfConditionalExpressionCreator*> DtVrfConditionalExpressionCreatorMap;
48 
49  public:
50  typedef std::pair<std::string, std::string> DtConditionalExpressionItem;
51  typedef std::vector<DtConditionalExpressionItem> DtConditionalExpressionsList;
52 
53  public:
56 
58  virtual ~DtVrfConditionalDialogManager() override;
59 
61  static DtVrfConditionalDialogManager& instance(makVrv::DtDe& de);
62 
63  public:
67  virtual DtConditionalDialogInterface* processDialogFor(const std::string& menuItemType, QWidget* parent,
68  const std::set<makVrv::DtUniqueID>& data, DtVrfConditionalAction* forAction, bool partOfGlobalPlan = false,
69  DtRwTriggersList* triggers = 0);
70 
71  public:
74  virtual void addDialogCreator(const std::string& menuItemType, DtVrfConditionalDialogCreator*);
75 
77  virtual bool removeDialogCreator(const std::string& menuItemType);
78 
80  virtual bool hasDialogCreator(const std::string& menuItemType) const;
81 
83  virtual void removeAllDialogCreators();
84 
85  public:
89  virtual void addConditionalExpression(const std::string& menuItemType, DtVrfConditionalExpressionCreator*);
90  virtual void addConditionalExpressionAfter(const std::string& p, const std::string& after, DtVrfConditionalExpressionCreator* i);
91  virtual void addConditionalExpressionBefore(const std::string& p, const std::string& before, DtVrfConditionalExpressionCreator* i);
92 
94  virtual std::string conditionalStringType(int type) const;
95 
97  virtual bool removeConditionalExpression(const std::string& menuItemType);
98 
100  virtual bool hasConditionalExpression(const std::string& menuItemType) const;
101 
103  virtual bool hasConditionalExpression(int type) const;
104 
106  virtual void removeAllConditionalExpressions();
107 
109  virtual int expressionDisplayOrder(const std::string&) const;
110 
113  virtual void setExpressionDisplayOrder(const std::string&, int);
114 
116  virtual DtConditionalExpressionsList getConditionalExpressionsList(bool partOfGlobalPlan = false,
117  bool validOnlyForSyncMatrix = false, bool compoundOnly = false) const;
118 
120  virtual DtConditionalExpressionInterface* createExpression(const std::string& s, QWidget* parent);
121 
123  virtual DtConditionalExpressionInterface* createExpression(int type, QWidget* parent);
124 
126  virtual DtVrfConditionalExpressionCreator* expressionCreatorFor(const std::string& s) const;
127 
129  virtual DtVrfConditionalExpressionCreator* expressionCreatorFor(int type) const;
130 
132  virtual bool canEditType(int iType) const;
133 
135  virtual DtConditionalDialogInterface* createDialog(int iType, QWidget* parent, bool partOfGlobalPlan = false,
136  const std::set<makVrv::DtUniqueID>& data = std::set<makVrv::DtUniqueID>());
137 
138  protected:
141  virtual void prepDialog(DtConditionalDialogInterface*, const std::set<makVrv::DtUniqueID>& data,
142  DtVrfConditionalAction* forAction, DtRwTriggersList* triggers);
143 
144  virtual void addConditional(const std::string&, const std::string&, DtVrfConditionalExpressionCreator*, bool after = true);
145 
146  protected:
150  std::vector<std::string> myExpressionOrder;
151  };
152 }
Class that is used as a template for task/set dialogs.
Definition: conditionalDialogInterface.h:40
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:47
std::map< std::string, DtVrfConditionalExpressionCreator * > DtVrfConditionalExpressionCreatorMap
Definition: vrfConditionalDialogManager.h:47
makVrv::DtDe & myDe
Definition: vrfConditionalDialogManager.h:147
std::pair< std::string, std::string > DtConditionalExpressionItem
Definition: vrfConditionalDialogManager.h:50
Definition: conditionalExpressionInterface.h:87
Contains makVrv::DtVirtualBaseClass class.
Class that is used as a template for task/set dialogs.
Definition: conditionalExpressionInterface.h:39
DtVrfConditionalExpressionCreatorMap myExpressionCreatorMap
Definition: vrfConditionalDialogManager.h:149
DtVrfConditionalDialogCreatorMap myDialogCreatorMap
Definition: vrfConditionalDialogManager.h:148
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:51
std::map< std::string, DtVrfConditionalDialogCreator * > DtVrfConditionalDialogCreatorMap
Definition: vrfConditionalDialogManager.h:46
Contains makVrv::DtUniqueID type.
Definition: vrfConditionalDialogManager.h:44
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:76
#define DT_DLL_VRFGUITASKSETQT
Definition: vrfGuiTaskSetQt.h:22
std::vector< std::string > myExpressionOrder
Definition: vrfConditionalDialogManager.h:150
Instances of DtRwTriggersList are lists of readable, writeable when statements (triggers) The list co...
Definition: rwTriggersList.h:21

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)