-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAxMenuConfigCommon.h
116 lines (97 loc) · 4.35 KB
/
AxMenuConfigCommon.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#ifndef __AxMenuConfigCommon_H__
#define __AxMenuConfigCommon_H__
//=============================================================================
/*
* See the file README in the main directory for a description of
* this software, copyright information, and how to reach the author.
*
* Author: alex
* Date: 18.12.2003
*
* Last modfied:
* $Author: alex $
* $Date: 2013-11-02 09:26:18 +0100 (Sa, 02 Nov 2013) $
*/
//=============================================================================
//=============================================================================
// includes
//=============================================================================
//----- qt --------------------------------------------------------------------
//----- CORBA -----------------------------------------------------------------
//----- C++ -------------------------------------------------------------------
//----- C ---------------------------------------------------------------------
//----- vdr -------------------------------------------------------------------
#include <vdr/osd.h>
//----- AxLib -----------------------------------------------------------------
#include <Ax/Vdr/OsdMenu.h>
//----- local -----------------------------------------------------------------
#include "AxPluginSetup.h"
//----- other includes --------------------------------------------------------
//=============================================================================
// forward declarations
//=============================================================================
class AxPluginMailBox;
//=============================================================================
// class AxMenuConfigCommon
//=============================================================================
/** Setup menu for common settings of the plugin
*/
class AxMenuConfigCommon : public Ax::Vdr::OsdMenu
{
typedef Ax::Vdr::OsdMenu PARENT;
typedef AxMenuConfigCommon MYSELF;
protected:
//-------------------------------------------------------------------------
// enums
//-------------------------------------------------------------------------
enum AxEAction
{
A_FIRST = PARENT::A_LAST
, A_SAVE_AND_CLOSE = A_FIRST
, A_LAST
};
public:
//-------------------------------------------------------------------------
// AxMenuConfigCommon()
//-------------------------------------------------------------------------
/** Constructor
*/
AxMenuConfigCommon(AxPluginMailBox *thePlugin);
//-------------------------------------------------------------------------
// ~AxMenuConfigCommon()
//-------------------------------------------------------------------------
/** Destructor
*/
virtual ~AxMenuConfigCommon();
//-------------------------------------------------------------------------
// MenuKind()
//-------------------------------------------------------------------------
virtual const char* MenuKind() { return "MenuMailboxConfig"; }
//-------------------------------------------------------------------------
// processAction()
//-------------------------------------------------------------------------
/** Process the action with the given ActionCode
*/
virtual eOSState processAction(const Ax::Vdr::Action &theAction, eOSState = osUnknown);
protected:
//-------------------------------------------------------------------------
// informSubOSDClosed()
//-------------------------------------------------------------------------
/** This methods is called from within ProcessKey() whenever a sub-dialog
* is closed
*/
virtual void informSubOSDClosed(const Ax::Vdr::Action &theAction, eKeys theKey);
//-------------------------------------------------------------------------
// informCurrentChanged()
//-------------------------------------------------------------------------
virtual void informCurrentChanged(int theOldCurrent);
private:
//-------------------------------------------------------------------------
// attributes
//-------------------------------------------------------------------------
AxPluginMailBox *myPlugin;
AxPluginSettings myTmpSettings;
// indices of MenuItems
int myIndexViewMode;
}; // class AxMenuConfigCommon
#endif