From 19dfd1af7bf7b7e6c79ed420b294c4a52b7df659 Mon Sep 17 00:00:00 2001 From: louis Date: Sun, 15 Mar 2015 18:11:07 +0100 Subject: added possibility to hide root menu from a subview template --- libtemplate/templatefunction.c | 14 ++++++++++++++ libtemplate/templatefunction.h | 2 ++ libtemplate/templateview.c | 8 ++++++++ libtemplate/templateview.h | 1 + 4 files changed, 25 insertions(+) (limited to 'libtemplate') 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 > 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(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 >(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); -- cgit v1.2.3