OpendTect  6.3
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 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uibasemod.h"
14 #include "iopar.h"
15 #include "enums.h"
16 #include "keyenum.h"
17 #include "bufstringset.h"
18 #include "notify.h"
19 #include "uistring.h"
20 
21 mFDQtclass(QKeyEvent)
22 
23 
24 class uiShortcutsMgr;
25 mGlobal(uiBase) uiShortcutsMgr& SCMgr();
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);
39  BufferString getKeySequenceStr() const;
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 
70  uiShortcutsList( const uiShortcutsList& scl )
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:
108  uiShortcutsMgr();
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 };
#define mExpClass(module)
Definition: commondefs.h:157
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
BufferStringSet names_
Definition: uishortcutsmgr.h:95
OD::ButtonState state() const
Definition: uishortcutsmgr.h:41
Definition: uishortcutsmgr.h:29
#define mQtclass(cls)
Definition: commondefs.h:232
Notifier< uiShortcutsMgr > shortcutsChanged
Definition: uishortcutsmgr.h:113
#define mGlobal(module)
Definition: commondefs.h:160
uiString extralbl_
Definition: uishortcutsmgr.h:148
void setIntLabel(const uiString &lbl)
Definition: uishortcutsmgr.h:140
Definition: uistring.h:88
Definition: uishortcutsmgr.h:105
Set of BufferString objects.
Definition: bufstringset.h:25
friend class uiShortcutsList
Definition: uishortcutsmgr.h:120
Definition: uishortcutsmgr.h:66
Definition: uishortcutsmgr.h:127
uiShortcutsList(const uiShortcutsList &scl)
Definition: uishortcutsmgr.h:70
bool operator==(const uiKeyDesc &ev) const
Definition: uishortcutsmgr.h:35
ButtonState
Definition: keyenum.h:18
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
const ObjectSet< uiKeyDesc > & keyDescs() const
Definition: uishortcutsmgr.h:79
bool operator==(const uiExtraIntKeyDesc &ev) const
Definition: uishortcutsmgr.h:135
ObjectSet< uiKeyDesc > keydescs_
Definition: uishortcutsmgr.h:94
BufferString selkey_
Definition: uishortcutsmgr.h:93
virtual ~uiKeyDesc()
Definition: uishortcutsmgr.h:33
BufferStringSet & names()
Definition: uishortcutsmgr.h:80
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
bool setList(const uiShortcutsList &, bool usr=true)
int getIntValue() const
Definition: uishortcutsmgr.h:142
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
virtual int key() const
Definition: uishortcutsmgr.h:45
OD::ButtonState state_
Definition: uishortcutsmgr.h:59
const uiString & getLabel() const
Definition: uishortcutsmgr.h:143
void setKey(int k)
Definition: uishortcutsmgr.h:46
mFDQtclass(QKeyEvent) class uiShortcutsMgr
ObjectSet< uiShortcutsList > lists_
Definition: uishortcutsmgr.h:118
uiShortcutsMgr & SCMgr()
This is where you get your shortcuts.
int key_
Definition: uishortcutsmgr.h:58
const BufferStringSet & names() const
Definition: uishortcutsmgr.h:81
const char * nameOf(ButtonState)
void setState(OD::ButtonState bs)
Definition: uishortcutsmgr.h:42
int val_
Definition: uishortcutsmgr.h:147
~uiShortcutsList()
Definition: uishortcutsmgr.h:72
const uiShortcutsList & getList(const char *key) const
BufferStringSet keys_
Definition: uishortcutsmgr.h:117
ObjectSet< uiKeyDesc > & keyDescs()
Definition: uishortcutsmgr.h:78

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