summaryrefslogtreecommitdiff
path: root/skindesclient-0.0.1/osdmenu.c
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2015-03-12 17:28:35 +0100
committerlouis <louis.braun@gmx.de>2015-03-12 17:28:35 +0100
commit44680b6ce80221e91cb14dca9ca7fad7015f1297 (patch)
tree8af805db50568ba41ebb461309d5724320295441 /skindesclient-0.0.1/osdmenu.c
parent45cb6c1663d66ebc22bed8dbc8cdbacdc82ad4a8 (diff)
downloadvdr-plugin-skindesigner-0.3.0.tar.gz
vdr-plugin-skindesigner-0.3.0.tar.bz2
version 0.3.00.3.0
Diffstat (limited to 'skindesclient-0.0.1/osdmenu.c')
-rw-r--r--skindesclient-0.0.1/osdmenu.c148
1 files changed, 0 insertions, 148 deletions
diff --git a/skindesclient-0.0.1/osdmenu.c b/skindesclient-0.0.1/osdmenu.c
deleted file mode 100644
index e32b2d1..0000000
--- a/skindesclient-0.0.1/osdmenu.c
+++ /dev/null
@@ -1,148 +0,0 @@
-#include <vdr/osdbase.h>
-#include <string>
-#include <vector>
-#include <map>
-#include <set>
-#include <sstream>
-#include "libskindesigner/skindesignerosdbase.h"
-
-enum eMenus {
- meListMain,
- meListSub,
- meDetail
-};
-
-class cPlugOsdMenu : public cSkindesignerOsdMenu {
-private:
- void SetMenu(int numItems, bool subfolder = false);
- void SetDetailView(int element);
-public:
- cPlugOsdMenu(void);
- virtual ~cPlugOsdMenu();
- virtual eOSState ProcessKey(eKeys key);
-};
-
-
-//***************************************************************************
-// Public Functions
-//***************************************************************************
-
-cPlugOsdMenu::cPlugOsdMenu(void) : cSkindesignerOsdMenu("Skindesigner Client") {
- SetPluginName("skindesclient");
- SetMenu(10);
-}
-
-cPlugOsdMenu::~cPlugOsdMenu(void) {
-
-}
-
-eOSState cPlugOsdMenu::ProcessKey(eKeys key) {
- eOSState state = cOsdMenu::ProcessKey(key);
- switch (key) {
- case kOk: {
- int element = Current();
- if (element%2)
- SetDetailView(element);
- else
- SetMenu(25, true);
- state = osContinue;
- break;
- } case kLeft: {
- TextKeyLeft();
- state = osContinue;
- break;
- } case kRight: {
- TextKeyRight();
- state = osContinue;
- break;
- } case kUp: {
- TextKeyUp();
- state = osContinue;
- break;
- } case kDown: {
- TextKeyDown();
- state = osContinue;
- break;
- }
- default:
- break;
- }
- return state;
-}
-
-//***************************************************************************
-// Private Functions
-//***************************************************************************
-
-void cPlugOsdMenu::SetMenu(int numItems, bool subfolder) {
- eMenus menu = subfolder ? meListSub : meListMain;
- SetPluginMenu(menu, mtList);
- Clear();
-
- for (int i=0; i < numItems; i++) {
- cSkindesignerOsdItem *item = new cSkindesignerOsdItem();
- //add some tokens to the menu item
- stringstream text;
- if (i%2)
- text << "DetailItem" << (i+1);
- else
- text << "FolderItem" << (i+1);
- item->SetText(text.str().c_str());
- item->AddIntToken("itemnumber", i);
- item->AddStringToken("menuitemtext", text.str().c_str());
-
- stringstream text2;
- text2 << "CurrentItemText" << (i+1) << "\n";
- text2 << "CurrentItemText" << (i+1) << "\n";
- text2 << "CurrentItemText" << (i+1) << "\n";
- text2 << "CurrentItemText" << (i+1) << "\n";
- text2 << "CurrentItemText" << (i+1) << "\n";
- text2 << "CurrentItemText" << (i+1) << "\n";
- item->AddStringToken("currentitemtext", text2.str().c_str());
-
- //Loop Token Example
- for (int row=0; row<20; row++) {
- map<string, string> tokens;
- for (int col=0; col<3; col++) {
- stringstream key;
- stringstream value;
- key << "loop1[" << "col" << col << "]";
- value << "menuitem" << i << "-" << row << "x" << col;
- tokens.insert(pair<string,string>(key.str(), value.str()));
- }
- item->AddLoopToken("loop1", tokens);
- }
- //Add item
- bool current = (i==0)?true:false;
- Add(item, current);
- }
- SetHelp("Red", "Green", "Yellow", "Blue");
- Display();
-}
-
-void cPlugOsdMenu::SetDetailView(int element) {
- SetPluginMenu(meDetail, mtText);
- Clear();
- ClearTokens();
-
- SetText("Text to be displayed if skindesigner templates are not available");
-
- AddIntToken("menuitem", element);
- AddStringToken("tabtext", "String Token to be displayed if skindesigner template is available");
-
- //Loop Token Example
- for (int row=0; row<25; row++) {
- map<string, string> tokens;
- for (int col=0; col<10; col++) {
- stringstream key;
- stringstream value;
- key << "loop1[" << "col" << col << "]";
- value << "row" << row << "-" << "col" << "-" << col;
- tokens.insert(pair<string,string>(key.str(), value.str()));
- }
- AddLoopToken("loop1", tokens);
- }
-
- SetHelp("Red", "Green", "Yellow", "Blue");
- Display();
-}