OpendTect  6.3
uiveldesc.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: K. Tingdahl
7  Date: November 2007
8 ________________________________________________________________________
9 
10 -*/
11 
12 #include "uiseismod.h"
13 #include "uigeninput.h"
14 #include "uiseissel.h"
15 #include "uitime2depthzaxistrans.h"
16 #include "veldesc.h"
17 #include "timedepthconv.h"
18 
19 class uiSeisSel;
20 class uiStaticsDesc;
21 class uiZRangeInput;
22 class uiPushButton;
23 class VelocityStretcher;
24 
29 public:
30 
31  mExpClass(uiSeis) Setup
32  {
33  public:
34  Setup( const VelocityDesc* vd=0 )
35  { if ( vd ) desc_ = *vd; }
36 
38  };
39 
40  uiVelocityDesc(uiParent*,const Setup* s=0);
41 
42  bool get(VelocityDesc&,bool displayerrors) const;
43  void set(const VelocityDesc&);
44  bool updateAndCommit(IOObj&,bool displayerrors);
45 
46  NotifierAccess& typeChangeNotifier();
47 
48 protected:
49 
50  void updateFlds(CallBacker*);
51 
55 };
56 
57 
61 public:
62  uiVelocityDescDlg(uiParent*,const IOObj* cursel=0,
63  const uiVelocityDesc::Setup* s=0);
65 
66  IOObj* getSelection() const;
69  { return toprange_; }
71  { return bottomrange_; }
72 
73 protected:
74 
75  bool acceptOK();
76  void volSelChange(CallBacker*);
77  bool scanAvgVel(const IOObj&, const VelocityDesc&);
78 
81 
85 };
86 
87 
89 
90 
91 mExpClass(uiSeis) uiVelSel : public uiSeisSel
92 {
93 public:
95  const uiSeisSel::Setup&,
96  bool iseditbutton=true);
97 
98  void setInput(const DBKey&);
99  static const IOObjContext& ioContext();
100 
101  Interval<float> getVelocityTopRange() const { return trg_; }
102  Interval<float> getVelocityBottomRange() const { return brg_; }
104 
105 protected:
106 
107  void fillDefault();
108 
109  void selectionDoneCB(CallBacker*);
110  void updateEditButton();
111  void editCB(CallBacker*);
115 };
116 
117 
120 public:
121 
122  ZAxisTransform* getSelection();
123 
124  const char* selName() const;
125  const DBKey& selID() const { return selkey_; }
126 
127  bool canBeField() const { return true; }
128 protected:
131 
132  FixedString getZDomain() const;
133 
134  bool acceptOK();
135  void setZRangeCB(CallBacker*);
136 
140 
142 };
143 
144 
147 public:
148  static void initClass();
149  static uiZAxisTransform* createInstance(uiParent*,
150  const char*,const char*);
151 
153 };
154 
155 
158 public:
159  static void initClass();
160  static uiZAxisTransform* createInstance(uiParent*,
161  const char*,const char*);
162 
164 };
Definition: uigroup.h:53
#define mExpClass(module)
Definition: commondefs.h:157
Interval< float > toprange_
Definition: uiveldesc.h:79
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
uiVelocityDesc * veldescfld_
Definition: uiveldesc.h:84
Definition: ioobj.h:57
Interval< float > trg_
Definition: uiveldesc.h:113
is the base class for all buttons.
Definition: uibutton.h:80
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
Field that selects a velocity volume, and edit it&#39;s properties/velocity tag.
Definition: uiveldesc.h:91
OD::String that holds an existing text string.
Definition: fixedstring.h:27
Interface class for Notifier. See comments there.
Definition: notify.h:20
Definition: veldesc.h:36
Notifier< uiVelSel > velrgchanged
Definition: uiveldesc.h:103
Interval< float > getVelocityTopRange() const
Definition: uiveldesc.h:68
DBKey selkey_
Definition: uiveldesc.h:139
Definition: uiparent.h:24
BufferString selname_
Definition: uiveldesc.h:138
uiVelSel * velsel_
Definition: uiveldesc.h:141
Definition: uiveldesc.h:156
Definition: uidialog.h:40
uiGenInput * typefld_
Definition: uiveldesc.h:52
Interval< float > bottomrange_
Definition: uiveldesc.h:80
Interval< float > getVelocityTopRange() const
Definition: uiveldesc.h:101
Definition: uizaxistransform.h:24
uiPushButton * editcubebutt_
Definition: uiveldesc.h:112
Definition: uiseissel.h:24
bool canBeField() const
Definition: uiveldesc.h:127
Definition: uiveldesc.h:27
VelocityStretcher * transform_
Definition: uiveldesc.h:137
Definition: uiveldesc.h:59
VelocityDesc oldveldesc_
Definition: uiveldesc.h:82
Definition: timedepthconv.h:30
General Input Element.
Definition: uigeninput.h:56
Definition: uiseissel.h:28
uiGenInput * hasstaticsfld_
Definition: uiveldesc.h:53
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:129
Definition: uiveldesc.h:118
Definition: uizrangeinput.h:18
Definition: uiveldesc.h:145
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
Definition: uistaticsdesc.h:21
uiSeisSel * volselfld_
Definition: uiveldesc.h:83
Interval< float > getVelocityBottomRange() const
Definition: uiveldesc.h:102
Interval< float > brg_
Definition: uiveldesc.h:114
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
Definition: uitime2depthzaxistrans.h:17
Base class for z-axis transforms.
Definition: zaxistransform.h:35
Definition: uiveldesc.h:31
uiStaticsDesc * staticsfld_
Definition: uiveldesc.h:54
Interval< float > getVelocityBottomRange() const
Definition: uiveldesc.h:70
static void initClass()
Setup(const VelocityDesc *vd=0)
Definition: uiveldesc.h:34
const DBKey & selID() const
Definition: uiveldesc.h:125
Holds the context for selecting and/or creating IOObjs.
Definition: ioobjctxt.h:59

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