OpendTect  6.6
uicombobox.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. Lammertink
8  Date: 25/05/2000
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 #include "uibasemod.h"
14 #include "uigroup.h"
15 #include "userinputobj.h"
16 #include "enums.h"
17 
18 class uiLabel;
19 class uiComboBoxBody;
20 class BufferStringSet;
21 
32 {
33 public:
34 
35  uiComboBox(uiParent*,const char* nm);
37  const char* nm);
39  const char* nm);
40  uiComboBox(uiParent*,const char**,const char* nm);
41  uiComboBox(uiParent*,const uiString*,const char* nm);
44  uiComboBox(uiParent*,const EnumDef&,const char* nm);
46  virtual ~uiComboBox();
47 
48  virtual void setReadOnly(bool yn=true);
49  virtual bool isReadOnly() const;
50  void setEditable(bool yn);
51  bool isEditable() const;
52 
53  int size() const;
54  inline bool isEmpty() const { return size() == 0; }
55  void setEmpty();
56  bool isPresent(const char*) const;
57  int indexOf(const char*) const;
58 
59  const char* text() const;
60  void setText(const char*);
61  int currentItem() const;
62  void setCurrentItem(int);
63  void setCurrentItem(const char*);
64  void setCurrentItem( const FixedString& fs )
65  { setCurrentItem( fs.str() ); }
66  virtual void addItem(const uiString&);
67  void addItem( const char* s ) { addItem(toUiString(s)); }
68  void addItem(const uiString&,int id);
69  void addItems(const uiStringSet&);
70  void addItems(const BufferStringSet&);
71  mDeprecated ("use BufferStringSet")
72  void addItems(const char* arr[]);
73  void addSeparator();
74  void insertItem(const uiString&,int index=-1,int id=-1);
75  void insertItem(const uiPixmap&,const uiString&,
76  int index=-1,int id=-1);
77  void insertItem( const char* str, int index=-1, int id=-1 )
78  { insertItem(toUiString(str),index,id); }
79  void insertItem( const uiPixmap& pm, const char* str,
80  int index=-1,int id=-1 )
81  { insertItem(pm,toUiString(str),index,id); }
82 
83  const char* textOfItem(int) const;
84  void getItems(BufferStringSet&) const;
85 
86  void setItemText(int,const uiString&);
87  void setPixmap(int index,const uiPixmap&);
88  void setColorIcon(int index,const Color&);
89  void setIcon(int index,const char* icon_identifier);
90 
91  void setItemID(int index,int id);
92  int currentItemID() const;
93  int getItemID(int index) const;
94  int getItemIndex(int id) const;
95 
96  void setValidator(const BufferString& regex);
97 
100 
101 protected:
102 
103  virtual void setvalue_( int i ) { setCurrentItem(i); }
104  virtual int getvalue_() const { return currentItem(); }
105 
106  virtual bool notifyUpdateRequested_(const CallBack&) {return false;}
107  virtual bool notifyValueChanging_(const CallBack&) {return false;}
108  virtual bool notifyValueChanged_( const CallBack& cb )
109  { selectionChanged.notify(cb); return true; }
111 
112 private:
113 
118 
120 
121  uiComboBoxBody* body_;
122  uiComboBoxBody& mkbody(uiParent*,const char*);
123  void adjustWidth(const uiString&);
126 
127 public:
128 
129  void setToolTip( const uiString& tt )
130  { uiObject::setToolTip(tt); }
131 
132  virtual bool update_( const DataInpSpec& spec );
133  void getItemSize(int,int& h,int& w) const;
134 
135  void notifyHandler(bool selectionchanged);
136 
138  void popupVirtualKeyboard(int globalx=-1,int globaly=-1);
139 
140 };
141 
142 
143 
145 {
146 public:
148  const char* nm=0);
150  const uiString& lbl,const char* nm=0);
152  const uiString& lbl,const char* nm=0);
154  const uiString& lbl,const char* nm=0);
156  const uiString& lbl,const char* nm=0);
157 
158  uiComboBox* box() { return cb_; }
159  uiLabel* label() { return labl_; }
160 
161 
162 protected:
163 
166 
167 public:
168  mDeprecated ("Use uiString")
169  uiLabeledComboBox( uiParent* p, const char* lbl,
170  const char* nm=0 )
171  : uiLabeledComboBox(p,toUiString(lbl),nm) {}
172  mDeprecated ("Use uiString")
174  const char* lbl, const char* nm=0 )
175  : uiLabeledComboBox(p,lbls,toUiString(lbl),nm) {}
176  mDeprecated ("Use uiString")
177  uiLabeledComboBox( uiParent* p, const char** lbls,
178  const char* lbl, const char* nm=0 )
179  : uiLabeledComboBox(p,lbls,toUiString(lbl),nm) {}
180  mDeprecated ("Use uiString")
181  uiLabeledComboBox( uiParent* p, const uiStringSet& lbls,
182  const char* lbl, const char* nm=0 )
183  : uiLabeledComboBox(p,lbls,toUiString(lbl),nm) {}
184  mDeprecated ("Use uiString")
185  uiLabeledComboBox( uiParent* p, const EnumDef& def,
186  const char* lbl, const char* nm=0 )
187  : uiLabeledComboBox(p,def,toUiString(lbl),nm) {}
188 
189 };
190 
uiComboBox::getItemID
int getItemID(int index) const
uiComboBox::body_
uiComboBoxBody * body_
Definition: uicombobox.h:121
uiPixmap
Off-screen pixel-based paint device.
Definition: uipixmap.h:34
uiComboBox::isPresent
bool isPresent(const char *) const
uiComboBox::notifyValueChanging_
virtual bool notifyValueChanging_(const CallBack &)
return false if not available
Definition: uicombobox.h:107
uiLabeledComboBox::uiLabeledComboBox
uiLabeledComboBox(uiParent *, const char **, const uiString &lbl, const char *nm=0)
uiComboBox::currentItemID
int currentItemID() const
uiComboBox::setIcon
void setIcon(int index, const char *icon_identifier)
uiLabeledComboBox::uiLabeledComboBox
uiLabeledComboBox(uiParent *, const BufferStringSet &, const uiString &lbl, const char *nm=0)
uiComboBox::mDeprecated
mDeprecated("use BufferStringSet") void addItems(const char *arr[])
uiLabeledComboBox::uiLabeledComboBox
uiLabeledComboBox(uiParent *, const EnumDef &, const uiString &lbl, const char *nm=0)
uiComboBox::setCurrentItem
void setCurrentItem(int)
uiStringSet
Definition: uistringset.h:23
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
File::toUiString
Export_Basic uiString toUiString(ViewStyle)
uiComboBox::translateText
void translateText()
uiComboBox
Combo box.
Definition: uicombobox.h:32
uiComboBox::mkbody
uiComboBoxBody & mkbody(uiParent *, const char *)
uiComboBox::addItem
virtual void addItem(const uiString &)
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uiComboBox::adjustWidth
void adjustWidth(const uiString &)
uiLabeledComboBox::cb_
uiComboBox * cb_
Definition: uicombobox.h:164
uiObject::setToolTip
void setToolTip(const uiString &)
uiComboBox::selectionChanged
Notifier< uiComboBox > selectionChanged
Definition: uicombobox.h:99
uiComboBox::size
int size() const
uiComboBox::setReadOnly
virtual void setReadOnly(bool yn=true)
UserInputObjImpl< int >
uiComboBox::handleLongTabletPress
bool handleLongTabletPress()
uiComboBox::curwidth_
int curwidth_
Definition: uicombobox.h:124
uiLabeledComboBox::uiLabeledComboBox
uiLabeledComboBox(uiParent *, const uiStringSet &, const uiString &lbl, const char *nm=0)
uiComboBox::setToolTip
void setToolTip(const uiString &tt)
Definition: uicombobox.h:129
uiComboBox::uiComboBox
uiComboBox(uiParent *, const uiStringSet &, const char *nm)
uiComboBox::oldnritems_
int oldnritems_
Definition: uicombobox.h:114
uiComboBox::setText
void setText(const char *)
uigroup.h
uiComboBox::textOfItem
const char * textOfItem(int) const
uiComboBox::getItemSize
void getItemSize(int, int &h, int &w) const
uiComboBox::notifyHandler
void notifyHandler(bool selectionchanged)
uiLabeledComboBox::box
uiComboBox * box()
Definition: uicombobox.h:158
uiComboBox::currentItem
int currentItem() const
uiComboBox::itemids_
TypeSet< int > itemids_
Definition: uicombobox.h:116
uiComboBox::isReadOnly
virtual bool isReadOnly() const
uiComboBox::oldcuritem_
int oldcuritem_
Definition: uicombobox.h:115
uiComboBox::isEditable
bool isEditable() const
uiComboBox::getItemIndex
int getItemIndex(int id) const
uiLabeledComboBox::mDeprecated
mDeprecated("Use uiString") uiLabeledComboBox(uiParent *p
CallBack
CallBacks object-oriented (object + method).
Definition: callback.h:62
OD::String::str
const char * str() const
Definition: odstring.h:47
uiComboBox::~uiComboBox
virtual ~uiComboBox()
uiComboBox::uiComboBox
uiComboBox(uiParent *, const BufferStringSet &, const char *nm)
uiComboBox::setPixmap
void setPixmap(int index, const uiPixmap &)
uiLabeledComboBox
Definition: uicombobox.h:145
uiGroup
Definition: uigroup.h:54
uiComboBox::editTextChanged
Notifier< uiComboBox > editTextChanged
Definition: uicombobox.h:98
uiComboBox::uiComboBox
uiComboBox(uiParent *, const char **, const char *nm)
mDeprecated
#define mDeprecated(msg)
Definition: plfdefs.h:215
uiComboBox::addItem
void addItem(const char *s)
Definition: uicombobox.h:67
uiComboBox::getvalue_
virtual int getvalue_() const
Definition: uicombobox.h:104
Notifier< uiComboBox >
DataInpSpec
Specification of input characteristics.
Definition: datainpspec.h:90
FixedString
OD::String that holds an existing text string.
Definition: fixedstring.h:29
uiLabeledComboBox::labl_
uiLabel * labl_
Definition: uicombobox.h:165
uiComboBox::uiComboBox
uiComboBox(uiParent *, const uiString *, const char *nm)
EnumDef
Holds data pertinent to a certain enum. It does not know the enum values themselves,...
Definition: enums.h:45
uiComboBox::popupVirtualKeyboard
void popupVirtualKeyboard(int globalx=-1, int globaly=-1)
userinputobj.h
uiComboBox::text
const char * text() const
BufferStringSet::size
size_type size() const
Definition: bufstringset.h:43
uiComboBox::setCurrentItem
void setCurrentItem(const char *)
First match.
uiComboBox::indexOf
int indexOf(const char *) const
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
uiComboBox::addItems
void addItems(const BufferStringSet &)
uiComboBox::setvalue_
virtual void setvalue_(int i)
Definition: uicombobox.h:103
uiComboBox::addItems
void addItems(const uiStringSet &)
uiComboBox::setItemID
void setItemID(int index, int id)
uiObject
The base class for most UI elements.
Definition: uiobj.h:38
uiComboBox::setItemText
void setItemText(int, const uiString &)
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
uiComboBox::update_
virtual bool update_(const DataInpSpec &spec)
uiComboBox::setValidator
void setValidator(const BufferString &regex)
uiComboBox::setCurrentItem
void setCurrentItem(const FixedString &fs)
Definition: uicombobox.h:64
enums.h
uiComboBox::uiComboBox
uiComboBox(uiParent *, const EnumDef &, const char *nm)
uiComboBox::notifyValueChanged_
virtual bool notifyValueChanged_(const CallBack &cb)
return false if not available
Definition: uicombobox.h:108
uiLabel
Definition: uilabel.h:24
uiComboBox::uiComboBox
uiComboBox(uiParent *, const char *nm)
uiComboBox::rettxt_
BufferString rettxt_
Definition: uicombobox.h:119
uiLabeledComboBox::uiLabeledComboBox
uiLabeledComboBox(uiParent *, const uiString &lbl, const char *nm=0)
uiComboBox::addItem
void addItem(const uiString &, int id)
uiParent
Definition: uiparent.h:26
uiComboBox::isEmpty
bool isEmpty() const
Definition: uicombobox.h:54
uiComboBox::setColorIcon
void setColorIcon(int index, const Color &)
uiComboBox::enumdef_
const EnumDef * enumdef_
Definition: uicombobox.h:125
uiComboBox::notifyUpdateRequested_
virtual bool notifyUpdateRequested_(const CallBack &)
Definition: uicombobox.h:106
uiComboBox::insertItem
void insertItem(const uiPixmap &pm, const char *str, int index=-1, int id=-1)
Definition: uicombobox.h:79
uiComboBox::setEmpty
void setEmpty()
uiLabeledComboBox::label
uiLabel * label()
Definition: uicombobox.h:159
Color
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer,...
Definition: color.h:26
uiComboBox::setEditable
void setEditable(bool yn)
uiComboBox::getItems
void getItems(BufferStringSet &) const
NotifierAccess::notify
void notify(const CallBack &, bool first=false) const
uiComboBox::itemstrings_
uiStringSet itemstrings_
Definition: uicombobox.h:117
TypeSet< int >

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