OpendTect  6.6
uiioobjsel.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 "uiiosel.h"
16 #include "helpview.h"
17 
18 class IOObj;
19 class CtxtIOObj;
20 class IOObjContext;
21 class uiIOObjRetDlg;
22 class uiIOObjInserter;
24 
25 
39 public:
40 
42  {
43  public:
44  Setup(const uiString& seltxt=uiString::empty())
45  : uiIOSelect::Setup(seltxt)
46  , confirmoverwr_(true)
47  , withinserters_(true)
48  , withwriteopts_(true)
49  , filldef_(true) {}
50 
51  mDefSetupMemb(bool,confirmoverwr)
52  mDefSetupMemb(bool,withinserters)
53  mDefSetupMemb(bool,withwriteopts)
54  mDefSetupMemb(bool,filldef)
55 
57  Setup( const char * txt )
58  : Setup(toUiString(txt)) {}
59  };
60 
62  const uiString& seltxt=uiString::empty());
65  const BufferStringSet& trnotallowed,
66  const IOObjContext&,
67  const uiString& seltxt=uiString::empty());
69  const BufferStringSet& trnotallowed,const Setup&);
71 
74 
75  void setInput(const IOObj&);
76  void setInput(const MultiID&);
77  virtual void setEmpty();
78 
79  MultiID key(bool noerr=false) const;
80  const IOObj* ioobj(bool noerr=false) const;
81  IOObj* getIOObj(bool noerr=false);
82 
83  virtual bool fillPar(IOPar&) const;
84  bool fillPar(IOPar&,const char* baseky) const;
85  virtual void usePar(const IOPar&);
86  void usePar(const IOPar&,const char* baseky);
87 
88  void fillEntries();
89  void setConfirmOverwrite( bool yn )
90  { setup_.confirmoverwr_ = yn; }
91  void setHelpKey(const HelpKey& helpkey) { helpkey_=helpkey; }
92 
93  virtual void updateInput();
94  virtual void processInput();
95  virtual bool existingTyped() const
97  { return existingUsrName(getInput()); }
100 
101  virtual MultiID validKey() const;
102  virtual uiObject* endObj(bool left);
103 
105 
106 protected:
107 
109 
116 
122  void initRead();
123 
124  virtual const char* userNameFromKey(const char*) const;
125  virtual void objSel();
126  virtual void commitSucceeded() {}
127 
128  virtual void fillDefault();
129  virtual void newSelection(uiIOObjRetDlg*) {}
130  virtual uiIOObjRetDlg* mkDlg();
131  virtual IOObj* createEntry(const char*);
132  void obtainIOObj();
133  bool existingUsrName(const char*) const;
134  void doCommit(bool) const;
135 
136 private:
137 
138  void init();
139 
140 public: // old style
141 
142  /* Comments for old style only:
143 On creation, the object makes a copy of your CtxtIOObj. When needed, you can do
144 commitInput() to get the selection in your input CtxtIOObj;
145 
146 You *have* to do commitInput() to get any selection! Other functions like
147 processInput() are special stuff for special situations.
148 
149 You have to check commitInput() and issue and error message if necessary. In
150 the new style, this is done if the setup.optional_ flag is false (this is the
151 default).
152 */
153 
155  const uiString& seltxt=uiString::empty());
158  const BufferStringSet& trnotallowed,
159  CtxtIOObj&,const uiString& seltxt=uiString::empty());
161  const BufferStringSet& trnotallowed,const Setup&);
162  bool commitInput();
163  bool doCommitInput(bool&);
164  CtxtIOObj& ctxtIOObj( bool work=false )
165  { return work ? workctio_ : inctio_; }
166 
167  mDeprecated("Use uiString")
169  const char* seltxt )
170  : uiIOObjSel(p,ctxt,toUiString(seltxt))
171  {}
172 
173 };
174 
175 
176 #define mWriteIOObjContext(clss) \
177  uiIOObjSel::getWriteIOObjCtxt(mIOObjContext(clss))
178 #define mRWIOObjContext(clss,forread) \
179  (forread ? mIOObjContext(clss) : mWriteIOObjContext(clss))
180 
181 
uiIOObjSel::survChangedCB
void survChangedCB(CallBacker *)
uiIOObjSel::uiIOObjSel
uiIOObjSel(uiParent *, const IOObjContext &, const BufferStringSet &trnotallowed, const Setup &)
uiIOObjSel::optCheckCB
void optCheckCB(CallBacker *)
uiIOObjSel::commitInput
bool commitInput()
uiIOObjSel::mkDlg
virtual uiIOObjRetDlg * mkDlg()
uiIOObjSel::setInput
void setInput(const IOObj &)
uiIOObjSel::inctio_
CtxtIOObj & inctio_
Definition: uiioobjsel.h:110
ObjectSet< uiIOObjInserter >
uiIOObjSel::uiIOObjSel
uiIOObjSel(uiParent *, CtxtIOObj &, const uiString &seltxt=uiString::empty())
uiIOObjSel::doObjSel
void doObjSel(CallBacker *)
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
File::toUiString
Export_Basic uiString toUiString(ViewStyle)
uiIOObjSel::setConfirmOverwrite
void setConfirmOverwrite(bool yn)
Definition: uiioobjsel.h:89
CtxtIOObj
Holds an IOObjCtxt plus a pointer to an IOObj and/or an IOPar.
Definition: ctxtioobj.h:146
left
@ left
Definition: i_layout.h:28
HelpKey
Definition: helpview.h:50
uiIOObjRetDlg
Dialog letting the user select an object. It returns an IOObj* after successful go().
Definition: uiioobjseldlg.h:22
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uiiosel.h
uiIOObjSel::getWriteIOObjCtxt
static IOObjContext getWriteIOObjCtxt(IOObjContext)
uiIOObjSel::inserters_
ObjectSet< uiIOObjInserter > inserters_
Definition: uiioobjsel.h:115
uiIOObjSel::fillPar
bool fillPar(IOPar &, const char *baseky) const
mDefSetupMemb
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:154
uiIOObjSel::ioobj
const IOObj * ioobj(bool noerr=false) const
uiIOObjSel::setup_
Setup setup_
Definition: uiioobjsel.h:112
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
uiIOObjSel::getTrNotAllowed
const BufferStringSet & getTrNotAllowed() const
uiIOObjSel::workctio_
CtxtIOObj & workctio_
Definition: uiioobjsel.h:111
uiIOObjSel::Setup::Setup
Setup(const uiString &seltxt=uiString::empty())
Definition: uiioobjsel.h:44
uiIOObjSel::endObj
virtual uiObject * endObj(bool left)
uiIOObjSel::fillDefault
virtual void fillDefault()
uiIOObjSel::objInserted
void objInserted(CallBacker *)
uiIOObjSel::usePar
virtual void usePar(const IOPar &)
uiIOObjSel::setTrNotAllowed
void setTrNotAllowed(const BufferStringSet &)
uiIOObjSel::createEntry
virtual IOObj * createEntry(const char *)
uiIOSelect::Setup
Definition: uiiosel.h:34
uiIOObjSel::mDeprecated
mDeprecated("Use uiString") uiIOObjSel(uiParent *p
uiIOObjSel::preFinaliseCB
void preFinaliseCB(CallBacker *)
uiIOSelect
UI element for selection of data objects.
Definition: uiiosel.h:30
uiIOObjSel::setInput
void setInput(const MultiID &)
uiIOObjSel::getIOObj
IOObj * getIOObj(bool noerr=false)
My IOObj becomes yours.
uiIOObjSel::setHelpKey
void setHelpKey(const HelpKey &helpkey)
Definition: uiioobjsel.h:91
uiIOObjSel::uiIOObjSel
uiIOObjSel(uiParent *, CtxtIOObj &, const BufferStringSet &trnotallowed, const Setup &)
mDeprecated
#define mDeprecated(msg)
Definition: plfdefs.h:215
uiIOObjSel::newSelection
virtual void newSelection(uiIOObjRetDlg *)
Definition: uiioobjsel.h:129
uiIOObjSel::doCommit
void doCommit(bool) const
IOObjContext
Holds the context for selecting and/or creating IOObjs.
Definition: ctxtioobj.h:62
uiIOObjSel::obtainIOObj
void obtainIOObj()
IOObj
Definition: ioobj.h:58
uiIOObjSel::Setup
Definition: uiioobjsel.h:42
uiIOObjSel::existingUsrName
bool existingUsrName(const char *) const
uiIOObjSel::init
void init()
uiIOObjSel::validKey
virtual MultiID validKey() const
no side-effects
uiIOObjSel::setEmpty
virtual void setEmpty()
uiIOObjSel::processInput
virtual void processInput()
uiIOObjSelWriteTranslator
Group for selecting output translator.
Definition: uiioobjselwritetransl.h:80
uiIOObjSel::usePar
void usePar(const IOPar &, const char *baseky)
uiIOObjSel::userNameFromKey
virtual const char * userNameFromKey(const char *) const
MultiID
Compound key consisting of ints.
Definition: multiid.h:24
uiIOObjSel::uiIOObjSel
uiIOObjSel(uiParent *, CtxtIOObj &, const Setup &)
uiIOObjSel::objSel
virtual void objSel()
notification when user selects from combo
uiIOObjSel::doCommitInput
bool doCommitInput(bool &)
uiIOObjInserter
inserts a new object into the OD data store.
Definition: uiioobjinserter.h:31
uiIOObjSel::~uiIOObjSel
~uiIOObjSel()
uiIOObjSel::fillEntries
void fillEntries()
only if forread
uiIOObjSel::uiIOObjSel
uiIOObjSel(uiParent *, const IOObjContext &, const uiString &seltxt=uiString::empty())
uiIOObjSel::Setup::mDefSetupMemb
mDefSetupMemb(bool, confirmoverwr) mDefSetupMemb(bool
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
uiIOObjSel::fillPar
virtual bool fillPar(IOPar &) const
uiIOObjSel::wrtrselfld_
uiIOObjSelWriteTranslator * wrtrselfld_
Definition: uiioobjsel.h:108
uiIOObjSel
User Interface (UI) element for selection of IOObjs.
Definition: uiioobjsel.h:38
uiIOObjSel::initRead
void initRead()
uiIOObjSel::mODTextTranslationClass
mODTextTranslationClass(uiIOObjSel)
uiParent
Definition: uiparent.h:26
uiIOObjSel::uiIOObjSel
uiIOObjSel(uiParent *, const BufferStringSet &trnotallowed, CtxtIOObj &, const uiString &seltxt=uiString::empty())
uiIOObjSel::helpkey_
HelpKey helpkey_
Definition: uiioobjsel.h:113
uiIOObjSel::key
MultiID key(bool noerr=false) const
uiIOObjSel::uiIOObjSel
uiIOObjSel(uiParent *, const IOObjContext &, const Setup &)
uiIOObjSel::inctiomine_
bool inctiomine_
Definition: uiioobjsel.h:114
uiIOObjSel::uiIOObjSel
uiIOObjSel(uiParent *, const BufferStringSet &trnotallowed, const IOObjContext &, const uiString &seltxt=uiString::empty())
uiIOObjSel::commitSucceeded
virtual void commitSucceeded()
Definition: uiioobjsel.h:126
uiIOObjSel::ctxtIOObj
CtxtIOObj & ctxtIOObj(bool work=false)
Definition: uiioobjsel.h:164
uiString::empty
static const uiString & empty()
Definition: uistring.h:154
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
helpview.h
uiIOObjSel::updateInput
virtual void updateInput()
a.o. updates from CtxtIOObj

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