OpendTect  6.3
uiioobjselwritetransl.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 "uiiocommon.h"
14 #include "uigroup.h"
15 #include "factory.h"
16 #include "transl.h"
17 
18 class IOObj;
19 class CtxtIOObj;
20 class IOObjContext;
21 class uiLabel;
22 class uiComboBox;
23 
24 
28 {
29 public:
30 
32 
34  factory, transl_.getDisplayName() )
35 
36  static bool isPresent( const Translator& t )
37  { return factory().hasName(t.getDisplayName()); }
38 
40  { return factory().create(t.getDisplayName(),p); }
41 
42  virtual void use(const IOPar&) = 0;
43  virtual bool fill(IOPar&) const = 0;
44  virtual const uiString& errMsg() const { return errmsg_; }
45 
46  const Translator& translator() const { return transl_; }
47 
49  virtual const char* suggestedName() const { return ""; }
50 
51 protected:
52 
54  mutable uiString errmsg_;
55 
56 public:
57 
59  { suggestedNameAvailble.trigger(); }
60 
61 };
62 
63 
65 
66 #define mDecluiIOObjTranslatorWriteOptsStdFns(clssnm) \
67  virtual void use(const IOPar&); \
68  virtual bool fill(IOPar&) const; \
69  \
70  static uiIOObjTranslatorWriteOpts* create( uiParent* p ) \
71  { return new clssnm(p); } \
72  static void initClass()
73 
74 
75 
78 mExpClass(uiIo) uiIOObjSelWriteTranslator : public uiGroup
80 public:
82  bool withopts=false);
84 
85  bool isEmpty() const;
86  void setTranslator(const Translator*);
87  const Translator* selectedTranslator() const;
88 
89  IOObj* mkEntry(const char*) const;
90  void use(const IOObj&);
91  void updatePars(IOObj&) const;
92 
93  bool hasSelectedTranslator(const IOObj&) const;
94 
96  virtual const char* suggestedName() const;
97 
98 protected:
99 
103 
106 
107  void mkSelFld(const CtxtIOObj&,bool);
108  int translIdx() const;
109  void selChg(CallBacker*);
111  { suggestedNameAvailble.trigger(); }
112  uiIOObjTranslatorWriteOpts* getCurOptFld() const;
113 
114 };
Definition: uigroup.h:53
#define mExpClass(module)
Definition: commondefs.h:157
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
Definition: ioobj.h:57
const Translator & translator() const
Definition: uiioobjselwritetransl.h:46
mDefineFactory1ParamInClasswKW(uiIOObjTranslatorWriteOpts, uiParent *, factory, transl_.getDisplayName()) static bool isPresent(const Translator &t)
Definition: uiioobjselwritetransl.h:33
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
uiComboBox * selfld_
Definition: uiioobjselwritetransl.h:104
bool isPresent(const char *) const
Combo box.
Definition: uicombobox.h:30
void trigger()
Definition: notify.h:128
Definition: uistring.h:88
Definition: uiparent.h:24
Holds an IOObjCtxt plus a pointer to an IOObj and/or an IOPar.
Definition: ctxtioobj.h:24
uiLabel * lbl_
Definition: uiioobjselwritetransl.h:105
const Translator & transl_
Definition: uiioobjselwritetransl.h:53
virtual const char * suggestedName() const
Definition: uiioobjselwritetransl.h:49
Group for editing output translator options.
Definition: uiioobjselwritetransl.h:27
Notifier< uiIOObjSelWriteTranslator > suggestedNameAvailble
Definition: uiioobjselwritetransl.h:95
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
void suggestedNameChanged(CallBacker *)
Definition: uiioobjselwritetransl.h:58
ObjectSet< const Translator > trs_
Definition: uiioobjselwritetransl.h:101
ObjectSet< uiIOObjTranslatorWriteOpts > optflds_
Definition: uiioobjselwritetransl.h:102
IOObjContext & ctxt_
Definition: uiioobjselwritetransl.h:100
I/O Interpreter class for a certain object type.
Definition: transl.h:122
uiString errmsg_
Definition: uiioobjselwritetransl.h:54
void nmAvCB(CallBacker *)
Definition: uiioobjselwritetransl.h:110
virtual const uiString & errMsg() const
Definition: uiioobjselwritetransl.h:44
bool isEmpty(const char *)
Definition: uilabel.h:22
BufferString errmsg_
Definition: horizontracker.h:117
Group for selecting output translator.
Definition: uiioobjselwritetransl.h:78
Notifier< uiIOObjTranslatorWriteOpts > suggestedNameAvailble
Definition: uiioobjselwritetransl.h:48
const char * getDisplayName() const
"username [group]"
Holds the context for selecting and/or creating IOObjs.
Definition: ioobjctxt.h:59
static uiIOObjTranslatorWriteOpts * create(uiParent *p, const Translator &t)
Definition: uiioobjselwritetransl.h:39

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