OpendTect-6_4  6.4
uimultiwelllogsel.h
Go to the documentation of this file.
1 #ifndef uimultiwelllogsel_h
2 #define uimultiwelllogsel_h
3 /*+
4 ________________________________________________________________________
5 
6 (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7 Author: Bruno
8 Date: Jan 2011
9 RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uiwellmod.h"
15 #include "uigroup.h"
16 #include "bufstringset.h"
17 #include "wellmarker.h"
18 #include "wellextractdata.h"
19 #include "uistring.h"
20 
21 class IOObj;
22 class uiCheckBox;
23 class uiGenInput;
24 class uiLabel;
25 class uiListBox;
26 class uiListBoxChoiceIO;
27 
28 namespace Well { class MarkerSet; }
29 
34 public:
35  mExpClass(uiWell) Setup
36  {
37  public:
39  : withzintime_(true)
40  , withzvalsel_(true)
41  , txtofmainfld_("Extract Between")
42  {}
43 
44  mDefSetupMemb(bool,withzintime)
45  mDefSetupMemb(bool,withzvalsel)
46  mDefSetupMemb(BufferString,txtofmainfld)
47  };
48 
50  virtual ~uiWellZRangeSelector();
51 
52  virtual void clear();
53 
54  void setMarkers(const BufferStringSet&);
55  void setMarkers(const Well::MarkerSet&);
56 
57  void setTopMarker(const char* mrk,float shift)
58  { params_->setTopMarker(mrk,shift); putToScreen(); }
59  void setBotMarker(const char* mrk,float shift)
60  { params_->setBotMarker(mrk,shift); putToScreen(); }
61  void setRangeSel( const Well::ZRangeSelector& sel )
62  { *params_ = sel; putToScreen(); }
63  void setRange(Interval<float> rg, bool istime);
64 
65  Well::ZRangeSelector& zRangeSel() { return *params_; }
66 
67 protected:
68 
71 
75 
76  int selidx_;
77  float ztimefac_;
79 
80  virtual void putToScreen();
81  virtual void getFromScreen(CallBacker*);
82  virtual void updateDisplayFlds();
83  virtual void onFinalise(CallBacker*);
84 };
85 
86 
89 public:
90  mExpClass(uiWell) Setup : public uiWellZRangeSelector::Setup
91  {
92  public:
94  : withzstep_(false)
95  , defmeterstep_(1)
96  , withsampling_(false)
97  , singlelog_(false)
98  , withextractintime_(SI().zIsTime())
99  {}
100 
101  mDefSetupMemb(bool,withzstep)
102  mDefSetupMemb(bool,withsampling)
103  mDefSetupMemb(bool,withextractintime)
104  mDefSetupMemb(float,defmeterstep)
105  mDefSetupMemb(bool,singlelog)
106  mDefSetupMemb(BufferString,prefpropnm)
107  };
108 
110 
112  { return static_cast<Well::ExtractParams&>(*params_); }
114  {
115  params() = param;
116  putToScreen();
117  }
118 
119 
120 protected:
121 
122  bool dostep_;
125 
130 
131  virtual void updateDisplayFlds();
132  virtual void putToScreen();
133  virtual void getFromScreen(CallBacker*);
134  virtual void onFinalise(CallBacker*);
135 };
136 
137 
138 
141 public:
143  const BufferStringSet* wellnms=0,
144  const BufferStringSet* lognms=0);
146  const MultiID& singlewid);
148 
149  void selectOnlyWritableWells();
150 
151  void getSelLogNames(BufferStringSet&) const;
152  void getSelWellNames(BufferStringSet&) const;
153  void getSelWellIDs(BufferStringSet&) const;
154  void getSelWellIDs(TypeSet<MultiID>&) const;
155 
156  void setSelLogNames(const BufferStringSet&);
157  void setSelWellNames(const BufferStringSet&);
158  void setSelWellIDs(const BufferStringSet&);
159  void setSelWellIDs(const TypeSet<MultiID>&);
160 
161  void update(); //call this when data changed
162 
163 protected:
164 
166 
168 
172 
173  void init();
174  void onFinalise(CallBacker*);
175 
176  void readWellChoiceDone(CallBacker*);
177  void writeWellChoiceReq(CallBacker*);
178  void updateLogsFldCB(CallBacker*);
179 };
180 
181 #endif
Definition: uigroup.h:54
void setBotMarker(const char *mrk, float shift)
Definition: uimultiwelllogsel.h:59
#define mExpClass(module)
Definition: commondefs.h:160
Set of Markers.
Definition: wellmarker.h:76
To be able to send and/or receive CallBacks, inherit from this class.
Definition: callback.h:272
ObjectSet< IOObj > wellobjs_
Definition: uimultiwelllogsel.h:165
Definition: ioobj.h:58
int selidx_
Definition: uimultiwelllogsel.h:76
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
Well::ZRangeSelector & zRangeSel()
Definition: uimultiwelllogsel.h:65
Definition: uimultiwelllogsel.h:32
void setRangeSel(const Well::ZRangeSelector &sel)
Definition: uimultiwelllogsel.h:61
bool init()
uiGenInput * timestepfld_
Definition: uimultiwelllogsel.h:127
void clear(std::ios &)
ZRangeSelector to extract parameters.
Definition: wellextractdata.h:118
const MultiID * singlewid_
Definition: uimultiwelllogsel.h:167
Definition: uiparent.h:26
Set of BufferString objects.
Definition: bufstringset.h:28
List Box.
Definition: uilistbox.h:75
ObjectSet< uiLabel > zlabelflds_
Definition: uimultiwelllogsel.h:73
Parameters (zrg, sampling method) to extract well data.
Definition: wellextractdata.h:47
Allows save/restore of chosen items for a uiListBox.
Definition: uilistboxchoiceio.h:36
uiCheckBox * zistimefld_
Definition: uimultiwelllogsel.h:128
Definition: directionalsurvey.h:19
uiListBox * wellsfld_
Definition: uimultiwelllogsel.h:169
General Input Element.
Definition: uigeninput.h:58
float ztimefac_
Definition: uimultiwelllogsel.h:77
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:137
BufferString prefpropnm_
Definition: uimultiwelllogsel.h:124
Definition: uimultiwelllogsel.h:139
Definition: uimultiwelllogsel.h:35
uiGenInput * depthstepfld_
Definition: uimultiwelllogsel.h:126
const SurveyInfo & SI()
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:40
Definition: uilabel.h:24
uiGenInput * sampfld_
Definition: uimultiwelllogsel.h:129
Setup()
Definition: uimultiwelllogsel.h:93
Well::ZRangeSelector * params_
Definition: uimultiwelllogsel.h:78
Well::ExtractParams & params()
Definition: uimultiwelllogsel.h:111
uiListBox * logsfld_
Definition: uimultiwelllogsel.h:170
uiGenInput * abovefld_
Definition: uimultiwelllogsel.h:69
uiListBoxChoiceIO * wellschoiceio_
Definition: uimultiwelllogsel.h:171
uiGenInput * zchoicefld_
Definition: uimultiwelllogsel.h:74
ObjectSet< uiGroup > zselectionflds_
Definition: uimultiwelllogsel.h:72
Definition: uibutton.h:134
bool singlelog_
Definition: uimultiwelllogsel.h:123
bool dostep_
Definition: uimultiwelllogsel.h:122
void setWellExtractParams(Well::ExtractParams param)
Definition: uimultiwelllogsel.h:113
uiGenInput * belowfld_
Definition: uimultiwelllogsel.h:70
Definition: uimultiwelllogsel.h:90
void setTopMarker(const char *mrk, float shift)
Definition: uimultiwelllogsel.h:57
Compound key consisting of ints.
Definition: multiid.h:25
Setup()
Definition: uimultiwelllogsel.h:38
Definition: uimultiwelllogsel.h:87

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