OpendTect  6.3
uiflatviewstdcontrol.h
Go to the documentation of this file.
1 #pragma once
2 /*+
3 ________________________________________________________________________
4 
5  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
6  Author: Bert
7  Date: Mar 2007
8 ________________________________________________________________________
9 
10 -*/
11 
12 #include "uiflatviewmod.h"
13 #include "uiflatviewcontrol.h"
14 #include "uidialog.h"
15 #include "menuhandler.h"
16 #include "helpview.h"
17 
18 class uiCheckBox;
19 class uiMenuHandler;
20 class uiToolButton;
21 class uiFlatViewColTabEd;
22 class uiGenInput;
23 class uiToolBar;
24 
25 
28 public:
29  uiFlatViewZoomLevelDlg(uiParent*,float& x1pospercm,
30  float& x2pospercm,bool isvertical);
31 
32 protected:
33 
34  float& x1pospercm_;
35  float& x2pospercm_;
36 
40 
41  bool acceptOK();
42 };
43 
44 
51 public:
52 
53  struct Setup
54  {
55  Setup( uiParent* p=0 )
56  : parent_(p)
57  , withcoltabed_(true)
58  , withedit_(false)
59  , withhanddrag_(true)
60  , withsnapshot_(true)
61  , withflip_(true)
62  , withrubber_(true)
63  , withzoombut_(true)
64  , isvertical_(false)
65  , withfixedaspectratio_(false)
66  , withhomebutton_(false)
67  , managecoltab_(true)
68  , initialx1pospercm_(mUdf(float))
69  , initialx2pospercm_(mUdf(float))
70  , initialcentre_(uiWorldPoint::udf())
71  , tba_(-1) {}
72 
73  mDefSetupMemb(uiParent*,parent)
74  mDefSetupMemb(bool,withcoltabed)
75  mDefSetupMemb(bool,withedit)
76  mDefSetupMemb(bool,withhanddrag)
77  mDefSetupMemb(int,tba)
78  mDefSetupMemb(HelpKey,helpkey)
79  mDefSetupMemb(bool,withflip)
80  mDefSetupMemb(bool,withsnapshot)
81  mDefSetupMemb(bool,withrubber)
82  mDefSetupMemb(bool,withzoombut)
83  mDefSetupMemb(bool,isvertical)
84  mDefSetupMemb(bool,withfixedaspectratio)
85  mDefSetupMemb(bool,managecoltab)
86  mDefSetupMemb(bool,withhomebutton)
87  mDefSetupMemb(float,initialx1pospercm)
88  mDefSetupMemb(float,initialx2pospercm)
89  mDefSetupMemb(uiWorldPoint,initialcentre);
90  };
91 
94  virtual uiToolBar* toolBar() { return tb_; }
95  uiToolBar* editToolBar() { return edittb_; }
96  virtual uiFlatViewColTabEd* colTabEd() { return ctabed_; }
97  void setEditMode(bool yn);
98  float getCurrentPosPerCM(bool forx1) const;
99 
100  static void setGlobalZoomLevel(float x1pospercm, float x2pospercm,
101  bool isvertical);
102  static void getGlobalZoomLevel(float& x1pospercm, float& x2pospercm,
103  bool isvertical);
104  bool isEditModeOn() const;
105  bool isRubberBandOn() const;
106  NotifierAccess* editPushed();
107 
108 protected:
109 
112 
115 
129 
132 
133  const Setup setup_;
134 
135  virtual void finalPrepare();
136  void clearToolBar();
137  void updatePosButtonStates();
138  void doZoom(bool zoomin,bool onlyvertzoom,uiFlatViewer&);
139  void setViewToCustomZoomLevel(uiFlatViewer&);
140  void setVwrCursor(uiFlatViewer&,const MouseCursor&);
141 
142  virtual void coltabChg(CallBacker*);
143  virtual void dispChgCB(CallBacker*);
144  virtual void zoomChgCB(CallBacker*);
145  virtual void rubBandUsedCB(CallBacker*);
146  virtual void dragModeCB(CallBacker*);
147  void editModeCB(CallBacker*);
148  void flipCB(CallBacker*);
149  void helpCB(CallBacker*);
150  void handDragStarted(CallBacker*);
151  void handDragging(CallBacker*);
152  void handDragged(CallBacker*);
153  void aspectRatioCB(CallBacker*);
154  void keyPressCB(CallBacker*);
155  void homeZoomOptSelCB(CallBacker*);
156  void fitToScreenCB(CallBacker*);
157  virtual void parsCB(CallBacker*);
158  virtual void vwrAdded(CallBacker*) {}
159  virtual void wheelMoveCB(CallBacker*);
160  virtual void zoomCB(CallBacker*);
161  virtual void pinchZoomCB(CallBacker*);
162  virtual void cancelZoomCB(CallBacker*);
163  virtual void gotoHomeZoomCB(CallBacker*);
164 
165  virtual bool handleUserClick(int vwridx);
166 
169  void createMenuCB(CallBacker*);
170  void handleMenuCB(CallBacker*);
171 
173 };
Definition: uitoolbar.h:30
uiToolButton * editbut_
Definition: uiflatviewstdcontrol.h:128
#define mExpClass(module)
Definition: commondefs.h:157
virtual uiFlatViewColTabEd * colTabEd()
Definition: uiflatviewstdcontrol.h:96
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
float defx1pospercm_
Definition: uiflatviewstdcontrol.h:113
uiToolButton * gotohomezoombut_
Definition: uiflatviewstdcontrol.h:125
FlatView color table editor.
Definition: uiflatviewcoltabed.h:24
Definition of a mouse cursor, can be either a predefined shape (from the enum, or a file...
Definition: mousecursor.h:24
virtual void vwrAdded(CallBacker *)
Definition: uiflatviewstdcontrol.h:158
uiToolBar * edittb_
Definition: uiflatviewstdcontrol.h:117
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
uiToolButton * fittoscrnbut_
Definition: uiflatviewstdcontrol.h:126
Interface class for Notifier. See comments there.
Definition: notify.h:20
uiGenInput * x1fld_
Definition: uiflatviewstdcontrol.h:37
HelpKey helpkey_
Definition: uiflatviewstdcontrol.h:172
virtual uiToolBar * toolBar()
Definition: uiflatviewstdcontrol.h:94
Definition: uiparent.h:24
uiGenInput * x2fld_
Definition: uiflatviewstdcontrol.h:38
Definition: helpview.h:47
uiToolButton * zoominbut_
Definition: uiflatviewstdcontrol.h:119
uiToolButton * vertzoomoutbut_
Definition: uiflatviewstdcontrol.h:122
Definition: uidialog.h:40
Definition: uimenuhandler.h:25
uiToolBar * tb_
Definition: uiflatviewstdcontrol.h:116
uiToolButton * rubbandzoombut_
Definition: uiflatviewstdcontrol.h:118
float & x2pospercm_
Definition: uiflatviewstdcontrol.h:35
Definition: menuhandler.h:74
uiToolButton * cancelzoombut_
Definition: uiflatviewstdcontrol.h:123
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:270
Setup(uiParent *p=0)
Definition: uiflatviewstdcontrol.h:55
General Input Element.
Definition: uigeninput.h:56
The standard tools to control uiFlatViewer(s).
Definition: uiflatviewstdcontrol.h:49
uiToolBar * editToolBar()
Definition: uiflatviewstdcontrol.h:95
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:129
Tools to control uiFlatViewer(s).
Definition: uiflatviewcontrol.h:27
bool mousepressed_
Definition: uiflatviewstdcontrol.h:110
uiToolButton * sethomezoombut_
Definition: uiflatviewstdcontrol.h:124
Definition: uiflatviewstdcontrol.h:26
float defx2pospercm_
Definition: uiflatviewstdcontrol.h:114
MenuItem propertiesmnuitem_
Definition: uiflatviewstdcontrol.h:168
uiPoint mousedownpt_
Definition: uiflatviewstdcontrol.h:111
float & x1pospercm_
Definition: uiflatviewstdcontrol.h:27
uiMenuHandler & menu_
Definition: uiflatviewstdcontrol.h:167
uiToolButton * zoomoutbut_
Definition: uiflatviewstdcontrol.h:120
Definition: uitoolbutton.h:20
uiToolButton * parsbut_
Definition: uiflatviewstdcontrol.h:127
uiFlatViewColTabEd * ctabed_
Definition: uiflatviewstdcontrol.h:131
Definition: uibutton.h:130
uiFlatViewer & vwr_
Definition: uiflatviewstdcontrol.h:130
Fulfills the FlatView::Viewer specifications using 'ui' classes.
Definition: uiflatviewer.h:31
uiToolButton * vertzoominbut_
Definition: uiflatviewstdcontrol.h:121
uiCheckBox * saveglobalfld_
Definition: uiflatviewstdcontrol.h:39
Definition: uiflatviewstdcontrol.h:53
const Setup setup_
Definition: uiflatviewstdcontrol.h:133

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