renatofilho@20: #ifndef MMYTH_UI_H_
renatofilho@20: #define MMYTH_UI_H_
renatofilho@20: 
renatofilho@20: #include <gtk/gtk.h>
renatofilho@20: #include <gst/gst.h>
renatofilho@20: 
renatofilho@20: #include "config.h"
renatofilho@20: 
renatofilho@20: #ifdef MAEMO_PLATFORM
renatofilho@20: #include "hildon-widgets/hildon-program.h"
renatofilho@20: #include "hildon-widgets/hildon-window.h"
renatofilho@20: #endif
renatofilho@20: 
renatofilho@20: #include "mmyth_uicommon.h"
renatofilho@20: #include "mmyth_recordui.h"
renatofilho@20: #include "mmyth_schedulerui.h"
renatofilho@20: #include "mmyth_tvplayer.h"
renatofilho@20: 
renatofilho@754: /*
renatofilho@754:  * GMyth specific includes 
renatofilho@754:  */
rosfran@208: #include <gmyth/gmyth_backendinfo.h>
rosfran@208: 
renatofilho@754: typedef struct _MMythUi {
renatofilho@20: 
renatofilho@754:     /*
renatofilho@754:      * The main application window 
renatofilho@754:      */
renatofilho@754:     GtkWidget      *main_window;
renatofilho@754:     MMythUiCommon  *current_uicommon;
renatofilho@20: 
renatofilho@754:     /*
renatofilho@754:      * Main widget components 
renatofilho@754:      */
renatofilho@754:     GtkWidget      *main_hbox;
renatofilho@754:     GtkWidget      *video_alignment;
renatofilho@754:     GdkPixbuf      *logo;
renatofilho@20: 
renatofilho@754:     /*
renatofilho@754:      * Main widgets grouping 
renatofilho@754:      */
renatofilho@754:     MMythUiCommon  *main_uicommon;
renatofilho@754:     MMythUiCommon  *video_uicommon;
renatofilho@754:     MMythUiCommon  *epg_grid_uicommon;
renatofilho@754:     MMythUiCommon  *record_uicommon;
renatofilho@754:     MMythUiCommon  *schedule_uicommon;
rosfran@208: 
rosfran@208:     GMythBackendInfo *backend_info;
renatofilho@754: 
renatofilho@754:     GtkWidget      *videow;
renatofilho@754:     int             idle_id;
renatofilho@754:     // GstTagList *tagcache;
renatofilho@754: 
renatofilho@754:     MMythRecordUI  *mmyth_recordui;
renatofilho@20:     MMythSchedulerUI *mmyth_schedulerui;
renatofilho@20: 
renatofilho@20: #ifdef MAEMO_PLATFORM
renatofilho@754:     HildonProgram  *program;
renatofilho@754:     GtkMenu        *main_menu;
renatofilho@754:     GtkWidget      *menu_setup;
renatofilho@20: #endif
renatofilho@20: 
renatofilho@754:     MMythTVPlayer  *tvplayer;
renatofilho@754: 
renatofilho@20: } MMythUi;
renatofilho@20: 
renatofilho@754: GdkPixbuf      *icon_sports,
renatofilho@754:                *icon_news,
renatofilho@754:                *icon_movies,
renatofilho@754:                *icon_shows;
renatofilho@754: GdkColor        main_bg_color;
renatofilho@20: 
renatofilho@754: void            mmyth_set_main_widget(MMythUi * mmyth_ui,
renatofilho@754:                                       MMythUiCommon * new_ui);
renatofilho@754: // void mmyth_play_selected(GtkButton * button, gpointer user_data);
renatofilho@20: 
renatofilho@20: #ifdef MAEMO_PLATFORM
renatofilho@754: MMythUi        *mmyth_ui_initialize(HildonProgram * program,
renatofilho@754:                                     GtkWidget * main_window);
renatofilho@20: #else
renatofilho@754: MMythUi        *mmyth_ui_initialize(GtkWidget * main_window);
renatofilho@20: #endif
renatofilho@20: 
renatofilho@754: void            mmyth_ui_finalize(MMythUi * mmyth_ui);
renatofilho@20: 
renatofilho@754: void            mmyth_ui_set_widget(MMythUi * mmyth_ui,
renatofilho@754:                                     MMythUiCommon * new_uicommon);
renatofilho@20: 
renatofilho@754: GtkWidget      *mmyth_ui_get_video_widget(MMythUi * mmyth_ui);
renatofilho@20: 
renatofilho@754: #endif                          /* MMYTH_UI_H_ */