VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
conditionalMenu.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  virtual void setPartOfGlobalPlan(bool);
49  virtual bool partOfGlobalPlan() const;
50 
51  protected:
52  virtual void slot_onConditionComplete(const DtSimStatement&);
53 
54  protected:
55  virtual bool eventFilter(QObject *, QEvent *);
56  virtual void actionAdded(QEvent*);
57  virtual bool shouldAddAsPartOfMenu(const QList<QAction*>& acts, QAction* toMatch) const;
58 
59  protected:
61  std::vector<DtVrfConditionalAction*> myDisconnectFrom;
64  };
65 
67  {
68  public:
69 
72 
74  virtual ~DtConditionalMenu();
75 
77  virtual QMenu* createMenu(makVrv::DtDe&, QWidget* parent);
78 
79  static DtConditionalMenu& instance(makVrv::DtDe&);
80 
84  static DtConditionalMenu* menuInstance(makVrv::DtDe&);
85 
86  virtual DtConditionalMenu* newInstance();
87 
88  public:
90  virtual void addCondition(const std::string& p, DtVrfConditionalExpressionCreator* i);
91  virtual void addConditionAfter(const std::string& p, const std::string& after, DtVrfConditionalExpressionCreator* i);
92  virtual void addConditionBefore(const std::string& p, const std::string& before, DtVrfConditionalExpressionCreator* i);
93  virtual void removeCondition(const std::string& r);
94 
95  public:
97  virtual DtSubMenuConfiguration& menuConfiguration();
98 
100  virtual DtConfigurableMenuAssembler& menuAssembler();
101 
102  protected:
104  virtual void createMenuConfiguration(makVrv::DtDe& de);
105 
106  protected:
110  };
111 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)