casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CanvasMode.h
Go to the documentation of this file.
1 //# Copyright (C) 2005
2 //# Associated Universities, Inc. Washington DC, USA.
3 //#
4 //# This library is free software; you can redistribute it and/or modify it
5 //# under the terms of the GNU Library General Public License as published by
6 //# the Free Software Foundation; either version 2 of the License, or (at your
7 //# option) any later version.
8 //#
9 //# This library is distributed in the hope that it will be useful, but WITHOUT
10 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
12 //# License for more details.
13 //#
14 //# You should have received a copy of the GNU Library General Public License
15 //# along with this library; if not, write to the Free Software Foundation,
16 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
17 //#
18 //# Correspondence concerning AIPS++ should be addressed as follows:
19 //# Internet email: aips2-request@nrao.edu.
20 //# Postal address: AIPS++ Project Office
21 //# National Radio Astronomy Observatory
22 //# 520 Edgemont Road
23 //# Charlottesville, VA 22903-2475 USA
24 //#
25 
26 #ifndef CANVASMODE_H_
27 #define CANVASMODE_H_
28 
29 #include <QCursor>
30 
31 class QMouseEvent;
32 
33 namespace casa {
34 
35  class QtCanvas;
36 
37  class CanvasMode {
38 
39  public:
41  void setReceiver( QtCanvas* receiver );
42  virtual bool isMode( ModeIndex mode ) const;
43  void mousePressEvent( QMouseEvent* event );
44  virtual void mousePressEventSpecific( QMouseEvent* event ) = 0;
45  virtual void mouseMoveEvent( QMouseEvent* event ) = 0;
46  void mouseReleaseEvent( QMouseEvent* event );
47  virtual void mouseReleaseEventSpecific( QMouseEvent* event ) = 0;
48  virtual QString toString() const = 0;
49  virtual ~CanvasMode();
50 
51  protected:
52  CanvasMode( Qt::CursorShape modeCursor );
54  Qt::CursorShape cursor;
55  };
56 
57 } /* namespace casa */
58 #endif /* CANVASMODE_H_ */
virtual ~CanvasMode()
virtual void mousePressEventSpecific(QMouseEvent *event)=0
CanvasMode(Qt::CursorShape modeCursor)
void setReceiver(QtCanvas *receiver)
QtCanvas * receiver
Definition: CanvasMode.h:53
virtual QString toString() const =0
Qt::CursorShape cursor
Definition: CanvasMode.h:54
void mouseReleaseEvent(QMouseEvent *event)
virtual void mouseMoveEvent(QMouseEvent *event)=0
virtual bool isMode(ModeIndex mode) const
virtual void mouseReleaseEventSpecific(QMouseEvent *event)=0
void mousePressEvent(QMouseEvent *event)