VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 
29 namespace makVrf
30 {
31  class DtConditionalDialogInterface;
32  class DtVrfConditionalDialogCreator;
33  class DtVrfConditionalExpressionCreator;
34  class DtVrfConditionalDialogManager;
35  class DtVrfConditionalAction;
36  class DtConditionalExpressionInterface;
37 
40  {
41  typedef std::map<std::string, DtVrfConditionalDialogCreator*> DtVrfConditionalDialogCreatorMap;
42  typedef std::map<std::string, DtVrfConditionalExpressionCreator*> DtVrfConditionalExpressionCreatorMap;
43 
44  public:
45  typedef std::pair<std::string, std::string> DtConditionalExpressionItem;
46  typedef std::vector<DtConditionalExpressionItem> DtConditionalExpressionsList;
47 
48  public:
51 
54 
56  static DtVrfConditionalDialogManager& instance(makVrv::DtDe& de);
57 
58  public:
62  virtual bool processDialogFor(const std::string& menuItemType, QWidget* parent,
63  const std::vector<makVrv::DtSimEntry*>& data, DtVrfConditionalAction* forAction);
64 
65  bool dialogInProgress() const
66  {
67  return myDialogInProgress;
68  }
69 
70  public:
73  virtual void addDialogCreator(const std::string& menuItemType, DtVrfConditionalDialogCreator*);
74 
76  virtual bool removeDialogCreator(const std::string& menuItemType);
77 
79  virtual bool hasDialogCreator(const std::string& menuItemType) const;
80 
82  virtual void removeAllDialogCreators();
83 
84  public:
88  virtual void addConditionalExpression(const std::string& menuItemType, DtVrfConditionalExpressionCreator*);
89  virtual void addConditionalExpressionAfter(const std::string& p, const std::string& after, DtVrfConditionalExpressionCreator* i);
90  virtual void addConditionalExpressionBefore(const std::string& p, const std::string& before, DtVrfConditionalExpressionCreator* i);
91 
93  virtual bool removeConditionalExpression(const std::string& menuItemType);
94 
96  virtual bool hasConditionalExpression(const std::string& menuItemType) const;
97 
99  virtual bool hasConditionalExpression(int type) const;
100 
102  virtual void removeAllConditionalExpressions();
103 
105  virtual int expressionDisplayOrder(const std::string&) const;
106 
109  virtual void setExpressionDisplayOrder(const std::string&, int);
110 
112  virtual DtConditionalExpressionsList getConditionalExpressionsList() const;
113 
115  virtual DtConditionalExpressionInterface* createExpression(const std::string& s, QWidget* parent);
116 
118  virtual DtConditionalExpressionInterface* createExpression(int type, QWidget* parent);
119 
121  virtual DtVrfConditionalExpressionCreator* expressionCreatorFor(const std::string& s) const;
122 
124  virtual DtVrfConditionalExpressionCreator* expressionCreatorFor(int type) const;
125 
127  virtual bool canEditType(int iType) const;
128 
130  virtual DtConditionalDialogInterface* createDialog(int iType, QWidget* parent);
131 
132  protected:
133  virtual void slot_onDialogDestroyed(DtConditionalDialogInterface*);
134  virtual void slot_onExpressionDestroyed(DtConditionalExpressionInterface*);
135 
136  protected:
139  virtual void prepDialog(DtConditionalDialogInterface*, const std::vector<makVrv::DtSimEntry*>& data,
140  DtVrfConditionalAction* forAction);
141 
142  virtual void addConditional(const std::string&, const std::string&, DtVrfConditionalExpressionCreator*, bool after = true);
143 
144  public:
146  boost::signal<void (DtConditionalDialogInterface*)> signal_dialogCreated;
147 
149  boost::signal<void (DtConditionalDialogInterface*)> signal_dialogDestroyed;
150 
151  public:
153  boost::signal<void (DtConditionalExpressionInterface*)> signal_expressionCreated;
154 
156  boost::signal<void (DtConditionalExpressionInterface*)> signal_expressionDestroyed;
157 
158  protected:
162  std::vector<std::string> myExpressionOrder;
164  };
165 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)