PlayListWindow.h
上传用户:riyaled888
上传日期:2009-03-27
资源大小:7338k
文件大小:3k
源码类别:

多媒体

开发平台:

MultiPlatform

  1. /*****************************************************************************
  2.  * PlayListWindow.h: BeOS interface window class prototype
  3.  *****************************************************************************
  4.  * Copyright (C) 1999, 2000, 2001 VideoLAN
  5.  * $Id: PlayListWindow.h 8448 2004-08-17 17:24:02Z titer $
  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. #ifndef BEOS_PLAY_LIST_WINDOW_H
  27. #define BEOS_PLAY_LIST_WINDOW_H
  28. #include <Window.h>
  29. class BMenuItem;
  30. class InterfaceWindow;
  31. class PlaylistView;
  32. class PlayListWindow : public BWindow
  33. {
  34.  public:
  35. PlayListWindow(BRect frame,
  36.    const char* name,
  37.    InterfaceWindow* mainWindow,
  38.    intf_thread_t *p_interface );
  39. virtual ~PlayListWindow();
  40. // BWindow
  41. virtual bool QuitRequested();
  42. virtual void MessageReceived(BMessage *message);
  43. virtual void FrameResized(float width, float height);
  44. // PlayListWindow
  45. void ReallyQuit();
  46. void UpdatePlaylist( bool rebuild = false );
  47. void SetDisplayMode( uint32 mode );
  48. uint32 DisplayMode() const;
  49.  private:
  50. void _CheckItemsEnableState() const;
  51. void _SetMenuItemEnabled( BMenuItem* item,
  52.  bool enabled ) const;
  53. PlaylistView *      fListView;
  54. BView *             fBackgroundView;
  55. BMenuBar *          fMenuBar;
  56. InterfaceWindow *   fMainWindow;
  57. BMenuItem* fSelectAllMI;
  58. BMenuItem* fSelectNoneMI;
  59. BMenuItem* fSortReverseMI;
  60. BMenuItem* fSortNameMI;
  61. BMenuItem* fSortPathMI;
  62. BMenuItem* fRandomizeMI;
  63. BMenuItem* fRemoveMI;
  64. BMenuItem* fRemoveAllMI;
  65. BMenu* fViewMenu;
  66. intf_thread_t *     p_intf;
  67. };
  68. #endif // BEOS_PLAY_LIST_WINDOW_H