playlist_CreateNode(): add an argument to specify an input_item_t to be linked with...
[vlc.git] / modules / gui / wxwidgets / extrapanel.hpp
1 /*****************************************************************************
2  * extrapanel.hpp: Headers for the extra panel window
3  *****************************************************************************
4  * Copyright (C) 1999-2005 the VideoLAN team
5  * $Id$
6  *
7  * Authors: ClĂ©ment Stenac <zorglub@videolan.org>
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22  *****************************************************************************/
23
24 #ifndef _WXVLC_EXTRAPANEL_H_
25 #define _WXVLC_EXTRAPANEL_H_
26
27 #include "wxwidgets.hpp"
28 #include <wx/notebook.h>
29
30 namespace wxvlc
31 {
32     /* Extended panel */
33     class ExtraPanel: public wxPanel
34     {
35     public:
36         /* Constructor */
37         ExtraPanel( intf_thread_t *p_intf, wxWindow *p_parent );
38         virtual ~ExtraPanel();
39
40         /// \todo Check access level for these
41         wxStaticBox *adjust_box;
42         wxButton *restoredefaults_button;
43         wxSlider *brightness_slider;
44         wxSlider *contrast_slider;
45         wxSlider *saturation_slider;
46         wxSlider *hue_slider;
47         wxSlider *gamma_slider;
48
49         wxStaticBox *other_box;
50         wxComboBox *ratio_combo;
51
52         char *psz_bands;
53         float f_preamp;
54         vlc_bool_t b_update;
55     private:
56         /* General layout */
57         wxPanel *VideoPanel( wxWindow * );
58         wxPanel *EqzPanel( wxWindow * );
59         wxPanel *AudioPanel( wxWindow * );
60         wxNotebook *notebook;
61  
62         /* Equalizer */
63         wxCheckBox *eq_chkbox;
64         wxCheckBox *eq_2p_chkbox;
65         wxButton *eq_restoredefaults_button;
66         wxSlider *smooth_slider;
67         wxStaticText *smooth_text;
68         wxSlider *preamp_slider;
69         wxStaticText * preamp_text;
70         int i_smooth;
71         wxSlider *band_sliders[10];
72         wxStaticText *band_texts[10];
73         int i_values[10];
74  
75         void OnEnableEqualizer( wxCommandEvent& );
76         void OnRestoreDefaults( wxCommandEvent& );
77         void OnChangeEqualizer( wxScrollEvent& );
78         void OnEqSmooth( wxScrollEvent& );
79         void OnPreamp( wxScrollEvent& );
80         void OnEq2Pass( wxCommandEvent& );
81         void OnEqRestore( wxCommandEvent& );
82
83         /* Video */
84         void OnEnableAdjust( wxCommandEvent& );
85         void OnAdjustUpdate( wxScrollEvent& );
86         void OnRatio( wxCommandEvent& );
87         void OnFiltersInfo( wxCommandEvent& );
88         void OnSelectFilter( wxCommandEvent& );
89
90         /* Audio */
91         void OnHeadphone( wxCommandEvent& );
92         void OnNormvol( wxCommandEvent& );
93         void OnNormvolSlider( wxScrollEvent& );
94
95         void CheckAout();
96         void OnIdle( wxIdleEvent& );
97
98         DECLARE_EVENT_TABLE();
99
100         intf_thread_t *p_intf;
101         vlc_bool_t b_my_update;
102         wxWindow *p_parent;
103     };
104 };
105 #if 0
106 /* Extended Window  */
107 class ExtraWindow: public wxFrame
108 {
109 public:
110     /* Constructor */
111     ExtraWindow( intf_thread_t *p_intf, wxWindow *p_parent, wxPanel *panel );
112     virtual ~ExtraWindow();
113
114 private:
115
116     wxPanel *panel;
117
118     DECLARE_EVENT_TABLE();
119
120     intf_thread_t *p_intf;
121 };
122 #endif
123
124 #endif