VR-Forces 4.1.1 Class Documentation
DtVrfConditionalDialogManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtVrfConditionalDialogManager.h,v $ $Revision: 1.1 $ $State: Exp $
7 ******************************************************************************/
8 
11 
13 
14 #pragma once
15 
18 
19 #include <vrvUtil/signalslib.h>
20 
21 #include <QtCore/QObject>
22 
23 namespace makVrv
24 {
25  class DtDe;
26  class DtSimEntry;
27 }
28 
29 class QWidget;
30 class DtSimCondExpr;
31 
32 namespace makVrf
33 {
34  class DtConditionalDialogInterface;
35  class DtVrfConditionalDialogCreator;
36  class DtVrfConditionalExpressionCreator;
37  class DtVrfConditionalDialogManager;
38  class DtVrfConditionalAction;
39  class DtConditionalExpressionInterface;
40 
42  {
43  Q_OBJECT
44 
45  public:
48 
49  virtual void connectDialogSignals(DtConditionalDialogInterface*);
50  virtual void disconnectDialogSignals(QObject*);
51 
52  virtual void connectExpressionSignals(DtConditionalExpressionInterface*);
53  virtual void disconnectExpressionSignals(QObject*);
54 
55  public:
57  boost::signal<void (DtConditionalDialogInterface*)> signal_dialogDestroyed;
58 
59  public:
61  boost::signal<void (DtConditionalExpressionInterface*)> signal_expressionDestroyed;
62 
63  protected slots:
64  virtual void onDialogDestroyed();
65  virtual void onExpressionDestroyed();
66 
67  protected:
69  };
70 
73  {
74  typedef std::map<std::string, DtVrfConditionalDialogCreator*> DtVrfConditionalDialogCreatorMap;
75  typedef std::map<std::string, DtVrfConditionalExpressionCreator*> DtVrfConditionalExpressionCreatorMap;
76 
77  public:
78  typedef std::pair<std::string, std::string> DtConditionalExpressionItem;
79  typedef std::vector<DtConditionalExpressionItem> DtConditionalExpressionsList;
80 
81  public:
84 
87 
89  static DtVrfConditionalDialogManager& instance(makVrv::DtDe& de);
90 
91  public:
95  virtual bool processDialogFor(const std::string& menuItemType, QWidget* parent,
96  const std::vector<makVrv::DtSimEntry*>& data, DtVrfConditionalAction* forAction);
97 
98  bool dialogInProgress() const
99  {
100  return myDialogInProgress;
101  }
102 
103  public:
106  virtual void addDialogCreator(const std::string& menuItemType, DtVrfConditionalDialogCreator*);
107 
109  virtual bool removeDialogCreator(const std::string& menuItemType);
110 
112  virtual bool hasDialogCreator(const std::string& menuItemType) const;
113 
115  virtual void removeAllDialogCreators();
116 
117  public:
121  virtual void addConditionalExpression(const std::string& menuItemType, DtVrfConditionalExpressionCreator*);
122  virtual void addConditionalExpressionAfter(const std::string& p, const std::string& after, DtVrfConditionalExpressionCreator* i);
123  virtual void addConditionalExpressionBefore(const std::string& p, const std::string& before, DtVrfConditionalExpressionCreator* i);
124 
126  virtual bool removeConditionalExpression(const std::string& menuItemType);
127 
129  virtual bool hasConditionalExpression(const std::string& menuItemType) const;
130 
132  virtual bool hasConditionalExpression(int type) const;
133 
135  virtual void removeAllConditionalExpressions();
136 
138  virtual int expressionDisplayOrder(const std::string&) const;
139 
142  virtual void setExpressionDisplayOrder(const std::string&, int);
143 
145  virtual DtConditionalExpressionsList getConditionalExpressionsList() const;
146 
148  virtual DtConditionalExpressionInterface* createExpression(const std::string& s, QWidget* parent);
149 
151  virtual DtConditionalExpressionInterface* createExpression(int type, QWidget* parent);
152 
154  virtual DtVrfConditionalExpressionCreator* expressionCreatorFor(const std::string& s) const;
155 
157  virtual DtVrfConditionalExpressionCreator* expressionCreatorFor(int type) const;
158 
160  virtual bool canEditType(int iType) const;
161 
163  virtual DtConditionalDialogInterface* createDialog(int iType, QWidget* parent);
164 
165  protected:
166  virtual void slot_onDialogDestroyed(DtConditionalDialogInterface*);
167  virtual void slot_onExpressionDestroyed(DtConditionalExpressionInterface*);
168 
169  protected:
172  virtual void prepDialog(DtConditionalDialogInterface*, const std::vector<makVrv::DtSimEntry*>& data,
173  DtVrfConditionalAction* forAction);
174 
175  virtual void addConditional(const std::string&, const std::string&, DtVrfConditionalExpressionCreator*, bool after = true);
176 
177  public:
179  boost::signal<void (DtConditionalDialogInterface*)> signal_dialogCreated;
180 
182  boost::signal<void (DtConditionalDialogInterface*)> signal_dialogDestroyed;
183 
184  public:
186  boost::signal<void (DtConditionalExpressionInterface*)> signal_expressionCreated;
187 
189  boost::signal<void (DtConditionalExpressionInterface*)> signal_expressionDestroyed;
190 
191  protected:
195  std::vector<std::string> myExpressionOrder;
198  };
199 }

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)