vdr
2.2.0
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 3.1 2013/05/24 10:19:55 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
(
bool
Current);
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
cMenuEditIntxItem
:
public
cMenuEditIntItem
{
74
private
:
75
int
factor
;
76
const
char
*negString, *
posString
;
77
void
SetHelpKeys(
void
);
78
virtual
void
Set
(
void
);
79
public
:
80
cMenuEditIntxItem
(
const
char
*Name,
int
*Value,
int
Min = INT_MIN,
int
Max = INT_MAX,
int
Factor = 1,
const
char
*NegString = NULL,
const
char
*PosString = NULL);
81
virtual
eOSState
ProcessKey
(
eKeys
Key);
82
};
83
84
class
cMenuEditPrcItem
:
public
cMenuEditItem
{
85
protected
:
86
double
*
value
;
87
double
min
,
max
;
88
int
decimals
;
89
int
factor
;
90
virtual
void
Set
(
void
);
91
public
:
92
cMenuEditPrcItem
(
const
char
*Name,
double
*Value,
double
Min = 0.0,
double
Max = 1.0,
int
Decimals = 0);
93
virtual
eOSState
ProcessKey
(
eKeys
Key);
94
};
95
96
class
cMenuEditChrItem
:
public
cMenuEditItem
{
97
private
:
98
char
*
value
;
99
char
*
allowed
;
100
const
char
*
current
;
101
virtual
void
Set
(
void
);
102
public
:
103
cMenuEditChrItem
(
const
char
*Name,
char
*Value,
const
char
*Allowed);
104
~
cMenuEditChrItem
();
105
virtual
eOSState
ProcessKey
(
eKeys
Key);
106
};
107
108
class
cMenuEditStrItem
:
public
cMenuEditItem
{
109
private
:
110
char
*
value
;
111
int
length
;
112
const
char
*
allowed
;
113
int
pos
, offset;
114
bool
insert, newchar,
uppercase
;
115
int
lengthUtf8
;
116
uint *
valueUtf8
;
117
uint *
allowedUtf8
;
118
uint *
charMapUtf8
;
119
uint *
currentCharUtf8
;
120
eKeys
lastKey
;
121
cTimeMs
autoAdvanceTimeout
;
122
void
SetHelpKeys(
void
);
123
uint *IsAllowed(uint c);
124
void
AdvancePos(
void
);
125
virtual
void
Set
(
void
);
126
uint Inc(uint c,
bool
Up);
127
void
Type(uint c);
128
void
Insert
(
void
);
129
void
Delete(
void
);
130
protected
:
131
void
EnterEditMode(
void
);
132
void
LeaveEditMode(
bool
SaveValue =
false
);
133
bool
InEditMode
(
void
) {
return
valueUtf8 != NULL; }
134
public
:
135
cMenuEditStrItem
(
const
char
*Name,
char
*Value,
int
Length,
const
char
*Allowed = NULL);
136
~
cMenuEditStrItem
();
137
virtual
eOSState
ProcessKey
(
eKeys
Key);
138
};
139
140
class
cMenuEditStraItem
:
public
cMenuEditIntItem
{
141
private
:
142
const
char
*
const
*
strings
;
143
protected
:
144
virtual
void
Set
(
void
);
145
public
:
146
cMenuEditStraItem
(
const
char
*Name,
int
*Value,
int
NumStrings,
const
char
*
const
*Strings);
147
};
148
149
class
cMenuEditChanItem
:
public
cMenuEditIntItem
{
150
protected
:
151
const
char
*
noneString
;
152
int
dummyValue
;
153
cString
*
channelID
;
154
virtual
void
Set
(
void
);
155
public
:
156
cMenuEditChanItem
(
const
char
*Name,
int
*Value,
const
char
*NoneString = NULL);
157
cMenuEditChanItem
(
const
char
*Name,
cString
*ChannelID,
const
char
*NoneString = NULL);
158
virtual
eOSState
ProcessKey
(
eKeys
Key);
159
};
160
161
class
cMenuEditTranItem
:
public
cMenuEditChanItem
{
162
private
:
163
int
number
;
164
int
*
source
;
165
int
*
transponder
;
166
public
:
167
cMenuEditTranItem
(
const
char
*Name,
int
*Value,
int
*Source);
168
virtual
eOSState
ProcessKey
(
eKeys
Key);
169
};
170
171
class
cMenuEditDateItem
:
public
cMenuEditItem
{
172
private
:
173
static
int
days[];
174
time_t *
value
;
175
int
*
weekdays
;
176
time_t
oldvalue
;
177
int
oldweekdays
;
178
int
dayindex
;
179
int
FindDayIndex(
int
WeekDays);
180
virtual
void
Set
(
void
);
181
public
:
182
cMenuEditDateItem
(
const
char
*Name, time_t *Value,
int
*WeekDays = NULL);
183
void
ToggleRepeating(
void
);
184
virtual
eOSState
ProcessKey
(
eKeys
Key);
185
};
186
187
class
cMenuEditTimeItem
:
public
cMenuEditItem
{
188
protected
:
189
int
*
value
;
190
int
hh,
mm
;
191
int
pos
;
192
virtual
void
Set
(
void
);
193
public
:
194
cMenuEditTimeItem
(
const
char
*Name,
int
*Value);
195
virtual
eOSState
ProcessKey
(
eKeys
Key);
196
};
197
198
class
cMenuEditMapItem
:
public
cMenuEditItem
{
199
protected
:
200
int
*
value
;
201
const
tDvbParameterMap
*
map
;
202
const
char
*
zeroString
;
203
virtual
void
Set
(
void
);
204
public
:
205
cMenuEditMapItem
(
const
char
*Name,
int
*Value,
const
tDvbParameterMap
*Map,
const
char
*ZeroString = NULL);
206
virtual
eOSState
ProcessKey
(
eKeys
Key);
207
};
208
209
class
cPlugin
;
210
211
class
cMenuSetupPage
:
public
cOsdMenu
{
212
private
:
213
cPlugin
*
plugin
;
214
protected
:
215
void
SetSection(
const
char
*Section);
216
virtual
void
Store(
void
) = 0;
217
void
SetupStore(
const
char
*Name,
const
char
*Value = NULL);
218
void
SetupStore(
const
char
*Name,
int
Value);
219
public
:
220
cMenuSetupPage
(
void
);
221
virtual
eOSState
ProcessKey
(
eKeys
Key);
222
void
SetPlugin(
cPlugin
*Plugin);
223
};
224
225
#endif //__MENUITEMS_H
cMenuEditItem::DisplayHelp
bool DisplayHelp(bool Current)
Definition:
menuitems.c:54
cMenuEditBitItem::bit
int bit
Definition:
menuitems.h:56
cMenuEditStrItem::autoAdvanceTimeout
cTimeMs autoAdvanceTimeout
Definition:
menuitems.h:121
cMenuSetupPage::plugin
cPlugin * plugin
Definition:
menuitems.h:213
cMenuEditChanItem::channelID
cString * channelID
Definition:
menuitems.h:153
cMenuEditItem::helpRed
const char * helpRed
Definition:
menuitems.h:22
cMenuEditIntxItem::posString
const char * posString
Definition:
menuitems.h:76
cMenuEditChrItem
Definition:
menuitems.h:96
cMenuEditChanItem::dummyValue
int dummyValue
Definition:
menuitems.h:152
tDvbParameterMap
Definition:
dvbdevice.h:83
cMenuEditStrItem::uppercase
bool uppercase
Definition:
menuitems.h:114
cMenuEditMapItem
Definition:
menuitems.h:198
cPlugin
Definition:
plugin.h:20
cMenuEditDateItem::value
time_t * value
Definition:
menuitems.h:174
cMenuEditStrItem::lastKey
eKeys lastKey
Definition:
menuitems.h:120
cMenuEditIntxItem
Definition:
menuitems.h:73
max
T max(T a, T b)
Definition:
tools.h:55
cMenuEditItem::helpGreen
const char * helpGreen
Definition:
menuitems.h:22
cMenuEditItem::~cMenuEditItem
~cMenuEditItem()
Definition:
menuitems.c:32
cMenuEditItem::helpBlue
const char * helpBlue
Definition:
menuitems.h:22
cMenuEditPrcItem::min
double min
Definition:
menuitems.h:87
cMenuEditItem::name
char * name
Definition:
menuitems.h:21
cMenuEditTimeItem::pos
int pos
Definition:
menuitems.h:191
dvbdevice.h
cMenuEditMapItem::map
const tDvbParameterMap * map
Definition:
menuitems.h:201
cMenuEditStraItem::strings
const char *const * strings
Definition:
menuitems.h:142
eOSState
eOSState
Definition:
osdbase.h:18
cMenuEditPrcItem::value
double * value
Definition:
menuitems.h:86
cMenuEditStrItem::pos
int pos
Definition:
menuitems.h:113
cMenuEditIntxItem::factor
int factor
Definition:
menuitems.h:75
cMenuEditStrItem::length
int length
Definition:
menuitems.h:111
cMenuEditChanItem::noneString
const char * noneString
Definition:
menuitems.h:151
cMenuEditBitItem
Definition:
menuitems.h:52
cMenuEditIntItem
Definition:
menuitems.h:33
cMenuEditChrItem::value
char * value
Definition:
menuitems.h:98
cMenuEditPrcItem
Definition:
menuitems.h:84
cMenuEditStrItem::allowedUtf8
uint * allowedUtf8
Definition:
menuitems.h:117
cMenuEditDateItem::weekdays
int * weekdays
Definition:
menuitems.h:175
cMenuEditNumItem::value
char * value
Definition:
menuitems.h:64
cMenuEditTranItem::source
int * source
Definition:
menuitems.h:164
cMenuEditNumItem::blind
bool blind
Definition:
menuitems.h:66
cMenuEditTranItem
Definition:
menuitems.h:161
cMenuEditItem::SetValue
void SetValue(const char *Value)
Definition:
menuitems.c:37
cMenuEditChanItem
Definition:
menuitems.h:149
cMenuEditIntItem::minString
const char * minString
Definition:
menuitems.h:37
cMenuSetupPage
Definition:
menuitems.h:211
cMenuEditStrItem::allowed
const char * allowed
Definition:
menuitems.h:112
cMenuEditBitItem::value
uint * value
Definition:
menuitems.h:54
cMenuEditItem
Definition:
menuitems.h:19
cMenuEditDateItem::oldvalue
time_t oldvalue
Definition:
menuitems.h:176
cMenuEditTimeItem::value
int * value
Definition:
menuitems.h:189
cOsdItem::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
osdbase.c:63
cMenuEditPrcItem::decimals
int decimals
Definition:
menuitems.h:88
cMenuEditStrItem::currentCharUtf8
uint * currentCharUtf8
Definition:
menuitems.h:119
cMenuEditStrItem::valueUtf8
uint * valueUtf8
Definition:
menuitems.h:116
osdbase.h
cMenuEditStrItem::InEditMode
bool InEditMode(void)
Definition:
menuitems.h:133
cMenuEditTimeItem::mm
int mm
Definition:
menuitems.h:190
cMenuEditBoolItem
Definition:
menuitems.h:44
cOsdItem
Definition:
osdbase.h:49
cMenuEditTimeItem
Definition:
menuitems.h:187
cMenuEditItem::helpDisplayed
bool helpDisplayed
Definition:
menuitems.h:23
cMenuEditStrItem::value
char * value
Definition:
menuitems.h:110
cMenuEditNumItem
Definition:
menuitems.h:62
cMenuEditIntItem::min
int min
Definition:
menuitems.h:36
cMenuEditStrItem::lengthUtf8
int lengthUtf8
Definition:
menuitems.h:115
FileNameChars
const char * FileNameChars
Definition:
menuitems.c:22
cMenuEditMapItem::zeroString
const char * zeroString
Definition:
menuitems.h:202
cMenuEditChrItem::current
const char * current
Definition:
menuitems.h:100
cTimeMs
Definition:
tools.h:333
cMenuEditBoolItem::trueString
const char * trueString
Definition:
menuitems.h:46
cMenuEditStrItem::charMapUtf8
uint * charMapUtf8
Definition:
menuitems.h:118
cOsdMenu
Definition:
osdbase.h:86
cOsdItem::Set
virtual void Set(void)
Definition:
osdbase.h:65
cMenuEditPrcItem::factor
int factor
Definition:
menuitems.h:89
cMenuEditItem::cMenuEditItem
cMenuEditItem(const char *Name)
Definition:
menuitems.c:26
cMenuEditChrItem::allowed
char * allowed
Definition:
menuitems.h:99
cMenuEditBitItem::mask
uint mask
Definition:
menuitems.h:55
cMenuEditItem::helpYellow
const char * helpYellow
Definition:
menuitems.h:22
cMenuEditTranItem::transponder
int * transponder
Definition:
menuitems.h:165
cMenuEditStraItem
Definition:
menuitems.h:140
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:178
cMenuEditMapItem::value
int * value
Definition:
menuitems.h:200
eKeys
eKeys
Definition:
keys.h:16
cMenuEditDateItem
Definition:
menuitems.h:171
cMenuEditNumItem::length
int length
Definition:
menuitems.h:65
cListObject::Insert
void Insert(cListObject *Object)
Definition:
tools.c:1974
cString
Definition:
tools.h:168
cMenuEditTranItem::number
int number
Definition:
menuitems.h:163
cMenuEditStrItem
Definition:
menuitems.h:108
cMenuEditDateItem::oldweekdays
int oldweekdays
Definition:
menuitems.h:177
Generated by
1.8.11