vdr 2.7.4
cOsdMenu Class Reference

#include <osdbase.h>

Public Member Functions

 cOsdMenu (const char *Title, int c0=0, int c1=0, int c2=0, int c3=0, int c4=0)
 
virtual ~cOsdMenu ()
 
virtual bool NeedsFastResponse (void)
 
void SetMenuCategory (eMenuCategory MenuCategory)
 
void SetMenuSortMode (eMenuSortMode MenuSortMode)
 
int Current (void) const
 
void Add (cOsdItem *Item, bool Current=false, cOsdItem *After=NULL)
 
void Ins (cOsdItem *Item, bool Current=false, cOsdItem *Before=NULL)
 
virtual void Display (void)
 
virtual eOSState ProcessKey (eKeys Key)
 
- Public Member Functions inherited from cOsdObject
 cOsdObject (bool FastResponse=false)
 
virtual ~cOsdObject ()
 
bool IsMenu (void) const
 
virtual void Show (void)
 
- Public Member Functions inherited from cList< cOsdItem >
 cList (const char *NeedsLocking=NULL)
 
const cOsdItemGet (int Index) const
 
cOsdItemGet (int Index)
 
const cOsdItemFirst (void) const
 
cOsdItemFirst (void)
 
const cOsdItemLast (void) const
 
cOsdItemLast (void)
 
const cOsdItemPrev (const cOsdItem *Object) const
 
cOsdItemPrev (const cOsdItem *Object)
 
const cOsdItemNext (const cOsdItem *Object) const
 
cOsdItemNext (const cOsdItem *Object)
 
- Public Member Functions inherited from cListBase
virtual ~cListBase ()
 
bool Lock (cStateKey &StateKey, bool Write=false, int TimeoutMs=0) const
 
void SetSyncStateKey (cStateKey &StateKey)
 
void SetUseGarbageCollector (void)
 
void SetExplicitModify (void)
 
void SetModified (void)
 
void Add (cListObject *Object, cListObject *After=NULL)
 
void Ins (cListObject *Object, cListObject *Before=NULL)
 
void Del (cListObject *Object, bool DeleteObject=true)
 
virtual void Move (int From, int To)
 
void Move (cListObject *From, cListObject *To)
 
bool Contains (const cListObject *Object) const
 
const cListObjectGet (int Index) const
 
cListObjectGet (int Index)
 
int Count (void) const
 
void Sort (void)
 

Protected Member Functions

void SetDisplayMenu (void)
 
cSkinDisplayMenuDisplayMenu (void)
 
const char * hk (const char *s)
 
void SetCols (int c0, int c1=0, int c2=0, int c3=0, int c4=0)
 
void SetHasHotkeys (bool HasHotkeys=true)
 
virtual void Clear (void)
 
const char * Title (void)
 
bool SelectableItem (int idx)
 
void SetCurrent (cOsdItem *Item)
 
void RefreshCurrent (void)
 
void DisplayCurrent (bool Current)
 
void DisplayItem (cOsdItem *Item)
 
void CursorUp (void)
 
void CursorDown (void)
 
void PageUp (void)
 
void PageDown (void)
 
void Mark (void)
 
eOSState HotKey (eKeys Key)
 
eOSState AddSubMenu (cOsdMenu *SubMenu)
 
eOSState CloseSubMenu (bool ReDisplay=true)
 
bool HasSubMenu (void)
 
cOsdMenuSubMenu (void)
 
void SetStatus (const char *s)
 
void SetTitle (const char *Title)
 
void SetHelp (const char *Red, const char *Green=NULL, const char *Yellow=NULL, const char *Blue=NULL)
 
virtual void Del (int Index)
 
- Protected Member Functions inherited from cOsdObject
void SetNeedsFastResponse (bool NeedsFastResponse)
 
- Protected Member Functions inherited from cListBase
 cListBase (const char *NeedsLocking=NULL)
 

Private Member Functions

void SetActive (bool Active)
 
void DisplayHelp (bool Force=false)
 
void DisplayNoStatus (void)
 

Private Attributes

int displayMenuItems
 
char * title
 
int cols [cSkinDisplayMenu::MaxTabs]
 
int first
 
int current
 
int marked
 
int lastOffset
 
bool conveyStatus
 
eMenuCategory menuCategory
 
eMenuSortMode menuSortMode
 
eMenuOrientation menuOrientation
 
cOsdMenusubMenu
 
const char * helpRed
 
const char * helpGreen
 
const char * helpYellow
 
const char * helpBlue
 
bool helpDisplayed
 
char * status
 
int digit
 
bool hasHotkeys
 
bool active
 

Static Private Attributes

