VR-Forces 4.1 Class Documentation
DtConditionalMenu.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2009 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrvUtil/signalslib.h>
16 
18 
19 #include <QtGui/QMenu>
20 
21 class QEvent;
22 class DtSimStatement;
23 
24 namespace makVrf
25 {
26  class DtVrfConditionalExpressionCreator;
27  class DtVrfConditionalAction;
28 
30  {
31  public:
32  DtVrfConditionalMenu(makVrv::DtDe& de, const QString& title, QWidget* parent);
33 
34  virtual ~DtVrfConditionalMenu();
35 
36  boost::signal<void (const DtSimStatement&)> signal_addConditional;
37 
38  void setEntitySet(const makVrv::DtSelectionManager::IdSet& i)
39  {
40  myEntitySet = i;
41  }
42 
43  const makVrv::DtSelectionManager::IdSet& entitySet() const
44  {
45  return myEntitySet;
46  }
47 
48  protected:
49  virtual void slot_onConditionComplete(const DtSimStatement&);
50 
51  protected:
52  virtual bool eventFilter(QObject *, QEvent *);
53  virtual void actionAdded(QEvent*);
54  virtual bool shouldAddAsPartOfMenu(const QList<QAction*>& acts, QAction* toMatch) const;
55 
56  protected:
58  std::vector<DtVrfConditionalAction*> myDisconnectFrom;
60  };
61 
63  {
64  public:
65 
68 
70  virtual ~DtConditionalMenu();
71 
73  virtual QMenu* createMenu(makVrv::DtDe&, QWidget* parent);
74 
75  static DtConditionalMenu& instance(makVrv::DtDe&);
76 
80  static DtConditionalMenu* menuInstance(makVrv::DtDe&);
81 
82  virtual DtConditionalMenu* newInstance();
83 
84  public:
86  virtual void addCondition(const std::string& p, DtVrfConditionalExpressionCreator* i);
87  virtual void addConditionAfter(const std::string& p, const std::string& after, DtVrfConditionalExpressionCreator* i);
88  virtual void addConditionBefore(const std::string& p, const std::string& before, DtVrfConditionalExpressionCreator* i);
89  virtual void removeCondition(const std::string& r);
90 
91  public:
93  virtual DtSubMenuConfiguration& menuConfiguration();
94 
96  virtual DtConfigurableMenuAssembler& menuAssembler();
97 
98  protected:
100  virtual void createMenuConfiguration(makVrv::DtDe& de);
101 
102  protected:
106  };
107 }

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)