1 /*****************************************************************************
2 * preferences_widgets.h : WinCE gui plugin for VLC
3 *****************************************************************************
4 * Copyright (C) 2000-2003 the VideoLAN team
7 * Authors: Marodon Cedric <cedric_marodon@yahoo.fr>
8 * Gildas Bazin <gbazin@videolan.org>
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
23 *****************************************************************************/
28 ConfigControl( vlc_object_t *, module_config_t *, HWND, HINSTANCE );
29 virtual ~ConfigControl();
31 virtual int GetIntValue() {return 0;}
32 virtual float GetFloatValue() {return 0;}
33 virtual char *GetPszValue() {return GetName();} // faux retourne nom associé à parent
34 // mettre dans constructeur et dans private le nom du panel associé à HWND
38 vlc_bool_t IsAdvanced();
40 void SetUpdateCallback( void (*)( void * ), void * );
43 /*wxBoxSizer *sizer;*/
47 void (*pf_update_callback)( void * );
50 void OnUpdate( UINT );
57 vlc_bool_t b_advanced;
60 ConfigControl *CreateConfigControl( vlc_object_t *,
61 module_config_t *, HWND, HINSTANCE,
64 class KeyConfigControl: public ConfigControl
67 KeyConfigControl( vlc_object_t *, module_config_t *, HWND,
70 virtual int GetIntValue();
80 // Array of key descriptions, for the ComboBox
81 static string *m_keysList;
84 class ModuleConfigControl: public ConfigControl
87 ModuleConfigControl( vlc_object_t *, module_config_t *, HWND,
89 ~ModuleConfigControl();
90 virtual char *GetPszValue();
95 class StringConfigControl: public ConfigControl
98 StringConfigControl( vlc_object_t *, module_config_t *, HWND,
100 ~StringConfigControl();
101 virtual char *GetPszValue();
106 class StringListConfigControl: public ConfigControl
109 StringListConfigControl( vlc_object_t *, module_config_t *, HWND,
111 ~StringListConfigControl();
112 virtual char *GetPszValue();
116 class FileConfigControl: public ConfigControl
119 FileConfigControl( vlc_object_t *, module_config_t *, HWND,
121 ~FileConfigControl();
122 void OnBrowse( UINT );
123 virtual char *GetPszValue();
127 class IntegerConfigControl: public ConfigControl
130 IntegerConfigControl( vlc_object_t *, module_config_t *, HWND,
132 ~IntegerConfigControl();
133 virtual int GetIntValue();
137 class IntegerListConfigControl: public ConfigControl
140 IntegerListConfigControl( vlc_object_t *, module_config_t *, HWND,
142 ~IntegerListConfigControl();
143 virtual int GetIntValue();
147 class RangedIntConfigControl: public ConfigControl
150 RangedIntConfigControl( vlc_object_t *, module_config_t *, HWND,
152 ~RangedIntConfigControl();
153 virtual int GetIntValue();
157 class FloatConfigControl: public ConfigControl
160 FloatConfigControl( vlc_object_t *, module_config_t *, HWND,
162 ~FloatConfigControl();
163 virtual float GetFloatValue();
168 class BoolConfigControl: public ConfigControl
171 BoolConfigControl( vlc_object_t *, module_config_t *, HWND,
173 ~BoolConfigControl();
174 virtual int GetIntValue();