static cSkinDisplayMenudisplayMenu = NULL
 
static int displayMenuCount = 0
 
static int osdState = 0
 
static cOsdMenutopMenu = NULL
 

Additional Inherited Members

- Protected Attributes inherited from cListBase
cListObjectobjects
 
cListObjectlastObject
 
int count
 
cStateLock stateLock
 
const char * needsLocking
 
bool useGarbageCollector
 

Detailed Description

Definition at line 85 of file osdbase.h.

Constructor & Destructor Documentation

◆ cOsdMenu()

◆ ~cOsdMenu()

cOsdMenu::~cOsdMenu ( )
virtual

Member Function Documentation

◆ Add()

◆ AddSubMenu()

◆ Clear()

◆ CloseSubMenu()

◆ Current()

int cOsdMenu::Current ( void ) const
inline

◆ CursorDown()

void cOsdMenu::CursorDown ( void )
protected

◆ CursorUp()

void cOsdMenu::CursorUp ( void )
protected

◆ Del()

◆ Display()

void cOsdMenu::Display ( void )
virtual

Reimplemented in cMenuEvent, cMenuRecording, and cMenuText.

Definition at line 248 of file osdbase.c.

References active, cols, conveyStatus, cListBase::Count(), cListBase::count, current, DisplayHelp(), displayMenu, displayMenuItems, cList< cOsdItem >::First(), first, cList< cOsdItem >::Get(), isempty(), max(), menuCategory, menuOrientation, menuSortMode, min(), cStatus::MsgOsdClear(), cStatus::MsgOsdCurrentItem(), cStatus::MsgOsdItem(), cStatus::MsgOsdStatusMessage(), cStatus::MsgOsdTitle(), mtStatus, cList< cOsdItem >::Next(), cOsdProvider::OsdSizeChanged(), osdState, SetDisplayMenu(), status, subMenu, and title.

Referenced by CloseSubMenu(), cMenuFolder::cMenuFolder(), cMenuFolder::cMenuFolder(), cMenuPathEdit::cMenuPathEdit(), cMenuRecordings::cMenuRecordings(), cMenuFolder::Delete(), cMenuRecordings::Delete(), cMenuTimers::Delete(), cMenuEvent::Display(), cMenuRecording::Display(), cMenuText::Display(), DisplayNoStatus(), cHdffSetupPage::ProcessKey(), cMenuChannels::ProcessKey(), cMenuEditTimer::ProcessKey(), cMenuMain::ProcessKey(), cMenuRecordings::ProcessKey(), cMenuSchedule::ProcessKey(), cMenuSetup::ProcessKey(), cMenuSetupPlugins::ProcessKey(), cMenuTimers::ProcessKey(), cMenuWhatsOn::ProcessKey(), cMenuChannels::Propagate(), cMenuSchedule::Record(), cMenuWhatsOn::Record(), cMenuCam::Set(), cMenuChannels::Set(), cMenuMain::Set(), cMenuRecordingEdit::Set(), cMenuRecordings::Set(), cMenuSchedule::Set(), cMenuSetupMisc::Set(), cMenuSetupOSD::Set(), cMenuTimers::Set(), cMenuEditTimer::SetFirstDayItem(), cMenuEditTimer::SetFolder(), cMenuFolder::SetFolder(), cMenuPathEdit::SetFolder(), cMenuRecordingEdit::SetFolder(), cMenuEditTimer::SetPatternItem(), cMenuEditChannel::Setup(), cMenuSetupDVB::Setup(), cMenuSetupEPG::Setup(), cMenuSetupLNB::Setup(), and cHdffMenu::SetVideoConversion().

◆ DisplayCurrent()

◆ DisplayHelp()

void cOsdMenu::DisplayHelp ( bool Force = false)
private

◆ DisplayItem()

◆ DisplayMenu()

cSkinDisplayMenu * cOsdMenu::DisplayMenu ( void )
inlineprotected

◆ DisplayNoStatus()

void cOsdMenu::DisplayNoStatus ( void )
private

Definition at line 241 of file osdbase.c.

References conveyStatus, and Display().

Referenced by CursorDown(), CursorUp(), DisplayCurrent(), PageDown(), and PageUp().

◆ HasSubMenu()

◆ hk()

const char * cOsdMenu::hk ( const char * s)
protected

◆ HotKey()

eOSState cOsdMenu::HotKey ( eKeys Key)
protected

◆ Ins()

void cOsdMenu::Ins ( cOsdItem * Item,
bool Current = false,
cOsdItem * Before = NULL )

Definition at line 234 of file osdbase.c.

References Current(), current, cListObject::Index(), and cListBase::Ins().

Referenced by cMenuEditTimer::SetPatternItem().

