xref: /OK3568_Linux_fs/app/forlinx/flapp/src/plugins/key/keywidget.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 #ifndef KEYWIDGET_H
2 #define KEYWIDGET_H
3 
4 #include <QWidget>
5 #include "iwidget.h"
6 
7 struct Key{
8     QString name;
9     int code;
10     int state;
11 };
12 class KeyWidget : public IWidget
13 {
14     Q_OBJECT
15     Q_PLUGIN_METADATA(IID PLUGIN_INTERFACE_iid FILE "key.json")
16 
17 public:
18     explicit KeyWidget(QWidget *parent = nullptr);
19     ~ KeyWidget();
20     virtual void loadData(const QDomElement &head, const QDomElement &body)override;
21     virtual QString id()override;
22 
23 protected:
24     void paintEvent(QPaintEvent *e);
25     void  resizeEvent(QResizeEvent *e);
26 
27 private:
28     QString  m_devName;
29     QList<Key> m_keys;
30     int m_fd;
31 };
32 
33 #endif // KEYWIDGET_H
34