summaryrefslogtreecommitdiff
path: root/src/submenuprovider.h
blob: a1affb3bb14539066d2961163dd84868b6d16174 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#ifndef ___SUBMENUPROVIDER_H
#define ___SUBMENUPROVIDER_H

#include <vdr/submenupatch.h>

using namespace SubMenuPatch;

/*
struct sSubMenu
{
	int MainMenuIndex;
	int NextMenuIndex;
};
*/
const unsigned int ENTER = 0;
const unsigned int LEAVE = 1;

class SubMenuProvider: public ISubMenuProvider
{
	private:
		MainMenuItemsList _osdItems;      // Enthält das aktuelle MenüItem (kann weg)
		MainMenuItemsList _myOsdItems[5]; // Enthält alle verfügbaren Menüs

		int _MenuIndex;                   // Der Index des aktuellen Menüs
		int _nextMenuIndex;               // Enthält den Index des nächsten Menüs
		int _MenuZuordnung[5][20][2];     // Speichert die Zuodnung
						  // erster Wert MenuIndex | zweiter Wert MenuItemIndex | dritter wert 0=Enter, 1=Leave

	public:
		SubMenuProvider();
		virtual MainMenuItemsList* MainMenuItems();
		virtual void EnterSubMenu(cOsdItem* item);
		virtual bool LeaveSubMenu();

	private:
		void ResetMainMenuItemsList();
		void CreateTestMenus();
};

#endif