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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
/*******************************************************************/
/*! \file vdr_menu.h
* \brief Implements menu handling for broswing media libraries within VDR
********************************************************************
* \version $Revision: 1.1 $
* \date $Date: 2004/02/01 18:22:53 $
* \author Ralf Klueber, Lars von Wedel, Andreas Kellner
* \author file owner: $Author: LarsAC $
*/
/*******************************************************************/
#ifndef _VDR_MENU_H
#define _VDR_MENU_H
#include <vdr/osd.h>
class mgMedia;
class mgSelectionTreeNode;
class mgPlaylist;
class mgTracklist;
class mgMenuTreeItem : public cOsdItem
{
public:
mgMenuTreeItem( mgSelectionTreeNode *node );
mgSelectionTreeNode *Node();
void Set();
private:
mgSelectionTreeNode *m_node;
};
class mgMainMenu : public cOsdMenu
{
public:
mgMainMenu();
mgSelectionTreeNode *CurrentNode();
eOSState ProcessKey(eKeys Key);
void Move( int from, int to);
protected:
enum MuggleStatus
{
TREE, FILTER, TRACKS,
PLAYLIST, PLAYLIST_TRACKINFO, PLAYLIST_ALBUMINFO,
};
// To be rewritten mode dependent
void SetButtons();
void DisplayTree( mgSelectionTreeNode *node );
void DisplayTreeViewSelector();
void DisplayFilter();
void DisplayFilterSelector();
void DisplayPlaylist();
void DisplayTracklist();
void DisplayTrackInfo();
void DisplayAlbumInfo();
private:
// content stuff
mgMedia *m_media;
mgSelectionTreeNode *m_root;
mgSelectionTreeNode *m_node;
mgPlaylist *m_current_playlist;
mgTracklist *m_tracklist;
// filter items
char *m_title, *m_interpret, *m_album, *m_playlist, *m_filtername;
int m_year_min, m_year_max, m_filter;
MuggleStatus m_state;
};
#endif
|