1 /*****************************************************************************
2 * infopanels.hpp: Information panels (statistics, general info, ...)
3 *****************************************************************************
4 * Copyright (C) 1999-2005 the VideoLAN team
7 * Authors: Clément Stenac <zorglub@videolan.org>
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.
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.
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 *****************************************************************************/
24 #ifndef _WXVLC_INFOPANELS_H_
25 #define _WXVLC_INFOPANELS_H_
27 #include "wxwidgets.hpp"
29 #include <wx/treectrl.h>
33 class MetaDataPanel: public wxPanel
37 MetaDataPanel( intf_thread_t *p_intf, wxWindow *p_parent, bool );
38 virtual ~MetaDataPanel();
40 void Update( input_item_t *);
50 DECLARE_EVENT_TABLE();
52 intf_thread_t *p_intf;
57 wxTextCtrl *name_text;
58 wxStaticText *uri_label;
59 wxStaticText *name_label;
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;
78 class AdvancedInfoPanel: public wxPanel
82 AdvancedInfoPanel( intf_thread_t *p_intf, wxWindow *p_parent );
83 virtual ~AdvancedInfoPanel();
85 void Update( input_item_t *);
96 DECLARE_EVENT_TABLE();
98 intf_thread_t *p_intf;
102 wxTextCtrl *uri_text;
103 wxTextCtrl *name_text;
104 wxStaticText *uri_label;
105 wxStaticText *name_label;
107 wxTreeCtrl *info_tree;
108 wxTreeItemId info_root;
113 class InputStatsInfoPanel: public wxPanel
117 InputStatsInfoPanel( intf_thread_t *p_intf,wxWindow *p_parent );
118 virtual ~InputStatsInfoPanel();
120 void Update( input_item_t *);
127 DECLARE_EVENT_TABLE();
129 intf_thread_t *p_intf;
130 input_item_t *p_item;
133 wxBoxSizer *panel_sizer;
134 wxFlexGridSizer *sizer;
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;
143 wxFlexGridSizer *video_sizer;
144 wxStaticBoxSizer *video_bsizer;
145 wxStaticText *video_decoded_text;
146 wxStaticText *displayed_text;
147 wxStaticText *lost_frames_text;
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;
155 wxFlexGridSizer *audio_sizer;
156 wxStaticBoxSizer *audio_bsizer;
157 wxStaticText *audio_decoded_text;
158 wxStaticText *played_abuffers_text;
159 wxStaticText *lost_abuffers_text;