* modules/codec/ffmpeg/*: modified the ffmpeg video codec to use direct
[vlc.git] / modules / gui / beos / PlayListWindow.h
1 /*****************************************************************************
2  * PlayListWindow.h: BeOS interface window class prototype
3  *****************************************************************************
4  * Copyright (C) 1999, 2000, 2001 VideoLAN
5  * $Id: PlayListWindow.h,v 1.3 2002/10/10 23:11:52 titer Exp $
6  *
7  * Authors: Jean-Marc Dressler <polux@via.ecp.fr>
8  *          Tony Castley <tcastley@mail.powerup.com.au>
9  *          Richard Shepherd <richard@rshepherd.demon.co.uk>
10  *          Stephan Aßmus <stippi@yellowbites.com>
11  *
12  * This program is free software; you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License as published by
14  * the Free Software Foundation; either version 2 of the License, or
15  * (at your option) any later version.
16  * 
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20  * GNU General Public License for more details.
21  *
22  * You should have received a copy of the GNU General Public License
23  * along with this program; if not, write to the Free Software
24  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
25  *****************************************************************************/
26
27 #ifndef BEOS_PLAY_LIST_WINDOW_H
28 #define BEOS_PLAY_LIST_WINDOW_H
29
30 #include <Window.h>
31
32 class BListView;
33 class CDMenu;
34 class InterfaceWindow;
35 class PlaylistView;
36
37 class PlayListWindow : public BWindow
38 {
39  public:
40                                                                 PlayListWindow(BRect frame,
41                                                                                            const char* name,
42                                                                                            playlist_t* playlist,
43                                                                                            InterfaceWindow* mainWindow,
44                                                                                            intf_thread_t *p_interface );
45         virtual                                         ~PlayListWindow();
46
47                                                                 // BWindow
48         virtual bool                            QuitRequested();
49         virtual void                            MessageReceived(BMessage *message);
50         virtual void                            FrameResized(float width, float height);
51
52                                                                 // PlayListWindow
53                         void                            ReallyQuit();
54                         void                            UpdatePlaylist( bool rebuild = false );
55
56  private:       
57
58                         playlist_t *        fPlaylist;
59                         PlaylistView *      fListView;
60                         BView *             fBackgroundView;
61                         BMenuBar *          fMenuBar;
62                         InterfaceWindow *   fMainWindow;
63                         
64                         intf_thread_t *     p_intf;
65 };
66
67 #endif  // BEOS_PLAY_LIST_WINDOW_H
68