OpendTect  6.3
uiiosel.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 "uitoolsmod.h"
14 #include "uigroup.h"
15 #include "bufstringset.h"
16 #include "uistrings.h"
17 class uiLabel;
18 class uiButton;
19 class uiCheckBox;
20 class uiComboBox;
21 
22 
28 mExpClass(uiTools) uiIOSelect : public uiGroup
30 public:
31 
32  mExpClass(uiTools) Setup
33  {
34  public:
36  : seltxt_(seltext)
37  , withclear_(false)
38  , buttontxt_(uiStrings::sSelect())
39  , compact_(false)
40  , optional_(false)
41  , keepmytxt_(false) {}
42 
43  mDefSetupMemb(uiString,seltxt)
44  mDefSetupMemb(uiString,buttontxt)
45  mDefSetupMemb(bool,withclear)
46  mDefSetupMemb(bool,compact)
47  mDefSetupMemb(bool,optional)
48  mDefSetupMemb(bool,keepmytxt)
49  };
50 
51  uiIOSelect(uiParent*,const Setup&,const CallBack&);
52  ~uiIOSelect();
53 
54  virtual bool forRead() const { return true; }
55  bool isEmpty() const;
56  const char* getInput() const;
57  const char* getKey() const;
58  void setInput(const char* key);
60  void setInputText(const char*);
62  void setEntries(const BufferStringSet& keys,
63  const BufferStringSet& names);
64 
65  int nrItems() const;
66  int getCurrentItem() const;
67  void setCurrentItem(int);
68  const char* getItem(int) const;
69  bool isChecked() const;
70  void setChecked(bool yn);
71 
72  virtual void updateHistory(IOPar&) const;
73  virtual void getHistory(const IOPar&);
74  void addToHistory(const char*);
75  void addToHistory(const BufferStringSet&);
76 
77  virtual void setEmpty();
78  virtual void processInput() {}
79  void setReadOnly(bool readonly=true);
80 
81  void addButton(uiButton*,bool insbut);
82  void doSel(CallBacker*);
85 
88 
89  const uiString& labelText() const;
90  void setLabelText(const uiString&);
91  void setLabelSelectable(bool yn=true);
92 
94 
95  uiComboBox* inpBox() { return inp_; }
96  virtual uiObject* endObj(bool left);
97 
98 protected:
99 
102  bool selok_;
107 
109  uiButton* selbut_;
112 
113  void optCheck(CallBacker*);
114  void selDone(CallBacker*);
117 
118  virtual const char* userNameFromKey( const char* s ) const { return s; }
121 
122  int nrSpec() const;
123  void checkState() const;
124  void updateFromEntries();
125  bool haveEntry(const char*) const;
126 
127  virtual void objSel() {}
129 
130  void doFinalise(CallBacker*);
131 };
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
Setup(const uiString &seltext=uiString::emptyString())
Definition: uiiosel.h:35
void setHSzPol(SzPolicy)
uiLabel * lbl_
Definition: uiiosel.h:110
CallBack doselcb_
Definition: uiiosel.h:104
virtual void setReadOnly(bool yn=true)
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
Definition: i_layout.h:26
ObjectSet< uiButton > insbuts_
Definition: uiiosel.h:105
uiCheckBox * optbox_
Definition: uiiosel.h:111
Definition: uistrings.h:22
static const uiString & emptyString()
Definition: uistring.h:107
BufferStringSet entries_
Definition: uiiosel.h:100
The base class for most UI elements.
Definition: uiobj.h:35
Combo box.
Definition: uicombobox.h:30
Definition: uistring.h:88
Definition: uiparent.h:24
Set of BufferString objects.
Definition: bufstringset.h:25
virtual const char * userNameFromKey(const char *s) const
Definition: uiiosel.h:118
bool keepmytxt_
Definition: uiiosel.h:103
virtual bool forRead() const
Definition: uiiosel.h:54
Notifier< uiIOSelect > optionalChecked
Definition: uiiosel.h:87
SzPolicy
How should the object&#39;s size behave? Undef : use default. Small : 1 base sz. Medium : 2* base sz + 1...
Definition: uiobj.h:55
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
bool haveempty_
Definition: uiiosel.h:101
virtual void objSel()
notification when user selects from combo
Definition: uiiosel.h:127
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:129
uiComboBox * inp_
Definition: uiiosel.h:108
uiButton * selbut_
Definition: uiiosel.h:109
virtual void processInput()
Definition: uiiosel.h:78
Notifier< uiIOSelect > selectionDone
Definition: uiiosel.h:86
uiComboBox * inpBox()
Definition: uiiosel.h:95
bool isEmpty(const char *)
Definition: uilabel.h:22
void setCurrentItem(int)
bool selok_
Definition: uiiosel.h:102
void setEmpty()
CallBacks object-oriented (object + method).
Definition: callback.h:62
Definition: uibutton.h:130
Definition: uiiosel.h:32
UI element for selection of data objects.
Definition: uiiosel.h:28
ObjectSet< uiButton > extbuts_
Definition: uiiosel.h:106

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