Home

Dokumentation

Impressum

Dokumentation VDR
 

Main Page   Class Hierarchy   Alphabetical List   Data Structures   File List   Data Fields   Globals  

menu.h

Go to the documentation of this file.
00001 
00010 #ifndef __MENU_H
00011 #define __MENU_H
00012 
00013 #include "device.h"
00014 #include "osd.h"
00015 #include "dvbplayer.h"
00016 #include "recorder.h"
00017 #include "recording.h"
00018 
00019 
00021 class cMenuMain : public cOsdMenu {
00022 private:
00023   time_t lastActivity;
00024   bool replaying;
00025   static cOsdObject *pluginOsdObject;
00026   void Set(const char *Plugin = NULL);
00027 public:
00028   cMenuMain(bool Replaying, eOSState State = osUnknown, const char *Plugin = NULL);
00029   virtual eOSState ProcessKey(eKeys Key);
00030   static cOsdObject *PluginOsdObject(void);
00031   };
00032 
00036 class cDisplayChannel : public cOsdObject {
00037 private:
00038   int group;
00039   bool withInfo;
00040   int lines;
00041   int lastTime;
00042   int number;
00043   void DisplayChannel(const cChannel *Channel);
00044   void DisplayInfo(void);
00045   void Refresh(void);
00046 public:
00047   cDisplayChannel(int Number, bool Switched);
00048   cDisplayChannel(eKeys FirstKey);
00049   virtual ~cDisplayChannel();
00050   virtual eOSState ProcessKey(eKeys Key);
00051   };
00052 
00056 class cDisplayVolume : public cOsdObject {
00057 private:
00058   int timeout;
00059   static cDisplayVolume *displayVolume;
00060   void Show(void);
00061   cDisplayVolume(void);
00062 public:
00063   virtual ~cDisplayVolume();
00064   static cDisplayVolume *Create(void);
00065   static void Process(eKeys Key);
00066   eOSState ProcessKey(eKeys Key);
00067   };
00068 
00069 class cMenuRecordingItem;
00070 
00074 class cMenuRecordings : public cOsdMenu {
00075 private:
00076   static cRecordings Recordings;
00077   char *base;
00078   int level;
00079   static int helpKeys;
00080   void SetHelpKeys(void);
00081   cRecording *GetRecording(cMenuRecordingItem *Item);
00082   bool Open(bool OpenSubMenus = false);
00083 
00084   //
00085   eOSState Play(void);
00086   //
00087   eOSState Rewind(void);
00088   //
00089   eOSState Delete(void);
00090   //
00091   eOSState Summary(void);
00092   eOSState Commands(eKeys Key = kNone);
00093 public:
00094   cMenuRecordings(const char *Base = NULL, int Level = 0, bool OpenSubMenus = false);
00095   ~cMenuRecordings();
00096   virtual eOSState ProcessKey(eKeys Key);
00097   };
00098 
00099 class cRecordControl {
00100 private:
00101   cDevice *device;
00102   cTimer *timer;
00103   cRecorder *recorder;
00104   const cEventInfo *eventInfo;
00105   char *instantId;
00106   char *fileName;
00107   bool GetEventInfo(void);
00108 public:
00109   cRecordControl(cDevice *Device, cTimer *Timer = NULL);
00110   virtual ~cRecordControl();
00111   bool Process(time_t t);
00112   bool Uses(cDevice *Device) { return Device == device; }
00113   void Stop(bool KeepInstant = false);
00114   bool IsInstant(void) { return instantId; }
00115   const char *InstantId(void) { return instantId; }
00116   const char *FileName(void) { return fileName; }
00117   cTimer *Timer(void) { return timer; }
00118   };
00119 
00123 class cRecordControls {
00124 private:
00125   static cRecordControl *RecordControls[];
00126 public:
00127   static bool Start(cTimer *Timer = NULL);
00128   static void Stop(const char *InstantId);
00129   static void Stop(cDevice *Device);
00130   static bool StopPrimary(bool DoIt = false);
00131   static const char *GetInstantId(const char *LastInstantId);
00132   static cRecordControl *GetRecordControl(const char *FileName);
00133   static void Process(time_t t);
00134   static bool Active(void);
00135   static void Shutdown(void);
00136   };
00137 
00141 class cReplayControl : public cDvbPlayerControl {
00142 private:
00143   cMarks marks;
00144   bool visible, modeOnly, shown, displayFrames;
00145   int lastCurrent, lastTotal;
00146   time_t timeoutShow;
00147   bool timeSearchActive, timeSearchHide;  
00148   int timeSearchTime, timeSearchPos;
00149   void TimeSearchDisplay(void);
00150   void TimeSearchProcess(eKeys Key);
00151   void TimeSearch(void);
00152   void Show(int Seconds = 0);
00153   static char *fileName;
00154   static char *title;
00155   void DisplayAtBottom(const char *s = NULL);
00156   void ShowMode(void);
00157   bool ShowProgress(bool Initial);
00158   void MarkToggle(void);
00159   void MarkJump(bool Forward);
00160   void MarkMove(bool Forward);
00161   void EditCut(void);
00162   void EditTest(void);
00163 public:
00164   cReplayControl(void);
00165   virtual ~cReplayControl();
00166   virtual eOSState ProcessKey(eKeys Key);
00167   virtual void Hide(void);
00168   bool Visible(void) { return visible; }
00169   static void SetRecording(const char *FileName, const char *Title);
00170   static const char *LastReplayed(void);
00171   static void ClearLastReplayed(const char *FileName);
00172   };
00173 
00174 #endif //__MENU_H
00175 

Generated on Wed Feb 5 23:30:10 2003 for VDR by doxygen1.3-rc2