OpendTect  6.3
uiseissel.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: A.H. Bril
7  Date: July 2001
8 ________________________________________________________________________
9 
10 -*/
11 
12 #include "uiseismod.h"
13 #include "uiioobjsel.h"
14 #include "uiioobjseldlg.h"
15 #include "uicompoundparsel.h"
16 #include "seistype.h"
17 #include "ctxtioobj.h"
18 
19 class uiSeisIOObjInfo;
20 class uiLabeledComboBox;
21 class uiListBox;
22 class uiCheckBox;
23 
24 mExpClass(uiSeis) uiSeisSel : public uiIOObjSel
26 public:
27 
28  struct Setup : public uiIOObjSel::Setup
29  {
30  enum SteerPol { NoSteering=0, OnlySteering=1, InclSteer=2 };
31 
33  : geom_(gt)
34  , allowsetdefault_(true)
35  , steerpol_(NoSteering)
36  , enabotherdomain_(false)
37  , isotherdomain_(false)
38  , survdefsubsel_( 0 )
39  , allowsetsurvdefault_(false)
40  , explprepost_(false)
41  , selectcomp_(false) {}
42  Setup( bool is2d, bool isps )
43  : geom_(Seis::geomTypeOf(is2d,isps))
44  , allowsetdefault_(true)
45  , steerpol_(NoSteering)
46  , enabotherdomain_(false)
47  , isotherdomain_(false)
48  , survdefsubsel_( 0 )
49  , allowsetsurvdefault_(false)
50  , explprepost_(false)
51  , selectcomp_(false) {}
52 
54  mDefSetupMemb(bool,allowsetdefault)
55  mDefSetupMemb(bool,enabotherdomain)
56  mDefSetupMemb(bool,isotherdomain)
57  mDefSetupMemb(SteerPol,steerpol)
59  mDefSetupMemb(const char*,survdefsubsel)
60  mDefSetupMemb(bool,allowsetsurvdefault)
61  mDefSetupMemb(bool,explprepost)
62  mDefSetupMemb(bool,selectcomp)
63 
64  Setup& wantSteering( bool yn=true )
65  {
66  steerpol_ = yn ? OnlySteering : NoSteering;
67  return *this;
68  }
69  };
70 
71  uiSeisSel(uiParent*,const IOObjContext&,const Setup&);
72  ~uiSeisSel();
73 
74  virtual bool fillPar(IOPar&) const;
75  virtual void usePar(const IOPar&);
76 
77  inline Seis::GeomType geomType() const { return seissetup_.geom_; }
78  inline bool is2D() const { return Seis::is2D(seissetup_.geom_); }
79  inline bool isPS() const { return Seis::isPS(seissetup_.geom_); }
80 
81  void setCompNr(int);
82  int compNr() const { return compnr_; }
83  virtual void processInput();
84  virtual bool existingTyped() const;
85  virtual void updateInput();
86 
87  static IOObjContext ioContext(Seis::GeomType,bool forread);
88 
89 protected:
90 
92  int compnr_;
97 
98  Setup mkSetup(const Setup&,bool forread);
99  virtual void fillDefault();
100  virtual void newSelection(uiIOObjRetDlg*);
101  virtual void commitSucceeded();
102  virtual const char* userNameFromKey(const char*) const;
103  virtual const char* compNameFromKey(const char*) const;
104  virtual uiIOObjRetDlg* mkDlg();
105  void mkOthDomBox();
106 
107  virtual const char* getDefaultKey(Seis::GeomType) const;
108 
109 };
110 
111 
114 public:
115 
117  const uiSeisSel::Setup&);
118 
119  virtual void fillPar(IOPar&) const;
120  virtual void usePar(const IOPar&);
121 
122 protected:
123 
129 
130  void entrySel(CallBacker*);
131  const char* getDataType();
132  void getComponentNames(BufferStringSet&) const;
133 private:
134  static uiString gtSelTxt(const uiSeisSel::Setup& setup,bool forread);
135  friend class uiSeisSel;
136 };
137 
138 
141 public:
142 
143  uiSteerCubeSel(uiParent*,bool is2d,
144  bool forread=true,
145  const uiString& txt=
146  toUiString("%1 %2")
147  .arg(uiStrings::sSteering())
148  .arg(uiStrings::sData()));
149 
150 protected:
151 
152  virtual const char* getDefaultKey(Seis::GeomType gt) const;
153 
154 };
#define mExpClass(module)
Definition: commondefs.h:157
Seismics.
Definition: segydirectdef.h:20
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
int steerpol_
Definition: uiseissel.h:125
BufferString notalloweddatatype_
Definition: uiseissel.h:126
Definition: uiioobjsel.h:40
Definition: uiseisioobjinfo.h:16
bool is2D() const
Definition: uiseissel.h:78
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
Dialog letting the user select an object. It returns an IOObj* after successful go().
Definition: uiioobjseldlg.h:20
virtual const char * getDefaultKey(Seis::GeomType) const
bool is2D(GeomType gt)
Definition: seistype.h:32
uiString errmsg_
Definition: uiseissel.h:128
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
BufferString curusrnm_
Definition: uiseissel.h:93
int compnr_
Definition: uiseissel.h:92
Definition: uistring.h:88
Definition: uiparent.h:24
uiLabeledComboBox * compfld_
Definition: uiseissel.h:124
Set of BufferString objects.
Definition: bufstringset.h:25
Holds an IOObjCtxt plus a pointer to an IOObj and/or an IOPar.
Definition: ctxtioobj.h:24
Definition: uiseissel.h:112
Setup(bool is2d, bool isps)
Definition: uiseissel.h:42
Definition: uiioobjseldlg.h:33
List Box.
Definition: uilistbox.h:73
bool isPS() const
Definition: uiseissel.h:79
Setup(Seis::GeomType gt)
Definition: uiseissel.h:32
GeomType
Definition: seistype.h:31
bool isPS(GeomType gt)
Definition: seistype.h:36
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
Definition: uiseissel.h:24
Definition: uiseissel.h:139
uiCheckBox * othdombox_
Definition: uiseissel.h:96
static uiString sData()
Definition: uiseissel.h:28
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:129
uiString toUiString(const DBKey &ky)
Definition: dbkey.h:117
Definition: uicombobox.h:137
User Interface (UI) element for selection of IOObjs.
Definition: uiioobjsel.h:36
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
IOPar dlgiopar_
Definition: uiseissel.h:95
BufferString zdomainkey_
Definition: uiseissel.h:127
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
static uiString sSteering()
Definition: uistrings.h:483
int compNr() const
Definition: uiseissel.h:82
SteerPol
Definition: uiseissel.h:30
Seis::GeomType geomType() const
Definition: uiseissel.h:77
uiString errmsg_
Definition: uiseissel.h:94
GeomType geomTypeOf(const char *)
Definition: uibutton.h:130
Setup seissetup_
Definition: uiseissel.h:91
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