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