#include "simulateduiwidget.h" #include "ui_simulateduiwidgetX7.h" // NOTE: RadioUiAction(NUMBER,...): NUMBER relates to enum EnumKeys in the specific board.h SimulatedUIWidgetX7::SimulatedUIWidgetX7(SimulatorInterface *simulator, QWidget * parent): SimulatedUIWidget(simulator, parent), ui(new Ui::SimulatedUIWidgetX7) { RadioUiAction * act; QPolygon polygon; ui->setupUi(this); // add actions in order of appearance on the help menu QPoint ctr(70, 91); polygon << polyArc(ctr.x(), ctr.y(), 50, -90, 90) << polyArc(ctr.x(), ctr.y(), 22, -90, 90); act = new RadioUiAction(0, QList() << Qt::Key_PageUp << Qt::Key_Up, SIMU_STR_HLP_KEYS_GO_UP, SIMU_STR_HLP_ACT_MENU_ICN); addRadioWidget(ui->leftbuttons->addArea(polyArc(ctr.x(), ctr.y(), 20), "X7/left_menu.png", act)); act = new RadioUiAction(3, QList() << Qt::Key_PageDown << Qt::Key_Down, SIMU_STR_HLP_KEYS_GO_DN, SIMU_STR_HLP_ACT_PAGE); addRadioWidget(ui->leftbuttons->addArea(polygon, "X7/left_page.png", act)); polygon.clear(); polygon << polyArc(ctr.x(), ctr.y(), 50, 90, 270) << polyArc(ctr.x(), ctr.y(), 22, 90, 270); act = new RadioUiAction(1, QList() << Qt::Key_Delete << Qt::Key_Escape << Qt::Key_Backspace, SIMU_STR_HLP_KEYS_EXIT, SIMU_STR_HLP_ACT_EXIT); addRadioWidget(ui->leftbuttons->addArea(polygon, "X7/left_exit.png", act)); m_scrollUpAction = new RadioUiAction(-1, QList() << Qt::Key_Minus << Qt::Key_Equal << Qt::Key_Left, SIMU_STR_HLP_KEYS_GO_LFT, SIMU_STR_HLP_ACT_ROT_LFT); m_scrollDnAction = new RadioUiAction(-1, QList() << Qt::Key_Plus << Qt::Key_Right, SIMU_STR_HLP_KEYS_GO_RGT, SIMU_STR_HLP_ACT_ROT_RGT); connectScrollActions(); m_mouseMidClickAction = new RadioUiAction(2, QList() << Qt::Key_Enter << Qt::Key_Return, SIMU_STR_HLP_KEYS_ACTIVATE, SIMU_STR_HLP_ACT_ROT_DN); addRadioWidget(ui->rightbuttons->addArea(polyArc(88, 92, 33), "X7/right_ent.png", m_mouseMidClickAction)); addRadioWidget(ui->leftbuttons->addArea(QRect(9, 154, 30, 30), "X7/left_scrnshot.png", m_screenshotAction)); m_backlightColors << QColor(215, 243, 255); // X7 Blue m_backlightColors << QColor(166,247,159); m_backlightColors << QColor(247,159,166); m_backlightColors << QColor(255,195,151); m_backlightColors << QColor(247,242,159); setLcd(ui->lcd); QString css = "#radioUiWidget {" "background-color: qlineargradient(spread:reflect, x1:0, y1:0, x2:0, y2:1," "stop:0 rgba(255, 255, 255, 255)," "stop:0.757062 rgba(241, 238, 238, 255)," "stop:1 rgba(247, 245, 245, 255));" "}"; QTimer * tim = new QTimer(this); tim->setSingleShot(true); connect(tim, &QTimer::timeout, [this, css]() { emit customStyleRequest(css); }); tim->start(100); } SimulatedUIWidgetX7::~SimulatedUIWidgetX7() { delete ui; }