@@ -36,6 +36,7 @@ class NODE_EDITOR_PUBLIC DataModelRegistry
3636 using RegistryItemCreator = std::function<RegistryItemPtr()>;
3737 using RegisteredModelCreatorsMap = std::unordered_map<QString, RegistryItemCreator>;
3838 using RegisteredModelsCategoryMap = std::unordered_map<QString, QString>;
39+ using RegisteredModelsOrder = std::vector<QString>;
3940 using CategoriesSet = std::set<QString>;
4041
4142 using RegisteredTypeConvertersMap = std::map<TypeConverterId, TypeConverter>;
@@ -82,6 +83,8 @@ class NODE_EDITOR_PUBLIC DataModelRegistry
8283
8384 RegisteredModelCreatorsMap const ®isteredModelCreators () const ;
8485
86+ RegisteredModelsOrder const & registeredModelsOrder () const ;
87+
8588 RegisteredModelsCategoryMap const ®isteredModelsCategoryAssociation () const ;
8689
8790 CategoriesSet const &categories () const ;
@@ -97,6 +100,8 @@ class NODE_EDITOR_PUBLIC DataModelRegistry
97100
98101 RegisteredModelCreatorsMap _registeredItemCreators;
99102
103+ RegisteredModelsOrder _registeredModelsOrder;
104+
100105 RegisteredTypeConvertersMap _registeredTypeConverters;
101106
102107private:
@@ -129,6 +134,7 @@ class NODE_EDITOR_PUBLIC DataModelRegistry
129134 {
130135 _registeredItemCreators[name] = std::move (creator);
131136 _categories.insert (category);
137+ _registeredModelsOrder.push_back (name);
132138 _registeredModelsCategory[name] = category;
133139 }
134140 }
@@ -142,6 +148,7 @@ class NODE_EDITOR_PUBLIC DataModelRegistry
142148 {
143149 _registeredItemCreators[name] = std::move (creator);
144150 _categories.insert (category);
151+ _registeredModelsOrder.push_back (name);
145152 _registeredModelsCategory[name] = category;
146153 }
147154 }
0 commit comments