Freya  0.0.1
A Gtk3 MPD Client
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
src/Browser/NowPlaying/NowPlaying.hh
Go to the documentation of this file.
00001 /***********************************************************
00002 * This file is part of Freya
00003 * - A free MPD Gtk3 MPD Client -
00004 *
00005 * Authors: Christopher Pahl, Christoph Piechula,
00006 *          Eduard Schneider
00007 *
00008 * Copyright (C) [2011-2012]
00009 * Hosted at: https://github.com/studentkittens/Freya
00010 *
00011 *              __..--''``---....___   _..._    __
00012 *    /// //_.-'    .-/";  `        ``<._  ``.''_ `. / // /
00013 *   ///_.-' _..--.'_                        `( ) ) // //
00014 *   / (_..-' // (< _     ;_..__               ; `' / ///
00015 *    / // // //  `-._,_)' // / ``--...____..-' /// / //
00016 *  Ascii-Art by Felix Lee <flee@cse.psu.edu>
00017 *
00018 * Freya is free software: you can redistribute it and/or modify
00019 * it under the terms of the GNU General Public License as published by
00020 * the Free Software Foundation, either version 3 of the License, or
00021 * (at your option) any later version.
00022 *
00023 * Freya is distributed in the hope that it will be useful,
00024 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00025 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00026 * GNU General Public License for more details.
00027 *
00028 * You should have received a copy of the GNU General Public License
00029 * along with Freya. If not, see <http://www.gnu.org/licenses/>.
00030 **************************************************************/
00031 #ifndef FREYA_NOWPLAYING_GUARD
00032 #define FREYA_NOWPLAYING_GUARD
00033 
00034 #include "../../MPD/Client.hh"
00035 #include "../AbstractBrowser.hh"
00036 #include <gtkmm.h>
00037 
00038 #include "OtherAlbumsMgr.hh"
00039 #include "TracklistMgr.hh"
00040 #include "TextItemsMgr.hh"
00041 #include "CoverArtMgr.hh"
00042 #include "ArtistPhotosMgr.hh"
00043 #include "RelatedLinksMgr.hh"
00044 #include "../../Glyr/UpdateInterface.hh"
00045 
00046 namespace Browser
00047 {
00048     class NowPlaying : public AbstractBrowser, public MPD::AbstractClientUser
00049     {
00050         public:
00051 
00057             NowPlaying(MPD::Client &client, Glib::RefPtr<Gtk::Builder>& builder);
00058 
00064             Gtk::Widget * get_container();
00065 
00066         private:
00067 
00068             // Client
00069 
00070             void on_client_update(mpd_idle, MPD::NotifyData&);
00071             void on_connection_change(bool, bool);
00072     
00073             void on_expander_changed(Glyr::UpdateInterface * intf);
00074             void on_getting_active();
00075 
00076             // Vars
00077 
00078             ManagerVector managerList;
00079             Gtk::ScrolledWindow * mp_NPScroll;
00080             MPD::NotifyData * lastData;
00081 
00082             // Managers
00083 
00084             ArtistPhotosMgr  * mp_ArtistPhotos;
00085             RelatedLinksMgr * mp_RelatedLinks;
00086             OtherAlbumsMgr * mp_OtherAlbums;
00087             TracklistMgr  * mp_Tracklist;
00088             TextItemsMgr * mp_Textitems;
00089             CoverArtMgr * mp_CoverArt;
00090     };
00091 }
00092 
00093 
00094 #endif /* end of include guard: FREYA_NPLAYING_GUARD */