1 #ifndef GBEMOL_APP_H 2 #define GBEMOL_APP_H 3 4 #include <gtk/gtk.h> 5 #include <stdarg.h> 6 #include "gbemol-mpd.h" 7 #include "gbemol-library.h" 8 #include "gbemol-info.h" 9 #include "gbemol-playlist.h" 10 11 #define ICON_FILE PIXMAPS_DIR"/gbemol.png" 12 13 #define GBEMOL_VERSION "0.3.2" 14 15 /* 16 * Type macros. 17 */ 18 19 G_BEGIN_DECLS 20 21 #define GBEMOL_TYPE_APP (gbemol_app_get_type ()) 22 #define GBEMOL_APP(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GBEMOL_TYPE_APP, GbemolApp)) 23 #define GBEMOL_APP_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GBEMOL_TYPE_APP, GbemolAppClass)) 24 #define GBEMOL_IS_APP(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GBEMOL_TYPE_APP)) 25 #define GBEMOL_IS_APP_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GBEMOL_TYPE_APP)) 26 #define GBEMOL_APP_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GBEMOL_TYPE_APP, GbemolAppClass)) 27 28 #define GBEMOL_DEFAULT_HEIGHT 120 29 #define GBEMOL_DEFAULT_WIDTH 500 30 31 typedef struct _GbemolApp GbemolApp; 32 typedef struct _GbemolAppClass GbemolAppClass; 33 typedef struct _GbemolAppPrivate GbemolAppPrivate; 34 35 struct _GbemolApp { 36 GtkContainer parent; 37 38 GbemolMpd* mpd; 39 GbemolLibrary* lib; 40 GbemolPlaylist* pls; 41 GbemolInfo* info; 42 43 GtkWidget* notebook; 44 GbemolAppPrivate* priv; 45 }; 46 47 struct _GbemolAppClass { 48 GtkContainerClass parent; 49 }; 50 51 GType gbemol_app_get_type (void); 52 53 GbemolApp* gbemol_app_new (void); 54 void gbemol_app_set_mpd (GbemolApp* app, GbemolMpd* mpd); 55 void gbemol_app_connect_mpd (GbemolApp* app); 56 void gbemol_app_set_song (GbemolApp* app, GbemolMpdSong* song); 57 void gbemol_app_set_status (GbemolApp* app, gchar *context, gchar *msg, ...); 58 void gbemol_app_set_state (GbemolApp* app); 59 void gbemol_app_destroy (GbemolApp* app); 60 void gbemol_app_set_connected (GbemolApp* app, gboolean connected); 61 void gbemol_app_connect_mpd (GbemolApp* app); 62 void gbemol_app_set_time (GbemolApp* app, int elapsed, int total); 63 void gbemol_app_set_volume (GbemolApp* app, gint volume); 64 void gbemol_app_set_random (GbemolApp* app, gboolean random); 65 void gbemol_app_set_repeat (GbemolApp* app, gboolean repeat); 66 void gbemol_app_create_status_icon (GbemolApp* obj); 67 void gbemol_app_destroy_status_icon (GbemolApp* obj); 68 void gbemol_app_error_dialog_new (GbemolApp* app, gchar* primary_msg, gchar* secondary_msg); 69 void gbemol_app_reconnect_dialog_new (GbemolApp* app, gchar* msg); 70 void gbemol_app_set_top (GbemolApp* app, gboolean top); 71 void gbemol_app_set_stick (GbemolApp* app, gboolean stick); 72 void gbemol_app_show (GbemolApp* app); 73 void gbemol_app_hide (GbemolApp* app); 74 void gbemol_app_full_mode (GbemolApp* app); 75 void gbemol_app_compact_mode (GbemolApp* app); 76 77 G_END_DECLS 78 79 #endif 80