]> git.sesse.net Git - vlc/blob - modules/gui/wxwidgets/dialogs/infopanels.hpp
* Show meta-information separately
[vlc] / modules / gui / wxwidgets / dialogs / infopanels.hpp
1 /*****************************************************************************
2  * infopanels.hpp: Information panels (statistics, general info, ...)
3  *****************************************************************************
4  * Copyright (C) 1999-2005 the VideoLAN team
5  * $Id: iteminfo.hpp 13905 2006-01-12 23:10:04Z dionoea $
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_INFOPANELS_H_
25 #define _WXVLC_INFOPANELS_H_
26
27 #include "wxwidgets.hpp"
28
29 #include <wx/treectrl.h>
30
31 namespace wxvlc
32 {
33 class MetaDataPanel: public wxPanel
34 {
35 public:
36     /* Constructor */
37     MetaDataPanel( intf_thread_t *p_intf, wxWindow *p_parent, bool );
38     virtual ~MetaDataPanel();
39
40     void Update( input_item_t *);
41     void Clear();
42
43     char* GetURI();
44     char* GetName();
45
46     void OnOk();
47     void OnCancel();
48
49 private:
50     DECLARE_EVENT_TABLE();
51
52     intf_thread_t *p_intf;
53     input_item_t *p_item;
54     wxWindow *p_parent;
55
56     wxTextCtrl *uri_text;
57     wxTextCtrl *name_text;
58     wxStaticText *uri_label;
59     wxStaticText *name_label;
60
61     wxStaticText *artist_text;
62     wxStaticText *genre_text;
63     wxStaticText *copyright_text;
64     wxStaticText *collection_text;
65     wxStaticText *seqnum_text;
66     wxStaticText *description_text;
67     wxStaticText *rating_text;
68     wxStaticText *date_text;
69     wxStaticText *setting_text;
70     wxStaticText *language_text;
71     wxStaticText *nowplaying_text;
72     wxStaticText *publisher_text;
73
74     bool b_modifiable;
75 };
76
77
78 class AdvancedInfoPanel: public wxPanel
79 {
80 public:
81     /* Constructor */
82     AdvancedInfoPanel( intf_thread_t *p_intf, wxWindow *p_parent );
83     virtual ~AdvancedInfoPanel();
84
85     void Update( input_item_t *);
86     void Clear();
87
88
89     char* GetURI();
90     char* GetName();
91
92     void OnOk();
93     void OnCancel();
94
95 private:
96     DECLARE_EVENT_TABLE();
97
98     intf_thread_t *p_intf;
99     input_item_t *p_item;
100     wxWindow *p_parent;
101
102     wxTextCtrl *uri_text;
103     wxTextCtrl *name_text;
104     wxStaticText *uri_label;
105     wxStaticText *name_label;
106
107     wxTreeCtrl *info_tree;
108     wxTreeItemId info_root;
109
110     bool b_modifiable;
111 };
112
113 class InputStatsInfoPanel: public wxPanel
114 {
115 public:
116     /* Constructor */
117     InputStatsInfoPanel( intf_thread_t *p_intf,wxWindow *p_parent );
118     virtual ~InputStatsInfoPanel();
119
120     void Update( input_item_t *);
121     void Clear();
122
123     void OnOk();
124     void OnCancel();
125
126 private:
127     DECLARE_EVENT_TABLE();
128
129     intf_thread_t *p_intf;
130     input_item_t *p_item;
131     wxWindow *p_parent;
132
133     wxBoxSizer *panel_sizer;
134     wxFlexGridSizer *sizer;
135
136     wxFlexGridSizer *input_sizer;
137     wxStaticBoxSizer *input_bsizer;
138     wxStaticText *read_bytes_text;
139     wxStaticText *input_bitrate_text;
140     wxStaticText *demux_bytes_text;
141     wxStaticText *demux_bitrate_text;
142
143     wxFlexGridSizer *video_sizer;
144     wxStaticBoxSizer *video_bsizer;
145     wxStaticText *video_decoded_text;
146     wxStaticText *displayed_text;
147     wxStaticText *lost_frames_text;
148
149     wxFlexGridSizer *sout_sizer;
150     wxStaticBoxSizer *sout_bsizer;
151     wxStaticText *sout_sent_packets_text;
152     wxStaticText *sout_sent_bytes_text;
153     wxStaticText *sout_send_bitrate_text;
154
155     wxFlexGridSizer *audio_sizer;
156     wxStaticBoxSizer *audio_bsizer;
157     wxStaticText *audio_decoded_text;
158     wxStaticText *played_abuffers_text;
159     wxStaticText *lost_abuffers_text;
160 };
161 };
162 #endif