PIValueTreeEdit almost finish fullEditMode
This commit is contained in:
@@ -45,7 +45,8 @@ public:
|
||||
virtual void setValue(const PIVariant & v) = 0;
|
||||
virtual PIVariant value() const = 0;
|
||||
|
||||
virtual PIVariantMap defaultAttributes() const { return PIVariantMap(); }
|
||||
virtual PIVariantMap attributes() const { return PIVariantMap(); }
|
||||
static PIVariantMap defaultAttributes() { return PIVariantMap(); }
|
||||
|
||||
template<typename T>
|
||||
static void registerEditor(uint type_id) {
|
||||
@@ -53,10 +54,13 @@ public:
|
||||
piCout << "[PIVariantEditorBase::registerEditor] Editor with typeID" << type_id << "already registered, ignore";
|
||||
return;
|
||||
}
|
||||
factories()[type_id] = []() -> PIVariantEditorBase * { return new T(); };
|
||||
factories()[type_id] = []() -> PIVariantEditorBase * { return new T(); };
|
||||
default_attributes()[type_id] = T::defaultAttributes();
|
||||
}
|
||||
|
||||
static PIVariantEditorBase * createEditor(uint type_id);
|
||||
static bool editorExists(uint type_id);
|
||||
static PIVariantMap editorDefaultAttributes(uint type_id);
|
||||
|
||||
protected:
|
||||
void createBoxLayout(QBoxLayout::Direction d = QBoxLayout::LeftToRight);
|
||||
@@ -69,6 +73,7 @@ private:
|
||||
void changeEvent(QEvent * e) override;
|
||||
|
||||
static PIMap<uint, PIVariantEditorBase * (*)()> & factories();
|
||||
static PIMap<uint, PIVariantMap> & default_attributes();
|
||||
};
|
||||
|
||||
|
||||
@@ -81,7 +86,7 @@ public:
|
||||
PIVariant value() const;
|
||||
|
||||
void setAttributes(const PIVariantMap & a);
|
||||
PIVariantMap defaultAttributes() const;
|
||||
PIVariantMap attributes() const;
|
||||
|
||||
void setFullEditMode(bool on);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user