diff options
author | Benjamin Otte <otte@redhat.com> | 2010-10-10 08:31:45 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2010-10-30 01:49:59 +0800 |
commit | b3a95d0299386bccbdebb967d15f4df02cf15891 (patch) | |
tree | 52b90e4b913bb1c4cd17df3335216bf518a6e01c /calendar | |
parent | 08e71ba8ae72f333f017c25168b9ec85ea5954fa (diff) | |
download | gsoc2013-evolution-b3a95d0299386bccbdebb967d15f4df02cf15891.tar.gz gsoc2013-evolution-b3a95d0299386bccbdebb967d15f4df02cf15891.tar.zst gsoc2013-evolution-b3a95d0299386bccbdebb967d15f4df02cf15891.zip |
gnome-canvas: Change GnomeCanvasItem->point vfunc
Previously the function returned the distance to the nearest item. Now
it only returns an item that is hit. This slightly changes semantics
(button events are no longer dispatched to the nearest item, but only to
the item actually clicked on), but makes the code way simpler and
actually does what one would expect.
Diffstat (limited to 'calendar')
-rw-r--r-- | calendar/gui/e-day-view-main-item.c | 13 | ||||
-rw-r--r-- | calendar/gui/e-day-view-time-item.c | 15 | ||||
-rw-r--r-- | calendar/gui/e-day-view-top-item.c | 13 | ||||
-rw-r--r-- | calendar/gui/e-meeting-time-sel-item.c | 18 | ||||
-rw-r--r-- | calendar/gui/e-week-view-event-item.c | 13 | ||||
-rw-r--r-- | calendar/gui/e-week-view-main-item.c | 13 | ||||
-rw-r--r-- | calendar/gui/e-week-view-titles-item.c | 13 |
7 files changed, 27 insertions, 71 deletions
diff --git a/calendar/gui/e-day-view-main-item.c b/calendar/gui/e-day-view-main-item.c index 148843b397..33e45bbef3 100644 --- a/calendar/gui/e-day-view-main-item.c +++ b/calendar/gui/e-day-view-main-item.c @@ -1235,21 +1235,14 @@ day_view_main_item_draw (GnomeCanvasItem *canvas_item, gdk_region_destroy (draw_region); } -static gdouble +static GnomeCanvasItem * day_view_main_item_point (GnomeCanvasItem *item, gdouble x, gdouble y, gint cx, - gint cy, - GnomeCanvasItem **actual_item) + gint cy) { - /* This is supposed to return the nearest item to the point - * and the distance. Since we are the only item we just return - * ourself and 0 for the distance. This is needed so that we - * get button/motion events. */ - *actual_item = item; - - return 0.0; + return item; } static void diff --git a/calendar/gui/e-day-view-time-item.c b/calendar/gui/e-day-view-time-item.c index 9e430ecf41..e952515c89 100644 --- a/calendar/gui/e-day-view-time-item.c +++ b/calendar/gui/e-day-view-time-item.c @@ -80,10 +80,9 @@ static void e_day_view_time_item_draw (GnomeCanvasItem *item, GdkDrawable *drawable, gint x, gint y, gint width, gint height); -static double e_day_view_time_item_point (GnomeCanvasItem *item, - double x, double y, - gint cx, gint cy, - GnomeCanvasItem **actual_item); +static GnomeCanvasItem *e_day_view_time_item_point (GnomeCanvasItem *item, + double x, double y, + gint cx, gint cy); static gint e_day_view_time_item_event (GnomeCanvasItem *item, GdkEvent *event); static void e_day_view_time_item_increment_time (gint *hour, @@ -649,13 +648,11 @@ e_day_view_time_item_increment_time (gint *hour, } } -static double +static GnomeCanvasItem * e_day_view_time_item_point (GnomeCanvasItem *item, double x, double y, - gint cx, gint cy, - GnomeCanvasItem **actual_item) + gint cx, gint cy) { - *actual_item = item; - return 0.0; + return item; } static gint diff --git a/calendar/gui/e-day-view-top-item.c b/calendar/gui/e-day-view-top-item.c index c0b718d63b..41a2b665df 100644 --- a/calendar/gui/e-day-view-top-item.c +++ b/calendar/gui/e-day-view-top-item.c @@ -781,21 +781,14 @@ day_view_top_item_draw (GnomeCanvasItem *canvas_item, cairo_destroy (cr); } -static double +static GnomeCanvasItem * day_view_top_item_point (GnomeCanvasItem *item, gdouble x, gdouble y, gint cx, - gint cy, - GnomeCanvasItem **actual_item) + gint cy) { - /* This is supposed to return the nearest item the the point - * and the distance. Since we are the only item we just return - * ourself and 0 for the distance. This is needed so that we - * get button/motion events. */ - *actual_item = item; - - return 0.0; + return item; } static void diff --git a/calendar/gui/e-meeting-time-sel-item.c b/calendar/gui/e-meeting-time-sel-item.c index 72d7d724a3..18b21949a1 100644 --- a/calendar/gui/e-meeting-time-sel-item.c +++ b/calendar/gui/e-meeting-time-sel-item.c @@ -54,10 +54,9 @@ static void e_meeting_time_selector_item_draw (GnomeCanvasItem *item, GdkDrawable *drawable, gint x, gint y, gint width, gint height); -static double e_meeting_time_selector_item_point (GnomeCanvasItem *item, - double x, double y, - gint cx, gint cy, - GnomeCanvasItem **actual_item); +static GnomeCanvasItem *e_meeting_time_selector_item_point (GnomeCanvasItem *item, + double x, double y, + gint cx, gint cy); static gint e_meeting_time_selector_item_event (GnomeCanvasItem *item, GdkEvent *event); static gint e_meeting_time_selector_item_button_press (EMeetingTimeSelectorItem *mts_item, @@ -779,16 +778,11 @@ e_meeting_time_selector_item_paint_attendee_busy_periods (EMeetingTimeSelectorIt * CANVAS ITEM ROUTINES - functions to be a GnomeCanvasItem. */ -/* This is supposed to return the nearest item the the point and the distance. - Since we are the only item we just return ourself and 0 for the distance. - This is needed so that we get button/motion events. */ -static double +static GnomeCanvasItem * e_meeting_time_selector_item_point (GnomeCanvasItem *item, double x, double y, - gint cx, gint cy, - GnomeCanvasItem **actual_item) + gint cx, gint cy) { - *actual_item = item; - return 0.0; + return item; } static gint diff --git a/calendar/gui/e-week-view-event-item.c b/calendar/gui/e-week-view-event-item.c index f2b3471e66..8309dcd8dc 100644 --- a/calendar/gui/e-week-view-event-item.c +++ b/calendar/gui/e-week-view-event-item.c @@ -1126,21 +1126,14 @@ week_view_event_item_draw (GnomeCanvasItem *canvas_item, gdk_region_destroy (draw_region); } -static double +static GnomeCanvasItem * week_view_event_item_point (GnomeCanvasItem *item, gdouble x, gdouble y, gint cx, - gint cy, - GnomeCanvasItem **actual_item) + gint cy) { - /* This is supposed to return the nearest item the the point - * and the distance. Since we are the only item we just return - * ourself and 0 for the distance. This is needed so that we - * get button/motion events. */ - *actual_item = item; - - return 0.0; + return item; } static gint diff --git a/calendar/gui/e-week-view-main-item.c b/calendar/gui/e-week-view-main-item.c index a42b60ea40..5d09d45660 100644 --- a/calendar/gui/e-week-view-main-item.c +++ b/calendar/gui/e-week-view-main-item.c @@ -411,21 +411,14 @@ week_view_main_item_draw (GnomeCanvasItem *canvas_item, } } -static gdouble +static GnomeCanvasItem * week_view_main_item_point (GnomeCanvasItem *item, gdouble x, gdouble y, gint cx, - gint cy, - GnomeCanvasItem **actual_item) + gint cy) { - /* This is supposed to return the nearest item the the point - * and the distance. Since we are the only item we just return - * ourself and 0 for the distance. This is needed so that we - * get button/motion events. */ - *actual_item = item; - - return 0.0; + return item; } static void diff --git a/calendar/gui/e-week-view-titles-item.c b/calendar/gui/e-week-view-titles-item.c index ab7a9db652..2e058d1056 100644 --- a/calendar/gui/e-week-view-titles-item.c +++ b/calendar/gui/e-week-view-titles-item.c @@ -243,21 +243,14 @@ week_view_titles_item_draw (GnomeCanvasItem *canvas_item, g_object_unref (layout); } -static double +static GnomeCanvasItem * week_view_titles_item_point (GnomeCanvasItem *item, gdouble x, gdouble y, gint cx, - gint cy, - GnomeCanvasItem **actual_item) + gint cy) { - /* This is supposed to return the nearest item the the point - * and the distance. Since we are the only item we just return - * ourself and 0 for the distance. This is needed so that we - * get button/motion events. */ - *actual_item = item; - - return 0.0; + return item; } static void |