renatofilho@20: #ifndef __MMYTH_EPG_GRID_WIDGET_H__ renatofilho@20: #define __MMYTH_EPG_GRID_WIDGET_H__ renatofilho@20: renatofilho@20: #include renatofilho@20: #include renatofilho@20: #include renatofilho@20: #include renatofilho@20: rosfran@208: #include rosfran@208: #include renatofilho@20: #define MAX_DISPLAY_CHANS 4 renatofilho@20: renatofilho@20: G_BEGIN_DECLS renatofilho@20: #define MMYTH_EPG_GRID_WIDGET_TYPE (mmyth_epg_grid_widget_get_type ()) renatofilho@20: #define MMYTH_EPG_GRID_WIDGET(obj) (GTK_CHECK_CAST ((obj), MMYTH_EPG_GRID_WIDGET_TYPE, MMythEpgGridWidget)) renatofilho@20: #define MMYTH_EPG_GRID_WIDGET_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), MMYTH_EPG_GRID_WIDGET_TYPE, MMythEpgGridWidgetClass)) renatofilho@20: #define IS_MMYTH_EPG_GRID_WIDGET(obj) (GTK_CHECK_TYPE ((obj), MMYTH_EPG_GRID_WIDGET_TYPE)) renatofilho@20: #define IS_MMYTH_EPG_GRID_WIDGET_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), MMYTH_EPG_GRID_WIDGET_TYPE)) renatofilho@20: #define MMYTH_EPG_GRID_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MMYTH_EPG_GRID_WIDGET_TYPE, MMythEpgGridWidgetClass)) renatofilho@20: #define MMYTH_EPG_GRID_WIDGET_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), MMYTH_EPG_GRID_WIDGET_TYPE, MMythEpgGridWidgetPrivate)) renatofilho@754: typedef struct _MMythEpgGridWidget MMythEpgGridWidget; renatofilho@754: typedef struct _MMythEpgGridWidgetClass MMythEpgGridWidgetClass; renatofilho@754: typedef struct _MMythEpgGridWidgetPrivate MMythEpgGridWidgetPrivate; renatofilho@20: renatofilho@754: struct _MMythEpgGridWidgetClass { renatofilho@754: GtkEventBoxClass parent_class; renatofilho@20: renatofilho@754: /* renatofilho@754: * callbacks renatofilho@754: */ renatofilho@754: /* renatofilho@754: * no one for now renatofilho@754: */ renatofilho@20: }; renatofilho@20: renatofilho@754: struct _MMythEpgGridWidget { renatofilho@754: GtkEventBox event_box; renatofilho@20: renatofilho@754: /* renatofilho@754: * Selected Widgets Logic renatofilho@754: */ renatofilho@754: /* renatofilho@754: * List os Service Model in the current view the data of this list are renatofilho@754: * GList for the programs of each service renatofilho@754: */ renatofilho@754: GList *epg_view_model; renatofilho@20: renatofilho@754: /* renatofilho@754: * Selected Schedule Item renatofilho@754: */ renatofilho@754: GList *selected_grid_item; rosfran@208: renatofilho@20: }; renatofilho@20: renatofilho@20: renatofilho@754: GType mmyth_epg_grid_widget_get_type(void); renatofilho@754: GtkWidget *mmyth_epg_grid_widget_new(void); renatofilho@754: /* renatofilho@754: * DVBHScheduleEvent* mmyth_epg_grid_get_selected_schedule renatofilho@754: * (MMythEpgGridWidget * object); renatofilho@754: */ renatofilho@754: void mmyth_epg_grid_widget_update_service(MMythEpgGridWidget * renatofilho@754: object, renatofilho@754: GList * renatofilho@754: epg_grid_item_node); renatofilho@754: gboolean mmyth_epg_grid_widget_key_press(MMythEpgGridWidget * renatofilho@754: object, GtkWidget * widget, renatofilho@754: GdkEventKey * event); renatofilho@20: renatofilho@20: typedef struct _EpgGridItem EpgGridItem; renatofilho@20: renatofilho@754: /* renatofilho@754: * FIXME: auxiliary struct renatofilho@754: */ renatofilho@20: struct _EpgGridItem { renatofilho@20: renatofilho@20: GMythProgramInfo *proginfo; renatofilho@754: GtkWidget *event_box; renatofilho@20: renatofilho@754: /* renatofilho@754: * for callback purposes renatofilho@754: */ renatofilho@20: MMythEpgGridWidget *object; renatofilho@20: }; renatofilho@20: renatofilho@20: G_END_DECLS renatofilho@754: #endif /* __MMYTH_EPG_GRID_WIDGET_H__ */