maemo-ui-old/src/mmyth_epg_grid_widget.h
branchtrunk
changeset 896 9f80dd75cd8a
parent 754 cb885ee44618
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/maemo-ui-old/src/mmyth_epg_grid_widget.h	Tue Jan 29 18:40:32 2008 +0000
     1.3 @@ -0,0 +1,87 @@
     1.4 +#ifndef __MMYTH_EPG_GRID_WIDGET_H__
     1.5 +#define __MMYTH_EPG_GRID_WIDGET_H__
     1.6 +
     1.7 +#include <glib-object.h>
     1.8 +#include <gdk/gdk.h>
     1.9 +#include <gtk/gtkvbox.h>
    1.10 +#include <gtk/gtkeventbox.h>
    1.11 +
    1.12 +#include <gmyth/gmyth_common.h>
    1.13 +#include <gmyth/gmyth_backendinfo.h>
    1.14 +#define MAX_DISPLAY_CHANS 4
    1.15 +
    1.16 +G_BEGIN_DECLS
    1.17 +#define MMYTH_EPG_GRID_WIDGET_TYPE               (mmyth_epg_grid_widget_get_type ())
    1.18 +#define MMYTH_EPG_GRID_WIDGET(obj)               (GTK_CHECK_CAST ((obj), MMYTH_EPG_GRID_WIDGET_TYPE, MMythEpgGridWidget))
    1.19 +#define MMYTH_EPG_GRID_WIDGET_CLASS(klass)       (GTK_CHECK_CLASS_CAST ((klass), MMYTH_EPG_GRID_WIDGET_TYPE, MMythEpgGridWidgetClass))
    1.20 +#define IS_MMYTH_EPG_GRID_WIDGET(obj)            (GTK_CHECK_TYPE ((obj), MMYTH_EPG_GRID_WIDGET_TYPE))
    1.21 +#define IS_MMYTH_EPG_GRID_WIDGET_CLASS(klass)    (GTK_CHECK_CLASS_TYPE ((klass), MMYTH_EPG_GRID_WIDGET_TYPE))
    1.22 +#define MMYTH_EPG_GRID_WIDGET_GET_CLASS(obj)     (G_TYPE_INSTANCE_GET_CLASS ((obj), MMYTH_EPG_GRID_WIDGET_TYPE, MMythEpgGridWidgetClass))
    1.23 +#define MMYTH_EPG_GRID_WIDGET_GET_PRIVATE(obj)   (G_TYPE_INSTANCE_GET_PRIVATE ((obj), MMYTH_EPG_GRID_WIDGET_TYPE, MMythEpgGridWidgetPrivate))
    1.24 +typedef struct _MMythEpgGridWidget MMythEpgGridWidget;
    1.25 +typedef struct _MMythEpgGridWidgetClass MMythEpgGridWidgetClass;
    1.26 +typedef struct _MMythEpgGridWidgetPrivate MMythEpgGridWidgetPrivate;
    1.27 +
    1.28 +struct _MMythEpgGridWidgetClass {
    1.29 +    GtkEventBoxClass parent_class;
    1.30 +
    1.31 +    /*
    1.32 +     * callbacks 
    1.33 +     */
    1.34 +    /*
    1.35 +     * no one for now 
    1.36 +     */
    1.37 +};
    1.38 +
    1.39 +struct _MMythEpgGridWidget {
    1.40 +    GtkEventBox     event_box;
    1.41 +
    1.42 +    /*
    1.43 +     * Selected Widgets Logic
    1.44 +     */
    1.45 +    /*
    1.46 +     * List os Service Model in the current view the data of this list are 
    1.47 +     * GList for the programs of each service 
    1.48 +     */
    1.49 +    GList          *epg_view_model;
    1.50 +
    1.51 +    /*
    1.52 +     * Selected Schedule Item
    1.53 +     */
    1.54 +    GList          *selected_grid_item;
    1.55 +
    1.56 +};
    1.57 +
    1.58 +
    1.59 +GType           mmyth_epg_grid_widget_get_type(void);
    1.60 +GtkWidget      *mmyth_epg_grid_widget_new(void);
    1.61 +/*
    1.62 + * DVBHScheduleEvent* mmyth_epg_grid_get_selected_schedule
    1.63 + * (MMythEpgGridWidget * object);
    1.64 + */
    1.65 +void            mmyth_epg_grid_widget_update_service(MMythEpgGridWidget *
    1.66 +                                                     object,
    1.67 +                                                     GList *
    1.68 +                                                     epg_grid_item_node);
    1.69 +gboolean        mmyth_epg_grid_widget_key_press(MMythEpgGridWidget *
    1.70 +                                                object, GtkWidget * widget,
    1.71 +                                                GdkEventKey * event);
    1.72 +
    1.73 +typedef struct _EpgGridItem EpgGridItem;
    1.74 +
    1.75 +/*
    1.76 + * FIXME: auxiliary struct 
    1.77 + */
    1.78 +struct _EpgGridItem {
    1.79 +
    1.80 +    GMythProgramInfo *proginfo;
    1.81 +    GtkWidget      *event_box;
    1.82 +
    1.83 +    /*
    1.84 +     * for callback purposes 
    1.85 +     */
    1.86 +    MMythEpgGridWidget *object;
    1.87 +};
    1.88 +
    1.89 +G_END_DECLS
    1.90 +#endif                          /* __MMYTH_EPG_GRID_WIDGET_H__ */