diff options
Diffstat (limited to 'muggle-plugin/vdr_menu.h')
-rw-r--r-- | muggle-plugin/vdr_menu.h | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/muggle-plugin/vdr_menu.h b/muggle-plugin/vdr_menu.h new file mode 100644 index 0000000..480c687 --- /dev/null +++ b/muggle-plugin/vdr_menu.h @@ -0,0 +1,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 |