◆ Mark()

void cOsdMenu::Mark ( void )
protected

Definition at line 525 of file osdbase.c.

References cListBase::Count(), current, marked, SetStatus(), and tr.

Referenced by cMenuChannels::ProcessKey().

◆ NeedsFastResponse()

virtual bool cOsdMenu::NeedsFastResponse ( void )
inlinevirtual

Reimplemented from cOsdObject.

Definition at line 140 of file osdbase.h.

References cOsdObject::NeedsFastResponse(), and subMenu.

◆ PageDown()

void cOsdMenu::PageDown ( void )
protected

◆ PageUp()

void cOsdMenu::PageUp ( void )
protected

◆ ProcessKey()

eOSState cOsdMenu::ProcessKey ( eKeys Key)
virtual

Reimplemented from cOsdObject.

Reimplemented in cHdffMenu, cHdffSetupPage, cMenuCam, cMenuChannels, cMenuCommands, cMenuEditChannel, cMenuEditFolder, cMenuEditTimer, cMenuEvent, cMenuFolder, cMenuMain, cMenuPathEdit, cMenuRecording, cMenuRecordingEdit, cMenuRecordings, cMenuSchedule, cMenuSetup, cMenuSetupCAM, cMenuSetupDVB, cMenuSetupEPG, cMenuSetupLNB, cMenuSetupMisc, cMenuSetupOSD, cMenuSetupPage, cMenuSetupPlugins, cMenuText, cMenuTimers, cMenuWhatsOn, and cPictureMenu.

Definition at line 573 of file osdbase.c.

References CloseSubMenu(), current, CursorDown(), CursorUp(), DisplayCurrent(), cList< cOsdItem >::Get(), hasHotkeys, HotKey(), k0, k1, k_Repeat, kBack, kDown, kLeft, kNone, kOk, kRight, kUp, marked, menuOrientation, moHorizontal, cListBase::Move(), osBack, osContinue, osUnknown, PageDown(), PageUp(), cOsdItem::ProcessKey(), SetStatus(), and subMenu.

Referenced by cHdffMenu::ProcessKey(), cMenuCam::ProcessKey(), cMenuChannels::ProcessKey(), cMenuCommands::ProcessKey(), cMenuEditChannel::ProcessKey(), cMenuEditFolder::ProcessKey(), cMenuEditTimer::ProcessKey(), cMenuEvent::ProcessKey(), cMenuFolder::ProcessKey(), cMenuMain::ProcessKey(), cMenuPathEdit::ProcessKey(), cMenuRecording::ProcessKey(), cMenuRecordingEdit::ProcessKey(), cMenuRecordings::ProcessKey(), cMenuSchedule::ProcessKey(), cMenuSetup::ProcessKey(), cMenuSetupCAM::ProcessKey(), cMenuSetupPage::ProcessKey(), cMenuSetupPlugins::ProcessKey(), cMenuText::ProcessKey(), cMenuTimers::ProcessKey(), cMenuWhatsOn::ProcessKey(), and cPictureMenu::ProcessKey().

◆ RefreshCurrent()

void cOsdMenu::RefreshCurrent ( void )
protected

Definition at line 319 of file osdbase.c.

References current, cList< cOsdItem >::Get(), and cOsdItem::Set().

Referenced by CloseSubMenu(), HotKey(), and cMenuTimers::OnOff().

◆ SelectableItem()

bool cOsdMenu::SelectableItem ( int idx)
protected

Definition at line 373 of file osdbase.c.

References cList< cOsdItem >::Get(), and cOsdItem::Selectable().

Referenced by CursorDown(), CursorUp(), Del(), PageDown(), and PageUp().

◆ SetActive()

void cOsdMenu::SetActive ( bool Active)
private

Definition at line 135 of file osdbase.c.

References active.

Referenced by AddSubMenu(), and CloseSubMenu().

◆ SetCols()

void cOsdMenu::SetCols ( int c0,
int c1 = 0,
int c2 = 0,
int c3 = 0,
int c4 = 0 )
protected

◆ SetCurrent()

◆ SetDisplayMenu()

void cOsdMenu::SetDisplayMenu ( void )
protected

Definition at line 140 of file osdbase.c.

References displayMenu, and Skins.

Referenced by cOsdMenu(), and Display().

◆ SetHasHotkeys()

void cOsdMenu::SetHasHotkeys ( bool HasHotkeys = true)
protected

◆ SetHelp()

◆ SetMenuCategory()

◆ SetMenuSortMode()

void cOsdMenu::SetMenuSortMode ( eMenuSortMode MenuSortMode)

Definition at line 130 of file osdbase.c.

References menuSortMode.

