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: renatofilho@20: #include "gmyth_common.h" renatofilho@20: renatofilho@20: #define MAX_DISPLAY_CHANS 4 renatofilho@20: renatofilho@20: G_BEGIN_DECLS renatofilho@20: 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@20: renatofilho@20: renatofilho@20: typedef struct _MMythEpgGridWidget MMythEpgGridWidget; renatofilho@20: typedef struct _MMythEpgGridWidgetClass MMythEpgGridWidgetClass; renatofilho@20: typedef struct _MMythEpgGridWidgetPrivate MMythEpgGridWidgetPrivate; renatofilho@20: renatofilho@20: struct _MMythEpgGridWidgetClass renatofilho@20: { renatofilho@20: GtkEventBoxClass parent_class; renatofilho@20: renatofilho@20: /* callbacks */ renatofilho@20: /* no one for now */ renatofilho@20: }; renatofilho@20: renatofilho@20: struct _MMythEpgGridWidget renatofilho@20: { renatofilho@20: GtkEventBox event_box; renatofilho@20: renatofilho@20: /* Selected Widgets Logic*/ renatofilho@20: /* List os Service Model in the current view renatofilho@20: * the data of this list are GList for the programs renatofilho@20: * of each service */ renatofilho@20: GList *epg_view_model; renatofilho@20: renatofilho@20: /* Selected Schedule Item*/ renatofilho@20: GList *selected_grid_item; renatofilho@20: }; renatofilho@20: renatofilho@20: renatofilho@20: GType mmyth_epg_grid_widget_get_type (void); renatofilho@20: GtkWidget* mmyth_epg_grid_widget_new (void); renatofilho@20: /*DVBHScheduleEvent* mmyth_epg_grid_get_selected_schedule (MMythEpgGridWidget * object);*/ renatofilho@20: void mmyth_epg_grid_widget_update_service (MMythEpgGridWidget * object, renatofilho@20: GList *epg_grid_item_node); renatofilho@20: gboolean mmyth_epg_grid_widget_key_press (MMythEpgGridWidget * object, renatofilho@20: GtkWidget * widget, renatofilho@20: GdkEventKey * event); renatofilho@20: renatofilho@20: typedef struct _EpgGridItem EpgGridItem; renatofilho@20: renatofilho@20: /* FIXME: auxiliary struct */ renatofilho@20: struct _EpgGridItem { renatofilho@20: renatofilho@20: GMythProgramInfo *proginfo; renatofilho@20: GtkWidget *event_box; renatofilho@20: renatofilho@20: /* for callback purposes */ renatofilho@20: MMythEpgGridWidget *object; renatofilho@20: }; renatofilho@20: renatofilho@20: G_END_DECLS renatofilho@20: renatofilho@20: #endif /* __MMYTH_EPG_GRID_WIDGET_H__ */