OpendTect  6.6
uiposprovider.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: Bert
8  Date: Feb 2008
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uiiomod.h"
15 #include "uicompoundparsel.h"
16 #include "uidialog.h"
17 #include "uiposprovgroup.h"
18 #include "iopar.h"
19 
20 class uiButton;
21 class uiGenInput;
22 namespace Pos { class Provider; }
23 class uiPosProvGroup;
24 class TrcKeyZSampling;
25 
30 public:
31 
32  struct Setup : public uiPosProvGroup::Setup
33  {
34  enum ChoiceType { All, OnlySeisTypes, OnlyRanges, RangewithPolygon,
35  VolumeTypes };
36 
37  Setup( bool is_2d, bool with_step, bool with_z )
38  : uiPosProvGroup::Setup(is_2d,with_step,with_z)
39  , seltxt_(uiStrings::sPosition(2))
40  , allownone_(false)
41  , useworkarea_(true)
42  , choicetype_(OnlyRanges) {}
43  virtual ~Setup() {}
44 
45  mDefSetupMemb(uiString,seltxt)
46  mDefSetupMemb(ChoiceType,choicetype)
47  mDefSetupMemb(bool,allownone)
48  mDefSetupMemb(bool,useworkarea)
49  };
50 
53 
54  void usePar(const IOPar&);
55  bool fillPar(IOPar&) const;
57 
59  void getSampling(TrcKeyZSampling&,const IOPar* =0) const;
60 
62  bool hasRandomSampling() const;
63 
65 
66  bool is2D() const { return setup_.is2d_; }
67  bool isAll() const { return !curGrp(); }
68 
69 protected:
70 
72  uiButton* fullsurvbut_;
73  uiButton* openbut_;
74  uiButton* savebut_;
77 
83 };
84 
85 
89 {
90 public:
91 
93 
96 
97  void usePar(const IOPar&);
98  void fillPar( IOPar& iop ) const { iop.merge(iop_); }
99 
100  Pos::Provider* curProvider() { return prov_; }
101  const Pos::Provider* curProvider() const { return prov_; }
102 
103  const TrcKeyZSampling& envelope() const;
104  void setInput(const TrcKeyZSampling&,bool chgtype=true);
105  void setInput(const TrcKeyZSampling& initcs,
106  const TrcKeyZSampling& ioparcs);
108  const TrcKeyZSampling& inputLimit() const { return setup_.tkzs_; }
109 
110  bool isAll() const;
111  void setToAll();
112 
113 protected:
114 
119 
122  void setCSToAll() const;
124  void mkNewProv(bool updsumm=true);
125 };
126 
127 
132 public:
133  typedef uiPosProvider::Setup Setup;
134 
137 
139  void getSampling(TrcKeyZSampling&,const IOPar* =0) const;
140 
141 protected:
143 
145 };
146 
147 
uiPosProvSel::mkNewProv
void mkNewProv(bool updsumm=true)
uiPosProvider::grps_
ObjectSet< uiPosProvGroup > grps_
Definition: uiposprovider.h:75
uiPosProvider::openbut_
uiButton * openbut_
Definition: uiposprovider.h:73
uiPosProvDlg::uiPosProvDlg
mODTextTranslationClass(uiPosProvDlg) public uiPosProvDlg(uiParent *, const Setup &, const uiString &)
Pos
Position.
Definition: commontypes.h:78
uiPosProvider::usePar
void usePar(const IOPar &)
uiPosProvSel::setToAll
void setToAll()
ObjectSet< uiPosProvGroup >
uiPosProvider::selChg
void selChg(CallBacker *)
uiPosProvDlg::getSampling
void getSampling(TrcKeyZSampling &, const IOPar *=0) const
uiPosProvSel::inputLimit
const TrcKeyZSampling & inputLimit() const
Definition: uiposprovider.h:108
uiPosProvSel::envelope
const TrcKeyZSampling & envelope() const
uiPosProvSel::getSummary
BufferString getSummary() const
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
Setup::Setup
Setup()
IOPar::merge
void merge(const IOPar &)
merge entries using the set() command
Setup::mDefSetupMemb
mDefSetupMemb(int, method)
uiPosProvSel::setInput
void setInput(const TrcKeyZSampling &initcs, const TrcKeyZSampling &ioparcs)
uiPosProvDlg::acceptOK
bool acceptOK(CallBacker *)
confirm accept
uiPosProvSel::setProvFromCS
void setProvFromCS()
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
uiPosProvider::hasRandomSampling
bool hasRandomSampling() const
uiPosProvSel::fillPar
void fillPar(IOPar &iop) const
Definition: uiposprovider.h:98
mODTextTranslationClass
#define mODTextTranslationClass(clss)
Definition: uistring.h:40
uiPosProvSel::usePar
void usePar(const IOPar &)
uiPosProvSel::doDlg
void doDlg(CallBacker *)
TrcKeyZSampling
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
uiGenInput
General Input Element.
Definition: uigeninput.h:59
uiPosProvider::setup_
Setup setup_
Definition: uiposprovider.h:76
uiPosProvSel::setInputLimit
void setInputLimit(const TrcKeyZSampling &)
uiPosProvider::setSampling
void setSampling(const TrcKeyZSampling &)
uiPosProvider::posProvGroupChanged
Notifier< uiPosProvider > posProvGroupChanged
Definition: uiposprovider.h:61
uiGroup
Definition: uigroup.h:54
uiPosProvSel::setInput
void setInput(const TrcKeyZSampling &, bool chgtype=true)
uiPosProvider::fullSurvPush
void fullSurvPush(CallBacker *)
uiDialog::Setup
description of properties of dialog.
Definition: uidialog.h:50
uiPosProvSel::Setup
uiPosProvider::Setup Setup
Definition: uiposprovider.h:92
uiPosProvider::setExtractionDefaults
void setExtractionDefaults()
Setup
Definition: ceemdalgo.h:161
uiPosProvSel::curProvider
const Pos::Provider * curProvider() const
Definition: uiposprovider.h:101
Notifier< uiPosProvider >
uiPosProvSel
CompoundParSel to capture a user's Pos::Provider wishes.
Definition: uiposprovider.h:89
uiPosProvider::is2D
bool is2D() const
Definition: uiposprovider.h:66
uidialog.h
uiPosProvDlg::selfld_
uiPosProvider * selfld_
Definition: uiposprovider.h:144
uicompoundparsel.h
uiPosProvSel::setCSToAll
void setCSToAll() const
uiPosProvDlg::~uiPosProvDlg
~uiPosProvDlg()
uiPosProvider::~uiPosProvider
~uiPosProvider()
uiPosProvSel::tkzs_
TrcKeyZSampling & tkzs_
Definition: uiposprovider.h:118
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
uiPosProvGroup::Setup
Definition: uiposprovgroup.h:27
uiPosProvider::fillPar
bool fillPar(IOPar &) const
uiPosProvider::curGrp
uiPosProvGroup * curGrp() const
uiPosProvSel::isAll
bool isAll() const
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
uiPosProvider::fullsurvbut_
uiButton * fullsurvbut_
Definition: uiposprovider.h:72
uiPosProvider::saveCB
void saveCB(CallBacker *)
uiPosProvDlg
Dialog to capture a user's Pos::Provider wishes.
Definition: uiposprovider.h:131
uiPosProvider::getSampling
void getSampling(TrcKeyZSampling &, const IOPar *=0) const
uiPosProvSel::iop_
IOPar iop_
Definition: uiposprovider.h:116
uiposprovgroup.h
uiPosProvider::openCB
void openCB(CallBacker *)
uiPosProvider::savebut_
uiButton * savebut_
Definition: uiposprovider.h:74
uiPosProvider
lets user choose a way to provide positions
Definition: uiposprovider.h:29
uiStrings::sPosition
static uiString sPosition(int num=1)
Definition: uistrings.h:505
uiPosProvider::selfld_
uiGenInput * selfld_
Definition: uiposprovider.h:71
uiPosProvider::isAll
bool isAll() const
Definition: uiposprovider.h:67
uiPosProvSel::prov_
Pos::Provider * prov_
Definition: uiposprovider.h:117
iopar.h
uiParent
Definition: uiparent.h:26
uiPosProvSel::curProvider
Pos::Provider * curProvider()
Definition: uiposprovider.h:100
uiPosProvDlg::setSampling
void setSampling(const TrcKeyZSampling &)
uiDialog
Definition: uidialog.h:42
uiPosProvGroup
group for providing positions, usually for 2D or 3D seismics
Definition: uiposprovgroup.h:23
Pos::Provider
Provides a series of positions; can also be used for subselection.
Definition: posprovider.h:33
uiPosProvSel::~uiPosProvSel
~uiPosProvSel()
uiPosProvider::uiPosProvider
mODTextTranslationClass(uiPosProvider) public uiPosProvider(uiParent *, const Setup &)
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
uiPosProvider::createProvider
Pos::Provider * createProvider() const
uiPosProvSel::uiPosProvSel
uiPosProvSel(uiParent *, const Setup &)
sKey::All
FixedString All()
Definition: keystrs.h:35
uiPosProvSel::setup_
Setup setup_
Definition: uiposprovider.h:115

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