diff --git a/src/dtkWidgets/dtkWidgetsParameterMenuBarGenerator.cpp b/src/dtkWidgets/dtkWidgetsParameterMenuBarGenerator.cpp index 0d250b938d6a1541b8d22fdb3386b20b2705e2a5..1f32f922fae0dbb75625917ee1721342bcd50bed 100644 --- a/src/dtkWidgets/dtkWidgetsParameterMenuBarGenerator.cpp +++ b/src/dtkWidgets/dtkWidgetsParameterMenuBarGenerator.cpp @@ -127,6 +127,24 @@ dtkWidgetsParameterMenuBarGenerator::~dtkWidgetsParameterMenuBarGenerator(void) delete d; } +void dtkWidgetsParameterMenuBarGenerator::populate(dtkWidgetsMenu *menu_to_fill) +{ + for(auto it = d->menu.begin(); it != d->menu.end(); ++it) { + if(it->isObject()) { + QJsonObject content_object = it->toObject(); + if(content_object.contains("group")) { + QJsonObject group_object = content_object["group"].toObject(); + d->parseGroup(menu_to_fill, group_object); + } else { + qWarning() << Q_FUNC_INFO << "'contents' sections are expected to contain objects only. Non object entry is ignored."; + } + } else { + qWarning() << Q_FUNC_INFO << "'contents' sections are expected to contain objects only. Non object entry is ignored."; + } + } +} + + void dtkWidgetsParameterMenuBarGenerator::populate(dtkWidgetsMenuBar *menubar) { for(auto it = d->menu.begin(); it != d->menu.end(); ++it) { @@ -147,7 +165,7 @@ void dtkWidgetsParameterMenuBarGenerator::populate(dtkWidgetsMenuBar *menubar) void dtkWidgetsParameterMenuBarGenerator::populate(dtkWidgetsMenuBarContainer *container) { dtkWidgetsMenuBar *dummy = new dtkWidgetsMenuBar; - + for(auto it = d->menu.begin(); it != d->menu.end(); ++it) { if(it->isObject()) { QJsonObject content_object = it->toObject(); diff --git a/src/dtkWidgets/dtkWidgetsParameterMenuBarGenerator.h b/src/dtkWidgets/dtkWidgetsParameterMenuBarGenerator.h index 91fc02492546404f69de22796d0b16b6e6f9ca0d..c765f7957a388a30ea47ad0d8ae9054acae4e8ce 100644 --- a/src/dtkWidgets/dtkWidgetsParameterMenuBarGenerator.h +++ b/src/dtkWidgets/dtkWidgetsParameterMenuBarGenerator.h @@ -20,6 +20,7 @@ #include +class dtkWidgetsMenu; class dtkWidgetsMenuBar; class dtkWidgetsMenuBarContainer; class dtkCoreParameter; @@ -35,6 +36,7 @@ public: ~dtkWidgetsParameterMenuBarGenerator(void); public: + void populate(dtkWidgetsMenu *); void populate(dtkWidgetsMenuBar *); void populate(dtkWidgetsMenuBarContainer *);