1 /* 2 * Copyright (C) 2005 Marc Pavot <marc.pavot@gmail.com> 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2, or (at your option) 7 * any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 * 18 */ 19 20 #ifndef __ARIO_SOURCE_MANAGER_H 21 #define __ARIO_SOURCE_MANAGER_H 22 23 #include <gtk/gtk.h> 24 #include "sources/ario-source.h" 25 26 G_BEGIN_DECLS 27 28 typedef enum 29 { 30 ARIO_SOURCE_BROWSER, 31 ARIO_SOURCE_RADIO, 32 ARIO_SOURCE_SEARCH, 33 ARIO_SOURCE_PLAYLISTS, 34 ARIO_SOURCE_FILESYSTEM 35 }ArioSourceType; 36 37 #define ARIO_TYPE_SOURCE_MANAGER (ario_source_manager_get_type ()) 38 #define ARIO_SOURCE_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), ARIO_TYPE_SOURCE_MANAGER, ArioSourceManager)) 39 #define ARIO_SOURCE_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), ARIO_TYPE_SOURCE_MANAGER, ArioSourceManagerClass)) 40 #define ARIO_IS_SOURCE_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), ARIO_TYPE_SOURCE_MANAGER)) 41 #define ARIO_IS_SOURCE_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), ARIO_TYPE_SOURCE_MANAGER)) 42 #define ARIO_SOURCE_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), ARIO_TYPE_SOURCE_MANAGER, ArioSourceManagerClass)) 43 44 typedef struct ArioSourceManagerPrivate ArioSourceManagerPrivate; 45 46 /** 47 * ArioSourceManager is a widget used to display, 48 * reorder, activate, deactivate the different 49 * ArioSource 50 */ 51 typedef struct 52 { 53 GtkNotebook parent; 54 55 ArioSourceManagerPrivate *priv; 56 } ArioSourceManager; 57 58 typedef struct 59 { 60 GtkNotebookClass parent; 61 62 } ArioSourceManagerClass; 63 64 GType ario_source_manager_get_type (void) G_GNUC_CONST; 65 66 GtkWidget* ario_source_manager_get_instance (void); 67 68 void ario_source_manager_append (ArioSource *source); 69 void ario_source_manager_remove (ArioSource *source); 70 void ario_source_manager_reorder (void); 71 void ario_source_manager_shutdown (void); 72 void ario_source_manager_goto_playling_song (void); 73 74 G_END_DECLS 75 76 #endif /* __ARIO_SOURCE_MANAGER_H */ 77