123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- #ifndef FLOWGRAPHNODEWIDGET_H
- #define FLOWGRAPHNODEWIDGET_H
- #include <QWidget>
- class QLabel;
- class QCheckBox;
- class QComboBox;
- class QSpinBox;
- class QVBoxLayout;
- class FlowGraphNodeWidget : public QWidget
- {
- Q_OBJECT
- public:
- enum NodeWidgetType
- {
- Plain,
- CheckBox,
- ComboBox,
- SpinBox,
- };
- explicit FlowGraphNodeWidget(NodeWidgetType type, QWidget *parent = nullptr);
- NodeWidgetType type() const;
- signals:
- protected:
- NodeWidgetType m_type = Plain;
- QVBoxLayout *m_layout = nullptr;
- };
- class FlowGraphPlainNodeWidget : public FlowGraphNodeWidget
- {
- Q_OBJECT
- public:
- explicit FlowGraphPlainNodeWidget(QWidget *parent = nullptr);
- void setText(const QString text);
- private:
- QLabel *m_label = nullptr;
- };
- class FlowGraphCheckNodeWidget : public FlowGraphNodeWidget
- {
- Q_OBJECT
- public:
- explicit FlowGraphCheckNodeWidget(QWidget *parent = nullptr);
- private:
- QCheckBox *m_checkBox = nullptr;
- };
- class FlowGraphComboNodeWidget : public FlowGraphNodeWidget
- {
- Q_OBJECT
- public:
- explicit FlowGraphComboNodeWidget(QWidget *parent = nullptr);
- QList<QString> items() const;
- void setItems(QList<QString> items);
- private:
- QComboBox *m_combo = nullptr;
- QList<QString> m_items;
- };
- class FlowGraphSpinNodeWidget : public FlowGraphNodeWidget
- {
- Q_OBJECT
- public:
- explicit FlowGraphSpinNodeWidget(QWidget *parent = nullptr);
- private:
- QSpinBox *m_spinBox = nullptr;
- };
- #endif // FLOWGRAPHNODEWIDGET_H
|