141 if (
digit == 0 &&
'1' <= *s && *s <=
'9' && *(s + 1) ==
' ')
170 status = s ? strdup(s) : NULL;
268 bool CurrentSelectable = (i ==
current) && item->Selectable();
269 item->SetMenuItem(
displayMenu, i -
first, CurrentSelectable, item->Selectable());
270 if (CurrentSelectable)
307 if (!MenuEditItem->DisplayHelp(
Current))
318 int Index = Item->
Index();
319 int Offset = Index -
first;
351 int last =
Count() - 1;
354 while (--tmpCurrent !=
current) {
355 if (tmpCurrent < 0) {
363 tmpCurrent = last + 1;
370 if (
first <= tmpCurrent && tmpCurrent <= lastOnScreen)
377 else if (
current > lastOnScreen) {
390 int last =
Count() - 1;
393 while (++tmpCurrent !=
current) {
394 if (tmpCurrent > last) {
409 if (
first <= tmpCurrent && tmpCurrent <= lastOnScreen)
430 int oldFirst =
first;
433 int last =
Count() - 1;
441 if (tmpCurrent < 0) {
446 current = tmpCurrent <= last ? tmpCurrent : -1;
463 int oldFirst =
first;
466 int last =
Count() - 1;
474 if (tmpCurrent > last) {
479 current = tmpCurrent > 0 ? tmpCurrent : -1;
496 SetStatus(
tr(
"Up/Dn for new location - OK to move"));
503 const char *s = item->Text();
505 if (*s == Key -
k1 +
'1') {
void Ins(cListObject *Object, cListObject *Before=NULL)
void Del(cListObject *Object, bool DeleteObject=true)
virtual void Move(int From, int To)
void Add(cListObject *Object, cListObject *After=NULL)
const cOsdItem * First(void) const
const cOsdItem * Next(const cOsdItem *Object) const
const cOsdItem * Get(int Index) const
virtual void SetMenuItem(cSkinDisplayMenu *DisplayMenu, int Index, bool Current, bool Selectable)
const char * Text(void) const
void SetSelectable(bool Selectable)
virtual eOSState ProcessKey(eKeys Key)
void SetFresh(bool Fresh)
bool Selectable(void) const
void SetText(const char *Text, bool Copy=true)
cOsdItem(eOSState State=osUnknown)
static bool OsdSizeChanged(int &State)
Checks if the OSD size has changed and a currently displayed OSD needs to be redrawn.
bool Put(uint64_t Code, bool Repeat=false, bool Release=false)
virtual cSkinDisplayMenu * DisplayMenu(void)=0
Creates and returns a new object for displaying a menu.
cSkin * Current(void)
Returns a pointer to the current skin.
static void MsgOsdTitle(const char *Title)
static void MsgOsdHelpKeys(const char *Red, const char *Green, const char *Yellow, const char *Blue)
static void MsgOsdItem(const char *Text, int Index)
static void MsgOsdClear(void)
static void MsgOsdCurrentItem(const char *Text)
static cString sprintf(const char *fmt,...) __attribute__((format(printf