OpendTect  6.6
uistratdisplay.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: Bruno
8  Date: Mar 2010
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uistratmod.h"
15 #include "uidialog.h"
16 #include "uigraphicsview.h"
17 
18 #include "uigraphicsitem.h"
19 #include "geometry.h"
20 #include "uistratdispdata.h"
21 #include "uistring.h"
22 
23 class uiAxisHandler;
24 class uiGenInput;
25 class uiGraphicsScene;
26 class uiLabeledSpinBox;
27 class uiParent;
28 class uiPolygonItem;
29 class uiPolyLineItem;
30 class uiPushButton;
31 class uiStratViewControl;
32 class uiTextItem;
33 class uiToolButton;
34 class MouseEvent;
35 
36 
37 
40 public:
42  const StratDispData&);
44 
46 
47  void draw();
48  void drawColumns();
49  void setNewAxis(uiAxisHandler*,bool isx);
50 
51  uiAxisHandler* xAxis() { return xax_; }
52  uiAxisHandler* yAxis() { return yax_; }
53  const uiAxisHandler* xAxis() const { return xax_; }
54  const uiAxisHandler* yAxis() const { return yax_; }
55 
56  mStruct(uiStrat) ColumnItem
57  {
58  ColumnItem(const char* nm)
59  : name_(nm)
60  , borderitm_(0)
61  , bordertxtitm_(0) {}
62 
63  BufferString name_;
64  int size_;
65  int pos_;
66 
67  uiPolyLineItem* borderitm_;
68  uiTextItem* bordertxtitm_;
69  uiGraphicsItemSet txtitms_;
70  uiGraphicsItemSet unititms_;
71  uiGraphicsItemSet lvlitms_;
72  };
73 
74  const ColumnItem& colItem( int idx ) const
75  { return *colitms_[idx]; }
76 
77 protected:
78 
81 
85 
86  //data
88 
89  //graphics
90  void addUnit(float);
91  void drawBorders(ColumnItem&);
92  void drawLevels(ColumnItem&);
93  void drawUnits(ColumnItem&);
94  void drawEmptyText();
95  void eraseAll();
96  void initAxis();
97  void updateAxis();
98 };
99 
100 
101 
104 public:
107 
108  void display(bool,bool shrk=false,bool max=false);
110 
112  uiStratViewControl* control() { return uicontrol_; }
113 
114  void setTree();
115 
116  void setIsLocked( bool yn ) { islocked_ = yn; }
117  bool isLocked() const { return islocked_; }
118 
119 protected :
120 
123 
127 
133  bool islocked_;
134 
136 
138  void setRange();
139 
141 
142  int getColIdxFromPos() const;
143  StratDispData::Column* getColFromPos() const;
146  const StratDispData::Unit* getUnitFromPos(int colidx) const;
149 
157 };
158 
159 
162 public:
163 
164  struct Setup
165  {
166  Setup( const Interval<float>& rg )
167  : maxrg_(rg)
168  , tb_(0) {}
169 
172  };
173 
175  ~uiStratViewControl() {detachAllNotifiers();}
176 
177  void setRange( const Interval<float>& rg )
178  { range_ = rg; }
179  const Interval<float>& range() const
180  { return range_; }
181 
182  void setSensitive(bool);
183 
185 
186 protected:
187 
194 
197 
200 
203 
213 };
214 
uiStratViewControl::mousepressed_
bool mousepressed_
Definition: uistratdisplay.h:199
uiStratDrawer::colItem
const ColumnItem & colItem(int idx) const
Definition: uistratdisplay.h:74
uiStratDisplay::uidatagather_
uiStratTreeToDisp * uidatagather_
Definition: uistratdisplay.h:121
uiStratDisplay::getUnitFromPos
const StratDispData::Unit * getUnitFromPos() const
uiStratDispToTree
Definition: uistratdispdata.h:193
uiStratDisplay::uidatawriter_
uiStratDispToTree uidatawriter_
Definition: uistratdisplay.h:122
uistring.h
uiStratDisplay::getColIdxFromPos
int getColIdxFromPos() const
geometry.h
uiStratViewControl::~uiStratViewControl
~uiStratViewControl()
Definition: uistratdisplay.h:175
uiStratDisplay::dispParamChgd
void dispParamChgd(CallBacker *)
ObjectSet< ColumnItem >
uiStratViewControl::dragModeCB
void dragModeCB(CallBacker *)
uiStratViewControl::tb_
uiToolBar * tb_
Definition: uistratdisplay.h:193
uiStratDisplay::setIsLocked
void setIsLocked(bool yn)
Definition: uistratdisplay.h:116
uiStratDisplay
Definition: uistratdisplay.h:103
uiToolBar
Definition: uitoolbar.h:31
uiStratDrawer::draw
void draw()
uiStratDrawer::updateAxis
void updateAxis()
uiStratDisplay::islocked_
bool islocked_
Definition: uistratdisplay.h:133
uiStratViewControl::vertzoomoutbut_
uiToolButton * vertzoomoutbut_
Definition: uistratdisplay.h:191
uiStratViewControl::setSensitive
void setSensitive(bool)
uiStratDisplay::getColFromPos
StratDispData::Column * getColFromPos() const
uiStratDisplay::selCols
void selCols(CallBacker *)
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
Setup::Setup
Setup()
uiStratDisplay::~uiStratDisplay
mODTextTranslationClass(uiStratDisplay) public ~uiStratDisplay()
uiStratViewControl::rubBandCB
void rubBandCB(CallBacker *)
uiStratDrawer
Definition: uistratdisplay.h:39
uiStratDisplay::display
void display(bool, bool shrk=false, bool max=false)
uiPolyLineItem
Definition: uigraphicsitemimpl.h:214
uiStratDisplay::setRange
void setRange()
uiGraphicsView
Definition: uigraphicsview.h:51
Setup::mDefSetupMemb
mDefSetupMemb(int, method)
uiStratViewControl::boundingrange_
Interval< float > boundingrange_
Definition: uistratdisplay.h:196
uiAxisHandler
Handles an axis on a plot.
Definition: uiaxishandler.h:51
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
uiStratViewControl::uiStratViewControl
mODTextTranslationClass(uiStratViewControl) public uiStratViewControl(uiGraphicsView &, Setup &)
mODTextTranslationClass
#define mODTextTranslationClass(clss)
Definition: uistring.h:40
uiStratViewControl::setRange
void setRange(const Interval< float > &rg)
Definition: uistratdisplay.h:177
uiStratDrawer::drawColumns
void drawColumns()
uiStratDisplay::createDispParamGrp
void createDispParamGrp()
uiStratDrawer::addUnit
void addUnit(float)
uiStratViewControl::keyPressed
void keyPressed(CallBacker *)
uiStratDisplay::drawer_
uiStratDrawer drawer_
Definition: uistratdisplay.h:126
uiGenInput
General Input Element.
Definition: uigeninput.h:59
StepInterval< float >
uiStratDrawer::colitms_
ObjectSet< ColumnItem > colitms_
Definition: uistratdisplay.h:79
uiStratDrawer::eraseAll
void eraseAll()
uiStratDrawer::initAxis
void initAxis()
uiGraphicsItemSet
Definition: uigraphicsitem.h:152
uiStratDisplay::stepfld_
uiLabeledSpinBox * stepfld_
Definition: uistratdisplay.h:129
uiStratRefTree
Displays a Strat::RefTree.
Definition: uistratreftree.h:33
uiStratViewControl::updatePosButtonStates
void updatePosButtonStates()
uiStratDrawer::setNewAxis
void setNewAxis(uiAxisHandler *, bool isx)
uiStratDrawer::xAxis
uiAxisHandler * xAxis()
Definition: uistratdisplay.h:51
uiStratDrawer::yAxis
const uiAxisHandler * yAxis() const
Definition: uistratdisplay.h:54
uiStratDisplay::uicontrol_
uiStratViewControl * uicontrol_
Definition: uistratdisplay.h:124
uiStratDisplay::handleUserClick
bool handleUserClick(const MouseEvent &)
uiGroup
Definition: uigroup.h:54
uiStratViewControl::handDragging
void handDragging(CallBacker *)
uiStratDisplay::control
uiStratViewControl * control()
Definition: uistratdisplay.h:112
uiStratDisplay::addControl
void addControl(uiToolBar *)
mStruct
#define mStruct(module)
Definition: commondefs.h:182
uiStratDisplay::dispparamgrp_
uiGroup * dispparamgrp_
Definition: uistratdisplay.h:130
uigraphicsitem.h
uistratdispdata.h
Setup
Definition: ceemdalgo.h:161
uiStratViewControl::cancelZoomCB
void cancelZoomCB(CallBacker *)
uiStratDrawer::drawEmptyText
void drawEmptyText()
uiStratDisplay::getParentUnitFromPos
const StratDispData::Unit * getParentUnitFromPos() const
uiPolygonItem
Definition: uigraphicsitemimpl.h:192
Notifier< uiStratViewControl >
uiStratDisplay::fillbutton_
uiPushButton * fillbutton_
Definition: uistratdisplay.h:131
uiStratViewControl::rangeChanged
Notifier< uiStratViewControl > rangeChanged
Definition: uistratdisplay.h:184
uiStratViewControl::wheelMoveCB
void wheelMoveCB(CallBacker *)
uiStratDisplay::reDraw
void reDraw(CallBacker *)
uiStratTreeToDisp
used to gather all units and tied levels from a tree for display
Definition: uistratdispdata.h:153
uidialog.h
uiStratDrawer::drawLevels
void drawLevels(ColumnItem &)
uiStratDrawer::yAxis
uiAxisHandler * yAxis()
Definition: uistratdisplay.h:52
uiStratDisplay::isLocked
bool isLocked() const
Definition: uistratdisplay.h:117
uiStratDisplay::mouseMoveCB
void mouseMoveCB(CallBacker *)
uiStratDisplay::rangefld_
uiGenInput * rangefld_
Definition: uistratdisplay.h:128
MouseEvent::pos_
Geom::Point2D< int > pos_
Definition: mouseevent.h:149
uiStratDrawer::scene_
uiGraphicsScene & scene_
Definition: uistratdisplay.h:82
uiStratDisplay::data_
StratDispData data_
Definition: uistratdisplay.h:125
uiStratDrawer::~uiStratDrawer
mODTextTranslationClass(uiStratDrawer) public ~uiStratDrawer()
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
uiStratDrawer::setZRange
void setZRange(const StepInterval< float > &)
MouseEventHandler
Definition: mouseevent.h:189
uiStratViewControl::startdragpos_
float startdragpos_
Definition: uistratdisplay.h:198
uiStratViewControl::handDragged
void handDragged(CallBacker *)
Geom::Point2D< float >
uiStratDisplay::getPos
Geom::Point2D< float > getPos() const
uiStratViewControl::rubbandzoombut_
uiToolButton * rubbandzoombut_
Definition: uistratdisplay.h:189
uiStratViewControl::cancelzoombut_
uiToolButton * cancelzoombut_
Definition: uistratdisplay.h:192
uiStratViewControl::range_
Interval< float > range_
Definition: uistratdisplay.h:195
uiStratDisplay::setTree
void setTree()
StratDispData
Definition: uistratdispdata.h:36
uiStratDrawer::drawBorders
void drawBorders(ColumnItem &)
uiStratDisplay::getUnitFromPos
const StratDispData::Unit * getUnitFromPos(int colidx) const
sKey::Unit
FixedString Unit()
Definition: keystrs.h:177
uiGraphicsScene
Definition: uigraphicsscene.h:39
uiStratViewControl::viewer_
uiGraphicsView & viewer_
Definition: uistratdisplay.h:188
uiStratDrawer::drawUnits
void drawUnits(ColumnItem &)
uiStratDrawer::xax_
uiAxisHandler * xax_
Definition: uistratdisplay.h:84
uiParent
Definition: uiparent.h:26
uiStratDisplay::usrClickCB
void usrClickCB(CallBacker *)
uiStratViewControl::range
const Interval< float > & range() const
Definition: uistratdisplay.h:179
uiStratDrawer::data_
const StratDispData & data_
Definition: uistratdisplay.h:87
uiStratViewControl
Definition: uistratdisplay.h:161
uiStratDisplay::getLevelFromPos
const StratDispData::Level * getLevelFromPos() const
uiLabeledSpinBox
Definition: uispinbox.h:138
Interval< float >
uiStratDisplay::controlRange
void controlRange(CallBacker *)
uiStratViewControl::handDragStarted
void handDragStarted(CallBacker *)
MouseEvent
Definition: mouseevent.h:73
uiStratDisplay::maxrg_
Interval< float > maxrg_
Definition: uistratdisplay.h:135
uiStratDrawer::emptyitm_
uiTextItem * emptyitm_
Definition: uistratdisplay.h:80
uiStratViewControl::zoomCB
void zoomCB(CallBacker *)
uiStratDisplay::setZRange
void setZRange(const Interval< float > &)
uiToolButton
Definition: uitoolbutton.h:22
uiStratDisplay::viewcolbutton_
uiPushButton * viewcolbutton_
Definition: uistratdisplay.h:132
uiStratViewControl::mouseEventHandler
MouseEventHandler & mouseEventHandler()
uiStratDrawer::yax_
uiAxisHandler * yax_
Definition: uistratdisplay.h:83
sKey::Level
FixedString Level()
Definition: keystrs.h:86
uiStratDrawer::xAxis
const uiAxisHandler * xAxis() const
Definition: uistratdisplay.h:53
uiStratDisplay::doubleClickCB
void doubleClickCB(CallBacker *)
uiTextItem
Definition: uigraphicsitemimpl.h:276
uiPushButton
is the base class for all buttons.
Definition: uibutton.h:88
uiStratViewControl::vertzoominbut_
uiToolButton * vertzoominbut_
Definition: uistratdisplay.h:190
uigraphicsview.h

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