VR-Forces 4.6 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 
15 
16 #include <vrvUtil/signalslib.h>
17 
18 #include <QtCore/QObject>
19 
20 namespace makVrv
21 {
22  class DtDe;
23  class DtSimEntry;
24 }
25 
26 class QWidget;
27 class DtSimCondExpr;
28 class DtRwTriggersList;
29 
30 namespace makVrf
31 {
32  class DtConditionalDialogInterface;
33  class DtVrfConditionalDialogCreator;
34  class DtVrfConditionalExpressionCreator;
35  class DtVrfConditionalDialogManager;
36  class DtVrfConditionalAction;
37  class DtConditionalExpressionInterface;
38 
41  {
42  typedef std::map<std::string, DtVrfConditionalDialogCreator*> DtVrfConditionalDialogCreatorMap;
43  typedef std::map<std::string, DtVrfConditionalExpressionCreator*> DtVrfConditionalExpressionCreatorMap;
44 
45  public:
46  typedef std::pair<std::string, std::string> DtConditionalExpressionItem;
47  typedef std::vector<DtConditionalExpressionItem> DtConditionalExpressionsList;
48 
49  public:
52 
55 
57  static DtVrfConditionalDialogManager& instance(makVrv::DtDe& de);
58 
59  public:
63  virtual DtConditionalDialogInterface* processDialogFor(const std::string& menuItemType, QWidget* parent,
64  const std::vector<makVrv::DtSimEntry*>& data, DtVrfConditionalAction* forAction, bool partOfGlobalPlan = false,
65  DtRwTriggersList* triggers = 0);
66 
67  bool dialogInProgress() const
68  {
69  return myDialogInProgress;
70  }
71 
72  public:
75  virtual void addDialogCreator(const std::string& menuItemType, DtVrfConditionalDialogCreator*);
76 
78  virtual bool removeDialogCreator(const std::string& menuItemType);
79 
81  virtual bool hasDialogCreator(const std::string& menuItemType) const;
82 
84  virtual void removeAllDialogCreators();
85 
86  public:
90  virtual void addConditionalExpression(const std::string& menuItemType, DtVrfConditionalExpressionCreator*);
91  virtual void addConditionalExpressionAfter(const std::string& p, const std::string& after, DtVrfConditionalExpressionCreator* i);
92  virtual void addConditionalExpressionBefore(const std::string& p, const std::string& before, DtVrfConditionalExpressionCreator* i);
93 
95  virtual std::string conditionalStringType(int type) const;
96 
98  virtual bool removeConditionalExpression(const std::string& menuItemType);
99 
101  virtual bool hasConditionalExpression(const std::string& menuItemType) const;
102 
104  virtual bool hasConditionalExpression(int type) const;
105 
107  virtual void removeAllConditionalExpressions();
108 
110  virtual int expressionDisplayOrder(const std::string&) const;
111 
114  virtual void setExpressionDisplayOrder(const std::string&, int);
115 
117  virtual DtConditionalExpressionsList getConditionalExpressionsList(bool partOfGlobalPlan = false,
118  bool compoundOnly = false) const;
119 
121  virtual DtConditionalExpressionInterface* createExpression(const std::string& s, QWidget* parent);
122 
124  virtual DtConditionalExpressionInterface* createExpression(int type, QWidget* parent);
125 
127  virtual DtVrfConditionalExpressionCreator* expressionCreatorFor(const std::string& s) const;
128 
130  virtual DtVrfConditionalExpressionCreator* expressionCreatorFor(int type) const;
131 
133  virtual bool canEditType(int iType) const;
134 
136  virtual DtConditionalDialogInterface* createDialog(int iType, QWidget* parent, bool partOfGlobalPlan = false,
137  const std::vector<makVrv::DtSimEntry*>& data = std::vector<makVrv::DtSimEntry*>());
138 
139  protected:
140  virtual void slot_onDialogDestroyed(DtConditionalDialogInterface*);
141  virtual void slot_onExpressionDestroyed(DtConditionalExpressionInterface*);
142 
143  protected:
146  virtual void prepDialog(DtConditionalDialogInterface*, const std::vector<makVrv::DtSimEntry*>& data,
147  DtVrfConditionalAction* forAction, DtRwTriggersList* triggers);
148 
149  virtual void addConditional(const std::string&, const std::string&, DtVrfConditionalExpressionCreator*, bool after = true);
150 
151  public:
153  boost::signal<void (DtConditionalDialogInterface*)> signal_dialogCreated;
154 
156  boost::signal<void (DtConditionalDialogInterface*)> signal_dialogDestroyed;
157 
158  public:
160  boost::signal<void (DtConditionalExpressionInterface*)> signal_expressionCreated;
161 
163  boost::signal<void (DtConditionalExpressionInterface*)> signal_expressionDestroyed;
164 
165  protected:
169  std::vector<std::string> myExpressionOrder;
171  };
172 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)