vdr
2.6.1
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 5.1 2020/12/26 15:49:01 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
keepSpace
;
115
const
char
**
macros
;
116
int
macro
,
lastMacro
;
117
bool
insert
,
newchar
,
uppercase
;
118
int
lengthUtf8
;
119
uint *
valueUtf8
;
120
uint *
allowedUtf8
;
121
uint *
charMapUtf8
;
122
uint *
currentCharUtf8
;
123
eKeys
lastKey
;
124
cTimeMs
autoAdvanceTimeout
;
125
void
SetHelpKeys
(
void
);
126
uint *
IsAllowed
(uint c);
127
void
AdvancePos
(
void
);
128
virtual
void
Set
(
void
);
129
uint
Inc
(uint c,
bool
Up);
130
void
Type
(uint c);
131
void
Insert
(
void
);
132
void
Delete
(
void
);
133
void
InsertMacro
(
void
);
134
protected
:
135
void
EnterEditMode
(
void
);
136
void
LeaveEditMode
(
bool
SaveValue =
false
);
137
bool
InEditMode
(
void
) {
return
valueUtf8
!= NULL; }
138
public
:
139
cMenuEditStrItem
(
const
char
*Name,
char
*Value,
int
Length,
const
char
*Allowed = NULL);
140
~cMenuEditStrItem
();
141
void
SetKeepSpace
(
void
) {
keepSpace
=
true
; }
142
void
SetMacros
(
const
char
**Macros);
143
virtual
eOSState
ProcessKey
(
eKeys
Key);
144
};
145
146
class
cMenuEditStraItem
:
public
cMenuEditIntItem
{
147
private
:
148
const
char
*
const
*
strings
;
149
protected
:
150
virtual
void
Set
(
void
);
151
public
:
152
cMenuEditStraItem
(
const
char
*Name,
int
*Value,
int
NumStrings,
const
char
*
const
*Strings);
153
};
154
155
class
cMenuEditStrlItem
:
public
cMenuEditIntItem
{
156
private
:
157
const
cStringList
*
strings
;
158
int
index
;
159
char
*
value
;
160
int
length
;
161
protected
:
162
virtual
void
Set
(
void
);
163
public
:
164
cMenuEditStrlItem
(
const
char
*Name,
char
*Value,
int
Length,
const
cStringList
*Strings);
165
};
166
167
class
cMenuEditChanItem
:
public
cMenuEditIntItem
{
168
protected
:
169
const
char
*
noneString
;
170
int
dummyValue
;
171
cString
*
channelID
;
172
virtual
void
Set
(
void
);
173
public
:
174
cMenuEditChanItem
(
const
char
*Name,
int
*Value,
const
char
*NoneString = NULL);
175
cMenuEditChanItem
(
const
char
*Name,
cString
*ChannelID,
const
char
*NoneString = NULL);
176
virtual
eOSState
ProcessKey
(
eKeys
Key);
177
};
178
179
class
cMenuEditTranItem
:
public
cMenuEditChanItem
{
180
private
:
181
int
number
;
182
int
*
source
;
183
int
*
transponder
;
184
public
:
185
cMenuEditTranItem
(
const
char
*Name,
int
*Value,
int
*Source);
186
virtual
eOSState
ProcessKey
(
eKeys
Key);
187
};
188
189
class
cMenuEditDateItem
:
public
cMenuEditItem
{
190
private
:
191
static
int
days
[];
192
time_t *
value
;
193
int
*
weekdays
;
194
time_t
oldvalue
;
195
int
oldweekdays
;
196
int
dayindex
;
197
int
FindDayIndex
(
int
WeekDays);
198
virtual
void
Set
(
void
);
199
public
:
200
cMenuEditDateItem
(
const
char
*Name, time_t *Value,
int
*WeekDays = NULL);
201
void
ToggleRepeating
(
void
);
202
virtual
eOSState
ProcessKey
(
eKeys
Key);
203
};
204
205
class
cMenuEditTimeItem
:
public
cMenuEditItem
{
206
protected
:
207
int
*
value
;
208
int
hh
,
mm
;
209
int
pos
;
210
virtual
void
Set
(
void
);
211
public
:
212
cMenuEditTimeItem
(
const
char
*Name,
int
*Value);
213
virtual
eOSState
ProcessKey
(
eKeys
Key);
214
};
215
216
class
cMenuEditMapItem
:
public
cMenuEditItem
{
217
protected
:
218
int
*
value
;
219
const
tDvbParameterMap
*
map
;
220
const
char
*
zeroString
;
221
virtual
void
Set
(
void
);
222
public
:
223
cMenuEditMapItem
(
const
char
*Name,
int
*Value,
const
tDvbParameterMap
*Map,
const
char
*ZeroString = NULL);
224
virtual
eOSState
ProcessKey
(
eKeys
Key);
225
};
226
227
class
cPlugin
;
228
229
class
cMenuSetupPage
:
public
cOsdMenu
{
230
private
:
231
cPlugin
*
plugin
;
232
protected
:
233
void
SetSection
(
const
char
*Section);
234
virtual
void
Store
(
void
) = 0;
235
void
SetupStore
(
const
char
*Name,
const
char
*Value = NULL);
236
void
SetupStore
(
const
char
*Name,
int
Value);
237
public
:
238
cMenuSetupPage
(
void
);
239
virtual
eOSState
ProcessKey
(
eKeys
Key);
240
void
SetPlugin
(
cPlugin
*Plugin);
241
};
242
243
#endif
//__MENUITEMS_H
cMenuEditBitItem
Definition:
menuitems.h:52
cMenuEditBitItem::mask
uint mask
Definition:
menuitems.h:55
cMenuEditBitItem::Set
virtual void Set(void)
Definition:
menuitems.c:166
cMenuEditBitItem::bit
int bit
Definition:
menuitems.h:56
cMenuEditBitItem::value
uint * value
Definition:
menuitems.h:54
cMenuEditBoolItem
Definition:
menuitems.h:44
cMenuEditBoolItem::Set
virtual void Set(void)
Definition:
menuitems.c:148
cMenuEditBoolItem::falseString
const char * falseString
Definition:
menuitems.h:46
cMenuEditBoolItem::trueString
const char * trueString
Definition:
menuitems.h:46
cMenuEditChanItem
Definition:
menuitems.h:167
cMenuEditChanItem::Set
virtual void Set(void)
Definition:
menuitems.c:860
cMenuEditChanItem::channelID
cString * channelID
Definition:
menuitems.h:171
cMenuEditChanItem::noneString
const char * noneString
Definition:
menuitems.h:169
cMenuEditChanItem::dummyValue
int dummyValue
Definition:
menuitems.h:170
cMenuEditChanItem::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:878
cMenuEditChrItem
Definition:
menuitems.h:96
cMenuEditChrItem::value
char * value
Definition:
menuitems.h:98
cMenuEditChrItem::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:361
cMenuEditChrItem::~cMenuEditChrItem
~cMenuEditChrItem()
Definition:
menuitems.c:348
cMenuEditChrItem::current
const char * current
Definition:
menuitems.h:100
cMenuEditChrItem::Set
virtual void Set(void)
Definition:
menuitems.c:353
cMenuEditChrItem::allowed
char * allowed
Definition:
menuitems.h:99
cMenuEditDateItem
Definition:
menuitems.h:189
cMenuEditDateItem::FindDayIndex
int FindDayIndex(int WeekDays)
Definition:
menuitems.c:972
cMenuEditDateItem::weekdays
int * weekdays
Definition:
menuitems.h:193
cMenuEditDateItem::oldvalue
time_t oldvalue
Definition:
menuitems.h:194
cMenuEditDateItem::ToggleRepeating
void ToggleRepeating(void)
Definition:
menuitems.c:999
cMenuEditDateItem::dayindex
int dayindex
Definition:
menuitems.h:196
cMenuEditDateItem::days
static int days[]
Definition:
menuitems.h:191
cMenuEditDateItem::value
time_t * value
Definition:
menuitems.h:192
cMenuEditDateItem::oldweekdays
int oldweekdays
Definition:
menuitems.h:195
cMenuEditDateItem::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:1019
cMenuEditDateItem::Set
virtual void Set(void)
Definition:
menuitems.c:980
cMenuEditIntItem
Definition:
menuitems.h:33
cMenuEditIntItem::Set
virtual void Set(void)
Definition:
menuitems.c:82
cMenuEditIntItem::maxString
const char * maxString
Definition:
menuitems.h:37
cMenuEditIntItem::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:95
cMenuEditIntItem::min
int min
Definition:
menuitems.h:36
cMenuEditIntItem::max
int max
Definition:
menuitems.h:36
cMenuEditIntItem::value
int * value
Definition:
menuitems.h:35
cMenuEditIntItem::minString
const char * minString
Definition:
menuitems.h:37
cMenuEditIntxItem
Definition:
menuitems.h:73
cMenuEditIntxItem::Set
virtual void Set(void)
Definition:
menuitems.c:243
cMenuEditIntxItem::SetHelpKeys
void SetHelpKeys(void)
Definition:
menuitems.c:237
cMenuEditIntxItem::factor
int factor
Definition:
menuitems.h:75
cMenuEditIntxItem::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:253
cMenuEditIntxItem::negString
const char * negString
Definition:
menuitems.h:76
cMenuEditIntxItem::posString
const char * posString
Definition:
menuitems.h:76
cMenuEditItem
Definition:
menuitems.h:19
cMenuEditItem::helpYellow
const char * helpYellow
Definition:
menuitems.h:22
cMenuEditItem::DisplayHelp
bool DisplayHelp(bool Current)
Definition:
menuitems.c:54
cMenuEditItem::name
char * name
Definition:
menuitems.h:21
cMenuEditItem::helpRed
const char * helpRed
Definition:
menuitems.h:22
cMenuEditItem::SetHelp
void SetHelp(const char *Red, const char *Green=NULL, const char *Yellow=NULL, const char *Blue=NULL)
Definition:
menuitems.c:44
cMenuEditItem::helpGreen
const char * helpGreen
Definition:
menuitems.h:22
cMenuEditItem::SetValue
void SetValue(const char *Value)
Definition:
menuitems.c:37
cMenuEditItem::helpDisplayed
bool helpDisplayed
Definition:
menuitems.h:23
cMenuEditItem::~cMenuEditItem
~cMenuEditItem()
Definition:
menuitems.c:32
cMenuEditItem::helpBlue
const char * helpBlue
Definition:
menuitems.h:22
cMenuEditMapItem
Definition:
menuitems.h:216
cMenuEditMapItem::map
const tDvbParameterMap * map
Definition:
menuitems.h:219
cMenuEditMapItem::value
int * value
Definition:
menuitems.h:218
cMenuEditMapItem::Set
virtual void Set(void)
Definition:
menuitems.c:1186
cMenuEditMapItem::zeroString
const char * zeroString
Definition:
menuitems.h:220
cMenuEditMapItem::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:1205
cMenuEditNumItem
Definition:
menuitems.h:62
cMenuEditNumItem::length
int length
Definition:
menuitems.h:65
cMenuEditNumItem::Set
virtual void Set(void)
Definition:
menuitems.c:183
cMenuEditNumItem::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:197
cMenuEditNumItem::value
char * value
Definition:
menuitems.h:64
cMenuEditNumItem::blind
bool blind
Definition:
menuitems.h:66
cMenuEditPrcItem
Definition:
menuitems.h:84
cMenuEditPrcItem::Set
virtual void Set(void)
Definition:
menuitems.c:289
cMenuEditPrcItem::max
double max
Definition:
menuitems.h:87
cMenuEditPrcItem::decimals
int decimals
Definition:
menuitems.h:88
cMenuEditPrcItem::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:296
cMenuEditPrcItem::min
double min
Definition:
menuitems.h:87
cMenuEditPrcItem::value
double * value
Definition:
menuitems.h:86
cMenuEditPrcItem::factor
int factor
Definition:
menuitems.h:89
cMenuEditStrItem
Definition:
menuitems.h:108
cMenuEditStrItem::allowed
const char * allowed
Definition:
menuitems.h:112
cMenuEditStrItem::uppercase
bool uppercase
Definition:
menuitems.h:117
cMenuEditStrItem::Inc
uint Inc(uint c, bool Up)
Definition:
menuitems.c:552
cMenuEditStrItem::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:621
cMenuEditStrItem::valueUtf8
uint * valueUtf8
Definition:
menuitems.h:119
cMenuEditStrItem::Insert
void Insert(void)
Definition:
menuitems.c:583
cMenuEditStrItem::Delete
void Delete(void)
Definition:
menuitems.c:590
cMenuEditStrItem::lastKey
eKeys lastKey
Definition:
menuitems.h:123
cMenuEditStrItem::LeaveEditMode
void LeaveEditMode(bool SaveValue=false)
Definition:
menuitems.c:439
cMenuEditStrItem::allowedUtf8
uint * allowedUtf8
Definition:
menuitems.h:120
cMenuEditStrItem::~cMenuEditStrItem
~cMenuEditStrItem()
Definition:
menuitems.c:408
cMenuEditStrItem::SetKeepSpace
void SetKeepSpace(void)
Definition:
menuitems.h:141
cMenuEditStrItem::Type
void Type(uint c)
Definition:
menuitems.c:569
cMenuEditStrItem::insert
bool insert
Definition:
menuitems.h:117
cMenuEditStrItem::autoAdvanceTimeout
cTimeMs autoAdvanceTimeout
Definition:
menuitems.h:124
cMenuEditStrItem::currentCharUtf8
uint * currentCharUtf8
Definition:
menuitems.h:122
cMenuEditStrItem::offset
int offset
Definition:
menuitems.h:113
cMenuEditStrItem::keepSpace
bool keepSpace
Definition:
menuitems.h:114
cMenuEditStrItem::lastMacro
int lastMacro
Definition:
menuitems.h:116
cMenuEditStrItem::newchar
bool newchar
Definition:
menuitems.h:117
cMenuEditStrItem::pos
int pos
Definition:
menuitems.h:113
cMenuEditStrItem::InsertMacro
void InsertMacro(void)
Definition:
menuitems.c:596
cMenuEditStrItem::Set
virtual void Set(void)
Definition:
menuitems.c:497
cMenuEditStrItem::macros
const char ** macros
Definition:
menuitems.h:115
cMenuEditStrItem::InEditMode
bool InEditMode(void)
Definition:
menuitems.h:137
cMenuEditStrItem::macro
int macro
Definition:
menuitems.h:116
cMenuEditStrItem::AdvancePos
void AdvancePos(void)
Definition:
menuitems.c:479
cMenuEditStrItem::SetMacros
void SetMacros(const char **Macros)
Definition:
menuitems.c:415
cMenuEditStrItem::SetHelpKeys
void SetHelpKeys(void)
Definition:
menuitems.c:460
cMenuEditStrItem::value
char * value
Definition:
menuitems.h:110
cMenuEditStrItem::EnterEditMode
void EnterEditMode(void)
Definition:
menuitems.c:422
cMenuEditStrItem::lengthUtf8
int lengthUtf8
Definition:
menuitems.h:118
cMenuEditStrItem::charMapUtf8
uint * charMapUtf8
Definition:
menuitems.h:121
cMenuEditStrItem::length
int length
Definition:
menuitems.h:111
cMenuEditStrItem::IsAllowed
uint * IsAllowed(uint c)
Definition:
menuitems.c:468
cMenuEditStraItem
Definition:
menuitems.h:146
cMenuEditStraItem::strings
const char *const * strings
Definition:
menuitems.h:148
cMenuEditStraItem::Set
virtual void Set(void)
Definition:
menuitems.c:813
cMenuEditStrlItem
Definition:
menuitems.h:155
cMenuEditStrlItem::index
int index
Definition:
menuitems.h:158
cMenuEditStrlItem::strings
const cStringList * strings
Definition:
menuitems.h:157
cMenuEditStrlItem::Set
virtual void Set(void)
Definition:
menuitems.c:832
cMenuEditStrlItem::length
int length
Definition:
menuitems.h:160
cMenuEditStrlItem::value
char * value
Definition:
menuitems.h:159
cMenuEditTimeItem
Definition:
menuitems.h:205
cMenuEditTimeItem::hh
int hh
Definition:
menuitems.h:208
cMenuEditTimeItem::value
int * value
Definition:
menuitems.h:207
cMenuEditTimeItem::pos
int pos
Definition:
menuitems.h:209
cMenuEditTimeItem::mm
int mm
Definition:
menuitems.h:208
cMenuEditTimeItem::Set
virtual void Set(void)
Definition:
menuitems.c:1104
cMenuEditTimeItem::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:1114
cMenuEditTranItem
Definition:
menuitems.h:179
cMenuEditTranItem::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:924
cMenuEditTranItem::source
int * source
Definition:
menuitems.h:182
cMenuEditTranItem::number
int number
Definition:
menuitems.h:181
cMenuEditTranItem::transponder
int * transponder
Definition:
menuitems.h:183
cMenuSetupPage
Definition:
menuitems.h:229
cMenuSetupPage::ProcessKey
virtual eOSState ProcessKey(eKeys Key)
Definition:
menuitems.c:1245
cMenuSetupPage::Store
virtual void Store(void)=0
cMenuSetupPage::cMenuSetupPage
cMenuSetupPage(void)
Definition:
menuitems.c:1233
cMenuSetupPage::SetSection
void SetSection(const char *Section)
Definition:
menuitems.c:1240
cMenuSetupPage::SetupStore
void SetupStore(const char *Name, const char *Value=NULL)
Definition:
menuitems.c:1267
cMenuSetupPage::plugin
cPlugin * plugin
Definition:
menuitems.h:231
cMenuSetupPage::SetPlugin
void SetPlugin(cPlugin *Plugin)
Definition:
menuitems.c:1260
cOsdItem
Definition:
osdbase.h:48
cOsdMenu
Definition:
osdbase.h:85
cPlugin
Definition:
plugin.h:22
cStringList
Definition:
tools.h:848
cString
Definition:
tools.h:178
cTimeMs
Definition:
tools.h:401
dvbdevice.h
eKeys
eKeys
Definition:
keys.h:16
FileNameChars
const char * FileNameChars
Definition:
menuitems.c:22
osdbase.h
eOSState
eOSState
Definition:
osdbase.h:18
tDvbParameterMap
Definition:
dvbdevice.h:81
Generated by
1.9.5