VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtWidgetSignaler.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: $ $Revision: $ $State: $
7 ******************************************************************************/
8 
12 
13 #pragma once
14 
15 #include <vrvCore/vrvCore.h>
16 #include <vrvUtil/signalslib.h>
17 #include <vrvUtil/event_signal.h>
19 #include <vrvCore/DtUniqueID.h>
20 
21 namespace makVrv
22 {
23 
24  class DtWidgetAgent;
25  class DtWidgetSignaler;
26  class DtSharedSettingsManager;
27  class DtEventQueueInterface;
28 
32  {
33  public:
34 
36  void connectAll(DtWidgetEventSignals& emmitter);
37 
39  boost::signal<void (int x, int y)> signal_mouseEnter;
40 
42  boost::signal<void (int x, int y)> signal_mouseMove;
43 
45  boost::signal<void ()> signal_mouseLeave;
46 
48  boost::signal<void (int button)> signal_mouseButtonPress;
49 
51  boost::signal<void (int button)> signal_mouseButtonRelease;
52 
53  protected:
54  void emitMouseEnter(int x, int y);
55  void emitMouseMove(int x,int y);
56  void emitMouseLeave();
57  void emitMouseButtonPress(int button);
58  void emitMouseButtonRelease(int button);
59 
60  };
61 
67  {
68  public:
70  DtWidgetAgent& agent);
72 
74  const DtWidgetAgent& widgetAgent() const;
75 
76  protected:
77  DtWidgetAgent& myAgent;
79 
80  };
81 
82 
89  {
90  public:
91 
93  friend class DtWidgetPicker;
94 
97  static DtWidgetSignaler& instance(const DtSharedSettingsManager&);
98 
101  static DtWidgetSignaler& instance(DtEventQueueInterface&);
102 
106  static DtWidgetSignaler* findInstance(DtEventQueueInterface*);
107 
109  virtual ~DtWidgetSignaler();
110 
111  void emitMouseEntered(DtUniqueID, int x, int y);
112  void emitMouseMoved(DtUniqueID, int x, int y);
113  void emitMouseLeft(DtUniqueID);
114  void emitMouseButtonPressed(DtUniqueID, int button);
115  void emitMouseButtonReleased(DtUniqueID, int button);
116 
117  protected:
118 
119  //Signal emitted when changing an element attribute has been requested.
125 
126  void dispatch_mouseEntered(DtUniqueID, int x, int y);
127  void dispatch_mouseMoved(DtUniqueID, int x, int y);
128  void dispatch_mouseLeft(DtUniqueID);
129  void dispatch_mouseButtonPressed(DtUniqueID,int button);
130  void dispatch_mouseButtonReleased(DtUniqueID,int button);
131 
132 
133  protected:
135 
136  void addInstance(DtWidgetInstanceSignaler*);
137  void removeInstance(DtWidgetInstanceSignaler*);
138 
139  typedef std::map<DtUniqueID,DtWidgetInstanceSignaler*> WidgetInstanceMap;
141 
142  private:
144  DtWidgetSignaler& operator=(const DtWidgetSignaler&);
145  };
146 
147 }
148 

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)