]> git.vomp.tv Git - vompclient.git/blob - voptions.h
Step back a bit when going from ffwd to play
[vompclient.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(void* tparent, const char* title, const OPTIONDATA* toptionData, const int tnumOptions);
53     ~VOptions();
54
55     int handleCommand(int command);
56     void processMessage(Message* m);
57     void draw();
58
59   private:
60     void doSave();
61
62     const OPTIONDATA* optionData;
63     UINT numOptions;
64     UINT selectedOption;
65     WOptionBox* optionBoxes;
66     VDR* vdr;
67     int* optionsAtStart;
68     ViewMan* viewman;
69     void* parent;
70 };
71
72 #endif
73