summaryrefslogtreecommitdiff
path: root/libtemplate
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2015-03-15 18:11:07 +0100
committerlouis <louis.braun@gmx.de>2015-03-15 18:11:07 +0100
commit19dfd1af7bf7b7e6c79ed420b294c4a52b7df659 (patch)
treebfae7669675ec716938707fd3515009b9f8c67e4 /libtemplate
parentb6e6065b0f6951042e78e6babe757393596a8a42 (diff)
downloadvdr-plugin-skindesigner-19dfd1af7bf7b7e6c79ed420b294c4a52b7df659.tar.gz
vdr-plugin-skindesigner-19dfd1af7bf7b7e6c79ed420b294c4a52b7df659.tar.bz2
added possibility to hide root menu from a subview template
Diffstat (limited to 'libtemplate')
-rw-r--r--libtemplate/templatefunction.c14
-rw-r--r--libtemplate/templatefunction.h2
-rw-r--r--libtemplate/templateview.c8
-rw-r--r--libtemplate/templateview.h1
4 files changed, 25 insertions, 0 deletions
diff --git a/libtemplate/templatefunction.c b/libtemplate/templatefunction.c
index 8156633..cae9124 100644
--- a/libtemplate/templatefunction.c
+++ b/libtemplate/templatefunction.c
@@ -125,6 +125,8 @@ void cTemplateFunction::SetParameters(vector<pair<string, string> > params) {
p.first = ptScaleTvWidth;
} else if (!name.compare("scaletvheight")) {
p.first = ptScaleTvHeight;
+ } else if (!name.compare("hideroot")) {
+ p.first = ptHideRoot;
} else if (!name.compare("cache")) {
p.first = ptCache;
} else if (!name.compare("determinatefont")) {
@@ -260,6 +262,10 @@ bool cTemplateFunction::CalculateParameters(void) {
break;
case ptOverflow:
paramValid = SetOverflow(value);
+ break;
+ case ptHideRoot:
+ paramValid = SetHideRoot(value);
+ break;
default:
paramValid = true;
break;
@@ -1046,6 +1052,14 @@ bool cTemplateFunction::SetOverflow(string value) {
return ok;
}
+bool cTemplateFunction::SetHideRoot(string value) {
+ bool hideRoot = 0;
+ if (!value.compare("true"))
+ hideRoot = 1;
+ numericParameters.insert(pair<eParamType, int>(ptHideRoot, hideRoot));
+ return true;
+}
+
void cTemplateFunction::ParseStringParameters(void) {
//first replace stringtokens in Text (drawText)
stringstream text;
diff --git a/libtemplate/templatefunction.h b/libtemplate/templatefunction.h
index e63850e..66678a6 100644
--- a/libtemplate/templatefunction.h
+++ b/libtemplate/templatefunction.h
@@ -76,6 +76,7 @@ enum eParamType {
ptScaleTvY,
ptScaleTvWidth,
ptScaleTvHeight,
+ ptHideRoot,
ptCache,
ptDeterminateFont,
ptNone
@@ -150,6 +151,7 @@ protected:
bool SetOrientation(string value);
bool SetFloating(string value);
bool SetOverflow(string value);
+ bool SetHideRoot(string value);
void ParseStringParameters(void);
void ParseNumericalParameters(void);
void CalculateAlign(int elementWidth, int elementHeight);
diff --git a/libtemplate/templateview.c b/libtemplate/templateview.c
index 989c693..97db545 100644
--- a/libtemplate/templateview.c
+++ b/libtemplate/templateview.c
@@ -194,6 +194,13 @@ int cTemplateView::GetNumPixmapsViewElement(eViewElement ve) {
return viewElement->GetNumPixmaps();
}
+bool cTemplateView::HideView(void) {
+ if (!parameters)
+ return false;
+ return parameters->GetNumericParameter(ptHideRoot);
+}
+
+
bool cTemplateView::ExecuteView(eViewElement ve) {
map < eViewElement, cTemplateViewElement* >::iterator hit = viewElements.find(ve);
if (hit == viewElements.end())
@@ -1878,6 +1885,7 @@ cTemplateViewPlugin::cTemplateViewPlugin(string pluginName, int viewID) {
attributes.insert("scaletvy");
attributes.insert("scaletvwidth");
attributes.insert("scaletvheight");
+ attributes.insert("hideroot");
funcsAllowed.insert(pair< string, set<string> >(viewName, attributes));
//definition of allowed parameters for viewtab
diff --git a/libtemplate/templateview.h b/libtemplate/templateview.h
index c8ee2e1..84bc9f1 100644
--- a/libtemplate/templateview.h
+++ b/libtemplate/templateview.h
@@ -109,6 +109,7 @@ public:
cRect GetOsdSize(void);
int GetNumPixmaps(void);
int GetNumPixmapsViewElement(eViewElement ve);
+ bool HideView(void);
bool ExecuteView(eViewElement ve);
int GetNumListViewMenuItems(void);
bool GetScalingWindow(cRect &scalingWindow);