diff options
Diffstat (limited to 'libtemplate/templateview.c')
| -rw-r--r-- | libtemplate/templateview.c | 2148 |
1 files changed, 0 insertions, 2148 deletions
diff --git a/libtemplate/templateview.c b/libtemplate/templateview.c deleted file mode 100644 index 78d6fdf..0000000 --- a/libtemplate/templateview.c +++ /dev/null @@ -1,2148 +0,0 @@ -#include "../config.h" -#include "templateview.h" - -// --- cTemplateView ------------------------------------------------------------- - -cTemplateView::cTemplateView(void) { - globals = NULL; - parameters = NULL; - containerX = 0; - containerY = 0; - containerWidth = 0; - containerHeight = 0; - SetFunctionDefinitions(); -} - -cTemplateView::~cTemplateView() { - for (multimap < eViewElement, cTemplateViewElement* >::iterator it = viewElements.begin(); it != viewElements.end(); it++) { - delete it->second; - } - - for (multimap < eViewList, cTemplateViewList* >::iterator it = viewLists.begin(); it != viewLists.end(); it++) { - delete it->second; - } - - for (map < int, cTemplateViewGrid* >::iterator it = viewGrids.begin(); it != viewGrids.end(); it++) { - delete it->second; - } - - for (vector < cTemplateViewTab* >::iterator it = viewTabs.begin(); it != viewTabs.end(); it++) { - delete *it; - } - - for (map < eSubView, cTemplateView* >::iterator it = subViews.begin(); it != subViews.end(); it++) { - delete it->second; - } - - for (map < string, map< int, cTemplateView*> >::iterator it = pluginViews.begin(); it != pluginViews.end(); it++) { - map< int, cTemplateView*> plugViews = it->second; - for (map< int, cTemplateView*>::iterator it2 = plugViews.begin(); it2 != plugViews.end(); it2++) { - delete it2->second; - } - } - - if (parameters) - delete parameters; - -} - -/******************************************************************* -* Public Functions -*******************************************************************/ - -void cTemplateView::SetParameters(vector<pair<string, string> > ¶ms) { - parameters = new cTemplateFunction(ftView); - parameters->SetGlobals(globals); - parameters->SetParameters(params); -} - -void cTemplateView::SetContainer(int x, int y, int width, int height) { - containerX = x; - containerY = y; - containerWidth = width; - containerHeight = height; -} - -cTemplateViewElement *cTemplateView::GetViewElement(eViewElement ve) { - pair<multimap< eViewElement, cTemplateViewElement* >::iterator, multimap< eViewElement, cTemplateViewElement* >::iterator> rangeViewElements; - rangeViewElements = viewElements.equal_range(ve); - for (multimap<eViewElement, cTemplateViewElement*>::iterator it = rangeViewElements.first; it!=rangeViewElements.second; ++it) { - cTemplateViewElement *viewElement = it->second; - if (viewElement->Execute()) { - return viewElement; - } - } - return NULL; -} - -void cTemplateView::InitViewElementIterator(void) { - veIt = viewElements.begin(); -} - -cTemplateViewElement *cTemplateView::GetNextViewElement(void) { - if (veIt == viewElements.end()) - return NULL; - cTemplateViewElement *viewElement = veIt->second; - veIt++; - return viewElement; -} - -cTemplateViewGrid *cTemplateView::GetViewGrid(int gridID) { - map < int, cTemplateViewGrid* >::iterator hit = viewGrids.find(gridID); - if (hit == viewGrids.end()) { - return NULL; - } - return hit->second; -} - -void cTemplateView::InitViewGridIterator(void) { - geIt = viewGrids.begin(); -} - -cTemplateViewGrid *cTemplateView::GetNextViewGrid(void) { - if (geIt == viewGrids.end()) - return NULL; - cTemplateViewGrid *viewGrid = geIt->second; - geIt++; - return viewGrid; -} - -cTemplateViewList *cTemplateView::GetViewList(eViewList vl) { - if (viewLists.size() == 1) { - multimap < eViewList, cTemplateViewList* >::iterator hit = viewLists.find(vl); - if (hit == viewLists.end()) - return NULL; - return hit->second; - } - pair<multimap< eViewList, cTemplateViewList* >::iterator, multimap< eViewList, cTemplateViewList* >::iterator> rangeViewLists; - rangeViewLists = viewLists.equal_range(vl); - for (multimap<eViewList, cTemplateViewList*>::iterator it = rangeViewLists.first; it!=rangeViewLists.second; ++it) { - cTemplateViewList *viewList = it->second; - if (viewList->Execute()) { - return viewList; - } - } - return NULL; -} - -void cTemplateView::InitViewListIterator(void) { - vlIt = viewLists.begin(); -} - -cTemplateViewList *cTemplateView::GetNextViewList(void) { - if (vlIt == viewLists.end()) - return NULL; - cTemplateViewList *viewList = vlIt->second; - vlIt++; - return viewList; -} - -cTemplateView *cTemplateView::GetSubView(eSubView sv) { - map < eSubView, cTemplateView* >::iterator hit = subViews.find(sv); - if (hit == subViews.end()) - return NULL; - return hit->second; -} - -cTemplateView *cTemplateView::GetPluginView(string pluginName, int pluginMenu) { - map < string, map< int, cTemplateView*> >::iterator hit = pluginViews.find(pluginName); - - if (hit == pluginViews.end()) - return NULL; - - map< int, cTemplateView*> plugViews = hit->second; - map< int, cTemplateView*>::iterator hit2 = plugViews.find(pluginMenu); - - if (hit2 == plugViews.end()) - return NULL; - - return hit2->second; -} - - -void cTemplateView::InitViewTabIterator(void) { - vtIt = viewTabs.begin(); -} - -cTemplateViewTab *cTemplateView::GetNextViewTab(void) { - if (vtIt == viewTabs.end()) { - return NULL; - } - cTemplateViewTab *tab = *vtIt; - vtIt++; - return tab; -} - -void cTemplateView::InitSubViewIterator(void) { - svIt = subViews.begin(); -} - -cTemplateView *cTemplateView::GetNextSubView(void) { - if (svIt == subViews.end()) - return NULL; - cTemplateView *subView = svIt->second; - svIt++; - return subView; -} - -int cTemplateView::GetNumericParameter(eParamType type) { - if (!parameters) - return 0; - return parameters->GetNumericParameter(type); -} - -cRect cTemplateView::GetOsdSize(void) { - cRect osdSize; - if (!parameters) { - return osdSize; - } - osdSize.SetX(parameters->GetNumericParameter(ptX)); - osdSize.SetY(parameters->GetNumericParameter(ptY)); - osdSize.SetWidth(parameters->GetNumericParameter(ptWidth)); - osdSize.SetHeight(parameters->GetNumericParameter(ptHeight)); - return osdSize; -} - -int cTemplateView::GetNumPixmaps(void) { - int numPixmaps = 0; - for (multimap < eViewElement, cTemplateViewElement* >::iterator it = viewElements.begin(); it != viewElements.end(); it++) { - cTemplateViewElement *viewElement = it->second; - numPixmaps += viewElement->GetNumPixmaps(); - } - return numPixmaps; -} - -int cTemplateView::GetNumPixmapsViewElement(eViewElement ve) { - cTemplateViewElement *viewElement = GetViewElement(ve); - if (!viewElement) - return 0; - return viewElement->GetNumPixmaps(); -} - -bool cTemplateView::HideView(void) { - if (!parameters) - return false; - return parameters->GetNumericParameter(ptHideRoot); -} - -bool cTemplateView::DrawGebugGrid(void) { - if (!parameters) - return false; - return parameters->GetNumericParameter(ptDrawDebugGrid); -} - -int cTemplateView::DebugGridX(void) { - if (!parameters) - return 0; - return parameters->GetNumericParameter(ptDebugGridX); -} - -int cTemplateView::DebugGridY(void) { - if (!parameters) - return 0; - return parameters->GetNumericParameter(ptDebugGridY); -} - -tColor cTemplateView::DebugGridColor(void) { - tColor col = 0xFFFF0000; - if (!globals) - return col; - string colName = "{clrDebugGrid}"; - globals->GetColor(colName, col); - return col; -} - -tColor cTemplateView::DebugGridFontColor(void) { - tColor col = 0xFFFF0000; - if (!globals) - return col; - string colName = "{clrFontDebugGrid}"; - globals->GetColor(colName, col); - return col; -} - -bool cTemplateView::ExecuteView(eViewElement ve) { - cTemplateViewElement *viewElement = GetViewElement(ve); - if (!viewElement) - return false; - return true; -} - -bool cTemplateView::DetachViewElement(eViewElement ve) { - multimap < eViewElement, cTemplateViewElement* >::iterator hit = viewElements.find(ve); - if (hit == viewElements.end()) - return false; - cTemplateViewElement *viewElement = hit->second; - return viewElement->Detach(); -} - -string cTemplateView::GetViewElementMode(eViewElement ve) { - cTemplateViewElement *viewElement = GetViewElement(ve); - if (!viewElement) - return ""; - return viewElement->GetMode(); -} - -int cTemplateView::GetNumListViewMenuItems(void) { - int numElements = 0; - cTemplateViewList *menuList = GetViewList(vlMenuItem); - if (!menuList) - return numElements; - return menuList->GetNumericParameter(ptNumElements); -} - -bool cTemplateView::GetScalingWindow(cRect &scalingWindow) { - if (!parameters) - return false; - bool doScale = false; - int scaleX = parameters->GetNumericParameter(ptScaleTvX) + cOsd::OsdLeft(); - int scaleY = parameters->GetNumericParameter(ptScaleTvY) + cOsd::OsdTop(); - int scaleWidth = parameters->GetNumericParameter(ptScaleTvWidth); - int scaleHeight = parameters->GetNumericParameter(ptScaleTvHeight); - if (scaleX > -1 && scaleY > -1 && scaleWidth > -1 && scaleHeight > -1) { - cRect suggestedScaleWindow(scaleX, scaleY, scaleWidth, scaleHeight); - scalingWindow = cDevice::PrimaryDevice()->CanScaleVideo(suggestedScaleWindow); - doScale = true; - } else { - scalingWindow = cDevice::PrimaryDevice()->CanScaleVideo(cRect::Null); - } - return doScale; -} - -bool cTemplateView::ValidViewElement(const char *viewElement) { - set<string>::iterator hit = viewElementsAllowed.find(viewElement); - if (hit == viewElementsAllowed.end()) - return false; - return true; -} - -bool cTemplateView::ValidSubView(const char *subView) { - set<string>::iterator hit = subViewsAllowed.find(subView); - if (hit == subViewsAllowed.end()) - return false; - return true; -} - -bool cTemplateView::ValidViewList(const char *viewList) { - set<string>::iterator hit = viewListsAllowed.find(viewList); - if (hit == viewListsAllowed.end()) - return false; - return true; -} - -bool cTemplateView::ValidViewGrid(const char *viewGrid) { - set<string>::iterator hit = viewGridsAllowed.find(viewGrid); - if (hit == viewGridsAllowed.end()) - return false; - return true; -} - -bool cTemplateView::ValidFunction(const char *func) { - map < string, set < string > >::iterator hit = funcsAllowed.find(func); - if (hit == funcsAllowed.end()) - return false; - return true; -} - -bool cTemplateView::ValidAttribute(const char *func, const char *att) { - map < string, set < string > >::iterator hit = funcsAllowed.find(func); - if (hit == funcsAllowed.end()) - return false; - - set<string>::iterator hitAtt = (hit->second).find(att); - if (hitAtt == (hit->second).end()) - return false; - - return true; -} - -void cTemplateView::Translate(void) { - //Translate ViewElements - InitViewElementIterator(); - cTemplateViewElement *viewElement = NULL; - while(viewElement = GetNextViewElement()) { - viewElement->InitPixmapIterator(); - cTemplatePixmap *pix = NULL; - while(pix = viewElement->GetNextPixmap()) { - pix->InitFunctionIterator(); - cTemplateFunction *func = NULL; - while(func = pix->GetNextFunction()) { - if (func->GetType() == ftDrawText || func->GetType() == ftDrawTextBox || func->GetType() == ftDrawTextVertical) { - string text = func->GetParameter(ptText); - string translation; - bool translated = globals->Translate(text, translation); - if (translated) { - func->SetTranslatedText(translation); - } - } - if (func->GetType() == ftLoop) { - cTemplateLoopFunction *funcsLoop = dynamic_cast<cTemplateLoopFunction*>(func); - funcsLoop->InitIterator(); - cTemplateFunction *loopFunc = NULL; - while(loopFunc = funcsLoop->GetNextFunction()) { - if (loopFunc->GetType() == ftDrawText || loopFunc->GetType() == ftDrawTextBox || func->GetType() == ftDrawTextVertical) { - string text = loopFunc->GetParameter(ptText); - string translation; - bool translated = globals->Translate(text, translation); - if (translated) { - loopFunc->SetTranslatedText(translation); - } - } - } - } - } - } - } - //Translate viewLists - InitViewListIterator(); - cTemplateViewList *viewList = NULL; - while(viewList = GetNextViewList()) { - viewList->InitPixmapIterator(); - cTemplatePixmap *pix = NULL; - while(pix = viewList->GetNextPixmap()) { - pix->InitFunctionIterator(); - cTemplateFunction *func = NULL; - while(func = pix->GetNextFunction()) { - if (func->GetType() == ftDrawText || func->GetType() == ftDrawTextBox || func->GetType() == ftDrawTextVertical) { - string text = func->GetParameter(ptText); - string translation; - bool translated = globals->Translate(text, translation); - if (translated) { - func->SetTranslatedText(translation); - } - } - } - } - cTemplateViewElement *listElement = viewList->GetListElement(); - listElement->InitPixmapIterator(); - while(pix = listElement->GetNextPixmap()) { - pix->InitFunctionIterator(); - cTemplateFunction *func = NULL; - while(func = pix->GetNextFunction()) { - if (func->GetType() == ftDrawText || func->GetType() == ftDrawTextBox || func->GetType() == ftDrawTextVertical) { - string text = func->GetParameter(ptText); - string translation; - bool translated = globals->Translate(text, translation); - if (translated) { - func->SetTranslatedText(translation); - } - } - } - } - - cTemplateViewElement *listElementCurrent = viewList->GetListElementCurrent(); - if (listElementCurrent) { - listElementCurrent->InitPixmapIterator(); - while(pix = listElementCurrent->GetNextPixmap()) { - pix->InitFunctionIterator(); - cTemplateFunction *func = NULL; - while(func = pix->GetNextFunction()) { - if (func->GetType() == ftDrawText || func->GetType() == ftDrawTextBox || func->GetType() == ftDrawTextVertical) { - string text = func->GetParameter(ptText); - string translation; - bool translated = globals->Translate(text, translation); - if (translated) { - func->SetTranslatedText(translation); - } - } - if (func->GetType() == ftLoop) { - cTemplateLoopFunction *funcsLoop = dynamic_cast<cTemplateLoopFunction*>(func); - funcsLoop->InitIterator(); - cTemplateFunction *loopFunc = NULL; - while(loopFunc = funcsLoop->GetNextFunction()) { - if (loopFunc->GetType() == ftDrawText || loopFunc->GetType() == ftDrawTextBox || func->GetType() == ftDrawTextVertical) { - string text = loopFunc->GetParameter(ptText); - string translation; - bool translated = globals->Translate(text, translation); - if (translated) { - loopFunc->SetTranslatedText(translation); - } - } - } - } - } - } - } - } - - //Translate viewTabs - InitViewTabIterator(); - cTemplateViewTab *viewTab = NULL; - while(viewTab = GetNextViewTab()) { - string tabName = viewTab->GetName(); - string tabTrans; - bool translated = globals->Translate(tabName, tabTrans); - if (translated) { - viewTab->SetName(tabTrans); - } - viewTab->InitFunctionIterator(); - cTemplateFunction *func = NULL; - while(func = viewTab->GetNextFunction()) { - if (func->GetType() == ftDrawText || func->GetType() == ftDrawTextBox || func->GetType() == ftDrawTextVertical) { - string text = func->GetParameter(ptText); - string translation; - translated = globals->Translate(text, translation); - if (translated) { - func->SetTranslatedText(translation); - } - } - if (func->GetType() == ftLoop) { - cTemplateLoopFunction *funcsLoop = dynamic_cast<cTemplateLoopFunction*>(func); - funcsLoop->InitIterator(); - cTemplateFunction *loopFunc = NULL; - while(loopFunc = funcsLoop->GetNextFunction()) { - if (loopFunc->GetType() == ftDrawText || loopFunc->GetType() == ftDrawTextBox || func->GetType() == ftDrawTextVertical) { - string text = loopFunc->GetParameter(ptText); - string translation; - bool translated = globals->Translate(text, translation); - if (translated) { - loopFunc->SetTranslatedText(translation); - } - } - } - } - } - } - - //Translate ViewGrids - InitViewGridIterator(); - cTemplateViewGrid *viewGrid = NULL; - while(viewGrid = GetNextViewGrid()) { - viewGrid->InitPixmapIterator(); - cTemplatePixmap *pix = NULL; - while(pix = viewGrid->GetNextPixmap()) { - pix->InitFunctionIterator(); - cTemplateFunction *func = NULL; - while(func = pix->GetNextFunction()) { - if (func->GetType() == ftDrawText || func->GetType() == ftDrawTextBox || func->GetType() == ftDrawTextVertical) { - string text = func->GetParameter(ptText); - string translation; - bool translated = globals->Translate(text, translation); - if (translated) { - func->SetTranslatedText(translation); - } - } - if (func->GetType() == ftLoop) { - cTemplateLoopFunction *funcsLoop = dynamic_cast<cTemplateLoopFunction*>(func); - funcsLoop->InitIterator(); - cTemplateFunction *loopFunc = NULL; - while(loopFunc = funcsLoop->GetNextFunction()) { - if (loopFunc->GetType() == ftDrawText || loopFunc->GetType() == ftDrawTextBox || func->GetType() == ftDrawTextVertical) { - string text = loopFunc->GetParameter(ptText); - string translation; - bool translated = globals->Translate(text, translation); - if (translated) { - loopFunc->SetTranslatedText(translation); - } - } - } - } - } - } - } - - //Translate Plugin Views - for (map < string, map< int, cTemplateView*> >::iterator it = pluginViews.begin(); it != pluginViews.end(); it++) { - map< int, cTemplateView*> plugViews = it->second; - for (map< int, cTemplateView*>::iterator it2 = plugViews.begin(); it2 != plugViews.end(); it2++) { - cTemplateView *pluginView = it2->second; - pluginView->Translate(); - } - } - - //Translate Subviews - InitSubViewIterator(); - cTemplateView *subView = NULL; - while(subView = GetNextSubView()) { - subView->Translate(); - } -} - -void cTemplateView::PreCache(bool isSubview) { - - if (!isSubview) { - int osdW = cOsd::OsdWidth(); - int osdH = cOsd::OsdHeight(); - parameters->SetContainer(0, 0, osdW, osdH); - } else { - parameters->SetContainer(containerX, containerY, containerWidth, containerHeight); - } - //Calculate OSD Size - parameters->CalculateParameters(); - - int osdX = parameters->GetNumericParameter(ptX); - int osdY = parameters->GetNumericParameter(ptY); - int osdWidth = parameters->GetNumericParameter(ptWidth); - int osdHeight = parameters->GetNumericParameter(ptHeight); - int pixOffset = 0; - //Cache ViewElements - for (multimap < eViewElement, cTemplateViewElement* >::iterator it = viewElements.begin(); it != viewElements.end(); it++) { - cTemplateViewElement *viewElement = it->second; - viewElement->SetGlobals(globals); - if (!isSubview) - viewElement->SetContainer(0, 0, osdWidth, osdHeight); - else - viewElement->SetContainer(osdX, osdY, osdWidth, osdHeight); - viewElement->CalculateParameters(); - viewElement->CalculatePixmapParameters(); - viewElement->SetPixOffset(pixOffset); - pixOffset += viewElement->GetNumPixmaps(); - } - - //Cache ViewGrids - for (map < int, cTemplateViewGrid* >::iterator it = viewGrids.begin(); it != viewGrids.end(); it++) { - cTemplateViewGrid *viewGrid = it->second; - viewGrid->SetGlobals(globals); - viewGrid->SetContainer(0, 0, osdWidth, osdHeight); - viewGrid->CalculateParameters(); - viewGrid->CalculatePixmapParameters(); - } - - //Cache ViewLists - for (multimap < eViewList, cTemplateViewList* >::iterator it = viewLists.begin(); it != viewLists.end(); it++) { - cTemplateViewList *viewList = it->second; - viewList->SetGlobals(globals); - //viewlists in subviews need complete container information - if (isSubview) - viewList->SetContainer(osdX, osdY, osdWidth, osdHeight); - else - viewList->SetContainer(0, 0, osdWidth, osdHeight); - viewList->CalculateParameters(); - viewList->CalculateListParameters(); - } - - //Cache ViewTabs - for (vector<cTemplateViewTab*>::iterator tab = viewTabs.begin(); tab != viewTabs.end(); tab++) { - //viewtabs are only in subviews - (*tab)->SetContainer(osdX, osdY, osdWidth, osdHeight); - (*tab)->SetGlobals(globals); - (*tab)->CalculateParameters(); - } - - //Cache Subviews - for (map < eSubView, cTemplateView* >::iterator it = subViews.begin(); it != subViews.end(); it++) { - cTemplateView *subView = it->second; - subView->SetContainer(0, 0, osdWidth, osdHeight); - subView->PreCache(true); - } - - //Cache Plugin Subviews - for (map < string, map< int, cTemplateView*> >::iterator it = pluginViews.begin(); it != pluginViews.end(); it++) { - map< int, cTemplateView*> plugViews = it->second; - for (map< int, cTemplateView*>::iterator it2 = plugViews.begin(); it2 != plugViews.end(); it2++) { - cTemplateView *plugView = it2->second; - plugView->SetContainer(0, 0, osdWidth, osdHeight); - plugView->PreCache(true); - } - } -} - -void cTemplateView::Debug(void) { - - esyslog("skindesigner: TemplateView %s", viewName.c_str());; - - parameters->Debug(); - - for (multimap < eViewElement, cTemplateViewElement* >::iterator it = viewElements.begin(); it != viewElements.end(); it++) { - esyslog("skindesigner: ++++++++ ViewElement: %s", GetViewElementName(it->first).c_str()); - cTemplateViewElement *viewElement = it->second; - viewElement->Debug(); - } - - for (multimap < eViewList, cTemplateViewList* >::iterator it = viewLists.begin(); it != viewLists.end(); it++) { - esyslog("skindesigner: ++++++++ ViewList: %s", GetViewListName(it->first).c_str()); - cTemplateViewList *viewList = it->second; - viewList->Debug(); - } - - for (map < int, cTemplateViewGrid* >::iterator it = viewGrids.begin(); it != viewGrids.end(); it++) { - esyslog("skindesigner: ++++++++ ViewGrid %d:", it->first); - cTemplateViewGrid *viewGrid = it->second; - viewGrid->Debug(); - } - - for (vector<cTemplateViewTab*>::iterator tab = viewTabs.begin(); tab != viewTabs.end(); tab++) { - esyslog("skindesigner: ++++++++ ViewTab"); - (*tab)->Debug(); - } - - for (map < eSubView, cTemplateView* >::iterator it = subViews.begin(); it!= subViews.end(); it++) { - esyslog("skindesigner: ++++++++ SubView: %s", GetSubViewName(it->first).c_str()); - cTemplateView *subView = it->second; - subView->Debug(); - } - - for (map < string, map< int, cTemplateView*> >::iterator it = pluginViews.begin(); it!= pluginViews.end(); it++) { - esyslog("skindesigner: ++++++++ Plugin: %s", it->first.c_str()); - map< int, cTemplateView*> plugViews = it->second; - for (map< int, cTemplateView*>::iterator it2 = plugViews.begin(); it2 != plugViews.end(); it2++) { - esyslog("skindesigner: Tmpl %d", it2->first); - ((cTemplateView*)it2->second)->Debug(); - } - } - -} - - -void cTemplateView::SetFunctionDefinitions(void) { - - string name = "viewelement"; - set<string> attributes; - attributes.insert("debug"); - attributes.insert("detached"); - attributes.insert("delay"); - attributes.insert("fadetime"); - attributes.insert("shifttime"); - attributes.insert("shifttype"); - attributes.insert("shiftmode"); - attributes.insert("startx"); - attributes.insert("starty"); - attributes.insert("name"); - attributes.insert("condition"); - attributes.insert("mode"); - funcsAllowed.insert(pair< string, set<string> >(name, attributes)); - - name = "listelement"; - attributes.clear(); - attributes.insert("debug"); - funcsAllowed.insert(pair< string, set<string> >(name, attributes)); - - name = "areacontainer"; - attributes.clear(); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("debug"); - attributes.insert("condition"); - funcsAllowed.insert(pair< string, set<string> >(name, attributes)); - - name = "area"; - attributes.clear(); - attributes.insert("debug"); - attributes.insert("condition"); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("layer"); - attributes.insert("transparency"); - attributes.insert("background"); - funcsAllowed.insert(pair< string, set<string> >(name, attributes)); - - name = "areascroll"; - attributes.clear(); - attributes.insert("debug"); - attributes.insert("orientation"); - attributes.insert("delay"); - attributes.insert("mode"); - attributes.insert("scrollspeed"); - attributes.insert("condition"); - attributes.insert("scrollelement"); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("layer"); - attributes.insert("transparency"); - funcsAllowed.insert(pair< string, set<string> >(name, attributes)); - - name = "loop"; - attributes.clear(); - attributes.insert("debug"); - attributes.insert("name"); - attributes.insert("orientation"); - attributes.insert("condition"); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("columnwidth"); - attributes.insert("rowheight"); - attributes.insert("overflow"); - attributes.insert("maxitems"); - funcsAllowed.insert(pair< string, set<string> >(name, attributes)); - - name = "fill"; - attributes.clear(); - attributes.insert("debug"); - attributes.insert("condition"); - attributes.insert("color"); - funcsAllowed.insert(pair< string, set<string> >(name, attributes)); - - name = "drawtext"; - attributes.clear(); - attributes.insert("debug"); - attributes.insert("condition"); - attributes.insert("name"); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("align"); - attributes.insert("valign"); - attributes.insert("font"); - attributes.insert("fontsize"); - attributes.insert("color"); - attributes.insert("text"); - attributes.insert("animtype"); - attributes.insert("animfreq"); - funcsAllowed.insert(pair< string, set<string> >(name, attributes)); - - name = "drawtextbox"; - attributes.clear(); - attributes.insert("debug"); - attributes.insert("condition"); - attributes.insert("name"); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("align"); - attributes.insert("valign"); - attributes.insert("maxlines"); - attributes.insert("font"); - attributes.insert("fontsize"); - attributes.insert("color"); - attributes.insert("text"); - attributes.insert("float"); - attributes.insert("floatwidth"); - attributes.insert("floatheight"); - funcsAllowed.insert(pair< string, set<string> >(name, attributes)); - - name = "drawtextvertical"; - attributes.clear(); - attributes.insert("debug"); - attributes.insert("condition"); - attributes.insert("name"); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("height"); - attributes.insert("align"); - attributes.insert("valign"); - attributes.insert("direction"); - attributes.insert("font"); - attributes.insert("fontsize"); - attributes.insert("color"); - attributes.insert("text"); - attributes.insert("animtype"); - attributes.insert("animfreq"); - funcsAllowed.insert(pair< string, set<string> >(name, attributes)); - - name = "drawimage"; - attributes.clear(); - attributes.insert("debug"); - attributes.insert("condition"); - attributes.insert("name"); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("align"); - attributes.insert("valign"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("imagetype"); - attributes.insert("path"); - attributes.insert("align"); - attributes.insert("valign"); - attributes.insert("cache"); - attributes.insert("animtype"); - attributes.insert("animfreq"); - funcsAllowed.insert(pair< string, set<string> >(name, attributes)); - - name = "drawrectangle"; - attributes.clear(); - attributes.insert("debug"); - attributes.insert("condition"); - attributes.insert("name"); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("align"); - attributes.insert("valign"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("color"); - attributes.insert("animtype"); - attributes.insert("animfreq"); - funcsAllowed.insert(pair< string, set<string> >(name, attributes)); - - name = "drawellipse"; - attributes.clear(); - attributes.insert("debug"); - attributes.insert("condition"); - attributes.insert("name"); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("align"); - attributes.insert("valign"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("color"); - attributes.insert("quadrant"); - attributes.insert("animtype"); - attributes.insert("animfreq"); - funcsAllowed.insert(pair< string, set<string> >(name, attributes)); - - name = "drawslope"; - attributes.clear(); - attributes.insert("debug"); - attributes.insert("condition"); - attributes.insert("name"); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("align"); - attributes.insert("valign"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("color"); - attributes.insert("type"); - attributes.insert("animtype"); - attributes.insert("animfreq"); - funcsAllowed.insert(pair< string, set<string> >(name, attributes)); -} - -/************************************************************************************ -* cTemplateViewChannel -************************************************************************************/ - -cTemplateViewChannel::cTemplateViewChannel(void) { - - viewName = "displaychannel"; - //definition of allowed parameters for class itself - set<string> attributes; - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("fadetime"); - attributes.insert("shifttime"); - attributes.insert("shifttype"); - attributes.insert("shiftmode"); - attributes.insert("startx"); - attributes.insert("starty"); - attributes.insert("scaletvx"); - attributes.insert("scaletvy"); - attributes.insert("scaletvwidth"); - attributes.insert("scaletvheight"); - attributes.insert("debuggrid"); - funcsAllowed.insert(pair< string, set<string> >(viewName, attributes)); - - SetViewElements(); -} - -cTemplateViewChannel::~cTemplateViewChannel() { -} - -void cTemplateViewChannel::SetViewElements(void) { - viewElementsAllowed.insert("background"); - viewElementsAllowed.insert("channelinfo"); - viewElementsAllowed.insert("channelgroup"); - viewElementsAllowed.insert("epginfo"); - viewElementsAllowed.insert("progressbar"); - viewElementsAllowed.insert("progressbarback"); - viewElementsAllowed.insert("statusinfo"); - viewElementsAllowed.insert("audioinfo"); - viewElementsAllowed.insert("ecminfo"); - viewElementsAllowed.insert("screenresolution"); - viewElementsAllowed.insert("signalquality"); - viewElementsAllowed.insert("signalqualityback"); - viewElementsAllowed.insert("devices"); - viewElementsAllowed.insert("currentweather"); - viewElementsAllowed.insert("scrapercontent"); - viewElementsAllowed.insert("datetime"); - viewElementsAllowed.insert("time"); - viewElementsAllowed.insert("message"); - viewElementsAllowed.insert("customtokens"); -} - -string cTemplateViewChannel::GetViewElementName(eViewElement ve) { - string name; - switch (ve) { - case veBackground: - name = "Background"; - break; - case veChannelInfo: - name = "ChannelInfo"; - break; - case veChannelGroup: - name = "ChannelGroup"; - break; - case veEpgInfo: - name = "EpgInfo"; - break; - case veProgressBar: - name = "ProgressBar"; - break; - case veProgressBarBack: - name = "ProgressBar Background"; - break; - case veStatusInfo: - name = "StatusInfo"; - break; - case veAudioInfo: - name = "AudioInfo"; - break; - case veScreenResolution: - name = "Screen Resolution"; - break; - case veEcmInfo: - name = "ECM Info"; - break; - case veSignalQuality: - name = "Signal Quality"; - break; - case veSignalQualityBack: - name = "Signal Quality Background"; - break; - case veDevices: - name = "Devices"; - break; - case veCurrentWeather: - name = "Current Weather"; - break; - case veScraperContent: - name = "Scraper Content"; - break; - case veDateTime: - name = "DateTime"; - break; - case veTime: - name = "Time"; - break; - case veMessage: - name = "Message"; - break; - case veCustomTokens: - name = "Custom Tokens"; - break; - default: - name = "Unknown"; - break; - }; - return name; -} - -void cTemplateViewChannel::AddViewElement(string sViewElement, cTemplateViewElement *viewElement) { - eViewElement ve = veUndefined; - - if (!sViewElement.compare("background")) { - ve = veBackground; - } else if (!sViewElement.compare("channelinfo")) { - ve = veChannelInfo; - } else if (!sViewElement.compare("channelgroup")) { - ve = veChannelGroup; - } else if (!sViewElement.compare("epginfo")) { - ve = veEpgInfo; - } else if (!sViewElement.compare("progressbar")) { - ve = veProgressBar; - } else if (!sViewElement.compare("progressbarback")) { - ve = veProgressBarBack; - } else if (!sViewElement.compare("statusinfo")) { - ve = veStatusInfo; - } else if (!sViewElement.compare("audioinfo")) { - ve = veAudioInfo; - } else if (!sViewElement.compare("ecminfo")) { - ve = veEcmInfo; - } else if (!sViewElement.compare("screenresolution")) { - ve = veScreenResolution; - } else if (!sViewElement.compare("signalquality")) { - ve = veSignalQuality; - } else if (!sViewElement.compare("signalqualityback")) { - ve = veSignalQualityBack; - } else if (!sViewElement.compare("devices")) { - ve = veDevices; - } else if (!sViewElement.compare("currentweather")) { - ve = veCurrentWeather; - } else if (!sViewElement.compare("scrapercontent")) { - ve = veScraperContent; - } else if (!sViewElement.compare("datetime")) { - ve = veDateTime; - } else if (!sViewElement.compare("time")) { - ve = veTime; - } else if (!sViewElement.compare("message")) { - ve = veMessage; - } else if (!sViewElement.compare("customtokens")) { - ve = veCustomTokens; - } - if (ve == veUndefined) { - esyslog("skindesigner: unknown ViewElement in displaychannel: %s", sViewElement.c_str()); - return; - } - - viewElements.insert(pair< eViewElement, cTemplateViewElement*>(ve, viewElement)); -} - -/************************************************************************************ -* cTemplateViewMenu -************************************************************************************/ - -cTemplateViewMenu::cTemplateViewMenu(void) { - - viewName = "displaymenu"; - //definition of allowed parameters for class itself - set<string> attributes; - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("fadetime"); - attributes.insert("debuggrid"); - funcsAllowed.insert(pair< string, set<string> >(viewName, attributes)); - - string subViewName = "menudefault"; - //definition of allowed parameters for subtemplate menumain - attributes.clear(); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("fadetime"); - attributes.insert("scaletvx"); - attributes.insert("scaletvy"); - attributes.insert("scaletvwidth"); - attributes.insert("scaletvheight"); - attributes.insert("debuggrid"); - funcsAllowed.insert(pair< string, set<string> >(subViewName, attributes)); - - subViewName = "menumain"; - //definition of allowed parameters for subtemplate menumain - attributes.clear(); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("fadetime"); - attributes.insert("scaletvx"); - attributes.insert("scaletvy"); - attributes.insert("scaletvwidth"); - attributes.insert("scaletvheight"); - attributes.insert("debuggrid"); - funcsAllowed.insert(pair< string, set<string> >(subViewName, attributes)); - - subViewName = "menusetup"; - //definition of allowed parameters for subtemplate menumain - attributes.clear(); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("fadetime"); - attributes.insert("scaletvx"); - attributes.insert("scaletvy"); - attributes.insert("scaletvwidth"); - attributes.insert("scaletvheight"); - attributes.insert("debuggrid"); - funcsAllowed.insert(pair< string, set<string> >(subViewName, attributes)); - - subViewName = "menuschedules"; - //definition of allowed parameters for subtemplate menumain - attributes.clear(); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("fadetime"); - attributes.insert("scaletvx"); - attributes.insert("scaletvy"); - attributes.insert("scaletvwidth"); - attributes.insert("scaletvheight"); - attributes.insert("debuggrid"); - funcsAllowed.insert(pair< string, set<string> >(subViewName, attributes)); - - subViewName = "menuchannels"; - //definition of allowed parameters for subtemplate menumain - attributes.clear(); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("fadetime"); - attributes.insert("scaletvx"); - attributes.insert("scaletvy"); - attributes.insert("scaletvwidth"); - attributes.insert("scaletvheight"); - attributes.insert("debuggrid"); - funcsAllowed.insert(pair< string, set<string> >(subViewName, attributes)); - - subViewName = "menutimers"; - //definition of allowed parameters for subtemplate menumain - attributes.clear(); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("fadetime"); - attributes.insert("scaletvx"); - attributes.insert("scaletvy"); - attributes.insert("scaletvwidth"); - attributes.insert("scaletvheight"); - attributes.insert("debuggrid"); - funcsAllowed.insert(pair< string, set<string> >(subViewName, attributes)); - - subViewName = "menurecordings"; - //definition of allowed parameters for subtemplate menumain - attributes.clear(); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("fadetime"); - attributes.insert("scaletvx"); - attributes.insert("scaletvy"); - attributes.insert("scaletvwidth"); - attributes.insert("scaletvheight"); - attributes.insert("debuggrid"); - funcsAllowed.insert(pair< string, set<string> >(subViewName, attributes)); - - subViewName = "menudetailedepg"; - //definition of allowed parameters for subtemplate menumain - attributes.clear(); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("fadetime"); - attributes.insert("scaletvx"); - attributes.insert("scaletvy"); - attributes.insert("scaletvwidth"); - attributes.insert("scaletvheight"); - attributes.insert("debuggrid"); - funcsAllowed.insert(pair< string, set<string> >(subViewName, attributes)); - - subViewName = "menudetailedrecording"; - //definition of allowed parameters for subtemplate menumain - attributes.clear(); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("fadetime"); - attributes.insert("scaletvx"); - attributes.insert("scaletvy"); - attributes.insert("scaletvwidth"); - attributes.insert("scaletvheight"); - attributes.insert("debuggrid"); - funcsAllowed.insert(pair< string, set<string> >(subViewName, attributes)); - - subViewName = "menudetailedtext"; - //definition of allowed parameters for subtemplate menumain - attributes.clear(); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("fadetime"); - attributes.insert("scaletvx"); - attributes.insert("scaletvy"); - attributes.insert("scaletvwidth"); - attributes.insert("scaletvheight"); - attributes.insert("debuggrid"); - funcsAllowed.insert(pair< string, set<string> >(subViewName, attributes)); - - //definition of allowed parameters for menuitems viewlist - attributes.clear(); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("orientation"); - attributes.insert("align"); - attributes.insert("menuitemwidth"); - attributes.insert("determinatefont"); - attributes.insert("numlistelements"); - attributes.insert("condition"); - funcsAllowed.insert(pair< string, set<string> >("menuitems", attributes)); - - //definition of allowed parameters for currentitems viewlist - attributes.clear(); - attributes.insert("debug"); - attributes.insert("delay"); - attributes.insert("fadetime"); - attributes.insert("condition"); - funcsAllowed.insert(pair< string, set<string> >("currentelement", attributes)); - - //definition of allowed parameters for viewtab - attributes.clear(); - attributes.insert("debug"); - attributes.insert("name"); - attributes.insert("condition"); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("layer"); - attributes.insert("transparency"); - attributes.insert("scrollheight"); - funcsAllowed.insert(pair< string, set<string> >("tab", attributes)); - - //definition of allowed parameters for plugin menus - attributes.clear(); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("fadetime"); - attributes.insert("scaletvx"); - attributes.insert("scaletvy"); - attributes.insert("scaletvwidth"); - attributes.insert("scaletvheight"); - attributes.insert("debuggrid"); - funcsAllowed.insert(pair< string, set<string> >("menuplugin", attributes)); - - SetSubViews(); - SetViewElements(); - SetViewLists(); - -} - -cTemplateViewMenu::~cTemplateViewMenu() { -} - -void cTemplateViewMenu::SetSubViews(void) { - subViewsAllowed.insert("menudefault"); - subViewsAllowed.insert("menumain"); - subViewsAllowed.insert("menusetup"); - subViewsAllowed.insert("menuschedules"); - subViewsAllowed.insert("menutimers"); - subViewsAllowed.insert("menurecordings"); - subViewsAllowed.insert("menuchannels"); - subViewsAllowed.insert("menudetailedepg"); - subViewsAllowed.insert("menudetailedrecording"); - subViewsAllowed.insert("menudetailedtext"); -} - -void cTemplateViewMenu::SetViewElements(void) { - viewElementsAllowed.insert("background"); - viewElementsAllowed.insert("datetime"); - viewElementsAllowed.insert("time"); - viewElementsAllowed.insert("header"); - viewElementsAllowed.insert("colorbuttons"); - viewElementsAllowed.insert("message"); - viewElementsAllowed.insert("sortmode"); - viewElementsAllowed.insert("discusage"); - viewElementsAllowed.insert("systemload"); - viewElementsAllowed.insert("systemmemory"); - viewElementsAllowed.insert("vdrstatistics"); - viewElementsAllowed.insert("temperatures"); - viewElementsAllowed.insert("timers"); - viewElementsAllowed.insert("lastrecordings"); - viewElementsAllowed.insert("devices"); - viewElementsAllowed.insert("currentweather"); - viewElementsAllowed.insert("currentschedule"); - viewElementsAllowed.insert("customtokens"); - viewElementsAllowed.insert("scrollbar"); - viewElementsAllowed.insert("detailheader"); - viewElementsAllowed.insert("tablabels"); -} - -void cTemplateViewMenu::SetViewLists(void) { - viewListsAllowed.insert("menuitems"); -} - -string cTemplateViewMenu::GetSubViewName(eSubView sv) { - string name; - switch (sv) { - case svMenuDefault: - name = "Default Menu"; - break; - case svMenuMain: - name = "Main Menu"; - break; - case svMenuSetup: - name = "Setup Menu"; - break; - case svMenuSchedules: - name = "Schedules Menu"; - break; - case svMenuTimers: - name = "Timers Menu"; - break; - case svMenuRecordings: - name = "Recordings Menu"; - break; - case svMenuChannels: - name = "Channels Menu"; - break; - case svMenuDetailedEpg: - name = "Detailed EPG"; - break; - case svMenuDetailedRecording: - name = "Detailed Recording"; - break; - case svMenuDetailedText: - name = "Detailed Text"; - break; - default: - name = "Unknown"; - break; - }; - return name; -} - - -string cTemplateViewMenu::GetViewElementName(eViewElement ve) { - string name; - switch (ve) { - case veBackground: - name = "Background"; - break; - case veDateTime: - name = "DateTime"; - break; - case veTime: - name = "Time"; - break; - case veHeader: - name = "Header"; - break; - case veButtons: - name = "Color Buttons"; - break; - case veMessage: - name = "Message"; - break; - case veSortMode: - name = "Sort Mode"; - break; - case veDiscUsage: - name = "Disc Usage"; - break; - case veSystemLoad: - name = "System Load"; - break; - case veSystemMemory: - name = "System Memory"; - break; - case veVDRStats: - name = "VDR Statistics"; - break; - case veTemperatures: - name = "Temperatures"; - break; - case veTimers: - name = "Timers"; - break; - case veLastRecordings: - name = "Last Recordings"; - break; - case veCurrentSchedule: - name = "Current Schedule"; - break; - case veCurrentWeather: - name = "Current Weather"; - break; - case veCustomTokens: - name = "Custom Tokens"; - break; - case veDevices: - name = "Devices"; - break; - case veMenuItem: - name = "Menu Item"; - break; - case veMenuCurrentItemDetail: - name = "Menu Current Item Detail"; - break; - case veScrollbar: - name = "Scrollbar"; - break; - case veDetailHeader: - name = "Detail header"; - break; - case veTabLabels: - name = "tab labels"; - break; - default: - name = "Unknown"; - break; - }; - return name; -} - -string cTemplateViewMenu::GetViewListName(eViewList vl) { - string name; - switch (vl) { - case vlMenuItem: - name = "Menu Item"; - break; - default: - name = "Unknown"; - break; - }; - return name; -} - -void cTemplateViewMenu::AddSubView(string sSubView, cTemplateView *subView) { - eSubView sv = svUndefined; - - if (!sSubView.compare("menumain")) { - sv = svMenuMain; - } else if (!sSubView.compare("menudefault")) { - sv = svMenuDefault; - } else if (!sSubView.compare("menuschedules")) { - sv = svMenuSchedules; - } else if (!sSubView.compare("menusetup")) { - sv = svMenuSetup; - } else if (!sSubView.compare("menuschedules")) { - sv = svMenuSchedules; - } else if (!sSubView.compare("menutimers")) { - sv = svMenuTimers; - } else if (!sSubView.compare("menurecordings")) { - sv = svMenuRecordings; - } else if (!sSubView.compare("menuchannels")) { - sv = svMenuChannels; - } else if (!sSubView.compare("menudetailedepg")) { - sv = svMenuDetailedEpg; - } else if (!sSubView.compare("menudetailedrecording")) { - sv = svMenuDetailedRecording; - } else if (!sSubView.compare("menudetailedtext")) { - sv = svMenuDetailedText; - } - - if (sv == svUndefined) { - esyslog("skindesigner: unknown SubView in displayMenu: %s", sSubView.c_str()); - return; - } - subView->SetGlobals(globals); - subViews.insert(pair<eSubView, cTemplateView*>(sv, subView)); -} - -void cTemplateViewMenu::AddPluginView(string plugName, int templNo, cTemplateView *plugView) { - plugView->SetGlobals(globals); - - map < string, map< int, cTemplateView*> >::iterator hit = pluginViews.find(plugName); - - if (hit == pluginViews.end()) { - map< int, cTemplateView*> plugTemplates; - plugTemplates.insert(pair<int, cTemplateView*>(templNo, plugView)); - pluginViews.insert(pair< string, map< int, cTemplateView*> >(plugName, plugTemplates)); - } else { - hit->second.insert(pair<int, cTemplateView*>(templNo, plugView)); - } -} - -void cTemplateViewMenu::AddViewElement(string sViewElement, cTemplateViewElement *viewElement) { - eViewElement ve = veUndefined; - - if (!sViewElement.compare("background")) { - ve = veBackground; - } else if (!sViewElement.compare("datetime")) { - ve = veDateTime; - } else if (!sViewElement.compare("time")) { - ve = veTime; - } else if (!sViewElement.compare("header")) { - ve = veHeader; - } else if (!sViewElement.compare("colorbuttons")) { - ve = veButtons; - } else if (!sViewElement.compare("message")) { - ve = veMessage; - } else if (!sViewElement.compare("sortmode")) { - ve = veSortMode; - } else if (!sViewElement.compare("discusage")) { - ve = veDiscUsage; - } else if (!sViewElement.compare("systemload")) { - ve = veSystemLoad; - } else if (!sViewElement.compare("systemmemory")) { - ve = veSystemMemory; - } else if (!sViewElement.compare("vdrstatistics")) { - ve = veVDRStats; - } else if (!sViewElement.compare("temperatures")) { - ve = veTemperatures; - } else if (!sViewElement.compare("timers")) { - ve = veTimers; - } else if (!sViewElement.compare("lastrecordings")) { - ve = veLastRecordings; - } else if (!sViewElement.compare("currentschedule")) { - ve = veCurrentSchedule; - } else if (!sViewElement.compare("customtokens")) { - ve = veCustomTokens; - } else if (!sViewElement.compare("devices")) { - ve = veDevices; - } else if (!sViewElement.compare("currentweather")) { - ve = veCurrentWeather; - } else if (!sViewElement.compare("scrollbar")) { - ve = veScrollbar; - } else if (!sViewElement.compare("detailheader")) { - ve = veDetailHeader; - } else if (!sViewElement.compare("tablabels")) { - ve = veTabLabels; - } - - if (ve == veUndefined) { - esyslog("skindesigner: unknown ViewElement in displayMenu: %s", sViewElement.c_str()); - return; - } - - viewElements.insert(pair< eViewElement, cTemplateViewElement*>(ve, viewElement)); -} - -void cTemplateViewMenu::AddViewList(string sViewList, cTemplateViewList *viewList) { - - eViewList vl = vlUndefined; - if (!sViewList.compare("menuitems")) { - vl = vlMenuItem; - } - - if (vl == vlUndefined) { - esyslog("skindesigner: unknown ViewList in displaymenu: %s", sViewList.c_str()); - return; - } - - viewList->SetGlobals(globals); - viewLists.insert(pair< eViewList, cTemplateViewList*>(vl, viewList)); -} - -void cTemplateViewMenu::AddViewTab(cTemplateViewTab *viewTab) { - viewTabs.push_back(viewTab); -} - -/************************************************************************************ -* cTemplateViewMessage -************************************************************************************/ - -cTemplateViewMessage::cTemplateViewMessage(void) { - - viewName = "displaymessage"; - //definition of allowed parameters for class itself - set<string> attributes; - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("fadetime"); - attributes.insert("shifttime"); - attributes.insert("shifttype"); - attributes.insert("shiftmode"); - attributes.insert("startx"); - attributes.insert("starty"); - attributes.insert("scaletvx"); - attributes.insert("scaletvy"); - attributes.insert("scaletvwidth"); - attributes.insert("scaletvheight"); - attributes.insert("debuggrid"); - funcsAllowed.insert(pair< string, set<string> >(viewName, attributes)); - - SetViewElements(); -} - -cTemplateViewMessage::~cTemplateViewMessage() { -} - -void cTemplateViewMessage::SetViewElements(void) { - viewElementsAllowed.insert("background"); - viewElementsAllowed.insert("message"); -} - -string cTemplateViewMessage::GetViewElementName(eViewElement ve) { - string name; - switch (ve) { - case veBackground: - name = "Background"; - break; - case veMessage: - name = "Message"; - break; - default: - name = "Unknown"; - break; - }; - return name; -} - -void cTemplateViewMessage::AddViewElement(string sViewElement, cTemplateViewElement *viewElement) { - eViewElement ve = veUndefined; - - if (!sViewElement.compare("background")) { - ve = veBackground; - } else if (!sViewElement.compare("message")) { - ve = veMessage; - } - - if (ve == veUndefined) { - esyslog("skindesigner: unknown ViewElement in displaymessage: %s", sViewElement.c_str()); - return; - } - - viewElements.insert(pair< eViewElement, cTemplateViewElement*>(ve, viewElement)); -} - -/************************************************************************************ -* cTemplateViewReplay -************************************************************************************/ - -cTemplateViewReplay::cTemplateViewReplay(void) { - - viewName = "displayreplay"; - //definition of allowed parameters for class itself - set<string> attributes; - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("fadetime"); - attributes.insert("shifttime"); - attributes.insert("shifttype"); - attributes.insert("shiftmode"); - attributes.insert("startx"); - attributes.insert("starty"); - attributes.insert("scaletvx"); - attributes.insert("scaletvy"); - attributes.insert("scaletvwidth"); - attributes.insert("scaletvheight"); - attributes.insert("debuggrid"); - funcsAllowed.insert(pair< string, set<string> >(viewName, attributes)); - - //definition of allowed parameters for onpause and onpausemodeonly viewelement - attributes.clear(); - attributes.insert("debug"); - attributes.insert("delay"); - attributes.insert("fadetime"); - funcsAllowed.insert(pair< string, set<string> >("onpause", attributes)); - funcsAllowed.insert(pair< string, set<string> >("onpausemodeonly", attributes)); - - SetViewElements(); -} - -cTemplateViewReplay::~cTemplateViewReplay() { -} - -void cTemplateViewReplay::SetViewElements(void) { - viewElementsAllowed.insert("background"); - viewElementsAllowed.insert("backgroundmodeonly"); - viewElementsAllowed.insert("datetime"); - viewElementsAllowed.insert("time"); - viewElementsAllowed.insert("rectitle"); - viewElementsAllowed.insert("recinfo"); - viewElementsAllowed.insert("scrapercontent"); - viewElementsAllowed.insert("currenttime"); - viewElementsAllowed.insert("totaltime"); - viewElementsAllowed.insert("endtime"); - viewElementsAllowed.insert("progressbar"); - viewElementsAllowed.insert("cutmarks"); - viewElementsAllowed.insert("controlicons"); - viewElementsAllowed.insert("controliconsmodeonly"); - viewElementsAllowed.insert("progressmodeonly"); - viewElementsAllowed.insert("jump"); - viewElementsAllowed.insert("message"); - viewElementsAllowed.insert("onpause"); - viewElementsAllowed.insert("onpausemodeonly"); - viewElementsAllowed.insert("customtokens"); -} - -string cTemplateViewReplay::GetViewElementName(eViewElement ve) { - string name; - switch (ve) { - case veBackground: - name = "Background"; - break; - case veDateTime: - name = "DateTime"; - break; - case veTime: - name = "DateTime"; - break; - case veRecTitle: - name = "Recording Title"; - break; - case veRecInfo: - name = "Recording Information"; - break; - case veRecCurrent: - name = "Recording current Time"; - break; - case veRecTotal: - name = "Recording total Time"; - break; - case veRecEnd: - name = "Recording end Time"; - break; - case veRecProgressBar: - name = "Rec Progress Bar"; - break; - case veCuttingMarks: - name = "Cutting Marks"; - break; - case veControlIcons: - name = "Control Icons"; - break; - case veControlIconsModeOnly: - name = "Control Icons Mode only"; - break; - case veProgressModeOnly: - name = "Progress Mode only"; - break; - case veBackgroundModeOnly: - name = "Background Mode only"; - break; - case veRecJump: - name = "Recording Jump"; - break; - case veScraperContent: - name = "Scraper Content"; - break; - case veOnPause: - name = "On Pause"; - break; - case veOnPauseModeOnly: - name = "On Pause Mode Only"; - break; - case veCustomTokens: - name = "Custom Tokens"; - break; - default: - name = "Unknown"; - break; - }; - return name; -} - -void cTemplateViewReplay::AddViewElement(string sViewElement, cTemplateViewElement *viewElement) { - eViewElement ve = veUndefined; - - if (!sViewElement.compare("background")) { - ve = veBackground; - } else if (!sViewElement.compare("datetime")) { - ve = veDateTime; - } else if (!sViewElement.compare("time")) { - ve = veTime; - } else if (!sViewElement.compare("rectitle")) { - ve = veRecTitle; - } else if (!sViewElement.compare("recinfo")) { - ve = veRecInfo; - } else if (!sViewElement.compare("scrapercontent")) { - ve = veScraperContent; - } else if (!sViewElement.compare("currenttime")) { - ve = veRecCurrent; - } else if (!sViewElement.compare("totaltime")) { - ve = veRecTotal; - } else if (!sViewElement.compare("endtime")) { - ve = veRecEnd; - } else if (!sViewElement.compare("progressbar")) { - ve = veRecProgressBar; - } else if (!sViewElement.compare("cutmarks")) { - ve = veCuttingMarks; - } else if (!sViewElement.compare("controlicons")) { - ve = veControlIcons; - } else if (!sViewElement.compare("controliconsmodeonly")) { - ve = veControlIconsModeOnly; - } else if (!sViewElement.compare("progressmodeonly")) { - ve = veProgressModeOnly; - } else if (!sViewElement.compare("backgroundmodeonly")) { - ve = veBackgroundModeOnly; - } else if (!sViewElement.compare("jump")) { - ve = veRecJump; - } else if (!sViewElement.compare("message")) { - ve = veMessage; - } else if (!sViewElement.compare("onpause")) { - ve = veOnPause; - } else if (!sViewElement.compare("onpausemodeonly")) { - ve = veOnPauseModeOnly; - } else if (!sViewElement.compare("customtokens")) { - ve = veCustomTokens; - } - - if (ve == veUndefined) { - esyslog("skindesigner: unknown ViewElement in displayreplay: %s", sViewElement.c_str()); - return; - } - - viewElements.insert(pair< eViewElement, cTemplateViewElement*>(ve, viewElement)); -} - - -/************************************************************************************ -* cTemplateViewVolume -************************************************************************************/ - -cTemplateViewVolume::cTemplateViewVolume(void) { - - viewName = "displayvolume"; - //definition of allowed parameters for class itself - set<string> attributes; - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("fadetime"); - attributes.insert("shifttime"); - attributes.insert("shifttype"); - attributes.insert("shiftmode"); - attributes.insert("startx"); - attributes.insert("starty"); - attributes.insert("scaletvx"); - attributes.insert("scaletvy"); - attributes.insert("scaletvwidth"); - attributes.insert("scaletvheight"); - attributes.insert("debuggrid"); - funcsAllowed.insert(pair< string, set<string> >(viewName, attributes)); - - SetViewElements(); -} - -cTemplateViewVolume::~cTemplateViewVolume() { -} - -void cTemplateViewVolume::SetViewElements(void) { - viewElementsAllowed.insert("background"); - viewElementsAllowed.insert("volume"); -} - -string cTemplateViewVolume::GetViewElementName(eViewElement ve) { - string name; - switch (ve) { - case veBackground: - name = "Background"; - break; - case veVolume: - name = "Volume"; - break; - default: - name = "Unknown"; - break; - }; - return name; -} - -void cTemplateViewVolume::AddViewElement(string sViewElement, cTemplateViewElement *viewElement) { - eViewElement ve = veUndefined; - - if (!sViewElement.compare("background")) { - ve = veBackground; - } else if (!sViewElement.compare("volume")) { - ve = veVolume; - } - - if (ve == veUndefined) { - esyslog("skindesigner: unknown ViewElement in displayvolume: %s", sViewElement.c_str()); - return; - } - - viewElements.insert(pair< eViewElement, cTemplateViewElement*>(ve, viewElement)); -} - -/************************************************************************************ -* cTemplateViewAudioTracks -************************************************************************************/ - -cTemplateViewAudioTracks::cTemplateViewAudioTracks(void) { - - viewName = "displayaudiotracks"; - //definition of allowed parameters for class itself - set<string> attributes; - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("fadetime"); - attributes.insert("shifttime"); - attributes.insert("shifttype"); - attributes.insert("shiftmode"); - attributes.insert("startx"); - attributes.insert("starty"); - attributes.insert("scaletvx"); - attributes.insert("scaletvy"); - attributes.insert("scaletvwidth"); - attributes.insert("scaletvheight"); - attributes.insert("debuggrid"); - funcsAllowed.insert(pair< string, set<string> >(viewName, attributes)); - - //definition of allowed parameters for menuitems viewlist - attributes.clear(); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("orientation"); - attributes.insert("align"); - attributes.insert("menuitemwidth"); - attributes.insert("numlistelements"); - funcsAllowed.insert(pair< string, set<string> >("menuitems", attributes)); - - SetViewElements(); - SetViewLists(); -} - -cTemplateViewAudioTracks::~cTemplateViewAudioTracks() { -} - -void cTemplateViewAudioTracks::SetViewElements(void) { - viewElementsAllowed.insert("background"); - viewElementsAllowed.insert("header"); -} - -void cTemplateViewAudioTracks::SetViewLists(void) { - viewListsAllowed.insert("menuitems"); -} - -string cTemplateViewAudioTracks::GetViewElementName(eViewElement ve) { - string name; - switch (ve) { - case veBackground: - name = "Background"; - break; - case veHeader: - name = "Header"; - break; - default: - name = "Unknown"; - break; - }; - return name; -} - -string cTemplateViewAudioTracks::GetViewListName(eViewList vl) { - string name; - switch (vl) { - case vlMenuItem: - name = "Menu Item"; - break; - default: - name = "Unknown"; - break; - }; - return name; -} - -void cTemplateViewAudioTracks::AddViewElement(string sViewElement, cTemplateViewElement *viewElement) { - eViewElement ve = veUndefined; - - if (!sViewElement.compare("background")) { - ve = veBackground; - } else if(!sViewElement.compare("header")) { - ve = veHeader; - } - - if (ve == veUndefined) { - esyslog("skindesigner: unknown ViewElement in displayaudiotracks: %s", sViewElement.c_str()); - return; - } - - viewElements.insert(pair< eViewElement, cTemplateViewElement*>(ve, viewElement)); -} - -void cTemplateViewAudioTracks::AddViewList(string sViewList, cTemplateViewList *viewList) { - - eViewList vl = vlUndefined; - if (!sViewList.compare("menuitems")) { - vl = vlMenuItem; - } - - if (vl == vlUndefined) { - esyslog("skindesigner: unknown ViewList in displaymenu: %s", sViewList.c_str()); - return; - } - - viewList->SetGlobals(globals); - viewLists.insert(pair< eViewList, cTemplateViewList*>(vl, viewList)); -} - -/************************************************************************************ -* cTemplateViewPlugin -************************************************************************************/ - -cTemplateViewPlugin::cTemplateViewPlugin(string pluginName, int viewID) { - this->pluginName = pluginName; - this->viewID = viewID; - viewName = "displayplugin"; - //definition of allowed parameters for class itself - set<string> attributes; - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("fadetime"); - attributes.insert("shifttime"); - attributes.insert("shifttype"); - attributes.insert("shiftmode"); - attributes.insert("startx"); - attributes.insert("starty"); - attributes.insert("scaletvx"); - attributes.insert("scaletvy"); - attributes.insert("scaletvwidth"); - attributes.insert("scaletvheight"); - attributes.insert("hideroot"); - attributes.insert("debuggrid"); - funcsAllowed.insert(pair< string, set<string> >(viewName, attributes)); - - //definition of allowed parameters for viewtab - attributes.clear(); - attributes.insert("debug"); - attributes.insert("name"); - attributes.insert("condition"); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("layer"); - attributes.insert("transparency"); - attributes.insert("scrollheight"); - funcsAllowed.insert(pair< string, set<string> >("tab", attributes)); - - attributes.clear(); - attributes.insert("x"); - attributes.insert("y"); - attributes.insert("width"); - attributes.insert("height"); - attributes.insert("name"); - funcsAllowed.insert(pair< string, set<string> >("grid", attributes)); - - viewElementsAllowed.insert("viewelement"); - viewElementsAllowed.insert("scrollbar"); - viewElementsAllowed.insert("tablabels"); - viewGridsAllowed.insert("grid"); -} - -cTemplateViewPlugin::~cTemplateViewPlugin() { -} - -void cTemplateViewPlugin::AddSubView(string sSubView, cTemplateView *subView) { - int subViewId = atoi(sSubView.c_str()); - subViews.insert(pair< eSubView, cTemplateView* >((eSubView)subViewId, subView)); -} - -void cTemplateViewPlugin::AddViewElement(string sViewElement, cTemplateViewElement *viewElement) { - eViewElement ve = veUndefined; - string viewElementName = ""; - int viewElementID = -1; - - bool found = viewElement->GetName(viewElementName); - - if (found) { - viewElementID = config.GetPluginViewElementID(pluginName, viewElementName, viewID); - } else { - //check for internal view elements - ePluginInteralViewElements pve = pveUndefined; - if (!sViewElement.compare("scrollbar")) { - pve = pveScrollbar; - } else if (!sViewElement.compare("tablabels")) { - pve = pveTablabels; - } - if (pve == pveUndefined) { - esyslog("skindesigner: %s: unknown ViewElement in displayplugin: %s", pluginName.c_str(), viewElementName.c_str()); - return; - } - viewElementID = pve; - } - - ve = (eViewElement)viewElementID; - viewElements.insert(pair< eViewElement, cTemplateViewElement*>(ve, viewElement)); -} - -void cTemplateViewPlugin::AddGrid(cTemplateViewGrid *viewGrid) { - string gridName = ""; - bool found = viewGrid->GetName(gridName); - - if (!found) { - esyslog("skindesigner: no name defined for plugin %s grid", pluginName.c_str()); - } - int gridID = config.GetPluginViewGridID(pluginName, gridName, viewID); - - if (gridID == -1) { - esyslog("skindesigner: %s: unknown Grid in displayplugin: %s", pluginName.c_str(), gridName.c_str()); - return; - } - - viewGrids.insert(pair< int, cTemplateViewGrid*>(gridID, viewGrid)); -} - -void cTemplateViewPlugin::AddViewTab(cTemplateViewTab *viewTab) { - viewTabs.push_back(viewTab); -} |
