#ifndef LTS_ABSTRACT_SEQUENCE_WIDGET_H #define LTS_ABSTRACT_SEQUENCE_WIDGET_H #pragma once #include #include #include "lts_widgets_export.h" class QToolButton; namespace LtsWidgets { class LTSWIDGETS_EXPORT LtsAbstractSequenceWidget : public QGroupBox { Q_OBJECT public: explicit LtsAbstractSequenceWidget(QWidget *parent = nullptr, const bool &readOnly = false); ~LtsAbstractSequenceWidget(); virtual void addWidget(QWidget* widget, bool isReadOnly, bool isButtonVisible = true); virtual void getValue(QWidget *contentType, const QString &findObjectName) const; virtual void setMemberCount(int count); virtual uint32_t getMemberCount() const; virtual int getMemberlistSize(); protected: virtual QToolButton *pbAddMember() const; virtual QString getObjectName(int index) const; virtual void setupMemberWidget(QWidget *child, QToolButton *pbChild, const QString &objectName, bool isButtonVisible = true) = 0; signals: void addMember(); private slots: virtual void addMemberWidget(QWidget *member, bool isReadOnly, bool isButtonVisible = true); virtual void deleteMemberWidget(QObject *member); private: bool m_readOnly; QToolButton *m_pbAddMember = nullptr; QList m_memberList; }; } #endif