#ifndef RELAYWIDGET_H #define RELAYWIDGET_H #include #include #include #include "itemsettingsdialog.h" #include "../items/item.h" namespace Ui { class ItemWidget; } class ItemWidget : public QWidget { Q_OBJECT private: std::weak_ptr item_; std::vector< std::unique_ptr > shortcuts_; void disable(); signals: void deleteRequest(const ItemData& item); private slots: void setValue(int8_t value); void moveToValue(int8_t value); void deleteItem(); void stepUp(); void stepDown(); void f1(int state); void f2(int state); void f3(int state); void f4(int state); void reverse(); public: explicit ItemWidget(std::weak_ptr item, QWidget *parent); std::weak_ptr getItem(); bool controles(const ItemData& relay); ~ItemWidget(); void setShortcuts(QKeySequence up, QKeySequence down, QKeySequence rev); public slots: void stateChanged(int state); private: Ui::ItemWidget *ui; }; #endif // RELAYWIDGET_H