#pragma once #include #include #include #include #include #include #include "mesh_connector.h" /** @brief widget that displays single node */ class CDNodeWidget : public QWidget { Q_OBJECT private: cd_s_node *_node = nullptr; cd_uid_t _id; QHBoxLayout *main_layout; QLabel *label_node_name; QLabel *label_node_address; QCheckBox *switch_on_off; QPushButton *button_add_remove; public: CDNodeWidget(QWidget *parent = nullptr); virtual ~CDNodeWidget(); /** @brief update node info in GUI */ virtual void update(); /** @brief register which node this widget controls */ virtual void set_node(cd_uid_t id); /** @brief join/remove from network */ virtual void toggle_provision(); /** @brief turn led on/off */ virtual void update_led(bool on); /** @brief send get_node command to update self */ virtual void update_net(); };