add QAD::VirtualKeyboard library, vkbd for widgets with JSON-based description
This commit is contained in:
55
libs/virtual_keyboard/virtual_keyboard_layout_page.h
Normal file
55
libs/virtual_keyboard/virtual_keyboard_layout_page.h
Normal file
@@ -0,0 +1,55 @@
|
||||
#ifndef virtual_keyboard_layout_page_h
|
||||
#define virtual_keyboard_layout_page_h
|
||||
|
||||
#include <QToolButton>
|
||||
#include <pibase.h>
|
||||
|
||||
|
||||
class VirtualKeyboardLayoutPage: public QWidget {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
VirtualKeyboardLayoutPage(QJsonObject root);
|
||||
~VirtualKeyboardLayoutPage();
|
||||
|
||||
bool isValid() const {return !buttons.isEmpty();}
|
||||
QString name() const {return name_;}
|
||||
|
||||
bool isCapital() const {return capital;}
|
||||
void setCapital(bool yes);
|
||||
void setGotoEnabled(bool yes);
|
||||
void setCapitalEnabled(bool yes);
|
||||
|
||||
int buttonColumns() const {return columns;}
|
||||
void setButtonsSize(int h);
|
||||
|
||||
enum Role {
|
||||
rInvalid,
|
||||
rLetter,
|
||||
rBackspace,
|
||||
rReturn,
|
||||
rSpace,
|
||||
rHide,
|
||||
rShift,
|
||||
rGotoPage,
|
||||
};
|
||||
|
||||
protected:
|
||||
QToolButton * createButton(QJsonObject jb);
|
||||
Role roleFromText(QString str);
|
||||
Role buttonRole(QToolButton * b) const;
|
||||
|
||||
QVector<QToolButton * > buttons;
|
||||
QString name_;
|
||||
int columns = 0;
|
||||
bool capital = false, capital_enabled = true;
|
||||
|
||||
private slots:
|
||||
|
||||
signals:
|
||||
void gotoPageRequest(QString);
|
||||
void hideRequest();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user