view: add :will_add_event vfunc and stub methods
Note: this commit probably won't build, but this is the right order of keeping history.
This commit is contained in:
@@ -133,6 +133,9 @@ static GtkWidget* gcal_month_view_get_by_uuid (GcalView *vie
|
|||||||
|
|
||||||
static void gcal_month_view_clear (GcalView *view);
|
static void gcal_month_view_clear (GcalView *view);
|
||||||
|
|
||||||
|
static gboolean gcal_month_view_will_add_event (GcalView *view,
|
||||||
|
GcalEventWidget *event);
|
||||||
|
|
||||||
G_DEFINE_TYPE_WITH_CODE (GcalMonthView,
|
G_DEFINE_TYPE_WITH_CODE (GcalMonthView,
|
||||||
gcal_month_view,
|
gcal_month_view,
|
||||||
GTK_TYPE_CONTAINER,
|
GTK_TYPE_CONTAINER,
|
||||||
@@ -214,6 +217,8 @@ gcal_view_interface_init (GcalViewIface *iface)
|
|||||||
iface->draw_event = gcal_month_view_draw_event;
|
iface->draw_event = gcal_month_view_draw_event;
|
||||||
iface->get_by_uuid = gcal_month_view_get_by_uuid;
|
iface->get_by_uuid = gcal_month_view_get_by_uuid;
|
||||||
iface->clear = gcal_month_view_clear;
|
iface->clear = gcal_month_view_clear;
|
||||||
|
|
||||||
|
iface->will_add_event = gcal_month_view_will_add_event;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -1295,6 +1300,13 @@ gcal_month_view_clear (GcalView *view)
|
|||||||
(GtkCallback) gtk_widget_destroy, NULL);
|
(GtkCallback) gtk_widget_destroy, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
gcal_month_view_will_add_event (GcalView *view,
|
||||||
|
GcalEventWidget *event)
|
||||||
|
{
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
/* Public API */
|
/* Public API */
|
||||||
/**
|
/**
|
||||||
* gcal_month_view_new:
|
* gcal_month_view_new:
|
||||||
|
|||||||
@@ -289,3 +289,25 @@ gcal_view_clear (GcalView *view)
|
|||||||
|
|
||||||
GCAL_VIEW_GET_INTERFACE (view)->clear (view);
|
GCAL_VIEW_GET_INTERFACE (view)->clear (view);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gcal_view_will_add_event:
|
||||||
|
* @view: a #GcalView
|
||||||
|
* @event: a #GcalEventWidget
|
||||||
|
*
|
||||||
|
* Check the ranges of dates and the existence of the widget in
|
||||||
|
* in the view already
|
||||||
|
*
|
||||||
|
* Returns: %TRUE if the date of the widget fall inside the range and
|
||||||
|
* the widget isn't already on the view, %FALSE otherwise
|
||||||
|
**/
|
||||||
|
gboolean
|
||||||
|
gcal_view_will_add_event (GcalView *view,
|
||||||
|
GcalEventWidget *event)
|
||||||
|
{
|
||||||
|
g_return_val_if_fail (GCAL_IS_VIEW (view), FALSE);
|
||||||
|
g_return_if_fail (GCAL_VIEW_GET_INTERFACE (view)->will_add_event);
|
||||||
|
|
||||||
|
return GCAL_VIEW_GET_INTERFACE (view)->will_add_event (view,
|
||||||
|
event);
|
||||||
|
}
|
||||||
|
|||||||
+7
-4
@@ -20,10 +20,7 @@
|
|||||||
#ifndef __GCAL_VIEW_H__
|
#ifndef __GCAL_VIEW_H__
|
||||||
#define __GCAL_VIEW_H__
|
#define __GCAL_VIEW_H__
|
||||||
|
|
||||||
#include <glib-object.h>
|
#include "gcal-event-widget.h"
|
||||||
#include <gtk/gtk.h>
|
|
||||||
|
|
||||||
#include <libical/icaltime.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
@@ -73,6 +70,9 @@ struct _GcalViewIface
|
|||||||
gboolean (*draw_event) (GcalView *view, icaltimetype *start_date, icaltimetype *end_date);
|
gboolean (*draw_event) (GcalView *view, icaltimetype *start_date, icaltimetype *end_date);
|
||||||
GtkWidget* (*get_by_uuid) (GcalView *view, const gchar *uuid);
|
GtkWidget* (*get_by_uuid) (GcalView *view, const gchar *uuid);
|
||||||
void (*clear) (GcalView *view);
|
void (*clear) (GcalView *view);
|
||||||
|
|
||||||
|
/* Newer API */
|
||||||
|
gboolean (*will_add_event) (GcalView *view, GcalEventWidget *event);
|
||||||
};
|
};
|
||||||
|
|
||||||
GType gcal_view_get_type (void);
|
GType gcal_view_get_type (void);
|
||||||
@@ -113,6 +113,9 @@ GtkWidget* gcal_view_get_by_uuid (GcalView *view,
|
|||||||
|
|
||||||
void gcal_view_clear (GcalView *view);
|
void gcal_view_clear (GcalView *view);
|
||||||
|
|
||||||
|
gboolean gcal_view_will_add_event (GcalView *view,
|
||||||
|
GcalEventWidget *event);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* __GCAL_MONTH_VIEW_H__ */
|
#endif /* __GCAL_MONTH_VIEW_H__ */
|
||||||
|
|||||||
@@ -156,6 +156,9 @@ static gboolean gcal_week_view_draw_event (GcalView *view
|
|||||||
static GtkWidget* gcal_week_view_get_by_uuid (GcalView *view,
|
static GtkWidget* gcal_week_view_get_by_uuid (GcalView *view,
|
||||||
const gchar *uuid);
|
const gchar *uuid);
|
||||||
|
|
||||||
|
static gboolean gcal_week_view_will_add_event (GcalView *view,
|
||||||
|
GcalEventWidget *event);
|
||||||
|
|
||||||
G_DEFINE_TYPE_WITH_CODE (GcalWeekView,
|
G_DEFINE_TYPE_WITH_CODE (GcalWeekView,
|
||||||
gcal_week_view,
|
gcal_week_view,
|
||||||
GTK_TYPE_CONTAINER,
|
GTK_TYPE_CONTAINER,
|
||||||
@@ -234,6 +237,8 @@ gcal_view_interface_init (GcalViewIface *iface)
|
|||||||
iface->draw_event = gcal_week_view_draw_event;
|
iface->draw_event = gcal_week_view_draw_event;
|
||||||
iface->get_by_uuid = gcal_week_view_get_by_uuid;
|
iface->get_by_uuid = gcal_week_view_get_by_uuid;
|
||||||
/* iface->clear = gcal_week_view_clear; */
|
/* iface->clear = gcal_week_view_clear; */
|
||||||
|
|
||||||
|
iface->will_add_event = gcal_week_view_will_add_event;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -1410,6 +1415,13 @@ gcal_week_view_get_by_uuid (GcalView *view,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
gcal_week_view_will_add_event (GcalView *view,
|
||||||
|
GcalEventWidget *event)
|
||||||
|
{
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
/* Public API */
|
/* Public API */
|
||||||
/**
|
/**
|
||||||
* gcal_week_view_new:
|
* gcal_week_view_new:
|
||||||
|
|||||||
@@ -131,6 +131,9 @@ static GtkWidget* gcal_year_view_get_by_uuid (GcalView
|
|||||||
|
|
||||||
static void gcal_year_view_clear (GcalView *view);
|
static void gcal_year_view_clear (GcalView *view);
|
||||||
|
|
||||||
|
static gboolean gcal_year_view_will_add_event (GcalView *view,
|
||||||
|
GcalEventWidget *event);
|
||||||
|
|
||||||
G_DEFINE_TYPE_WITH_CODE (GcalYearView,
|
G_DEFINE_TYPE_WITH_CODE (GcalYearView,
|
||||||
gcal_year_view,
|
gcal_year_view,
|
||||||
GTK_TYPE_CONTAINER,
|
GTK_TYPE_CONTAINER,
|
||||||
@@ -213,6 +216,8 @@ gcal_view_interface_init (GcalViewIface *iface)
|
|||||||
iface->draw_event = gcal_year_view_draw_event;
|
iface->draw_event = gcal_year_view_draw_event;
|
||||||
iface->get_by_uuid = gcal_year_view_get_by_uuid;
|
iface->get_by_uuid = gcal_year_view_get_by_uuid;
|
||||||
iface->clear = gcal_year_view_clear;
|
iface->clear = gcal_year_view_clear;
|
||||||
|
|
||||||
|
iface->will_add_event = gcal_year_view_will_add_event;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -1026,6 +1031,13 @@ gcal_year_view_clear (GcalView *view)
|
|||||||
(GtkCallback) gtk_widget_destroy, NULL);
|
(GtkCallback) gtk_widget_destroy, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
gcal_year_view_will_add_event (GcalView *view,
|
||||||
|
GcalEventWidget *event)
|
||||||
|
{
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
/* Public API */
|
/* Public API */
|
||||||
/**
|
/**
|
||||||
* gcal_year_view_new:
|
* gcal_year_view_new:
|
||||||
|
|||||||
Reference in New Issue
Block a user