Referenced by cMenuChannels::Set(), and cMenuRecordings::Set().

◆ SetStatus()

void cOsdMenu::SetStatus ( const char * s)
protected

Definition at line 179 of file osdbase.c.

References displayMenu, cStatus::MsgOsdStatusMessage(), mtStatus, and status.

Referenced by Clear(), Mark(), and ProcessKey().

◆ SetTitle()

◆ SubMenu()

◆ Title()

Member Data Documentation

◆ active

bool cOsdMenu::active
private

Definition at line 106 of file osdbase.h.

Referenced by cOsdMenu(), Display(), and SetActive().

◆ cols

int cOsdMenu::cols[cSkinDisplayMenu::MaxTabs]
private

Definition at line 93 of file osdbase.h.

Referenced by Display(), and SetCols().

◆ conveyStatus

bool cOsdMenu::conveyStatus
private

Definition at line 96 of file osdbase.h.

Referenced by cOsdMenu(), Display(), DisplayHelp(), and DisplayNoStatus().

◆ current

◆ digit

int cOsdMenu::digit
private

Definition at line 104 of file osdbase.h.

Referenced by cOsdMenu(), hk(), and SetHasHotkeys().

◆ displayMenu

cSkinDisplayMenu * cOsdMenu::displayMenu = NULL
staticprivate

◆ displayMenuCount

int cOsdMenu::displayMenuCount = 0
staticprivate

Definition at line 88 of file osdbase.h.

Referenced by cOsdMenu(), and ~cOsdMenu().

◆ displayMenuItems

int cOsdMenu::displayMenuItems
private

◆ first

int cOsdMenu::first
private

◆ hasHotkeys

bool cOsdMenu::hasHotkeys
private

Definition at line 105 of file osdbase.h.

Referenced by cOsdMenu(), hk(), ProcessKey(), and SetHasHotkeys().

◆ helpBlue

const char * cOsdMenu::helpBlue
private

Definition at line 101 of file osdbase.h.

Referenced by cOsdMenu(), DisplayHelp(), and SetHelp().

◆ helpDisplayed

bool cOsdMenu::helpDisplayed
private

Definition at line 102 of file osdbase.h.

Referenced by cOsdMenu(), DisplayCurrent(), and DisplayHelp().

◆ helpGreen

const char * cOsdMenu::helpGreen
private

Definition at line 101 of file osdbase.h.

Referenced by cOsdMenu(), DisplayHelp(), and SetHelp().

◆ helpRed

const char* cOsdMenu::helpRed
private

Definition at line 101 of file osdbase.h.

Referenced by cOsdMenu(), DisplayHelp(), and SetHelp().

◆ helpYellow

const char * cOsdMenu::helpYellow
private

Definition at line 101 of file osdbase.h.

Referenced by cOsdMenu(), DisplayHelp(), and SetHelp().

◆ lastOffset

int cOsdMenu::lastOffset
private

Definition at line 95 of file osdbase.h.

Referenced by Clear(), cOsdMenu(), and SetCurrent().

◆ marked

int cOsdMenu::marked
private

Definition at line 94 of file osdbase.h.

Referenced by Clear(), cOsdMenu(), Mark(), and ProcessKey().

◆ menuCategory

eMenuCategory cOsdMenu::menuCategory
private

Definition at line 97 of file osdbase.h.

Referenced by cOsdMenu(), Display(), and SetMenuCategory().

◆ menuOrientation

eMenuOrientation cOsdMenu::menuOrientation
private

Definition at line 99 of file osdbase.h.

Referenced by cOsdMenu(), Display(), and ProcessKey().

◆ menuSortMode

eMenuSortMode cOsdMenu::menuSortMode
private

Definition at line 98 of file osdbase.h.

Referenced by cOsdMenu(), Display(), and SetMenuSortMode().

◆ osdState

int cOsdMenu::osdState = 0
staticprivate

Definition at line 89 of file osdbase.h.

Referenced by cOsdMenu(), and Display().

◆ status

char* cOsdMenu::status
private

Definition at line 103 of file osdbase.h.

Referenced by cOsdMenu(), Display(), SetStatus(), and ~cOsdMenu().

◆ subMenu

cOsdMenu* cOsdMenu::subMenu
private

◆ title

char* cOsdMenu::title
private

Definition at line 92 of file osdbase.h.

Referenced by cOsdMenu(), Display(), SetTitle(), Title(), and ~cOsdMenu().

◆ topMenu

cOsdMenu * cOsdMenu::topMenu = NULL
staticprivate

Definition at line 90 of file osdbase.h.

Referenced by cOsdMenu(), and ~cOsdMenu().


The documentation for this class was generated from the following files: