OpendTect  6.6
uiioobjselgrp.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  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uiiomod.h"
15 #include "uigroup.h"
16 #include "multiid.h"
17 #include "bufstringset.h"
18 
19 
20 class IOObj;
21 class CtxtIOObj;
22 class Translator;
23 class IOObjContext;
24 class uiComboBox;
25 class uiGenInput;
26 class uiIOObjManipGroup;
27 class uiIOObjSelGrp;
28 class uiIOObjSelGrpManipSubj;
29 class uiListBox;
30 class uiButton;
31 class uiToolButton;
32 class uiIOObjInserter;
33 class uiListBoxChoiceIO;
35 
36 
48 public:
49 
51  {
52  public:
54  : choicemode_(cm)
55  , allowreloc_(false)
56  , allowremove_(true)
57  , allowsetdefault_(false)
58  , withinserters_(true)
59  , withwriteopts_(true)
60  , confirmoverwrite_(true)
61  , withctxtfilter_(BufferString()) {}
62 
64  mDefSetupMemb(bool,allowreloc);
65  mDefSetupMemb(bool,allowremove);
66  mDefSetupMemb(bool,allowsetdefault);
67  mDefSetupMemb(bool,withinserters);
68  mDefSetupMemb(bool,withwriteopts);
69  mDefSetupMemb(bool,confirmoverwrite);
70  mDefSetupMemb(BufferString, withctxtfilter);
72 
73  inline bool isMultiChoice() const
74  { return ::isMultiChoice( choicemode_ ); }
75  };
76 
77 # define mDefuiIOObjSelGrpConstructors(ctxtclss) \
78  uiIOObjSelGrp(uiParent*,const ctxtclss&); \
79  uiIOObjSelGrp(uiParent*,const ctxtclss&, \
80  const uiString& seltxt); \
81  uiIOObjSelGrp(uiParent*,const ctxtclss&, \
82  const Setup&); \
83  uiIOObjSelGrp(uiParent*,const ctxtclss&, \
84  const uiString& seltxt,const Setup&); \
85  uiIOObjSelGrp(uiParent*,const ctxtclss&, \
86  const BufferStringSet& trnotallowed); \
87  uiIOObjSelGrp(uiParent*,const ctxtclss&, \
88  const uiString& seltxt, \
89  const BufferStringSet& trnotallowed); \
90  uiIOObjSelGrp(uiParent*,const ctxtclss&, \
91  const Setup&,const BufferStringSet& trnotallowed); \
92  uiIOObjSelGrp(uiParent*,const ctxtclss&, \
93  const uiString& seltxt,const Setup&, \
94  const BufferStringSet& trnotallowed)
95 
99 
102 
103  bool isEmpty() const;
104  int size() const;
105  inline bool isMultiChoice() const { return setup_.isMultiChoice(); }
106 
107  // mostly interesting for read
108  int currentItem() const;
110  int nrChosen() const;
111  bool isChosen(int) const;
112  const MultiID& chosenID(int idx=0) const;
115  void setCurrent(int);
116  void setCurrent(const MultiID&);
117  void setChosen(int,bool yn=true);
119  void chooseAll(bool yn=true);
120 
122  const CtxtIOObj& getCtxtIOObj() const { return ctio_; }
123  const IOObjContext& getContext() const;
124  void setContext(const IOObjContext&);
126 
127  uiGroup* getTopGroup() { return topgrp_; }
128  uiGenInput* getNameField() { return nmfld_; }
130  uiListBox* getListField() { return listfld_; }
132  void displayManipGroup(bool yn,bool shrink=false);
133  const ObjectSet<MultiID>& getIOObjIds() const { return ioobjids_; }
134 
135  void setConfirmOverwrite( bool yn )
136  { setup_.confirmoverwrite_ = yn; }
137  void setAskedToOverwrite( bool yn )
138  { asked2overwrite_ = yn; }
139  bool askedToOverwrite() const { return asked2overwrite_; }
140  void setSurveyDefaultSubsel(const char* subsel);
141 
142  virtual bool fillPar(IOPar&) const;
143  virtual void usePar(const IOPar&);
144 
151  void fullUpdate(const MultiID& kpselected);
152  void fullUpdate(int);
153 
154 protected:
155 
164 
168  uiIOObjSelGrpManipSubj* manipgrpsubj;
175  uiComboBox* ctxtfiltfld_ = nullptr;
176 
177  void fillListBox();
179  virtual bool createEntry(const char*);
181  void triggerStatusMsg(const char*);
182 
194 
195 
196 private:
197 
199  void mkTopFlds(const uiString&);
200  void mkWriteFlds();
202 
204 
205  friend class uiIOObjSelDlg;
206  friend class uiIOObjSelGrpManipSubj;
207 
208 };
209 
210 
uiIOObjSelGrp::nameAvCB
void nameAvCB(CallBacker *)
uiIOObjSelGrp::createEntry
virtual bool createEntry(const char *)
uiIOObjSelGrp::wrtrselfld_
uiIOObjSelWriteTranslator * wrtrselfld_
Definition: uiioobjselgrp.h:169
uiIOObjSelGrp::newOutputNameCB
void newOutputNameCB(CallBacker *)
uiIOObjSelGrp::asked2overwrite_
bool asked2overwrite_
Definition: uiioobjselgrp.h:162
uiIOObjSelGrp::fullUpdate
void fullUpdate(const MultiID &kpselected)
uiIOObjSelGrp::inserters_
ObjectSet< uiIOObjInserter > inserters_
Definition: uiioobjselgrp.h:173
uiIOObjSelGrp::ioobjids_
ObjectSet< MultiID > ioobjids_
Definition: uiioobjselgrp.h:158
uiIOObjSelGrp::Setup::mDefSetupMemb
mDefSetupMemb(OD::ChoiceMode, choicemode)
uiIOObjSelGrp::setAskedToOverwrite
void setAskedToOverwrite(bool yn)
Definition: uiioobjselgrp.h:137
uiIOObjSelGrp::Setup::mDefSetupMemb
mDefSetupMemb(bool, confirmoverwrite)
uiIOObjSelGrp::setDefTranslator
void setDefTranslator(const Translator *)
uiIOObjSelGrp::selChg
void selChg(CallBacker *)
ObjectSet< MultiID >
uiIOObjSelGrp::getManipGroup
uiIOObjManipGroup * getManipGroup()
uiIOObjSelGrp::getContext
const IOObjContext & getContext() const
uiIOObjSelGrp::Setup::mDefSetupMemb
mDefSetupMemb(BufferString, withctxtfilter)
key can be either a translator group name or omf metadata key
uiIOObjSelGrp::chooseAll
void chooseAll(bool yn=true)
uiIOObjSelGrp::listfld_
uiListBox * listfld_
Definition: uiioobjselgrp.h:165
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
uiListBoxChoiceIO
Allows save/restore of chosen items for a uiListBox.
Definition: uilistboxchoiceio.h:36
uiIOObjSelGrp::setTrNotAllowed
void setTrNotAllowed(const BufferStringSet &)
CtxtIOObj
Holds an IOObjCtxt plus a pointer to an IOObj and/or an IOPar.
Definition: ctxtioobj.h:146
uiComboBox
Combo box.
Definition: uicombobox.h:32
isMultiChoice
bool isMultiChoice(OD::ChoiceMode cm)
Definition: oduicommon.h:114
uiIOObjSelGrp::selectionChanged
Notifier< uiIOObjSelGrp > selectionChanged
Definition: uiioobjselgrp.h:145
uiIOObjSelGrp::lbchoiceio_
uiListBoxChoiceIO * lbchoiceio_
Definition: uiioobjselgrp.h:171
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uiIOObjSelGrp::insertbuts_
ObjectSet< uiButton > insertbuts_
Definition: uiioobjselgrp.h:172
uiIOObjSelGrp
Basic group for letting the user select an object.
Definition: uiioobjselgrp.h:47
uiIOObjSelGrp::mkTopFlds
void mkTopFlds(const uiString &)
uiIOObjSelGrp::topgrp_
uiGroup * topgrp_
Definition: uiioobjselgrp.h:174
uiIOObjSelGrp::Setup::mDefSetupMemb
mDefSetupMemb(bool, allowremove)
uiIOObjSelGrp::~uiIOObjSelGrp
~uiIOObjSelGrp()
uiIOObjSelGrp::objInserted
void objInserted(CallBacker *)
uiIOObjSelGrp::setChosen
void setChosen(const TypeSet< MultiID > &)
uiIOObjSelGrp::nmfld_
uiGenInput * nmfld_
Definition: uiioobjselgrp.h:166
uiIOObjSelGrp::getChosen
void getChosen(BufferStringSet &) const
mDefuiIOObjSelGrpConstructors
#define mDefuiIOObjSelGrpConstructors(ctxtclss)
Definition: uiioobjselgrp.h:77
uiIOObjSelGrp::isEmpty
bool isEmpty() const
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
uiIOObjSelGrp::isMultiChoice
bool isMultiChoice() const
Definition: uiioobjselgrp.h:105
uiIOObjSelGrp::askedToOverwrite
bool askedToOverwrite() const
Definition: uiioobjselgrp.h:139
uiIOObjSelGrp::surveydefaultsubsel_
BufferString surveydefaultsubsel_
Definition: uiioobjselgrp.h:161
uiIOObjSelGrp::fillListBox
void fillListBox()
uiIOObjManipGroup
Buttongroup to manipulate an IODirEntryList.
Definition: uiioobjmanip.h:84
uiIOObjSelGrp::mODTextTranslationClass
mODTextTranslationClass(uiIOObjSelGrp)
uigroup.h
uiIOObjSelGrp::triggerStatusMsg
void triggerStatusMsg(const char *)
uiIOObjSelGrp::getIOObj
IOObj * getIOObj(int)
uiGenInput
General Input Element.
Definition: uigeninput.h:59
uiIOObjSelGrp::getIOObjIds
const ObjectSet< MultiID > & getIOObjIds() const
Definition: uiioobjselgrp.h:133
uiIOObjSelGrp::itemChosen
Notifier< uiIOObjSelGrp > itemChosen
Definition: uiioobjselgrp.h:146
uiIOObjSelGrp::mkdefbut_
uiToolButton * mkdefbut_
Definition: uiioobjselgrp.h:170
uiIOObjSelGrp::setCurrent
void setCurrent(const MultiID &)
multiid.h
uiIOObjSelGrp::currentItem
int currentItem() const
uiIOObjSelGrp::setInitial
void setInitial(CallBacker *)
uiIOObjSelDlg
Definition: uiioobjseldlg.h:35
uiIOObjSelGrp::isChosen
bool isChosen(int) const
uiIOObjSelGrp::readChoiceDone
void readChoiceDone(CallBacker *)
uiIOObjSelGrp::getListField
uiListBox * getListField()
Definition: uiioobjselgrp.h:130
uiIOObjSelGrp::displayManipGroup
void displayManipGroup(bool yn, bool shrink=false)
uiIOObjSelGrp::nrChosen
int nrChosen() const
uiGroup
Definition: uigroup.h:54
OD::ChooseOnlyOne
@ ChooseOnlyOne
Definition: oduicommon.h:44
uiIOObjSelGrp::setChosen
void setChosen(int, bool yn=true)
uiIOObjSelGrp::updateCtxtIOObj
bool updateCtxtIOObj()
mostly interesting for write
uiIOObjSelGrp::chosenID
const MultiID & chosenID(int idx=0) const
uiIOObjSelGrp::getTrNotAllowed
const BufferStringSet & getTrNotAllowed() const
uiIOObjSelGrp::dispnms_
BufferStringSet dispnms_
Definition: uiioobjselgrp.h:160
IOObjContext
Holds the context for selecting and/or creating IOObjs.
Definition: ctxtioobj.h:62
uiListBox
List Box.
Definition: uilistbox.h:75
uiIOObjSelGrp::setContext
void setContext(const IOObjContext &)
uiIOObjSelGrp::filtChg
void filtChg(CallBacker *)
uiIOObjSelGrp::getCtxtIOObj
const CtxtIOObj & getCtxtIOObj() const
Definition: uiioobjselgrp.h:122
Notifier< uiIOObjSelGrp >
uiIOObjSelGrp::mkWriteFlds
void mkWriteFlds()
IOObj
Definition: ioobj.h:58
uiIOObjSelGrp::getNameField
uiGenInput * getNameField()
Definition: uiioobjselgrp.h:128
uiIOObjSelGrp::fullUpdate
void fullUpdate(int)
uiIOObjSelGrp::fillPar
virtual bool fillPar(IOPar &) const
uiIOObjSelWriteTranslator
Group for selecting output translator.
Definition: uiioobjselwritetransl.h:80
uiIOObjSelGrp::Setup::mDefSetupMemb
mDefSetupMemb(bool, allowreloc)
uiIOObjSelGrp::updStatusBarInfo
IOObj * updStatusBarInfo(bool)
uiIOObjSelGrp::choiceChg
void choiceChg(CallBacker *)
uiIOObjSelGrp::currentID
MultiID currentID() const
MultiID
Compound key consisting of ints.
Definition: multiid.h:24
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
uiIOObjInserter
inserts a new object into the OD data store.
Definition: uiioobjinserter.h:31
uiIOObjSelGrp::Setup::mDefSetupMemb
mDefSetupMemb(bool, allowsetdefault)
uiIOObjSelGrp::Setup::mDefSetupMemb
mDefSetupMemb(bool, withinserters)
uiIOObjSelGrp::getTopGroup
uiGroup * getTopGroup()
Definition: uiioobjselgrp.h:127
bufstringset.h
uiObject
The base class for most UI elements.
Definition: uiobj.h:38
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
uiString::emptyString
static const uiString & emptyString()
Definition: uistring.h:300
uiIOObjSelGrp::writeChoiceReq
void writeChoiceReq(CallBacker *)
OD::ChoiceMode
ChoiceMode
What to choose from any list-type UI object.
Definition: oduicommon.h:42
uiIOObjSelGrp::usePar
virtual void usePar(const IOPar &)
uiIOObjSelGrp::manipgrpsubj
uiIOObjSelGrpManipSubj * manipgrpsubj
Definition: uiioobjselgrp.h:168
uiIOObjSelGrp::setCurrent
void setCurrent(int)
uiIOObjSelGrp::newStatusMsg
Notifier< uiIOObjSelGrp > newStatusMsg
Definition: uiioobjselgrp.h:147
Translator
I/O Interpreter class for a certain object type.
Definition: transl.h:123
uiIOObjSelGrp::iconnms_
ObjectSet< const char > iconnms_
Definition: uiioobjselgrp.h:163
uiIOObjSelGrp::mkManipulators
void mkManipulators()
uiIOObjSelGrp::Setup::isMultiChoice
bool isMultiChoice() const
Definition: uiioobjselgrp.h:73
uiIOObjSelGrp::Setup::mDefSetupMemb
mDefSetupMemb(bool, withwriteopts)
uiIOObjSelGrp::ioobjnms_
BufferStringSet ioobjnms_
Definition: uiioobjselgrp.h:159
uiIOObjSelGrp::size
int size() const
uiIOObjSelGrp::ctxtChgCB
void ctxtChgCB(CallBacker *)
uiIOObjSelGrp::ctio_
CtxtIOObj & ctio_
Definition: uiioobjselgrp.h:156
uiIOObjSelGrp::delPress
void delPress(CallBacker *)
uiIOObjSelGrp::filtfld_
uiGenInput * filtfld_
Definition: uiioobjselgrp.h:167
uiIOObjSelGrp::setConfirmOverwrite
void setConfirmOverwrite(bool yn)
Definition: uiioobjselgrp.h:135
uiIOObjSelGrp::makeDefaultCB
void makeDefaultCB(CallBacker *)
uiIOObjSelGrp::Setup
Definition: uiioobjselgrp.h:51
uiIOObjSelGrp::getChosen
void getChosen(TypeSet< MultiID > &) const
uiIOObjSelGrp::init
void init(const uiString &st=uiString::emptyString())
uiToolButton
Definition: uitoolbutton.h:22
uiIOObjSelGrp::setSurveyDefaultSubsel
void setSurveyDefaultSubsel(const char *subsel)
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
uiIOObjSelGrp::setup_
Setup setup_
Definition: uiioobjselgrp.h:157
uiIOObjSelGrp::getFilterFieldAttachObj
uiObject * getFilterFieldAttachObj()
TypeSet< MultiID >
uiIOObjSelGrp::Setup::Setup
Setup(OD::ChoiceMode cm=OD::ChooseOnlyOne)
Definition: uiioobjselgrp.h:53

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