OpendTect  6.6
uiiosurface.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: Nanne Hemstra
8  Date: July 2003
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uiearthmodelmod.h"
15 #include "uicompoundparsel.h"
16 #include "uidialog.h"
17 #include "uigroup.h"
18 
19 #include "bufstringset.h"
20 #include "faulttrace.h"
21 #include "trckeysampling.h"
22 #include "posinfo2dsurv.h"
23 #include "emposid.h"
24 
25 class CtxtIOObj;
26 class IODirEntryList;
27 class IOObj;
28 
29 class uiCheckBox;
30 class uiColorInput;
31 class uiFaultOptSel;
32 class uiGenInput;
33 class uiIOObjSel;
34 class uiIOSelect;
35 class uiListBox;
36 class uiPosSubSel;
37 class uiPushButton;
38 class uiStratLevelSel;
39 
40 namespace EM { class Surface; class SurfaceIODataSelection; }
41 
42 
45 mExpClass(uiEarthModel) uiIOSurface : public uiGroup
47 public:
48  ~uiIOSurface();
49 
50  const IOObj* selIOObj() const;
53  void setInput(const MultiID&) const;
54  void setSelAttributes(const BufferStringSet&) const;
55 
56  virtual bool processInput() { return true; }
57 
59  bool haveAttrSel() const;
60  uiIOObjSel* getObjSel() { return objfld_; }
61  uiPosSubSel* getPosSubSel() { return rgfld_; }
62 
63 protected:
64  uiIOSurface(uiParent*,bool forread,
65  const char* type);
66 
67  bool fillFields(const MultiID&,bool showerrmsg=true);
68  void fillFields(const EM::ObjectID&);
72 
73  void mkAttribFld(bool);
74  void mkSectionFld(bool);
75  void mkRangeFld(bool multiss=false);
76  void mkObjFld(const uiString&);
77 
80  virtual void ioDataSelChg(CallBacker*) {}
81 
86 
88  bool forread_;
89 
90  virtual void inpChanged() {}
91 };
92 
93 
94 mExpClass(uiEarthModel) uiSurfaceWrite : public uiIOSurface
96 public:
97 
98  mExpClass(uiEarthModel) Setup
99  {
100  public:
101  Setup( const char* surftyp, const uiString& type_name )
102  : typ_(surftyp)
103  , typname_( type_name )
104  , withsubsel_(false)
105  , withcolorfld_(false)
106  , withstratfld_(false)
107  , withdisplayfld_(false)
108  , displaytext_(tr("Replace in tree"))
109  {}
110 
112  mDefSetupMemb(uiString,typname)
113  mDefSetupMemb(bool,withsubsel)
114  mDefSetupMemb(bool,withcolorfld)
115  mDefSetupMemb(bool,withstratfld)
116  mDefSetupMemb(bool,withdisplayfld)
117  mDefSetupMemb(uiString,displaytext)
118  };
119 
121  const uiSurfaceWrite::Setup& setup);
123  const uiSurfaceWrite::Setup& setup);
124 
125  virtual bool processInput();
126  int getStratLevelID() const;
127  void setColor(const Color&);
128  Color getColor() const;
129  bool replaceInTree() const;
130 
131  uiCheckBox* getDisplayFld() { return displayfld_; }
132 
133 protected:
136 
141 };
142 
143 
144 mExpClass(uiEarthModel) uiSurfaceRead : public uiIOSurface
146 public:
147  mExpClass(uiEarthModel) Setup
148  {
149  public:
150  Setup( const char* surftyp )
151  : typ_(surftyp)
152  , withattribfld_(true)
153  , withsectionfld_(true)
154  , withsubsel_(false)
155  , multisubsel_(false)
156  , multiattribsel_(true)
157  {}
158 
160  mDefSetupMemb(bool,withattribfld)
161  mDefSetupMemb(bool,withsectionfld)
162  mDefSetupMemb(bool,withsubsel)
163  mDefSetupMemb(bool,multisubsel)
164  mDefSetupMemb(bool,multiattribsel)
165  };
166 
168 
169  virtual bool processInput();
170  void setIOObj(const MultiID&);
171 
173 
174 protected:
175 
176  void inpChanged() { inpChange.trigger(); }
177 
178 };
179 
180 
183 public:
184  uiHorizonParSel(uiParent*,bool is2d,
185  bool withclear=false);
187 
190 
191  void fillPar(IOPar&) const;
192  bool usePar(const IOPar&);
193 
195 
196 protected:
197 
200 
201  bool is2d_;
203 };
204 
205 
208 public:
209  uiFaultParSel(uiParent*,bool is2d,
210  bool use_act_option=false);
212 
213  /*Set my own options on selected, optional*/
215  int defaultoptidx=0);
216  const TypeSet<int>& getSelectedOptIndies() const { return optids_; }
217 
219  const TypeSet<FaultTrace::Act>* =0);
221  const TypeSet<MultiID>& selFaultIDs() const { return selfaultids_; }
222 
223  void setEmpty();
225  /*<for FaultStickSet picked from 2D lines.*/
226 
227  void hideClearButton(bool yn=true);
228  void updateOnSelChg(bool isfltset=false);
229  void setIs2D(bool);
230 
232 
233 protected:
234 
235  friend class uiFaultOptSel;
239  bool is2d_;
240  bool isfltset_;
244 
250 };
251 
252 mExpClass(uiEarthModel) uiAuxDataGrp : public uiGroup
254 public:
255  uiAuxDataGrp(uiParent*,bool forread);
257 
258  void setKey(const MultiID&);
259  void setDataName(const char*);
260  const char* getDataName() const;
261 
262 protected:
264 
267 };
268 
269 
270 mExpClass(uiEarthModel) uiAuxDataSel : public uiGroup
272 public:
273  uiAuxDataSel(uiParent*,const char* type,
274  bool withobjsel);
276 
277  void setKey(const MultiID&);
278  void setDataName(const char*);
279  MultiID getKey() const;
280  const char* getDataName() const;
281 
282 protected:
285 
292 };
293 
uiIOSurface
Base group for Surface input and output.
Definition: uiiosurface.h:46
uiFaultParSel::geomids_
TypeSet< Pos::GeomID > geomids_
Definition: uiiosurface.h:243
TrcKeySampling
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:35
uiAuxDataSel::key_
MultiID key_
Definition: uiiosurface.h:290
emposid.h
uiHorizonParSel::doDlg
void doDlg(CallBacker *)
uiAuxDataGrp::setKey
void setKey(const MultiID &)
uiIOSurface::setSelAttributes
void setSelAttributes(const BufferStringSet &) const
uiFaultParSel::setSelectedFaults
void setSelectedFaults(const TypeSet< MultiID > &, const TypeSet< FaultTrace::Act > *=0)
uiIOSurface::ioDataSelChg
virtual void ioDataSelChg(CallBacker *)
Definition: uiiosurface.h:80
Notifier::trigger
void trigger()
Definition: notify.h:132
uiHorizonParSel::fillPar
void fillPar(IOPar &) const
uiIOSurface::getObjSel
uiIOObjSel * getObjSel()
Definition: uiiosurface.h:60
uiAuxDataSel::objtype_
BufferString objtype_
Definition: uiiosurface.h:289
sKey::Surface
FixedString Surface()
Definition: keystrs.h:154
uiSurfaceRead::inpChanged
void inpChanged()
Definition: uiiosurface.h:176
uiSurfaceRead
Definition: uiiosurface.h:145
uiFaultParSel::selfaultids_
TypeSet< MultiID > selfaultids_
Definition: uiiosurface.h:242
uiIOSurface::mkRangeFld
void mkRangeFld(bool multiss=false)
uiIOSurface::mkObjFld
void mkObjFld(const uiString &)
uiSurfaceRead::uiSurfaceRead
mODTextTranslationClass(uiSurfaceRead) public uiSurfaceRead(uiParent *, const Setup &)
uiFaultParSel::defaultoptidx_
int defaultoptidx_
Definition: uiiosurface.h:248
uiFaultParSel::selChange
Notifier< uiFaultParSel > selChange
Definition: uiiosurface.h:231
uiIOSurface::fillFields
bool fillFields(const MultiID &, bool showerrmsg=true)
uiSurfaceWrite::stratLvlChg
void stratLvlChg(CallBacker *)
uiIOSurface::rgfld_
uiPosSubSel * rgfld_
Definition: uiiosurface.h:84
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
uiAuxDataSel::setDataName
void setDataName(const char *)
uiHorizonParSel::usePar
bool usePar(const IOPar &)
CtxtIOObj
Holds an IOObjCtxt plus a pointer to an IOObj and/or an IOPar.
Definition: ctxtioobj.h:146
uiIOSurface::processInput
virtual bool processInput()
Definition: uiiosurface.h:56
uiHorizonParSel::setSelected
void setSelected(const TypeSet< MultiID > &)
uiFaultParSel::optnms_
BufferStringSet optnms_
Definition: uiiosurface.h:246
IODirEntryList
list of dir entries.
Definition: iodirentry.h:38
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uiCheckBox
Definition: uibutton.h:167
uiFaultParSel::selfaultnms_
BufferStringSet selfaultnms_
Definition: uiiosurface.h:241
uiIOSurface::getSelAttributes
void getSelAttributes(BufferStringSet &) const
uiAuxDataSel::getDataName
const char * getDataName() const
uiFaultParSel::clearbut_
uiPushButton * clearbut_
Definition: uiiosurface.h:249
uiFaultParSel::selFaultIDs
const TypeSet< MultiID > & selFaultIDs() const
Definition: uiiosurface.h:221
uiFaultParSel::setActOptions
void setActOptions(const BufferStringSet &, int defaultoptidx=0)
uiIOSurface::fillSectionFld
void fillSectionFld(const BufferStringSet &)
mDefSetupMemb
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:154
uiHorizonParSel
Definition: uiiosurface.h:182
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
sKey::Setup
FixedString Setup()
Definition: keystrs.h:139
uiSurfaceWrite::getStratLevelID
int getStratLevelID() const
uiFaultParSel::~uiFaultParSel
mODTextTranslationClass(uiFaultParSel) public ~uiFaultParSel()
EM
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: bulk2dhorizonscanner.h:26
uiIOSurface::mkAttribFld
void mkAttribFld(bool)
mODTextTranslationClass
#define mODTextTranslationClass(clss)
Definition: uistring.h:40
uiIOSurface::getSelection
void getSelection(EM::SurfaceIODataSelection &) const
uiAuxDataGrp::getDataName
const char * getDataName() const
uigroup.h
uiIOSurface::ctio_
CtxtIOObj * ctio_
Definition: uiiosurface.h:87
uiStratLevelSel
Selector for stratigraphic levels.
Definition: uistratlvlsel.h:24
uiFaultParSel::clearPush
void clearPush(CallBacker *)
uiIOSurface::attrSel
void attrSel(CallBacker *)
EM::Surface
Base class for surfaces like horizons and faults. A surface is made up of one or more segments or pat...
Definition: emsurface.h:33
uiGenInput
General Input Element.
Definition: uigeninput.h:59
uiSurfaceRead::setIOObj
void setIOObj(const MultiID &)
uiFaultParSel::updateOnSelChgCB
void updateOnSelChgCB(CallBacker *)
uiIOSurface::getPosSubSel
uiPosSubSel * getPosSubSel()
Definition: uiiosurface.h:61
uiFaultParSel::is2d_
bool is2d_
Definition: uiiosurface.h:239
uiSurfaceWrite::getColor
Color getColor() const
uiIOSurface::objfld_
uiIOObjSel * objfld_
Definition: uiiosurface.h:85
uiAuxDataSel::seldatanm_
BufferString seldatanm_
Definition: uiiosurface.h:291
uiSurfaceWrite::uiSurfaceWrite
uiSurfaceWrite(uiParent *, const uiSurfaceWrite::Setup &setup)
EM::SurfaceIODataSelection
Surface I/O data selection.
Definition: emsurfaceiodata.h:62
uiIOSelect
UI element for selection of data objects.
Definition: uiiosel.h:30
uiIOSurface::haveAttrSel
bool haveAttrSel() const
uiSurfaceWrite::stratlvlfld_
uiStratLevelSel * stratlvlfld_
Definition: uiiosurface.h:139
uiSurfaceRead::inpChange
Notifier< uiIOSurface > inpChange
Definition: uiiosurface.h:172
uiHorizonParSel::getSelected
const TypeSet< MultiID > & getSelected() const
uiSurfaceWrite::processInput
virtual bool processInput()
uiGroup
Definition: uigroup.h:54
uiAuxDataSel
Definition: uiiosurface.h:271
uiIOSurface::fillAttribFld
void fillAttribFld(const BufferStringSet &)
uiAuxDataSel::~uiAuxDataSel
mODTextTranslationClass(uiAuxDataSel) public ~uiAuxDataSel()
uiAuxDataGrp::listfld_
uiListBox * listfld_
Definition: uiiosurface.h:265
Setup
Definition: ceemdalgo.h:161
uiListBox
List Box.
Definition: uilistbox.h:75
uiIOSurface::selIOObj
mODTextTranslationClass(uiIOSurface) public const IOObj * selIOObj() const
uiFaultParSel::setIs2D
void setIs2D(bool)
uiHorizonParSel::~uiHorizonParSel
mODTextTranslationClass(uiHorizonParSel) public ~uiHorizonParSel()
uiSurfaceWrite::replaceInTree
bool replaceInTree() const
Notifier< uiIOSurface >
faulttrace.h
IOObj
Definition: ioobj.h:58
uiAuxDataGrp::selChg
void selChg(CallBacker *)
uidialog.h
uiHorizonParSel::getSummary
BufferString getSummary() const
uiHorizonParSel::selids_
TypeSet< MultiID > selids_
Definition: uiiosurface.h:202
uicompoundparsel.h
uiAuxDataGrp::~uiAuxDataGrp
mODTextTranslationClass(uiAuxDataGrp) public ~uiAuxDataGrp()
uiIOSurface::sectionfld_
uiListBox * sectionfld_
Definition: uiiosurface.h:82
uiPosSubSel
Group to capture a user's position subselection wishes.
Definition: uipossubsel.h:33
uiAuxDataSel::getKey
MultiID getKey() const
uiIOSurface::mkSectionFld
void mkSectionFld(bool)
uiHorizonParSel::clearPush
void clearPush(CallBacker *)
MultiID
Compound key consisting of ints.
Definition: multiid.h:24
uiFaultParSel::getSelectedOptIndies
const TypeSet< int > & getSelectedOptIndies() const
Definition: uiiosurface.h:216
uiSurfaceRead::processInput
virtual bool processInput()
uiSurfaceWrite::surfrange_
TrcKeySampling surfrange_
Definition: uiiosurface.h:140
uiFaultParSel::useoptions_
bool useoptions_
Definition: uiiosurface.h:245
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
uiAuxDataSel::auxdatafld_
uiIOSelect * auxdatafld_
Definition: uiiosurface.h:284
uiColorInput
small element for color selection. Has no text label.
Definition: uicolor.h:44
uiFaultParSel::hideClearButton
void hideClearButton(bool yn=true)
bufstringset.h
uiIOSurface::fillFields
void fillFields(const EM::ObjectID &)
uiFaultParSel::optids_
TypeSet< int > optids_
Definition: uiiosurface.h:247
uiIOSurface::attribfld_
uiListBox * attribfld_
Definition: uiiosurface.h:83
uiFaultParSel::isfltset_
bool isfltset_
Definition: uiiosurface.h:240
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
EM::ObjectID
od_int32 ObjectID
Definition: emposid.h:23
uiFaultParSel::setGeomIDs
void setGeomIDs(const TypeSet< Pos::GeomID > &)
uiIOSurface::attrSelChange
Notifier< uiIOSurface > attrSelChange
Definition: uiiosurface.h:58
uiFaultParSel::doDlg
void doDlg(CallBacker *)
uiAuxDataSel::finalizeCB
void finalizeCB(CallBacker *)
uiSurfaceWrite
Definition: uiiosurface.h:95
uiSurfaceWrite::ioDataSelChg
void ioDataSelChg(CallBacker *)
uiFaultParSel::updateOnSelChg
void updateOnSelChg(bool isfltset=false)
uiIOSurface::fillRangeFld
void fillRangeFld(const TrcKeySampling &)
uiFaultParSel::getSummary
BufferString getSummary() const
uiIOObjSel
User Interface (UI) element for selection of IOObjs.
Definition: uiioobjsel.h:38
uiSurfaceWrite::colbut_
uiColorInput * colbut_
Definition: uiiosurface.h:138
uiAuxDataGrp::inpfld_
uiGenInput * inpfld_
Definition: uiiosurface.h:266
uiIOSurface::inpChanged
virtual void inpChanged()
Definition: uiiosurface.h:90
uiParent
Definition: uiparent.h:26
trckeysampling.h
uiSurfaceWrite::displayfld_
uiCheckBox * displayfld_
Definition: uiiosurface.h:137
uiIOSurface::uiIOSurface
uiIOSurface(uiParent *, bool forread, const char *type)
uiFaultParSel::setEmpty
void setEmpty()
uiAuxDataGrp
Definition: uiiosurface.h:253
uiAuxDataSel::objSelCB
void objSelCB(CallBacker *)
uiFaultParSel
Definition: uiiosurface.h:207
uiAuxDataSel::objfld_
uiIOObjSel * objfld_
Definition: uiiosurface.h:283
Color
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer,...
Definition: color.h:26
uiSurfaceWrite::uiSurfaceWrite
mODTextTranslationClass(uiSurfaceWrite) public uiSurfaceWrite(uiParent *, const EM::Surface &, const uiSurfaceWrite::Setup &setup)
uiSurfaceWrite::getDisplayFld
uiCheckBox * getDisplayFld()
Definition: uiiosurface.h:131
posinfo2dsurv.h
uiIOSurface::setInput
void setInput(const MultiID &) const
uiAuxDataSel::auxSelCB
void auxSelCB(CallBacker *)
uiCompoundParSel
Single-line element allowing multi-parameter to be set via a dialog.
Definition: uicompoundparsel.h:31
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
uiIOSurface::forread_
bool forread_
Definition: uiiosurface.h:88
uiSurfaceWrite::setColor
void setColor(const Color &)
TypeSet< MultiID >
uiPushButton
is the base class for all buttons.
Definition: uibutton.h:88
uiAuxDataSel::setKey
void setKey(const MultiID &)
uiHorizonParSel::is2d_
bool is2d_
Definition: uiiosurface.h:201
uiIOSurface::objSel
void objSel(CallBacker *)
uiAuxDataGrp::setDataName
void setDataName(const char *)

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