OpendTect  6.6
uigraphicsviewbase.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: Satyaki Maitra
8  Date: March 2009
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uibasemod.h"
15 
16 #include "uigraphicsitem.h"
17 #include "uiobj.h"
18 
19 class Alignment;
20 class uiGraphicsScene;
21 class uiGraphicsViewBody;
22 class uiRectItem;
25 class MouseEventHandler;
26 class uiRect;
27 
28 
30 {
31 friend class uiGraphicsViewBody;
32 public:
35 
39  void show();
40  enum ODDragMode { NoDrag, ScrollHandDrag, RubberBandDrag };
41  enum ScrollBarPolicy { ScrollBarAsNeeded, ScrollBarAlwaysOff,
42  ScrollBarAlwaysOn };
43 
47  bool isRubberBandingOn() const;
48 
49  void setMouseTracking(bool);
50  bool hasMouseTracking() const;
51 
53  bool getMouseWheelReversal() const;
54 
57 
58  int width() const;
59  int height() const;
60  int viewWidth() const;
61  int viewHeight() const;
62 
63  int getSceneBorder() const;
64  void setSceneBorder(int);
65 
68  void setSceneRect(const uiRect&);
70  void setScaleFactor(float,float);
71 
73  void getScaleFactor(float&,float&) const;
74  uiPoint getScenePos(float,float) const;
75  const uiPoint& getStartPos() const;
76  const uiRect* getSelectedArea() const {return selectedarea_;}
77  void setViewArea(double x,double y,
78  double w,double h);
80 
81  void setBackgroundColor(const Color&);
84  void rePaint();
85  void enableScrollZoom(bool yn=true);
88  { return enabscrollzoom_; }
89  uiSize scrollBarSize(bool horizontal) const;
90 
93  Geom::RectF mapToScene(const uiRect&) const;
94 
95  bool isCtrlPressed() const {return isctrlpressed_;}
96  void setCtrlPressed( bool yn )
97  { isctrlpressed_ = yn; }
98 
99  bool print();
100 
109 
110 
118 
119 
121 
122 protected:
123 
125 
126  uiGraphicsViewBody* body_;
127  uiGraphicsViewBody& mkbody(uiParent*,const char*);
128 
132 
136 
137 };
138 
139 
140 mExpClass(uiBase) uiGraphicsViewMask : public uiGraphicsItem
141 {
142 public:
145 
146  void setBorder(int);
147  void setMaskColor(const Color&);
148  void update();
149 
150 protected:
156 
158  int border_;
159 };
160 
uiGraphicsViewBase::mkbody
uiGraphicsViewBody & mkbody(uiParent *, const char *)
uiGraphicsViewBase::ODDragMode
ODDragMode
Definition: uigraphicsviewbase.h:40
uiGraphicsViewBase::setScene
void setScene(uiGraphicsScene &)
Scene becomes mine.
uiGraphicsViewBase::getSceneRect
uiRect getSceneRect() const
uiGraphicsViewMask
Definition: uigraphicsviewbase.h:141
uiGraphicsViewBase::setSceneAlignment
void setSceneAlignment(const Alignment &)
uiGraphicsViewMask::uiGraphicsViewMask
uiGraphicsViewMask(uiGraphicsViewBase &)
uiGraphicsViewBase::getScaleFactor
void getScaleFactor(float &, float &) const
uiGraphicsViewMask::update
void update()
uiGraphicsViewBase::getKeyboardEventHandler
KeyboardEventHandler & getKeyboardEventHandler()
uiGraphicsViewBase::scrollBarSize
uiSize scrollBarSize(bool horizontal) const
uiGraphicsViewBase::viewHeight
int viewHeight() const
height of viewport
uiGraphicsViewBase::selectedarea_
uiRect * selectedarea_
Definition: uigraphicsviewbase.h:129
uiGraphicsViewBase::scrollZoomEnabled
bool scrollZoomEnabled()
Definition: uigraphicsviewbase.h:87
uiGraphicsViewBase::reDrawn
Notifier< uiGraphicsViewBase > reDrawn
In practice, this happens only after reSize.
Definition: uigraphicsviewbase.h:114
uiGraphicsViewBase::translateText
void translateText()
uiGraphicsViewBase::reDrawNeeded
Notifier< uiGraphicsViewBase > reDrawNeeded
Definition: uigraphicsviewbase.h:113
uiGraphicsViewBase::getMouseEventHandler
MouseEventHandler & getMouseEventHandler()
uiGraphicsViewMask::setBorder
void setBorder(int)
uiGraphicsViewBase::getStartPos
const uiPoint & getStartPos() const
uiGraphicsViewMask::border_
int border_
Definition: uigraphicsviewbase.h:158
uiGraphicsViewBase::ScrollHandDrag
@ ScrollHandDrag
Definition: uigraphicsviewbase.h:40
ObjectSet
Set of pointers to objects.
Definition: commontypes.h:31
uiGraphicsViewBase::body_
uiGraphicsViewBody * body_
Definition: uigraphicsviewbase.h:126
uiGraphicsViewBase::preDraw
Notifier< uiGraphicsViewBase > preDraw
Definition: uigraphicsviewbase.h:116
uiGraphicsViewBase::setBackgroundColor
void setBackgroundColor(const Color &)
uiGraphicsViewBase::rubberBandUsed
Notifier< uiGraphicsViewBase > rubberBandUsed
Definition: uigraphicsviewbase.h:112
uiRect
Definition: uigeom.h:42
uiGraphicsViewBase::rePaint
void rePaint()
uiGraphicsViewBase::setSceneRect
void setSceneRect(const uiRect &)
uiGraphicsViewBase::mapToScene
Geom::RectF mapToScene(const uiRect &) const
KeyboardEventHandler
Handles KeyboardEvent.
Definition: keyboardevent.h:47
uiGraphicsViewMask::maskcolor_
Color maskcolor_
Definition: uigraphicsviewbase.h:157
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uiGraphicsViewBase::enabscrollzoom_
bool enabscrollzoom_
Definition: uigraphicsviewbase.h:134
uiGraphicsViewBase::viewWidth
int viewWidth() const
width of viewport
uiGraphicsViewBase::allInstances
static const ObjectSet< uiGraphicsViewBase > & allInstances()
uiGraphicsViewBase::setCtrlPressed
void setCtrlPressed(bool yn)
Definition: uigraphicsviewbase.h:96
uiGraphicsViewBase::getCursorPos
uiPoint getCursorPos() const
uiGraphicsViewBase::reSize
CNotifier< uiGraphicsViewBase, uiSize > reSize
CallBacker is OLD size.
Definition: uigraphicsviewbase.h:111
uiGraphicsViewBase::rubberBandCB
void rubberBandCB(CallBacker *)
uiGraphicsViewBase::sceneborder_
int sceneborder_
Definition: uigraphicsviewbase.h:131
uiGraphicsViewBase::uiGraphicsViewBase
uiGraphicsViewBase(uiParent *, const char *)
uiGraphicsViewBase::dragMode
ODDragMode dragMode() const
uiGraphicsViewBase::mapToScene
Geom::Point2D< float > mapToScene(const uiPoint &) const
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
GestureEventHandler
Handles gesture event and triggers notifier with GestureEventInfo.
Definition: mouseevent.h:302
uiGraphicsViewBase::setDragMode
void setDragMode(ODDragMode)
uiGraphicsViewMask::topmask_
uiRectItem * topmask_
Definition: uigraphicsviewbase.h:152
uiGraphicsViewBase::getSelectedArea
const uiRect * getSelectedArea() const
Definition: uigraphicsviewbase.h:76
uiGraphicsViewBase::getViewArea
uiRect getViewArea() const
uiGraphicsViewBase::setMidMouseButtonForDrag
void setMidMouseButtonForDrag(bool)
uiGraphicsViewBase::centreOn
void centreOn(uiPoint)
uiGraphicsViewBase::isRubberBandingOn
bool isRubberBandingOn() const
uiGraphicsViewBase::show
void show()
uiGraphicsViewMask::setMaskColor
void setMaskColor(const Color &)
uiGraphicsViewBase
Definition: uigraphicsviewbase.h:30
uiGraphicsViewBase::setMouseTracking
void setMouseTracking(bool)
Geom::PosRectangle
Floating-point rectangle class.
Definition: geometry.h:230
uiGraphicsViewBase::gestureEventHandler
GestureEventHandler & gestureEventHandler()
uigraphicsitem.h
uiGraphicsViewBase::disableScrollZoom
void disableScrollZoom()
uiGraphicsViewMask::~uiGraphicsViewMask
~uiGraphicsViewMask()
Notifier< uiGraphicsViewBase >
uiGraphicsViewBase::getSceneBorder
int getSceneBorder() const
uiGraphicsViewBase::mapFromScene
uiPoint mapFromScene(const Geom::Point2D< float > &) const
uiGraphicsViewBase::setScrollBarPolicy
void setScrollBarPolicy(bool hor, ScrollBarPolicy)
uiGraphicsViewBase::print
bool print()
uiSize
Definition: uigeom.h:25
uiGraphicsViewMask::bottommask_
uiRectItem * bottommask_
Definition: uigraphicsviewbase.h:153
uiGraphicsViewBase::getScenePos
uiPoint getScenePos(float, float) const
uiGraphicsViewBase::setViewArea
void setViewArea(double x, double y, double w, double h)
uiGraphicsViewMask::rightmask_
uiRectItem * rightmask_
Definition: uigraphicsviewbase.h:155
uiGraphicsViewBase::isCtrlPressed
bool isCtrlPressed() const
Definition: uigraphicsviewbase.h:95
uiGraphicsViewBase::isctrlpressed_
bool isctrlpressed_
Definition: uigraphicsviewbase.h:133
uiGraphicsViewBase::setMouseWheelReversal
void setMouseWheelReversal(bool)
MouseEventHandler
Definition: mouseevent.h:189
uiGraphicsViewBase::width
int width() const
width of widget
uiRectItem
Definition: uigraphicsitemimpl.h:255
uiGraphicsViewMask::view_
uiGraphicsViewBase & view_
Definition: uigraphicsviewbase.h:151
uiGraphicsViewBase::ScrollBarPolicy
ScrollBarPolicy
Definition: uigraphicsviewbase.h:41
Geom::Point2D< int >
uiObject
The base class for most UI elements.
Definition: uiobj.h:38
uiGraphicsViewBase::scene_
uiGraphicsScene * scene_
Definition: uigraphicsviewbase.h:130
uiGraphicsViewBase::backgroundColor
Color backgroundColor() const
uiGraphicsScene
Definition: uigraphicsscene.h:39
uiGraphicsViewBase::setSceneBorder
void setSceneBorder(int)
uiGraphicsViewBase::scene
uiGraphicsScene & scene()
uiGraphicsViewBase::setNoBackGround
void setNoBackGround()
uiParent
Definition: uiparent.h:26
uiGraphicsViewBase::~uiGraphicsViewBase
~uiGraphicsViewBase()
uiGraphicsViewBase::hasMouseTracking
bool hasMouseTracking() const
uiGraphicsViewBase::scrollBarUsed
Notifier< uiGraphicsViewBase > scrollBarUsed
Definition: uigraphicsviewbase.h:117
Color
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer,...
Definition: color.h:26
uiGraphicsViewBase::getNavigationMouseEventHandler
MouseEventHandler & getNavigationMouseEventHandler()
Alignment
Definition: draw.h:21
CNotifier< uiGraphicsViewBase, uiSize >
uiGraphicsViewBase::enableScrollZoom
void enableScrollZoom(bool yn=true)
uiGraphicsViewBase::hasMidMouseButtonForDrag
bool hasMidMouseButtonForDrag() const
uiGraphicsViewBase::height
int height() const
height of widget
uiGraphicsViewMask::leftmask_
uiRectItem * leftmask_
Definition: uigraphicsviewbase.h:154
uiobj.h
uiGraphicsViewBase::getMouseWheelReversal
bool getMouseWheelReversal() const
uiGraphicsViewBase::setScaleFactor
void setScaleFactor(float, float)

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2021