1 /*****************************************************************************
2 * vlm_streampanel.hpp: Panel for a VLM stream
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 _VLM_STREAMPANEL_H_
25 #define _VLM_STREAMPANEL_H_
27 #include "wxwidgets.hpp"
30 class VLMBroadcastStream;
35 class VLMSliderManager;
38 * This class represents the panel for a VLM Stream
39 * This class is abstract, it needs to be subclassed
41 class VLMStreamPanel : public wxPanel
44 VLMStreamPanel( intf_thread_t *, wxWindow * );
45 virtual ~VLMStreamPanel();
47 virtual void TogglePlayButton( int ) {};
50 virtual void Update() = 0;
52 intf_thread_t *p_intf;
54 bool b_new; ///< Is it a new stream ?
55 bool b_found; ///< Have we found the stream here ?
56 friend class VLMPanel;
63 * This class represents the panel for a Broadcast VLM Stream
65 class VLMBroadcastStreamPanel : public VLMStreamPanel
68 VLMBroadcastStreamPanel( intf_thread_t *, wxWindow *,
69 VLMBroadcastStream * );
70 virtual ~VLMBroadcastStreamPanel();
71 VLMBroadcastStream *GetStream() { return p_stream; }
75 VLMSliderManager *p_sm;
77 virtual void Update();
79 virtual void TogglePlayButton( int );
83 VLMBroadcastStream *p_stream;
84 DECLARE_EVENT_TABLE();
86 void OnPlay( wxCommandEvent &);
87 void OnStop( wxCommandEvent &);
88 void OnEdit( wxCommandEvent &);
89 void OnTrash( wxCommandEvent &);
90 void OnSliderUpdate( wxScrollEvent &);
93 wxBitmapButton *play_button;
99 * This class represents the panel for a VOD VLM Stream
101 class VLMVODStreamPanel : public VLMStreamPanel
104 VLMVODStreamPanel( intf_thread_t *, wxWindow *,
106 virtual ~VLMVODStreamPanel();
108 VLMVODStream *GetStream() { return p_stream; }
110 virtual void Update() {}
114 VLMVODStream *p_stream;