OpendTect  6.3
uigraphicssceneaxismgr.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: Duntao Wei
8  Date: Jan 2005
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uitoolsmod.h"
14 #include "draw.h"
15 #include "ranges.h"
16 #include "samplingdata.h"
17 #include "uigeom.h"
18 #include "uifont.h"
19 #include "uiaxishandler.h"
20 
21 class uiGraphicsScene;
22 class uiGraphicsView;
24 class uiRectItem;
25 class uiTextItem;
26 class uiLineItem;
27 class uiBorder;
28 
51 //Deprecated . Now FlatView Axis Drawing handled by uiAxisHandler
53 {
54 public:
55  ~uiGraphicsSceneAxis();
56  uiGraphicsSceneAxis(uiGraphicsScene&);
57 
58  void setPosition(bool isx,bool istoporleft,bool isinside);
59  void setWorldCoords(const Interval<double>&);
60  void setViewRect(const uiRect&);
61 
62  void setZValue(int nv);
63  void turnOn(bool);
64 
65  void setAnnotInside(bool yn) { inside_ = yn; reDraw(); }
66  void enableAxisLine(bool yn) { drawaxisline_=yn; reDraw(); }
67  void enableGridLines(bool yn){ drawgridlines_=yn; reDraw(); }
68  void setAnnotInInt(bool yn) { annotinint_=yn; }
69 
70  void enableMask(bool yn);
71  void setTextFactor(int n) { txtfactor_ = n; reDraw(); }
72  // Values displayed along axis are multiplied by this
73  // factor.
74  void setLineStyle(const OD::LineStyle& lst)
75  {ls_=lst; reDraw(); }
77  { gridls_ = gls; reDraw(); }
78  void setFontData(const FontData&);
79 
80 protected:
81 
82  void reDraw();
83  void drawAtPos(float worldpos, bool drawgrid,
84  int& curtextitm,int& curlineitm);
85  int getNrAnnotChars() const;
86 
87  bool inside_;
88  bool isx_;
89  bool istop_;
93 
97 
99 
102 
104 
110 };
111 
112 
118 {
119 public:
121  virtual ~uiGraphicsSceneAxisMgr();
122 
123  virtual void setZValue(int z);
124  virtual void setWorldCoords(const uiWorldRect&);
125  void setWorldCoords(const StepInterval<float>& xrg,
126  const StepInterval<float>& yrg);
127  void setViewRect(const uiRect&);
128 
129  void enableXAxis(bool yn) { xaxis_->setVisible(yn); }
130  void enableYAxis(bool yn) { yaxis_->setVisible(yn); }
131 
132  int getZValue() const;
133  int getNeededWidth() const;
134  int getNeededHeight() const;
135 
136  void setAnnotInside(bool yn);
137  void enableAxisLine(bool yn);
138  void setBorder(const uiBorder&);
139  void setXLineStyle(const OD::LineStyle&);
140  void setYLineStyle(const OD::LineStyle&);
141  void setGridLineStyle(const OD::LineStyle&);
142  void setAuxLineStyle(const OD::LineStyle&,bool forx,
143  bool forhl=false);
144  void setAnnotInInt( bool xaxis, bool dowant )
145  { xaxis ? xaxis_->setup().annotinint(dowant)
146  : yaxis_->setup().annotinint(dowant); }
147  void showAuxPositions(bool forx,bool yn);
148  virtual void setAuxAnnotPositions(const TypeSet<OD::PlotAnnotation>&,
149  bool forx);
150 
151  virtual void updateScene()
152  { xaxis_->updateScene(); yaxis_->updateScene(); }
153  NotifierAccess& layoutChanged();
154 
155 protected:
156 
159 
166 
167  void updateFontSizeCB(CallBacker*);
168 };
uiRect viewrect_
Definition: uigraphicssceneaxismgr.h:98
#define mExpClass(module)
Definition: commondefs.h:157
void setAnnotInInt(bool yn)
Definition: uigraphicssceneaxismgr.h:68
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
void turnOn(int flag)
Overrides the envirnonment variable.
Definition: uigeom.h:40
uiRectItem * leftmask_
Definition: uigraphicssceneaxismgr.h:164
void setAnnotInInt(bool xaxis, bool dowant)
Definition: uigraphicssceneaxismgr.h:144
Interface class for Notifier. See comments there.
Definition: notify.h:20
int txtfactor_
Definition: uigraphicssceneaxismgr.h:108
Definition: draw.h:119
Definition: uifont.h:38
bool istop_
Definition: uigraphicssceneaxismgr.h:89
Handles an axis on a plot.
Definition: uiaxishandler.h:50
void enableYAxis(bool yn)
Definition: uigraphicssceneaxismgr.h:130
void setTextFactor(int n)
Definition: uigraphicssceneaxismgr.h:71
void enableAxisLine(bool yn)
Definition: uigraphicssceneaxismgr.h:66
FontData fontdata_
Definition: uigraphicssceneaxismgr.h:109
uiRectItem * rightmask_
Definition: uigraphicssceneaxismgr.h:165
ObjectSet< uiLineItem > lines_
Definition: uigraphicssceneaxismgr.h:100
Data needed to make an actual font.
Definition: fontdata.h:18
OD::LineStyle ls_
Definition: uigraphicssceneaxismgr.h:105
ObjectSet< uiTextItem > texts_
Definition: uigraphicssceneaxismgr.h:101
void setAnnotInside(bool yn)
Definition: uigraphicssceneaxismgr.h:65
void setLineStyle(const OD::LineStyle &lst)
Definition: uigraphicssceneaxismgr.h:74
void setGridLineStyle(const OD::LineStyle &gls)
Definition: uigraphicssceneaxismgr.h:76
bool isx_
Definition: uigraphicssceneaxismgr.h:88
uiAxisHandler * xaxis_
Definition: uigraphicssceneaxismgr.h:157
bool inside_
Definition: uigraphicssceneaxismgr.h:87
Interval< double > rg_
Definition: uigraphicssceneaxismgr.h:103
void enableGridLines(bool yn)
Definition: uigraphicssceneaxismgr.h:67
Definition: uigraphicsitem.h:154
uiRectItem * topmask_
Definition: uigraphicssceneaxismgr.h:162
To draw simple axes for a 2D coordinate system.
Definition: uigraphicssceneaxismgr.h:52
OD::LineStyle gridls_
Definition: uigraphicssceneaxismgr.h:106
Definition: uigraphicsitemimpl.h:259
uiAxisHandler * yaxis_
Definition: uigraphicssceneaxismgr.h:158
bool drawgridlines_
Definition: uigraphicssceneaxismgr.h:91
Definition: uigeom.h:76
uiGraphicsView & view_
Definition: uigraphicssceneaxismgr.h:161
uiRectItem * mask_
Definition: uigraphicssceneaxismgr.h:96
Manages uiGraphicsSceneAxis.
Definition: uigraphicssceneaxismgr.h:117
Definition: uigraphicsview.h:49
bool drawaxisline_
Definition: uigraphicssceneaxismgr.h:90
Definition: uigraphicsitemimpl.h:277
uiGraphicsScene & scene_
Definition: uigraphicssceneaxismgr.h:94
SamplingData< double > sampling_
Definition: uigraphicssceneaxismgr.h:107
uiFont & uifont_
Definition: uigraphicssceneaxismgr.h:160
virtual void updateScene()
Definition: uigraphicssceneaxismgr.h:151
uiRectItem * bottommask_
Definition: uigraphicssceneaxismgr.h:163
void enableXAxis(bool yn)
Definition: uigraphicssceneaxismgr.h:129
uiGraphicsItemGroup * itmgrp_
Definition: uigraphicssceneaxismgr.h:95
Definition: uigraphicsitemimpl.h:109
Definition: uigraphicsscene.h:35
bool annotinint_
Definition: uigraphicssceneaxismgr.h:92

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