OpendTect  6.3
uiattrsel.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: A.H. Bril
8  Date: April 2001
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uiattributesmod.h"
14 #include "uidlggroup.h"
15 #include "uiiosel.h"
16 #include "attribdescid.h"
17 #include "datapack.h"
18 
19 namespace Attrib { class Desc; class DescSet; class SelInfo; class SelSpec; }
20 namespace ZDomain { class Info; }
21 
22 class IOObj;
23 class NLAModel;
24 class TrcKeyZSampling;
25 class uiButtonGroup;
26 class uiGenInput;
27 class uiIOObjInserter;
28 class uiListBox;
29 class uiLabeledComboBox;
30 class uiRadioButton;
31 
36 mExpClass(uiAttributes) uiAttrSelData
37 { mODTextTranslationClass(uiAttrSelData);
38 public:
39 
40  uiAttrSelData(bool is2d,bool fillwithdef=true);
41  uiAttrSelData(const Attrib::DescSet&,
42  bool fillwithdef=true);
43 
46  int outputnr_;
47  int compnr_;
49 
50  bool is2D() const;
51  const Attrib::DescSet& attrSet() const { return *attrset_; }
52  void setAttrSet( const Attrib::DescSet* ds )
53  { if ( ds ) attrset_ = ds; }
54  void fillSelSpec(Attrib::SelSpec&) const;
55 
56 protected:
57 
59 
60 };
61 
62 
63 
64 mExpClass(uiAttributes) uiAttrSelDlgGroup : public uiDlgGroup
65 {
66 public:
67  virtual ~uiAttrSelDlgGroup();
68 
69 protected:
71  const uiString& caption);
72 
75 };
76 
77 
89 mExpClass(uiAttributes) uiAttrSelDlg : public uiDialog
91 public:
92 
93  mExpClass(uiAttributes) Setup
94  {
95  public:
96  Setup( const uiString& txt )
97  : seltxt_(txt)
98  , ignoreid_(Attrib::DescID::undef())
99  , isinp4otherattrib_(false)
100  , showsteeringdata_(false)
101  {}
102 
103  mDefSetupMemb(uiString,seltxt)
104  mDefSetupMemb(Attrib::DescID,ignoreid)
105  mDefSetupMemb(bool,isinp4otherattrib)
106  mDefSetupMemb(bool,showsteeringdata)
107  };
108 
110  const Setup&);
113  const Setup&);
114  ~uiAttrSelDlg();
115 
116  // if ( go() ) ...
117  Attrib::DescID attribID() const { return attrdata_.attribid_; }
119  int outputNr() const { return attrdata_.outputnr_; }
121  const char* zDomainKey() const;
122 
123  bool is2D() const { return attrdata_.is2D(); }
124  const Attrib::DescSet& getAttrSet() const { return attrdata_.attrSet(); }
125  int selType() const;
126  void fillSelSpec(Attrib::SelSpec&) const;
127 
128 protected:
129 
132  bool usedasinput_; //input for another attribute
136 
139 
146 
155 
158 
159  void initAndBuild(const uiString&,Attrib::DescID,bool);
160  void createSelectionButtons();
161  void createSelectionFields();
162 
163  bool getAttrData(bool);
164  void replaceStoredByInMem();
165  void doFinalise( CallBacker* );
166  void selDone(CallBacker*);
167  void filtChg(CallBacker*);
168  void cubeSel(CallBacker*);
169  void objInserted(CallBacker*);
170  virtual bool acceptOK();
171 };
172 
173 
181 mExpClass(uiAttributes) uiAttrSel : public uiIOSelect
183 public:
185  const char* txt=0,
187  bool isinp4otherattrib = true);
188  uiAttrSel(uiParent*,const char*,const uiAttrSelData&,
189  bool isinp4otherattrib = true);
191 
192  Attrib::DescID attribID() const { return attrdata_.attribid_; }
193  int outputNr() const { return attrdata_.outputnr_; }
194  inline bool is2D() const { return attrdata_.is2D(); }
195  inline bool is3D() const { return !is2D(); }
196 
197  void setDescSet(const Attrib::DescSet*);
199  void setDesc(const Attrib::Desc*);
202  void setSelSpec(const Attrib::SelSpec*);
203  void setNLAModel(const NLAModel*);
204 
205  void setIgnoreDesc(const Attrib::Desc*);
206  void setIgnoreID( Attrib::DescID id ) { ignoreid_ = id; }
207  void setPossibleDataPacks(const TypeSet<DataPack::FullID>&);
208 
209  virtual void getHistory(const IOPar&);
210  virtual void processInput();
211 
212  const char* errMsg() { return errmsg_.str(); }
213  bool getRanges(TrcKeyZSampling&) const;
215 
216  void fillSelSpec(Attrib::SelSpec&) const;
217  bool checkOutput(const IOObj&) const;
218  const char* getAttrName() const;
219 
220  void setObjectName(const char*);
221  const Attrib::DescSet& getAttrSet() const { return attrdata_.attrSet(); }
222 
223 protected:
224 
226  bool is2d_;
228  bool usedasinput_; //input for another attribute
231  int seltype_;
232 
234 
235  void updateInput();
236  void update2D();
237  void doSel(CallBacker*);
238  virtual const char* userNameFromKey(const char*) const;
239 
240  static uiString cDefLabel();
241 };
242 
243 
249 mExpClass(uiAttributes) uiImagAttrSel : public uiAttrSel
251 public:
252  uiImagAttrSel( uiParent* p, const char* txt,
253  const uiAttrSelData& asd )
254  : uiAttrSel(p,txt,asd) {}
255 
256  inline Attrib::DescID realID() const { return attribID(); }
257  Attrib::DescID imagID() const;
258 
259 };
#define mExpClass(module)
Definition: commondefs.h:157
uiImagAttrSel(uiParent *p, const char *txt, const uiAttrSelData &asd)
Definition: uiattrsel.h:252
bool usedasinput_
Definition: uiattrsel.h:132
TypeSet< DataPack::FullID > dpfids_
Definition: uiattrsel.h:137
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
int seltype_
Definition: uiattrsel.h:231
Attrib::DescID attribID() const
-1 if not selected
Definition: uiattrsel.h:117
uiGenInput * filtfld_
Definition: uiattrsel.h:152
uiAttrSelData attrdata_
Definition: uiattrsel.h:130
Definition: ioobj.h:57
const char * str() const
Definition: odstring.h:46
int outputNr() const
Definition: uiattrsel.h:193
Supplies lists of available attribute input.
Definition: attribsel.h:148
uiAttrSelData attrdata_
Definition: uiattrsel.h:225
const char * errMsg()
Definition: uiattrsel.h:212
Definition: uiattrsel.h:93
DBKey insertedobjmid_
Definition: uiattrsel.h:138
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
const Attrib::DescSet * attrset_
Definition: uiattrsel.h:58
uiListBox * listfld_
Definition: uiattrsel.h:73
Minimum Interface for NLA models.
Definition: nlamodel.h:22
bool is2d_
Definition: uiattrsel.h:226
bool is2D(GeomType gt)
Definition: seistype.h:32
User interface element for getting attribute with both real and imaginary part.
Definition: uiattrsel.h:249
Set of attribute descriptions.
Definition: attribdescset.h:29
uiRadioButton * nlafld_
Definition: uiattrsel.h:144
AttribDesc ID: each Desc has a unique ID in a set; the boolean isstored allows us to know whether thi...
Definition: attribdescid.h:25
const NLAModel * nlamodel_
Definition: uiattrsel.h:45
uiRadioButton * steerfld_
Definition: uiattrsel.h:142
Attrib::SelInfo * attrinf_
Definition: uiattrsel.h:131
Definition: uistring.h:88
BufferString usrnm_
Definition: uiattrsel.h:230
Definition: uiparent.h:24
Attrib::DescID attribid_
Definition: uiattrsel.h:44
Definition: uidlggroup.h:24
uiListBox * attroutfld_
Definition: uiattrsel.h:149
uiListBox * storoutfld_
Definition: uiattrsel.h:147
uiLabeledComboBox * compfld_
Definition: uiattrsel.h:154
TypeSet< DataPack::FullID > dpfids_
Definition: uiattrsel.h:233
Definition: uidialog.h:40
Setup(const uiString &txt)
Definition: uiattrsel.h:96
ObjectSet< uiIOObjInserter > inserters_
Definition: uiattrsel.h:156
bool in_action_
Definition: uiattrsel.h:133
uiRadioButton * attrfld_
Definition: uiattrsel.h:143
List Box.
Definition: uilistbox.h:73
uiListBox * zdomoutfld_
Definition: uiattrsel.h:151
BufferString zdomainkey_
Definition: uiattrsel.h:135
FixedString Desc()
Definition: keystrs.h:60
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
const Attrib::DescSet & getAttrSet() const
Definition: uiattrsel.h:124
Description of an attribute in an Attrib::DescSet. Each attribute has a name (e.g. "Similarity"), a user reference (e.g. "My similarity"), and at least one output. In addition, it may have parameters and inputs. If it has multiple outputs, only one of the outputs are selected.
Definition: attribdesc.h:87
bool showsteerdata_
Definition: uiattrsel.h:134
BufferString errmsg_
Definition: uiattrsel.h:229
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:32
inserts a new object into the OD data store.
Definition: uiioobjinserter.h:30
General Input Element.
Definition: uigeninput.h:56
bool is2D() const
Definition: uiattrsel.h:194
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:129
Definition: uicombobox.h:137
uiRadioButton * storfld_
Definition: uiattrsel.h:141
bool is3D() const
Definition: uiattrsel.h:195
int compnr_
Definition: uiattrsel.h:47
uiGenInput * attr2dfld_
Definition: uiattrsel.h:153
static DescID undef()
Definition: attribdescid.h:56
User Interface (UI) element for selection of Attributes from an attribute set.
Definition: uiattrsel.h:89
Definition: uibuttongroup.h:28
Definition: uibutton.h:110
uiListBox * nlaoutfld_
Definition: uiattrsel.h:150
Attrib::DescID realID() const
Definition: uiattrsel.h:256
void setIgnoreID(Attrib::DescID id)
Definition: uiattrsel.h:206
const ZDomain::Info * zdomaininfo_
Definition: uiattrsel.h:48
Attrib::DescID attribID() const
Definition: uiattrsel.h:192
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
BufferString errmsg_
Definition: horizontracker.h:117
uiListBox * steeroutfld_
Definition: uiattrsel.h:148
User interface for attribute selection data.
Definition: uiattrsel.h:36
bool usedasinput_
Definition: uiattrsel.h:228
uiRadioButton * zdomainfld_
Definition: uiattrsel.h:145
User interface element for storing attribute desc selection.
Definition: uiattrsel.h:181
Specifies an attribute selection (ID or output number of NN).
Definition: attribsel.h:43
bool is2D() const
Definition: uiattrsel.h:123
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
Definition: uiattrsel.h:64
void setAttrSet(const Attrib::DescSet *ds)
Definition: uiattrsel.h:52
const Attrib::DescSet & getAttrSet() const
Definition: uiattrsel.h:221
int outputnr_
Definition: uiattrsel.h:46
~uiAttrSel()
Definition: uiattrsel.h:190
ObjectSet< uiButton > insbuts_
Definition: uiattrsel.h:157
uiButtonGroup * selgrp_
Definition: uiattrsel.h:140
UI element for selection of data objects.
Definition: uiiosel.h:28
Information of z-domain.
Definition: zdomain.h:96
Semblance Attribute.
Definition: attribdataholder.h:21
int outputNr() const
-1 if not selected
Definition: uiattrsel.h:119
const Attrib::DescSet & attrSet() const
Definition: uiattrsel.h:51
Definition: zdomain.h:18
uiGenInput * filterfld_
Definition: uiattrsel.h:74
Attrib::DescID ignoreid_
Definition: uiattrsel.h:227

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