KDEUI
kmodifierkeyinfo.h
Go to the documentation of this file.
00001 /* 00002 Copyright 2009 Michael Leupold <lemma@confuego.org> 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Lesser General Public 00006 License as published by the Free Software Foundation; either 00007 version 2.1 of the License, or (at your option) version 3, or any 00008 later version accepted by the membership of KDE e.V. (or its 00009 successor approved by the membership of KDE e.V.), which shall 00010 act as a proxy defined in Section 6 of version 3 of the license. 00011 00012 This library is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 Lesser General Public License for more details. 00016 00017 You should have received a copy of the GNU Lesser General Public 00018 License along with this library. If not, see <http://www.gnu.org/licenses/>. 00019 */ 00020 00021 #ifndef KMODIFIERKEYINFO_H 00022 #define KMODIFIERKEYINFO_H 00023 00024 #include <kdeui_export.h> 00025 00026 #include <QtCore/QObject> 00027 00028 class KModifierKeyInfoProvider; 00029 00046 class KDEUI_EXPORT KModifierKeyInfo : public QObject 00047 { 00048 Q_OBJECT 00049 00050 public: 00054 KModifierKeyInfo(QObject *parent = 0); 00055 00059 virtual ~KModifierKeyInfo(); 00060 00067 bool knowsKey(Qt::Key key) const; 00068 00074 const QList<Qt::Key> knownKeys() const; 00075 00083 bool isKeyPressed(Qt::Key key) const; 00084 00092 bool isKeyLatched(Qt::Key key) const; 00093 00102 bool setKeyLatched(Qt::Key key, bool latched); 00103 00111 bool isKeyLocked(Qt::Key key) const; 00112 00121 bool setKeyLocked(Qt::Key key, bool locked); 00122 00130 bool isButtonPressed(Qt::MouseButton button) const; 00131 00132 Q_SIGNALS: 00140 void keyPressed(Qt::Key key, bool pressed); 00141 00148 void keyLatched(Qt::Key key, bool latched); 00149 00156 void keyLocked(Qt::Key key, bool locked); 00157 00166 void buttonPressed(Qt::MouseButton button, bool pressed); 00167 00174 void keyAdded(Qt::Key key); 00175 00182 void keyRemoved(Qt::Key key); 00183 00184 private: 00185 Q_DISABLE_COPY(KModifierKeyInfo) 00186 KModifierKeyInfoProvider * const p; // krazy:exclude=dpointer 00187 }; 00188 00189 #endif
KDE 4.6 API Reference