summaryrefslogtreecommitdiff
path: root/config.c
diff options
context:
space:
mode:
Diffstat (limited to 'config.c')
-rw-r--r--config.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/config.c b/config.c
index b667876..0797991 100644
--- a/config.c
+++ b/config.c
@@ -293,10 +293,12 @@ void cDesignerConfig::AddPluginMenus(string name, map< int, string > menus) {
}
void cDesignerConfig::AddPluginViews(string name,
- map< int, string > views,
+ map< int, string > views,
+ multimap< int, pair <int, string> > subViews,
map< int, map <int, string> > viewElements,
map< int, map <int, string> > viewGrids) {
pluginViews.insert(pair< string, map < int, string > >(name, views));
+ pluginSubViews.insert(pair< string, multimap< int, pair <int, string> > >(name, subViews));
pluginViewElements.insert(pair< string, map< int, map <int, string> > >(name, viewElements));
pluginViewGrids.insert(pair< string, map< int, map <int, string> > >(name, viewGrids));
}
@@ -327,6 +329,25 @@ map <int,string> *cDesignerConfig::GetPluginViews(string &name) {
return views;
}
+map <int,string> cDesignerConfig::GetPluginSubViews(string name, int viewID) {
+ map <int,string> subViews;
+
+ map < string, multimap< int, pair <int, string> > >::iterator hit = pluginSubViews.find(name);
+ if (hit == pluginSubViews.end())
+ return subViews;
+
+ multimap< int, pair<int, string> > subs = hit->second;
+
+ pair < multimap< int, pair<int, string> >::iterator, multimap< int, pair<int, string> >::iterator> viewSubViews;
+ viewSubViews = subs.equal_range(viewID);
+
+ for (multimap< int, pair<int, string> >::iterator it=viewSubViews.first; it!=viewSubViews.second; ++it) {
+ pair<int, string> subViewFound = it->second;
+ subViews.insert(pair<int,string>(subViewFound.first, subViewFound.second));
+ }
+ return subViews;
+}
+
int cDesignerConfig::GetPluginViewElementID(string pluginName, string viewElementName, int viewID) {
map < string, map< int, map <int, string> > >::iterator hit = pluginViewElements.find(pluginName);
if (hit == pluginViewElements.end())