OpendTect  6.6
uishortcutsmgr.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: H. Payraudeau
8  Date: 20/01/2006
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uibasemod.h"
15 #include "iopar.h"
16 #include "enums.h"
17 #include "keyenum.h"
18 #include "bufstringset.h"
19 #include "uistring.h"
20 
21 mFDQtclass(QKeyEvent)
22 
23 
24 class uiShortcutsMgr;
27 
28 
30 {
31 public:
32  uiKeyDesc(const char* statestr=0,const char* keystr=0);
33  virtual ~uiKeyDesc() {}
34 
35  bool operator==(const uiKeyDesc& ev) const
36  { return key_==ev.key_ && state_==ev.state_; }
37 
38  bool set(const char* statestr,const char* keystr);
40 
41  OD::ButtonState state() const { return state_; }
42  void setState( OD::ButtonState bs ) { state_ = bs; }
43 
44  //virtual: just to have the base class be polymorphic, allows dynamic cast
45  virtual int key() const { return key_; }
46  void setKey( int k ) { key_ = k; }
47  char asciiChar() const;
48  bool isSimpleAscii() const;
49 
50  static const char** sKeyKeyStrs();
51  const char* stateStr() const;
52  const char* keyStr() const;
53 
54  uiKeyDesc(mQtclass(QKeyEvent*));
55 
56 protected:
57 
58  int key_;
60 
61  void handleSpecialKey(const char*);
62 
63 };
64 
65 
67 {
68 public:
69 
71  { *this = scl; }
72  ~uiShortcutsList() { empty(); }
73  uiShortcutsList& operator =(const uiShortcutsList&);
74  bool write(bool usr=true) const;
75 
76  void fillPar(IOPar&) const;
77 
78  ObjectSet<uiKeyDesc>& keyDescs() { return keydescs_; }
79  const ObjectSet<uiKeyDesc>& keyDescs() const { return keydescs_; }
80  BufferStringSet& names() { return names_; }
81  const BufferStringSet& names() const { return names_; }
82  const uiKeyDesc* keyDescOf(const char*) const;
83  const char* nameOf(const uiKeyDesc&) const;
84  int valueOf(const uiKeyDesc&) const;
85 
86  void empty();
87 
88 protected:
89 
90  friend class uiShortcutsMgr;
91  uiShortcutsList(const char* selkey);
92 
96 
97  bool getKeyValues(const IOPar&,int,
98  BufferString&,BufferString&) const;
99  bool getSCNames(const IOPar&,int,BufferString&) const;
100  bool getSCProperties(const IOPar&,int,
101  uiString&,int&) const;
102 };
103 
104 
106 {
107 public:
109 
110  const uiShortcutsList& getList(const char* key) const;
111  bool setList(const uiShortcutsList&,bool usr=true);
112 
114 
115 protected:
116 
119 
120  friend class uiShortcutsList;
121  IOPar* getStored(const char*);
122  bool putStored(const char*,const IOPar&);
123 
124 };
125 
126 
128 {
129 public:
130  uiExtraIntKeyDesc(const char* statestr=0,
131  const char* keystr=0,
132  int val=1);
134 
135  bool operator==(const uiExtraIntKeyDesc& ev) const
136  { return key_==ev.key_ && state_==ev.state_ &&
137  val_==ev.val_; }
138 
139  bool set(const char* statestr,const char* keystr,int val);
140  void setIntLabel( const uiString& lbl ) { extralbl_ = lbl; }
141 
142  int getIntValue() const { return val_; }
143  const uiString& getLabel() const { return extralbl_; }
144 
145 protected:
146 
147  int val_;
149 };
150 
uiShortcutsList::keydescs_
ObjectSet< uiKeyDesc > keydescs_
Definition: uishortcutsmgr.h:94
uiShortcutsList::getKeyValues
bool getKeyValues(const IOPar &, int, BufferString &, BufferString &) const
uiKeyDesc::key_
int key_
Definition: uishortcutsmgr.h:58
uiKeyDesc::getKeySequenceStr
BufferString getKeySequenceStr() const
uiShortcutsList::uiShortcutsList
uiShortcutsList(const char *selkey)
uiExtraIntKeyDesc::uiExtraIntKeyDesc
uiExtraIntKeyDesc(const char *statestr=0, const char *keystr=0, int val=1)
uiShortcutsMgr::getStored
IOPar * getStored(const char *)
uistring.h
uiShortcutsMgr::uiShortcutsMgr
uiShortcutsMgr()
uiKeyDesc::handleSpecialKey
void handleSpecialKey(const char *)
uiShortcutsMgr::shortcutsChanged
Notifier< uiShortcutsMgr > shortcutsChanged
Definition: uishortcutsmgr.h:113
uiKeyDesc::uiKeyDesc
uiKeyDesc(mQtclass(QKeyEvent *))
uiKeyDesc
Definition: uishortcutsmgr.h:30
mGlobal
#define mGlobal(module)
Definition: commondefs.h:180
ObjectSet< uiKeyDesc >
uiShortcutsList::uiShortcutsList
uiShortcutsList(const uiShortcutsList &scl)
Definition: uishortcutsmgr.h:70
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
uiKeyDesc::keyStr
const char * keyStr() const
uiShortcutsList::nameOf
const char * nameOf(const uiKeyDesc &) const
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uiShortcutsList
Definition: uishortcutsmgr.h:67
uiShortcutsMgr::keys_
BufferStringSet keys_
Definition: uishortcutsmgr.h:117
uiExtraIntKeyDesc::operator==
bool operator==(const uiExtraIntKeyDesc &ev) const
Definition: uishortcutsmgr.h:135
uiExtraIntKeyDesc::uiExtraIntKeyDesc
uiExtraIntKeyDesc(const uiExtraIntKeyDesc &)
uiShortcutsList::selkey_
BufferString selkey_
Definition: uishortcutsmgr.h:93
uiKeyDesc::uiKeyDesc
uiKeyDesc(const char *statestr=0, const char *keystr=0)
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
uiKeyDesc::key
virtual int key() const
Definition: uishortcutsmgr.h:45
uiExtraIntKeyDesc::setIntLabel
void setIntLabel(const uiString &lbl)
Definition: uishortcutsmgr.h:140
uiShortcutsList::keyDescs
ObjectSet< uiKeyDesc > & keyDescs()
Definition: uishortcutsmgr.h:78
uiExtraIntKeyDesc::extralbl_
uiString extralbl_
Definition: uishortcutsmgr.h:148
OD::ButtonState
ButtonState
Definition: keyenum.h:20
keyenum.h
uiKeyDesc::sKeyKeyStrs
static const char ** sKeyKeyStrs()
uiShortcutsList::names
BufferStringSet & names()
Definition: uishortcutsmgr.h:80
uiKeyDesc::isSimpleAscii
bool isSimpleAscii() const
uiShortcutsList::fillPar
void fillPar(IOPar &) const
uiShortcutsMgr::setList
bool setList(const uiShortcutsList &, bool usr=true)
uiShortcutsList::names
const BufferStringSet & names() const
Definition: uishortcutsmgr.h:81
mFDQtclass
mFDQtclass(QKeyEvent) class uiShortcutsMgr
uiKeyDesc::state_
OD::ButtonState state_
Definition: uishortcutsmgr.h:59
uiKeyDesc::asciiChar
char asciiChar() const
uiShortcutsList::getSCNames
bool getSCNames(const IOPar &, int, BufferString &) const
Notifier< uiShortcutsMgr >
uiShortcutsList::empty
void empty()
uiShortcutsList::getSCProperties
bool getSCProperties(const IOPar &, int, uiString &, int &) const
uiShortcutsList::~uiShortcutsList
~uiShortcutsList()
Definition: uishortcutsmgr.h:72
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
uiKeyDesc::set
bool set(const char *statestr, const char *keystr)
bufstringset.h
mQtclass
#define mQtclass(cls)
Definition: commondefs.h:234
uiExtraIntKeyDesc::getIntValue
int getIntValue() const
Definition: uishortcutsmgr.h:142
uiShortcutsMgr::lists_
ObjectSet< uiShortcutsList > lists_
Definition: uishortcutsmgr.h:118
uiShortcutsList::keyDescs
const ObjectSet< uiKeyDesc > & keyDescs() const
Definition: uishortcutsmgr.h:79
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
uiShortcutsMgr
Definition: uishortcutsmgr.h:106
uiKeyDesc::~uiKeyDesc
virtual ~uiKeyDesc()
Definition: uishortcutsmgr.h:33
enums.h
uiShortcutsList::keyDescOf
const uiKeyDesc * keyDescOf(const char *) const
uiShortcutsList::write
bool write(bool usr=true) const
uiShortcutsMgr::getList
const uiShortcutsList & getList(const char *key) const
uiShortcutsMgr::putStored
bool putStored(const char *, const IOPar &)
uiKeyDesc::state
OD::ButtonState state() const
Definition: uishortcutsmgr.h:41
iopar.h
uiKeyDesc::setKey
void setKey(int k)
Definition: uishortcutsmgr.h:46
uiKeyDesc::operator==
bool operator==(const uiKeyDesc &ev) const
Definition: uishortcutsmgr.h:35
uiShortcutsList::valueOf
int valueOf(const uiKeyDesc &) const
uiExtraIntKeyDesc::getLabel
const uiString & getLabel() const
Definition: uishortcutsmgr.h:143
uiExtraIntKeyDesc
Definition: uishortcutsmgr.h:128
SCMgr
uiShortcutsMgr & SCMgr()
This is where you get your shortcuts.
uiShortcutsList::names_
BufferStringSet names_
Definition: uishortcutsmgr.h:95
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
uiExtraIntKeyDesc::val_
int val_
Definition: uishortcutsmgr.h:147
uiKeyDesc::stateStr
const char * stateStr() const
uiKeyDesc::setState
void setState(OD::ButtonState bs)
Definition: uishortcutsmgr.h:42
uiExtraIntKeyDesc::set
bool set(const char *statestr, const char *keystr, int val)

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