diff options
Diffstat (limited to 'recmenu.h')
-rw-r--r-- | recmenu.h | 49 |
1 files changed, 24 insertions, 25 deletions
@@ -6,59 +6,58 @@ // --- cRecMenu ------------------------------------------------------------- class cRecMenu : public cStyledPixmap { +private: + std::list<cRecMenuItem*> menuItems; + int scrollbarWidth; + int numItems; + int startIndex, stopIndex; + void Activate(cRecMenuItem *itemOld, cRecMenuItem *item); + bool ActivateNext(void); + bool ActivatePrev(void); + void ScrollUp(void); + void ScrollDown(void); + void JumpBegin(void); + void JumpEnd(void); protected: int x, y; int width, height; int headerHeight, footerHeight; - int scrollHeight; - int scrollItemHeight; - int scrollbarWidth; + int currentHeight; + bool deleteMenuItems; cPixmap *pixmapScrollBar; cImage *imgScrollBar; int border; bool scrollable; - int numItems; - int startIndex, stopIndex; cRecMenuItem *header; cRecMenuItem *footer; - cList<cRecMenuItem> menuItems; void SetWidthPercent(int percentOSDWidth); void SetWidthPixel(int pixel); int CalculateOptimalWidth(void); - bool CheckHeight(void); - void CalculateHeight(void); + bool CalculateHeight(bool reDraw = false); void CreatePixmap(void); void SetHeader(cRecMenuItem *header); void SetFooter(cRecMenuItem *footer); - void AddMenuItemScroll(cRecMenuItem *item); - void AddMenuItem(cRecMenuItem *item, cRecMenuItem *before = NULL); - cRecMenuItem *GetActiveMenuItem(void); - bool ActivateNext(void); - bool ActivatePrev(void); - void Activate(cRecMenuItem *itemOld, cRecMenuItem *item); - void ScrollUp(void); - void ScrollDown(void); - void JumpBegin(void); - void JumpEnd(void); + void ClearMenuItems(void); + void InitMenu(bool complete); + bool AddMenuItemInitial(cRecMenuItem *item); + void AddMenuItem(cRecMenuItem *item, bool inFront = false); void DrawScrollBar(void); cImage *createScrollbar(int width, int height, tColor clrBgr, tColor clrBlend); void Arrange(bool scroll = false); virtual cRecMenuItem *GetMenuItem(int number) { return NULL; }; + cRecMenuItem *GetActiveMenuItem(void); + cRecMenuItem *GetMenuItemAt(int num); + int GetCurrentNumMenuItems(void) { return menuItems.size(); }; virtual int GetTotalNumMenuItems(void) { return 0; }; virtual void CreateMenuItems(void) {}; + int GetStartIndex(void) { return startIndex; }; + int GetActive(void); public: cRecMenu(void); virtual ~cRecMenu(void); void Display(bool scroll = false); void Hide(void); void Show(void); - int GetActive(bool withOffset); - int GetIntValue(int itemNumber); - time_t GetTimeValue(int itemNumber); - bool GetBoolValue(int itemNumber); - cString GetStringValue(int itemNumber); - const cEvent *GetEventValue(int itemNumber); - cTimer *GetTimerValue(int itemNumber); virtual eRecMenuState ProcessKey(eKeys Key); }; #endif //__TVGUIDE_RECMENU_H
\ No newline at end of file |