mirror of
https://projects.vdr-developer.org/git/vdr-plugin-skindesigner.git
synced 2023-10-19 15:58:31 +00:00
add detached option for viewelements
This commit is contained in:
@@ -63,6 +63,8 @@ void cTemplateFunction::SetParameters(vector<pair<string, string> > params) {
|
||||
p.first = ptHeight;
|
||||
} else if (!name.compare("menuitemwidth")) {
|
||||
p.first = ptMenuItemWidth;
|
||||
} else if (!name.compare("detached")) {
|
||||
p.first = ptDetached;
|
||||
} else if (!name.compare("fadetime")) {
|
||||
p.first = ptFadeTime;
|
||||
} else if (!name.compare("imagetype")) {
|
||||
@@ -266,6 +268,9 @@ bool cTemplateFunction::CalculateParameters(void) {
|
||||
case ptHideRoot:
|
||||
paramValid = SetHideRoot(value);
|
||||
break;
|
||||
case ptDetached:
|
||||
paramValid = SetDetached(value);
|
||||
break;
|
||||
default:
|
||||
paramValid = true;
|
||||
break;
|
||||
@@ -406,6 +411,8 @@ int cTemplateFunction::GetNumericParameter(eParamType type) {
|
||||
return 0;
|
||||
else if (type == ptHideRoot)
|
||||
return 0;
|
||||
else if (type == ptDetached)
|
||||
return 0;
|
||||
return -1;
|
||||
}
|
||||
return hit->second;
|
||||
@@ -1062,6 +1069,14 @@ bool cTemplateFunction::SetHideRoot(string value) {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool cTemplateFunction::SetDetached(string value) {
|
||||
int detached = 0;
|
||||
if (!value.compare("true"))
|
||||
detached = 1;
|
||||
numericParameters.insert(pair<eParamType, int>(ptDetached, detached));
|
||||
return true;
|
||||
}
|
||||
|
||||
void cTemplateFunction::ParseStringParameters(void) {
|
||||
//first replace stringtokens in Text (drawText)
|
||||
stringstream text;
|
||||
@@ -1446,7 +1461,10 @@ string cTemplateFunction::GetParamName(eParamType pt) {
|
||||
break;
|
||||
case ptMenuItemWidth:
|
||||
name = "Menu Item Width";
|
||||
break;
|
||||
break;
|
||||
case ptDetached:
|
||||
name = "Detached";
|
||||
break;
|
||||
case ptFadeTime:
|
||||
name = "Fade Time";
|
||||
break;
|
||||
|
@@ -45,6 +45,7 @@ enum eParamType {
|
||||
ptWidth,
|
||||
ptHeight,
|
||||
ptMenuItemWidth,
|
||||
ptDetached,
|
||||
ptFadeTime,
|
||||
ptDelay,
|
||||
ptImageType,
|
||||
@@ -152,6 +153,7 @@ protected:
|
||||
bool SetFloating(string value);
|
||||
bool SetOverflow(string value);
|
||||
bool SetHideRoot(string value);
|
||||
bool SetDetached(string value);
|
||||
void ParseStringParameters(void);
|
||||
void ParseNumericalParameters(void);
|
||||
void CalculateAlign(int elementWidth, int elementHeight);
|
||||
|
@@ -221,6 +221,14 @@ bool cTemplateView::ExecuteView(eViewElement ve) {
|
||||
return viewElement->Execute();
|
||||
}
|
||||
|
||||
bool cTemplateView::DetachViewElement(eViewElement ve) {
|
||||
map < eViewElement, cTemplateViewElement* >::iterator hit = viewElements.find(ve);
|
||||
if (hit == viewElements.end())
|
||||
return false;
|
||||
cTemplateViewElement *viewElement = hit->second;
|
||||
return viewElement->Detach();
|
||||
}
|
||||
|
||||
int cTemplateView::GetNumListViewMenuItems(void) {
|
||||
int numElements = 0;
|
||||
cTemplateViewList *menuList = GetViewList(vlMenuItem);
|
||||
@@ -613,6 +621,7 @@ void cTemplateView::SetFunctionDefinitions(void) {
|
||||
string name = "viewelement";
|
||||
set<string> attributes;
|
||||
attributes.insert("debug");
|
||||
attributes.insert("detached");
|
||||
attributes.insert("delay");
|
||||
attributes.insert("fadetime");
|
||||
attributes.insert("name");
|
||||
|
@@ -114,6 +114,7 @@ public:
|
||||
int GetNumPixmapsViewElement(eViewElement ve);
|
||||
bool HideView(void);
|
||||
bool ExecuteView(eViewElement ve);
|
||||
bool DetachViewElement(eViewElement ve);
|
||||
int GetNumListViewMenuItems(void);
|
||||
bool GetScalingWindow(cRect &scalingWindow);
|
||||
map<string,string> GetCustomStringTokens(void) { return globals->GetCustomStringTokens(); };
|
||||
|
@@ -124,6 +124,14 @@ bool cTemplateViewElement::Execute(void) {
|
||||
return parameters->DoExecute();
|
||||
}
|
||||
|
||||
bool cTemplateViewElement::Detach(void) {
|
||||
if (!parameters)
|
||||
return false;
|
||||
int detached = parameters->GetNumericParameter(ptDetached);
|
||||
if (detached == 1)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
bool cTemplateViewElement::DebugTokens(void) {
|
||||
if (!parameters)
|
||||
@@ -136,6 +144,7 @@ void cTemplateViewElement::Debug(void) {
|
||||
esyslog("skindesigner: viewelement container size x: %d, y: %d, width: %d, height %d", containerX, containerY, containerWidth, containerHeight);
|
||||
if (parameters)
|
||||
parameters->Debug();
|
||||
return;
|
||||
for (vector<cTemplatePixmap*>::iterator it = viewPixmaps.begin(); it != viewPixmaps.end(); it++) {
|
||||
(*it)->Debug();
|
||||
}
|
||||
|
@@ -107,6 +107,7 @@ public:
|
||||
cTemplatePixmap *GetNextPixmap(void);
|
||||
cTemplateFunction *GetFunction(string name);
|
||||
bool Execute(void);
|
||||
bool Detach(void);
|
||||
bool DebugTokens(void);
|
||||
virtual void Debug(void);
|
||||
};
|
||||
|
Reference in New Issue
Block a user