]> git.vomp.tv Git - vompclient-marten.git/blob - woptionbox.h
Bugfix interface and changes for remotes with not much buttons
[vompclient-marten.git] / woptionbox.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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
19 */
20
21 #ifndef WOPTIONBOX_H
22 #define WOPTIONBOX_H
23
24 #include <stdlib.h>
25
26 #include "defines.h"
27 #include "boxx.h"
28 #include "wsymbol.h"
29 #include "wtextbox.h"
30
31 class WOptionBox : public Boxx
32 {
33   public:
34     WOptionBox();
35     virtual ~WOptionBox();
36
37     // Int mode stuff
38     void setIntMode(int start, int numOptions);
39     void setSelected(int newSelection);
40
41     void addOption(const char* newOption);
42     void setSelected(const char* selectedOption);
43     void setActive(UCHAR tactive);
44     void left();
45     void right();
46     void cycle();
47     int getSelectedIndex();
48
49     virtual void setSize(UINT w, UINT h);
50
51     virtual bool mouseMove(int x, int y);
52     virtual bool mouseLBDOWN(int x, int y);
53
54     const static int MODE_TEXT = 1;
55     const static int MODE_INT = 2;
56
57   private:
58     UCHAR active;
59     UINT numOptions;
60     char** options;
61     UINT currentOption;
62
63     int mode;
64
65     void setData();
66
67     WSymbol leftArrow;
68     WSymbol rightArrow;
69     WTextbox textbox;
70 };
71
72 #endif