Add support for signals

This commit is contained in:
2022-02-12 00:38:31 +01:00
parent 872488d174
commit 039c093b15
13 changed files with 565 additions and 237 deletions

View File

@ -1,5 +1,4 @@
#ifndef RELAYWIDGET_H
#define RELAYWIDGET_H
#pragma once
#include <QWidget>
#include <memory>
@ -7,52 +6,26 @@
#include "itemsettingsdialog.h"
#include "../items/item.h"
namespace Ui
{
class ItemWidget;
}
class ItemWidget : public QWidget
{
Q_OBJECT
private:
protected:
std::weak_ptr<Item> item_;
std::vector< std::unique_ptr<QShortcut> > shortcuts_;
void disable();
virtual 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> item, QWidget *parent);
std::weak_ptr<Item> 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;
virtual void stateChanged(int state){(void)state;}
};
#endif // RELAYWIDGET_H