vdr
2.0.7
Main Page
Namespaces
Classes
Files
File List
File Members
menuitems.h
Go to the documentation of this file.
1
/*
2
* menuitems.h: General purpose menu items
3
*
4
* See the main source file 'vdr.c' for copyright information and
5
* how to reach the author.
6
*
7
* $Id: menuitems.h 2.8 2012/03/13 11:19:11 kls Exp $
8
*/
9
10
#ifndef __MENUITEMS_H
11
#define __MENUITEMS_H
12
13
#include <limits.h>
14
#include "
dvbdevice.h
"
15
#include "
osdbase.h
"
16
17
extern
const
char
*
FileNameChars
;
18
19
class
cMenuEditItem
:
public
cOsdItem
{
20
private
:
21
char
*
name
;
22
const
char
*
helpRed
, *
helpGreen
, *
helpYellow
, *
helpBlue
;
23
bool
helpDisplayed
;
24
protected
:
25
void
SetHelp
(
const
char
*Red,
const
char
*Green = NULL,
const
char
*Yellow = NULL,
const
char
*Blue = NULL);
26
public
:
27
cMenuEditItem
(
const
char
*Name);
28
~cMenuEditItem
();
29
void
SetValue
(
const
char
*Value);
30
bool
DisplayHelp
(
void
);
31
};
32
33
class
cMenuEditIntItem
:
public
cMenuEditItem
{
34
protected
:
35
int
*
value
;
36
int
min
,
max
;
37
const
char
*
minString
, *
maxString
;
38
virtual
void
Set
(
void
);
39
public
:
40
cMenuEditIntItem
(
const
char
*Name,
int
*Value,
int
Min = 0,
int
Max = INT_MAX,
const
char
*MinString = NULL,
const
char
*MaxString = NULL);
41
virtual
eOSState
ProcessKey
(
eKeys
Key);
42
};
43
44
class
cMenuEditBoolItem
:
public
cMenuEditIntItem
{
45
protected
:
46
const
char
*
falseString
, *
trueString
;
47
virtual
void
Set
(
void
);
48
public
:
49
cMenuEditBoolItem
(
const
char
*Name,
int
*Value,
const
char
*FalseString = NULL,
const
char
*TrueString = NULL);
50
};
51
52
class
cMenuEditBitItem
:
public
cMenuEditBoolItem
{
53
protected
:
54
uint *
value
;
55
uint
mask
;
56
int
bit
;
57
virtual
void
Set
(
void
);
58
public
:
59
cMenuEditBitItem
(
const
char
*Name, uint *Value, uint Mask,
const
char
*FalseString = NULL,
const
char
*TrueString = NULL);
60
};
61
62
class
cMenuEditNumItem
:
public
cMenuEditItem
{
63
protected
:
64
char
*
value
;
65
int
length
;
66
bool
blind
;
67
virtual
void
Set
(
void
);
68
public
:
69
cMenuEditNumItem
(
const
char
*Name,
char
*Value,
int
Length,
bool
Blind =
false
);
70
virtual
eOSState
ProcessKey
(
eKeys
Key);
71
};
72
73
class
cMenuEditPrcItem
:
public
cMenuEditItem
{
74
protected
:
75
double
*
value
;
76
double
min
,
max
;
77
int
decimals
;
78
int
factor
;
79
virtual
void
Set
(
void
);
80
public
:
81
cMenuEditPrcItem
(
const
char
*Name,
double
*Value,
double
Min = 0.0,
double
Max = 1.0,
int
Decimals = 0);
82
virtual
eOSState
ProcessKey
(
eKeys
Key);
83
};
84
85
class
cMenuEditChrItem
:
public
cMenuEditItem
{
86
private
:
87
char
*
value
;
88
char
*
allowed
;
89
const
char
*
current
;
90
virtual
void
Set
(
void
);
91
public
:
92
cMenuEditChrItem
(
const
char
*Name,
char
*Value,
const
char
*Allowed);
93
~cMenuEditChrItem
();
94
virtual
eOSState
ProcessKey
(
eKeys
Key);
95
};
96
97
class
cMenuEditStrItem
:
public
cMenuEditItem
{
98
private
:
99
char
*
value
;
100
int
length
;
101
const
char
*
allowed
;
102
int
pos
,
offset
;
103
bool
insert
,
newchar
,
uppercase
;
104
int
lengthUtf8
;
105
uint *
valueUtf8
;
106
uint *
allowedUtf8
;
107
uint *
charMapUtf8
;
108
uint *
currentCharUtf8
;
109
eKeys
lastKey
;
110
cTimeMs
autoAdvanceTimeout
;
111
void
SetHelpKeys
(
void
);
112
uint *
IsAllowed
(uint c);
113
void
AdvancePos
(
void
);
114
virtual
void
Set
(
void
);
115
uint
Inc
(uint c,
bool
Up);
116
void
Type
(uint c);
117
void
Insert
(
void
);
118
void
Delete
(
void
);
119
protected
:
120
void
EnterEditMode
(
void
);
121
void
LeaveEditMode
(
bool
SaveValue =
false
);
122
bool
InEditMode
(
void
) {
return
valueUtf8 != NULL; }
123
public
:
124
cMenuEditStrItem
(
const
char
*Name,
char
*Value,
int
Length,
const
char
*Allowed = NULL);
125
~cMenuEditStrItem
();
126
virtual
eOSState
ProcessKey
(
eKeys
Key);
127
};
128
129
class
cMenuEditStraItem
:
public
cMenuEditIntItem
{
130
private
:
131
const
char
*
const
*
strings
;
132
protected
:
133
virtual
void
Set
(
void
);
134
public
:
135
cMenuEditStraItem
(
const
char
*Name,
int
*Value,
int
NumStrings,
const
char
*
const
*Strings);
136
};
137
138
class
cMenuEditChanItem
:
public
cMenuEditIntItem
{
139
protected
:
140
const
char
*
noneString
;
141
int
dummyValue
;
142
cString
*
channelID
;
143
virtual
void
Set
(
void
);
144
public
:
145
cMenuEditChanItem
(
const
char
*Name,
int
*Value,
const
char
*NoneString = NULL);
146
cMenuEditChanItem
(
const
char
*Name,
cString
*ChannelID,
const
char
*NoneString = NULL);
147
virtual
eOSState
ProcessKey
(
eKeys
Key);
148
};
149
150
class
cMenuEditTranItem
:
public
cMenuEditChanItem
{
151
private
:
152
int
number
;
153
int
*
source
;
154
int
*
transponder
;
155
public
:
156
cMenuEditTranItem
(
const
char
*Name,
int
*Value,
int
*Source);
157
virtual
eOSState
ProcessKey
(
eKeys
Key);
158
};
159
160
class
cMenuEditDateItem
:
public
cMenuEditItem
{
161
private
:
162
static
int
days
[];
163
time_t *
value
;
164
int
*
weekdays
;
165
time_t
oldvalue
;
166
int
oldweekdays
;
167
int
dayindex
;
168
int
FindDayIndex
(
int
WeekDays);
169
virtual
void
Set
(
void
);
170
public
:
171
cMenuEditDateItem
(
const
char
*Name, time_t *Value,
int
*WeekDays = NULL);
172
void
ToggleRepeating
(
void
);
173
virtual
eOSState
ProcessKey
(
eKeys
Key);
174
};
175
176
class
cMenuEditTimeItem
:
public
cMenuEditItem
{
177
protected
:
178
int
*
value
;
179
int
hh
,
mm
;
180
int
pos
;
181
virtual
void
Set
(
void
);
182
public
:
183
cMenuEditTimeItem
(
const
char
*Name,
int
*Value);
184
virtual
eOSState
ProcessKey
(
eKeys
Key);
185
};
186
187
class
cMenuEditMapItem
:
public
cMenuEditItem
{
188
protected
:
189
int
*
value
;
190
const
tDvbParameterMap
*
map
;
191
const
char
*
zeroString
;
192
virtual
void
Set
(
void
);
193
public
:
194
cMenuEditMapItem
(
const
char
*Name,
int
*Value,
const
tDvbParameterMap
*Map,
const
char
*ZeroString = NULL);
195
virtual
eOSState
ProcessKey
(
eKeys
Key);
196
};
197
198
class
cPlugin
;
199
200
class
cMenuSetupPage
:
public
cOsdMenu
{
201
private
:
202
cPlugin
*
plugin
;
203
protected
:
204
void
SetSection
(
const
char
*Section);
205
virtual
void
Store
(
void
) = 0;
206
void
SetupStore
(
const
char
*Name,
const
char
*Value = NULL);
207
void
SetupStore
(
const
char
*Name,
int
Value);
208
public
:
209
cMenuSetupPage
(
void
);
210
virtual
eOSState
ProcessKey
(
eKeys
Key);
211
void
SetPlugin
(
cPlugin
*Plugin);
212
};
213
214
#endif //__MENUITEMS_H
cMenuEditBitItem::bit
int bit
Definition:
menuitems.h:56
cMenuEditStrItem::newchar
bool newchar
Definition:
menuitems.h:103
cMenuEditIntItem::cMenuEditIntItem
cMenuEditIntItem(const char *Name, int *Value, int Min=0, int Max=INT_MAX, const char *MinString=NULL, const char *MaxString=NULL)
Definition:
menuitems.c:67
cMenuEditStrItem::autoAdvanceTimeout
cTimeMs autoAdvanceTimeout
Definition:
menuitems.h:110
cMenuSetupPage::cMenuSetupPage
cMenuSetupPage(void)
Definition:
menuitems.c:1126
cMenuEditIntItem::Set
virtual void Set(void)
Definition:
menuitems.c:82
cMenuSetupPage::plugin
cPlugin * plugin
Definition:
menuitems.h:202
cMenuEditChanItem::channelID
cString * channelID
Definition:
menuitems.h:142
cMenuEditStrItem::Set
virtual void Set(void)
Definition:
menuitems.c:441
cMenuEditStraItem::cMenuEditStraItem
cMenuEditStraItem(const char *Name, int *Value, int NumStrings, const char *const *Strings)
Definition:
menuitems.c:721
cMenuEditItem::helpRed
const char * helpRed
Definition:
menuitems.h:22
cMenuEditStrItem::LeaveEditMode
void LeaveEditMode(bool SaveValue=false)
Definition:
menuitems.c:384
cMenuEditChrItem
Definition:
menuitems.h:85
cMenuEditChanItem::dummyValue
int dummyValue
Definition:
menuitems.h:141
tDvbParameterMap
Definition:
dvbdevice.h:84
cMenuEditStrItem::uppercase
bool uppercase
Definition:
menuitems.h:103
cMenuEditBoolItem::Set
virtual void Set(void)
Definition:
menuitems.c:148
cMenuEditDateItem::days
static int days[]
Definition:
menuitems.h:162
cMenuEditDateItem::FindDayIndex
int FindDayIndex(int WeekDays)
Definition:
menuitems.c:863
cMenuEditNumItem::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:197
cMenuEditMapItem
Definition:
menuitems.h:187
cPlugin
Definition:
plugin.h:20
cMenuEditDateItem::value
time_t * value
Definition:
menuitems.h:163
cMenuEditIntItem::max
int max
Definition:
menuitems.h:36
cMenuEditItem::DisplayHelp
bool DisplayHelp(void)
Definition:
menuitems.c:54
cMenuEditBoolItem::cMenuEditBoolItem
cMenuEditBoolItem(const char *Name, int *Value, const char *FalseString=NULL, const char *TrueString=NULL)
Definition:
menuitems.c:140
cMenuEditStrItem::lastKey
eKeys lastKey
Definition:
menuitems.h:109
cMenuEditChrItem::~cMenuEditChrItem
~cMenuEditChrItem()
Definition:
menuitems.c:304
cMenuEditItem::helpGreen
const char * helpGreen
Definition:
menuitems.h:22
cMenuEditItem::~cMenuEditItem
~cMenuEditItem()
Definition:
menuitems.c:32
cMenuEditPrcItem::cMenuEditPrcItem
cMenuEditPrcItem(const char *Name, double *Value, double Min=0.0, double Max=1.0, int Decimals=0)
Definition:
menuitems.c:228
cMenuSetupPage::SetupStore
void SetupStore(const char *Name, const char *Value=NULL)
Definition:
menuitems.c:1160
cMenuEditItem::helpBlue
const char * helpBlue
Definition:
menuitems.h:22
cMenuEditPrcItem::min
double min
Definition:
menuitems.h:76
cMenuEditItem::name
char * name
Definition:
menuitems.h:21
cMenuEditMapItem::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:1098
cMenuEditDateItem::Set
virtual void Set(void)
Definition:
menuitems.c:871
cMenuEditTranItem::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:815
cMenuEditTimeItem::pos
int pos
Definition:
menuitems.h:180
cMenuSetupPage::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:1138
dvbdevice.h
cMenuEditMapItem::map
const tDvbParameterMap * map
Definition:
menuitems.h:190
cMenuEditIntItem::maxString
const char * maxString
Definition:
menuitems.h:37
cMenuEditPrcItem::max
double max
Definition:
menuitems.h:76
cMenuEditBoolItem::falseString
const char * falseString
Definition:
menuitems.h:46
cMenuEditStraItem::strings
const char *const * strings
Definition:
menuitems.h:131
cMenuSetupPage::Store
virtual void Store(void)=0
eOSState
eOSState
Definition:
osdbase.h:18
cMenuEditTimeItem::Set
virtual void Set(void)
Definition:
menuitems.c:995
cMenuEditPrcItem::value
double * value
Definition:
menuitems.h:75
cMenuEditStrItem::pos
int pos
Definition:
menuitems.h:102
cMenuEditStrItem::length
int length
Definition:
menuitems.h:100
cMenuEditChanItem::noneString
const char * noneString
Definition:
menuitems.h:140
cMenuSetupPage::SetPlugin
void SetPlugin(cPlugin *Plugin)
Definition:
menuitems.c:1153
cMenuEditPrcItem::Set
virtual void Set(void)
Definition:
menuitems.c:245
cMenuEditBitItem
Definition:
menuitems.h:52
cMenuEditIntItem
Definition:
menuitems.h:33
cMenuEditBitItem::Set
virtual void Set(void)
Definition:
menuitems.c:166
cMenuEditChrItem::value
char * value
Definition:
menuitems.h:87
cMenuEditTranItem::cMenuEditTranItem
cMenuEditTranItem(const char *Name, int *Value, int *Source)
Definition:
menuitems.c:798
cMenuEditPrcItem
Definition:
menuitems.h:73
cMenuEditStrItem::allowedUtf8
uint * allowedUtf8
Definition:
menuitems.h:106
cMenuEditDateItem::weekdays
int * weekdays
Definition:
menuitems.h:164
cMenuEditTimeItem::hh
int hh
Definition:
menuitems.h:179
cMenuEditNumItem::value
char * value
Definition:
menuitems.h:64
cMenuEditStrItem::insert
bool insert
Definition:
menuitems.h:103
cMenuEditTranItem::source
int * source
Definition:
menuitems.h:153
cMenuEditNumItem::blind
bool blind
Definition:
menuitems.h:66
cMenuEditTranItem
Definition:
menuitems.h:150
cMenuEditBitItem::cMenuEditBitItem
cMenuEditBitItem(const char *Name, uint *Value, uint Mask, const char *FalseString=NULL, const char *TrueString=NULL)
Definition:
menuitems.c:157
cMenuEditStrItem::Inc
uint Inc(uint c, bool Up)
Definition:
menuitems.c:496
cMenuEditItem::SetValue
void SetValue(const char *Value)
Definition:
menuitems.c:37
cMenuEditChanItem
Definition:
menuitems.h:138
cMenuEditIntItem::minString
const char * minString
Definition:
menuitems.h:37
cMenuEditChrItem::cMenuEditChrItem
cMenuEditChrItem(const char *Name, char *Value, const char *Allowed)
Definition:
menuitems.c:293
cMenuSetupPage
Definition:
menuitems.h:200
cMenuEditChrItem::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:317
cMenuEditStrItem::allowed
const char * allowed
Definition:
menuitems.h:101
cMenuEditBitItem::value
uint * value
Definition:
menuitems.h:54
cMenuEditItem
Definition:
menuitems.h:19
cMenuEditDateItem::oldvalue
time_t oldvalue
Definition:
menuitems.h:165
cMenuEditDateItem::ToggleRepeating
void ToggleRepeating(void)
Definition:
menuitems.c:890
cMenuEditTimeItem::value
int * value
Definition:
menuitems.h:178
cMenuEditStrItem::EnterEditMode
void EnterEditMode(void)
Definition:
menuitems.c:367
cMenuEditNumItem::cMenuEditNumItem
cMenuEditNumItem(const char *Name, char *Value, int Length, bool Blind=false)
Definition:
menuitems.c:174
cMenuEditPrcItem::decimals
int decimals
Definition:
menuitems.h:77
cMenuEditStrItem::currentCharUtf8
uint * currentCharUtf8
Definition:
menuitems.h:108
cMenuSetupPage::SetSection
void SetSection(const char *Section)
Definition:
menuitems.c:1133
cMenuEditStrItem::valueUtf8
uint * valueUtf8
Definition:
menuitems.h:105
osdbase.h
cMenuEditStrItem::InEditMode
bool InEditMode(void)
Definition:
menuitems.h:122
cMenuEditTimeItem::mm
int mm
Definition:
menuitems.h:179
cMenuEditStrItem::Insert
void Insert(void)
Definition:
menuitems.c:527
cMenuEditBoolItem
Definition:
menuitems.h:44
cOsdItem
Definition:
osdbase.h:50
cMenuEditChanItem::Set
virtual void Set(void)
Definition:
menuitems.c:754
cMenuEditDateItem::cMenuEditDateItem
cMenuEditDateItem(const char *Name, time_t *Value, int *WeekDays=NULL)
Definition:
menuitems.c:852
cMenuEditTimeItem::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:1007
cMenuEditStrItem::~cMenuEditStrItem
~cMenuEditStrItem()
Definition:
menuitems.c:360
cMenuEditTimeItem
Definition:
menuitems.h:176
cMenuEditStrItem::offset
int offset
Definition:
menuitems.h:102
cMenuEditMapItem::Set
virtual void Set(void)
Definition:
menuitems.c:1079
cMenuEditItem::helpDisplayed
bool helpDisplayed
Definition:
menuitems.h:23
cMenuEditStrItem::value
char * value
Definition:
menuitems.h:99
cMenuEditStrItem::IsAllowed
uint * IsAllowed(uint c)
Definition:
menuitems.c:412
cMenuEditStrItem::AdvancePos
void AdvancePos(void)
Definition:
menuitems.c:423
cMenuEditNumItem
Definition:
menuitems.h:62
cMenuEditIntItem::min
int min
Definition:
menuitems.h:36
cMenuEditStrItem::lengthUtf8
int lengthUtf8
Definition:
menuitems.h:104
cMenuEditStrItem::Type
void Type(uint c)
Definition:
menuitems.c:513
FileNameChars
const char * FileNameChars
Definition:
menuitems.c:22
cMenuEditMapItem::zeroString
const char * zeroString
Definition:
menuitems.h:191
cMenuEditChrItem::current
const char * current
Definition:
menuitems.h:89
cMenuEditPrcItem::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:252
cMenuEditStrItem::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:540
cMenuEditStraItem::Set
virtual void Set(void)
Definition:
menuitems.c:728
cTimeMs
Definition:
tools.h:323
cMenuEditBoolItem::trueString
const char * trueString
Definition:
menuitems.h:46
cMenuEditStrItem::charMapUtf8
uint * charMapUtf8
Definition:
menuitems.h:107
cMenuEditStrItem::cMenuEditStrItem
cMenuEditStrItem(const char *Name, char *Value, int Length, const char *Allowed=NULL)
Definition:
menuitems.c:341
cMenuEditDateItem::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:910
cOsdMenu
Definition:
osdbase.h:87
cMenuEditTimeItem::cMenuEditTimeItem
cMenuEditTimeItem(const char *Name, int *Value)
Definition:
menuitems.c:985
cMenuEditChrItem::Set
virtual void Set(void)
Definition:
menuitems.c:309
cMenuEditPrcItem::factor
int factor
Definition:
menuitems.h:78
cMenuEditNumItem::Set
virtual void Set(void)
Definition:
menuitems.c:183
cMenuEditItem::cMenuEditItem
cMenuEditItem(const char *Name)
Definition:
menuitems.c:26
cMenuEditChrItem::allowed
char * allowed
Definition:
menuitems.h:88
cMenuEditBitItem::mask
uint mask
Definition:
menuitems.h:55
cMenuEditItem::helpYellow
const char * helpYellow
Definition:
menuitems.h:22
cMenuEditTranItem::transponder
int * transponder
Definition:
menuitems.h:154
cMenuEditStraItem
Definition:
menuitems.h:129
cMenuEditIntItem::value
int * value
Definition:
menuitems.h:35
cMenuEditItem::SetHelp
void SetHelp(const char *Red, const char *Green=NULL, const char *Yellow=NULL, const char *Blue=NULL)
Definition:
menuitems.c:44
cMenuEditDateItem::dayindex
int dayindex
Definition:
menuitems.h:167
cMenuEditMapItem::value
int * value
Definition:
menuitems.h:189
eKeys
eKeys
Definition:
keys.h:16
cMenuEditChanItem::cMenuEditChanItem
cMenuEditChanItem(const char *Name, int *Value, const char *NoneString=NULL)
Definition:
menuitems.c:735
cMenuEditStrItem::Delete
void Delete(void)
Definition:
menuitems.c:534
cMenuEditIntItem::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:95
cMenuEditDateItem
Definition:
menuitems.h:160
cMenuEditNumItem::length
int length
Definition:
menuitems.h:65
cMenuEditStrItem::SetHelpKeys
void SetHelpKeys(void)
Definition:
menuitems.c:404
cString
Definition:
tools.h:166
cMenuEditTranItem::number
int number
Definition:
menuitems.h:152
cMenuEditStrItem
Definition:
menuitems.h:97
cMenuEditMapItem::cMenuEditMapItem
cMenuEditMapItem(const char *Name, int *Value, const tDvbParameterMap *Map, const char *ZeroString=NULL)
Definition:
menuitems.c:1070
cMenuEditDateItem::oldweekdays
int oldweekdays
Definition:
menuitems.h:166
cMenuEditChanItem::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:771
Generated by
1.8.8