]> git.vomp.tv Git - vompclient-marten.git/blob - voptions.h
Sync changes in demuxer
[vompclient-marten.git] / voptions.h
1 /*
2     Copyright 2004-2005 Chris Tallon
3
4     This file is part of VOMP.
5
6     VOMP is free software; you can redistribute it and/or modify
7     it under the terms of the GNU General Public License as published by
8     the Free Software Foundation; either version 2 of the License, or
9     (at your option) any later version.
10
11     VOMP is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14     GNU General Public License for more details.
15
16     You should have received a copy of the GNU General Public License
17     along with VOMP; if not, write to the Free Software
18     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19 */
20
21 #ifndef VOPTIONS_H
22 #define VOPTIONS_H
23
24 #include <map>
25 #include "defines.h"
26 #include "view.h"
27 #include "viewman.h"
28 #include "vdr.h"
29 #include "colour.h"
30 #include "video.h"
31 #include "woptionbox.h"
32 #include "wsymbol.h"
33 #include "i18n.h"
34 #include "command.h"
35
36 typedef struct
37 {
38   UINT id;               // Used for working out what has changed at the end
39   char *title;           // Name of the option
40   char *configSection;   // Which section of the config file
41   char *configParam;     // Parameter name in the config file
42   UINT optionType;       // 1 for text, 2 for int
43   UINT optionCount;      // How many choices?
44   UINT defaultOption;    // Serial of the default choice (base 0), or actual option in int mode
45   int startInt;          // Starting int for int mode
46   const char * const * options;  // Text for the options (null for int mode)
47 } OPTIONDATA;
48
49 class VOptions : public View
50 {
51   public:
52     VOptions(View* tparent, const char* title, const OPTIONDATA* toptionData, const int tnumOptions);
53     ~VOptions();
54
55     int handleCommand(int command);
56     void draw();
57
58   private:
59     void doSave();
60
61     const OPTIONDATA* optionData;
62     UINT numOptions;
63     UINT selectedOption;
64     WOptionBox* optionBoxes;
65     VDR* vdr;
66     int* optionsAtStart;
67     ViewMan* viewman;
68     View* parent;
69 };
70
71 #endif
72