Files
qt6-migration-pipeline/Lts/Common/LtsWidgets/lts_abstract_sequence_widget.h
T

90 lines
1.4 KiB
C++
Executable File

#ifndef LTS_ABSTRACT_SEQUENCE_WIDGET_H
#define LTS_ABSTRACT_SEQUENCE_WIDGET_H
#pragma once
#include <QGroupBox>
#include <QList>
#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<QWidget*> m_memberList;
};
}
#endif