PIValueTreeEdit individual grouping feature

This commit is contained in:
2022-12-26 14:09:40 +03:00
parent fe2a8077a4
commit 08f253eb09
9 changed files with 200 additions and 71 deletions

View File

@@ -40,7 +40,7 @@ class QAD_PIQT_UTILS_EXPORT PIVariantEditorBase: public QWidget {
friend class PIVariantEdit;
public:
PIVariantEditorBase() { createBoxLayout(); }
PIVariantEditorBase(QWidget * parent = nullptr): QWidget(parent) { createBoxLayout(); }
virtual ~PIVariantEditorBase() {}
virtual void setValue(const PIVariant & v) = 0;
@@ -67,6 +67,7 @@ public:
static PIVariantEditorBase * createEditor(uint type_id);
static bool editorExists(uint type_id);
static PIVariantMap editorDefaultAttributes(uint type_id);
static PIVariantTypes::Enum createGrouping();
protected:
void createBoxLayout(QBoxLayout::Direction d = QBoxLayout::LeftToRight);
@@ -82,21 +83,22 @@ private:
};
class QAD_PIQT_UTILS_EXPORT PIVariantEdit: public QWidget {
class QAD_PIQT_UTILS_EXPORT PIVariantEdit: public PIVariantEditorBase {
Q_OBJECT
public:
PIVariantEdit(QWidget * parent = nullptr);
~PIVariantEdit();
void setValue(const PIVariant & v, uint type_id = 0);
PIVariant value() const;
void setValue(const PIVariant & v, uint type_id);
void setValue(const PIVariant & v) override { setValue(v, v.typeID()); }
PIVariant value() const override;
void setAttributes(const PIVariantMap & a);
PIVariantMap attributes() const;
PIVariantMap attributes() const override;
void setFullEditMode(bool on);
void retranslate();
void setFullEditMode(bool on) override;
void retranslate() override;
private:
PIVariantEditorBase * editor = nullptr;