OpendTect  6.6
uistringset.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: K. Tingdahl / Bert
8  Date: Jan 2014 / Feb 2018
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uistring.h"
14 #include "objectset.h"
15 
16 mFDQtclass( QStringList );
17 class uiRetVal;
18 
19 
20 /*\brief Set of uiStrings */
21 
25 public:
26 
27 
30 
33  uiStringSet(const uiString&,const uiString&);
34  uiStringSet(const uiString&,const uiString&,
35  const uiString&);
36  uiStringSet( const uiStringSet& oth ) { *this = oth; }
37  uiStringSet(const mQtclass(QStringList)&);
40 
41  inline size_type size() const { return strs_.size(); }
42  inline bool validIdx( idx_type i ) const
43  { return strs_.validIdx(i); }
44  bool isEmpty() const { return strs_.isEmpty(); }
45  bool isPresent(const uiString&) const;
46  idx_type indexOf(const uiString&) const;
48  const uiString& get(idx_type) const;
49  uiString& operator []( idx_type i ) { return get(i); }
50  const uiString& operator []( idx_type i ) const { return get(i); }
51 
52  void setEmpty();
54  uiStringSet& set( const uiStringSet& oth ) { return (*this=oth); }
59  uiStringSet& append( const uiStringSet& ss ) { return add(ss); }
61  uiStringSet& operator +=( const uiString& s ) { return add(s); }
62  void removeSingle(idx_type,bool keep_order=true);
64  void swap( idx_type i1, idx_type i2 )
65  { strs_.swap( i1, i2 ); }
66 
69  uiString createOptionString(bool use_and=true,int maxnritems=-1,
70  bool separate_lines=false) const;
72  uiStringSet& addKeyValue(const uiWord& ky,const uiString& val);
73  template <class T>
74  uiStringSet& addKeyValue( const uiWord& ky,const T& val )
75  { return addKeyValue( ky, toUiString(val) ); }
76 
77  void fill(mQtclass(QStringList)&) const;
78  void sort(const bool caseinsens=true,bool asc=true);
79  void useIndexes( const idx_type* idxs );
80  idx_type* getSortIndexes(bool caseinsens,bool asc) const;
81 
82 public:
83 
84  uiString cat(const char* sepstr) const;
85  void erase() { setEmpty(); }
86 
87 };
88 
90 
91 
94 
95 
96 /*\brief allows returning status and accompanying user info.
97 
98  This class helps us make sure there is always user info on errors. Therefore,
99  you will find a 'setIsOK' but no equivalent like 'setNotOK'. You will simply
100  have to set a non-empty message.
101 
102 */
103 
106 public:
107 
108  uiRetVal() {}
110  uiRetVal(const uiPhrase&,const uiPhrase&);
111  uiRetVal(const uiPhrase&,const uiPhrase&,
112  const uiPhrase&);
115  static uiRetVal OK() { return ok_; }
116  static uiRetVal Empty() { return ok_; }
120  operator uiPhrase() const;
121  operator uiPhraseSet() const;
122 
123  bool isOK() const;
124  inline bool isEmpty() const { return isOK(); }
125  inline bool isError() const { return !isOK(); }
126  bool isMultiMessage() const;
128  bool isSingleWord(const uiWord&) const;
129 
131  inline uiRetVal& setOK() { return setEmpty(); }
140  void resetError() { setEmpty(); }
141 
143 
144 private:
145 
147 
148  static const uiRetVal ok_;
149 
150 };
151 
153 
154 mGlobal(Basic) bool isFinished(const uiRetVal&);
155 mGlobal(Basic) bool isNotPresent(const uiRetVal&);
156 mGlobal(Basic) bool isCancelled(const uiRetVal&);
isNotPresent
bool isNotPresent(const uiRetVal &)
uiRetVal::setOK
uiRetVal & setOK()
Definition: uistringset.h:131
uiRetVal::set
uiRetVal & set(const uiRetVal &)
uiRetVal::add
uiRetVal & add(const uiPhraseSet &)
uiRetVal::setEmpty
uiRetVal & setEmpty()
uistring.h
uiStringSet::swap
void swap(idx_type i1, idx_type i2)
Definition: uistringset.h:64
mIsContainer
#define mIsContainer(clss, typ, memb)
Definition: odset.h:83
isFinished
bool isFinished(const uiRetVal &)
mGlobal
#define mGlobal(module)
Definition: commondefs.h:180
uiStringSet
Definition: uistringset.h:23
ObjectSet
Set of pointers to objects.
Definition: commontypes.h:31
uiStringSet::indexOf
idx_type indexOf(const uiString &) const
uiStringSet::set
uiStringSet & set(const uiRetVal &)
uiStringSet::append
uiStringSet & append(const uiStringSet &ss)
Definition: uistringset.h:59
File::toUiString
Export_Basic uiString toUiString(ViewStyle)
uiString::SeparType
SeparType
Definition: uistring.h:178
uiStringSet::add
uiStringSet & add(const uiStringSet &)
uiStringSet::uiStringSet
uiStringSet(const uiString &, const uiString &, const uiString &)
mFDQtclass
#define mFDQtclass(cls)
Definition: commondefs.h:233
uiStringSet::cat
uiString cat(const char *sepstr) const
isCancelled
bool isCancelled(const uiRetVal &)
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uiString::AppendType
AppendType
Definition: uistring.h:180
uiRetVal::uiRetVal
uiRetVal(const uiRetVal &)
uiRetVal::isError
bool isError() const
Definition: uistringset.h:125
uiStringSet::setEmpty
void setEmpty()
uiRetVal::uiRetVal
uiRetVal(const uiPhrase &)
uiRetVal
Definition: uistringset.h:105
uiRetVal::set
uiRetVal & set(const uiPhraseSet &)
uiRetVal::add
uiRetVal & add(const uiRetVal &)
uiRetVal::uiRetVal
uiRetVal(const uiPhraseSet &)
uiStringSet::add
uiStringSet & add(const uiRetVal &)
uiStringSet::get
const uiString & get(idx_type) const
uiRetVal::uiRetVal
uiRetVal(const uiPhrase &, const uiPhrase &)
mODTextTranslationClass
#define mODTextTranslationClass(clss)
Definition: uistring.h:40
uiRetVal::OK
static uiRetVal OK()
Definition: uistringset.h:115
uiStringSet::uiStringSet
uiStringSet(const uiString &, const uiString &)
uiRetVal::isSingleWord
bool isSingleWord(const uiWord &) const
uiStringSet::idx_type
impl_type::idx_type idx_type
Definition: uistringset.h:24
uiStringSet::removeRange
void removeRange(idx_type, idx_type)
uiStringSet::addKeyValue
uiStringSet & addKeyValue(const uiWord &ky, const T &val)
Definition: uistringset.h:74
uiRetVal::setAsStatus
uiRetVal & setAsStatus(const uiWord &)
uiStringSet::cat
uiString cat(SeparType septyp=uiString::CloseLine, AppendType apptyp=uiString::OnNewLine) const
uiRetVal::ok_
static const uiRetVal ok_
Definition: uistringset.h:148
uiStringSet::fill
void fill(::QStringList &) const
uiRetVal::Empty
static uiRetVal Empty()
Definition: uistringset.h:116
uiRetVal::isEmpty
bool isEmpty() const
Definition: uistringset.h:124
uiRetVal::isMultiMessage
bool isMultiMessage() const
uiRetVal::resetError
void resetError()
Definition: uistringset.h:140
uiRetVal::isOK
bool isOK() const
uiStringSet::getNonEmpty
uiStringSet getNonEmpty() const
uiRetVal::messages
uiPhraseSet messages() const
uiStringSet::size_type
impl_type::size_type size_type
Definition: uistringset.h:24
uiRetVal::operator=
uiRetVal & operator=(const uiRetVal &)
uiStringSet::erase
void erase()
Definition: uistringset.h:85
uiStringSet::uiStringSet
uiStringSet(const uiStringSet &oth)
Definition: uistringset.h:36
uiStringSet::set
uiStringSet & set(const uiString &)
mDefContainerSwapFunction
#define mDefContainerSwapFunction(mod, clss)
Definition: odset.h:115
uiStringSet::removeSingle
void removeSingle(idx_type, bool keep_order=true)
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
uiStringSet::addKeyValue
uiStringSet & addKeyValue(const uiWord &ky, const uiString &val)
uiStringSet::set
uiStringSet & set(const uiStringSet &oth)
Definition: uistringset.h:54
uiStringSet::getSortIndexes
idx_type * getSortIndexes(bool caseinsens, bool asc) const
uiRetVal::msgs_
impl_type msgs_
Definition: uistringset.h:105
uiStringSet::useIndexes
void useIndexes(const idx_type *idxs)
mQtclass
#define mQtclass(cls)
Definition: commondefs.h:234
uiPhrase
uiString uiPhrase
Definition: uistring.h:312
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
uiStringSet::uiStringSet
uiStringSet(const uiString &)
uiRetVal::add
uiRetVal & add(const uiPhrase &)
uiStringSet::insert
uiStringSet & insert(idx_type, const uiString &)
uiRetVal::set
uiRetVal & set(const uiPhrase &)
uiStringSet::uiStringSet
uiStringSet(const ::QStringList &)
uiStringSet::createOptionString
uiString createOptionString(bool use_and=true, int maxnritems=-1, bool separate_lines=false) const
example: "option1, option2 and option3"
uiStringSet::validIdx
bool validIdx(idx_type i) const
Definition: uistringset.h:42
uiStringSet::sort
void sort(const bool caseinsens=true, bool asc=true)
uiStringSet::~uiStringSet
~uiStringSet()
uiStringSet::add
uiStringSet & add(const uiString &)
muiStringAppendDefArgs
#define muiStringAppendDefArgs
Definition: uistring.h:169
uiRetVal::uiRetVal
uiRetVal(const uiPhrase &, const uiPhrase &, const uiPhrase &)
uiStringSet::size
size_type size() const
Definition: uistringset.h:41
uiRetVal::lock_
Threads::Lock lock_
Definition: uistringset.h:146
Threads::Lock
A lock of a type that (hopefully) suits your needs. To use it, you need the Locker class.
Definition: threadlock.h:53
objectset.h
uiRetVal::getText
BufferString getText() const
uiRetVal::insert
uiRetVal & insert(const uiPhrase &)
uiRetVal::uiRetVal
uiRetVal()
Definition: uistringset.h:108
uiStringSet::isPresent
bool isPresent(const uiString &) const
uiPhraseSet
uiStringSet uiPhraseSet
Definition: uistringset.h:92
uiStringSet::isEmpty
bool isEmpty() const
Definition: uistringset.h:44
uiStringSet::get
uiString & get(idx_type)

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