[gnome-calendar/wip/pandusonu/week-view: 6/31] week-view: remove unused code



commit ab0d08f5ac9cdcb716a211c22bb3cfd24d5845f6
Author: pandusonu2 <pandu sonu yahoo com>
Date:   Mon Jun 6 21:55:40 2016 +0530

    week-view: remove unused code
    
    Cleaning up the week-view.c file. Removing the previously written code which won't be required.

 src/views/gcal-week-view.c |  996 +-------------------------------------------
 1 files changed, 6 insertions(+), 990 deletions(-)
---
diff --git a/src/views/gcal-week-view.c b/src/views/gcal-week-view.c
index 5868671..93a06d6 100644
--- a/src/views/gcal-week-view.c
+++ b/src/views/gcal-week-view.c
@@ -56,26 +56,15 @@ typedef struct _GcalWeekViewChild GcalWeekViewChild;
 
 typedef struct
 {
-  /**
-   * This is where we keep the refs of the child widgets.
-   * Every child added to the list placed in the position
-   * of it corresponding cell number.
-   * The cell number is calculated in _add method.
-   * day[0] Represents the first_weekday according to locale
-   */
-  GList          *days [7];
-
-  GdkWindow      *view_window;
-  GdkWindow      *grid_window;
-
-  GtkWidget      *vscrollbar;
+  GtkBox          parent;
 
-  /**
+  /*
    * first day of the week according to user locale, being
-   * 0 for Sunday, 1 for Monday and so on */
+   * 0 for Sunday, 1 for Monday and so on 
+   */
   gint            first_weekday;
 
-  /**
+  /*
    * clock format from GNOME desktop settings
    */
   gboolean        use_24h_format;
@@ -84,22 +73,9 @@ typedef struct
   icaltimetype   *date;
   GcalManager    *manager; /* weak referenced */
 
-  GdkWindow      *event_window;
-
   gint            clicked_cell;
 } GcalWeekViewPrivate;
 
-static void           event_opened                         (GcalEventWidget *event_widget,
-                                                            gpointer         user_data);
-
-static void           draw_header                          (GcalWeekView   *view,
-                                                            cairo_t        *cr,
-                                                            GtkAllocation  *alloc,
-                                                            GtkBorder      *padding);
-
-static void           draw_grid_window                     (GcalWeekView   *view,
-                                                            cairo_t        *cr);
-
 static void           gcal_week_view_constructed           (GObject        *object);
 
 static void           gcal_week_view_finalize              (GObject        *object);
@@ -114,51 +90,15 @@ static void           gcal_week_view_get_property          (GObject        *obje
                                                             GValue         *value,
                                                             GParamSpec     *pspec);
 
-static void           gcal_week_view_realize               (GtkWidget      *widget);
-
-static void           gcal_week_view_unrealize             (GtkWidget      *widget);
-
-static void           gcal_week_view_size_allocate         (GtkWidget      *widget,
-                                                            GtkAllocation  *allocation);
-
-static gboolean       gcal_week_view_draw                  (GtkWidget      *widget,
-                                                            cairo_t        *cr);
-
-static gboolean       gcal_week_view_scroll_event          (GtkWidget      *widget,
-                                                            GdkEventScroll *event);
-
-static gboolean       gcal_week_view_button_press_event    (GtkWidget      *widget,
-                                                            GdkEventButton *event);
-
-static gboolean       gcal_week_view_button_release_event  (GtkWidget      *widget,
-                                                            GdkEventButton *event);
-
-static void           gcal_week_view_add                   (GtkContainer   *constainer,
-                                                            GtkWidget      *widget);
-
-static void           gcal_week_view_remove                (GtkContainer   *constainer,
-                                                            GtkWidget      *widget);
-
-static void           gcal_week_view_forall                (GtkContainer   *container,
-                                                            gboolean        include_internals,
-                                                            GtkCallback     callback,
-                                                            gpointer        callback_data);
-
-static void           gcal_week_view_scroll_value_changed  (GtkAdjustment  *adjusment,
-                                                            gpointer        user_data);
-
 static icaltimetype*  gcal_week_view_get_final_date        (GcalView       *view);
 
-static GtkWidget*     gcal_week_view_get_by_uuid           (GcalSubscriberView *view,
-                                                            const gchar        *uuid);
-
 static void           gcal_view_interface_init             (GcalViewInterface *iface);
 
 G_DEFINE_TYPE_WITH_CODE (GcalWeekView, gcal_week_view, GCAL_TYPE_SUBSCRIBER_VIEW,
                          G_ADD_PRIVATE (GcalWeekView)
                          G_IMPLEMENT_INTERFACE (GCAL_TYPE_VIEW, gcal_view_interface_init));
 
-/**
+/*
  * gcal_week_view_get_start_grid_y:
  *
  * In GcalMonthView this method returns the height of the headers of the view
@@ -206,259 +146,6 @@ gcal_week_view_get_start_grid_y (GtkWidget *widget)
   return start_grid_y;
 }
 
-static void
-event_opened (GcalEventWidget *event_widget,
-              gpointer         user_data)
-{
-  g_signal_emit_by_name (GCAL_VIEW (user_data),
-                         "event-activated",
-                         event_widget);
-}
-
-static void
-draw_header (GcalWeekView  *view,
-             cairo_t       *cr,
-             GtkAllocation *alloc,
-             GtkBorder     *padding)
-{
-  GcalWeekViewPrivate *priv;
-  GtkWidget *widget;
-  GtkStyleContext *context;
-  GtkStateFlags state;
-  GdkRGBA color;
-  /* GdkRGBA current_color; */
-
-  PangoLayout *layout;
-  PangoFontDescription *bold_font;
-
-  gint i;
-  gint pos_i;
-  gint start_grid_y;
-  gint font_height;
-  gdouble sidebar_width;
-  gdouble cell_width;
-  icaltimetype *start_of_week;
-  gint current_cell;
-
-  cairo_pattern_t *pattern;
-
-  priv = gcal_week_view_get_instance_private (view);
-  widget = GTK_WIDGET (view);
-
-  cairo_save (cr);
-  start_grid_y = gcal_week_view_get_start_grid_y (widget);
-  context = gtk_widget_get_style_context (widget);
-  state = gtk_widget_get_state_flags (widget);
-
-  /* adding shadow */
-  pattern = cairo_pattern_create_linear(0, start_grid_y - 18,
-                                        0, start_grid_y + 6);
-
-  cairo_pattern_add_color_stop_rgba(pattern, 0.0, 0, 0, 0, 0.6);
-  cairo_pattern_add_color_stop_rgba(pattern, 1.0, 0, 0, 0, 0.0);
-
-  cairo_set_source(cr, pattern);
-  cairo_pattern_destroy(pattern);
-
-  cairo_rectangle(cr, 0, start_grid_y, alloc->width, 6);
-  cairo_fill(cr);
-
-  gtk_style_context_get_color (context, state, &color);
-  gdk_cairo_set_source_rgba (cr, &color);
-
-  /* grid header */
-  layout = pango_cairo_create_layout (cr);
-  gtk_style_context_get (context, state, "font", &bold_font, NULL);
-  pango_font_description_set_weight (bold_font, PANGO_WEIGHT_SEMIBOLD);
-  pango_layout_set_font_description (layout, bold_font);
-
-  start_of_week = gcal_week_view_get_initial_date (GCAL_VIEW (view));
-  current_cell = icaltime_day_of_week (*(priv->date)) - 1;
-  current_cell = (7 + current_cell - priv->first_weekday) % 7;
-
-  sidebar_width = gcal_week_view_get_sidebar_width (widget);
-  cell_width = (alloc->width - sidebar_width) / 7;
-  pango_layout_get_pixel_size (layout, NULL, &font_height);
-
-  gtk_style_context_save (context);
-  gtk_style_context_add_class (context, "current");
-  gtk_render_background (context, cr,
-                         cell_width * current_cell + sidebar_width,
-                         font_height + padding->bottom,
-                         cell_width,
-                         ALL_DAY_CELLS_HEIGHT);
-  gtk_style_context_remove_class (context, "current");
-  gtk_style_context_restore (context);
-
-  for (i = 0; i < 7; i++)
-    {
-      gchar *weekday_header;
-      gchar *weekday_abv;
-      gint n_day;
-
-      n_day = start_of_week->day + i;
-      if (n_day > icaltime_days_in_month (start_of_week->month,
-                                          start_of_week->year))
-        {
-          n_day = n_day - icaltime_days_in_month (start_of_week->month,
-                                                  start_of_week->year);
-        }
-
-      weekday_abv = gcal_get_weekday ((i + priv->first_weekday) % 7);
-      weekday_header = g_strdup_printf ("%s %d", weekday_abv, n_day);
-
-      pango_layout_set_text (layout, weekday_header, -1);
-      cairo_move_to (cr,
-                     padding->left + cell_width * i + sidebar_width,
-                     0.0);
-      pango_cairo_show_layout (cr, layout);
-
-      cairo_save (cr);
-      cairo_move_to (cr,
-                     cell_width * i + sidebar_width + 0.3,
-                     font_height + padding->bottom);
-      cairo_rel_line_to (cr, 0.0, ALL_DAY_CELLS_HEIGHT);
-      cairo_stroke (cr);
-      cairo_restore (cr);
-
-      g_free (weekday_header);
-    }
-
-  /* horizontal line */
-  gtk_style_context_get_color (context,
-                               state | GTK_STATE_FLAG_INSENSITIVE,
-                               &color);
-  gdk_cairo_set_source_rgba (cr, &color);
-  pos_i = font_height + padding->bottom;
-  cairo_move_to (cr, sidebar_width, pos_i + 0.3);
-  cairo_rel_line_to (cr, alloc->width - sidebar_width, 0);
-
-  cairo_stroke (cr);
-
-  cairo_restore (cr);
-
-  g_free (start_of_week);
-  pango_font_description_free (bold_font);
-  g_object_unref (layout);
-}
-
-static void
-draw_grid_window (GcalWeekView  *view,
-                  cairo_t       *cr)
-{
-  GcalWeekViewPrivate *priv;
-  GtkWidget *widget;
-
-  GtkStyleContext *context;
-  GtkStateFlags state;
-  GtkBorder padding;
-  GdkRGBA color;
-
-  gint i;
-  gint width;
-  gint height;
-  gdouble sidebar_width;
-  gint current_cell;
-
-  PangoLayout *layout;
-  PangoFontDescription *font_desc;
-
-  priv = gcal_week_view_get_instance_private (view);
-  widget = GTK_WIDGET (view);
-
-  context = gtk_widget_get_style_context (widget);
-  state = gtk_widget_get_state_flags (widget);
-
-  gtk_style_context_get_color (context, state, &color);
-  gtk_style_context_get_padding (context, state, &padding);
-  gtk_style_context_get (context, state, "font", &font_desc, NULL);
-
-  layout = pango_cairo_create_layout (cr);
-  pango_layout_set_font_description (layout, font_desc);
-  gdk_cairo_set_source_rgba (cr, &color);
-
-  sidebar_width = gcal_week_view_get_sidebar_width (widget);
-  width = gdk_window_get_width (priv->grid_window);
-  height = gdk_window_get_height (priv->grid_window);
-
-  current_cell = icaltime_day_of_week (*(priv->date)) - 1;
-  current_cell = (7 + current_cell - priv->first_weekday) % 7;
-
-  gtk_cairo_transform_to_window (cr, widget, priv->grid_window);
-
-  gtk_style_context_save (context);
-  gtk_style_context_add_class (context, "current");
-  gtk_render_background (
-      context, cr,
-      ((width - sidebar_width)/ 7.0) * current_cell + sidebar_width,
-      0,
-      ((width  - sidebar_width)/ 7.0),
-      height);
-  gtk_style_context_remove_class (context, "current");
-  gtk_style_context_restore (context);
-
-  /* grid, sidebar hours */
-  for (i = 0; i < 24; i++)
-    {
-      gchar *hours;
-      if (priv->use_24h_format)
-        {
-          hours = g_strdup_printf ("%02d:00", i);
-          pango_layout_set_text (layout, hours, -1);
-        }
-      else
-        {
-          hours = g_strdup_printf ("%02d:00 %s",
-                                   i % 12,
-                                   i < 12 ? _("AM") : _("PM"));
-
-          if (i == 0)
-            pango_layout_set_text (layout, _("Midnight"), -1);
-          else if (i == 12)
-            pango_layout_set_text (layout, _("Noon"), -1);
-          else
-            pango_layout_set_text (layout, hours, -1);
-        }
-
-      cairo_move_to (cr, padding.left, padding.top + (height / 24) * i);
-      pango_cairo_show_layout (cr, layout);
-
-      g_free (hours);
-    }
-
-  /* grid, vertical lines first */
-  for (i = 0; i < 7; i++)
-    {
-      cairo_move_to (cr,
-                     sidebar_width + ((width - sidebar_width) / 7) * i + 0.4,
-                     0);
-      cairo_rel_line_to (cr, 0, height);
-    }
-
-  /* rest of the lines */
-  for (i = 0; i < 24; i++)
-    {
-      /* hours lines */
-      cairo_move_to (cr, 0, (height / 24) * i + 0.4);
-      cairo_rel_line_to (cr, width, 0);
-    }
-
-  cairo_stroke (cr);
-
-  cairo_set_dash (cr, dashed, 2, 0);
-  for (i = 0; i < 24; i++)
-    {
-      /* 30 minutes lines */
-      cairo_move_to (cr, sidebar_width, (height / 24) * i + (height / 48) + 0.4);
-      cairo_rel_line_to (cr, width - sidebar_width, 0);
-    }
-
-  cairo_stroke (cr);
-
-  pango_font_description_free (font_desc);
-  g_object_unref (layout);
-}
-
 gint
 gcal_week_view_get_sidebar_width (GtkWidget *widget)
 {
@@ -508,28 +195,10 @@ gcal_week_view_get_sidebar_width (GtkWidget *widget)
 static void
 gcal_week_view_class_init (GcalWeekViewClass *klass)
 {
-  GcalSubscriberViewClass *subscriber_view_class;
-  GtkContainerClass *container_class;
   GtkWidgetClass *widget_class;
   GObjectClass *object_class;
 
-  subscriber_view_class = GCAL_SUBSCRIBER_VIEW_CLASS (klass);
-  subscriber_view_class->get_child_by_uuid = gcal_week_view_get_by_uuid;
-
-  container_class = GTK_CONTAINER_CLASS (klass);
-  container_class->add = gcal_week_view_add;
-  container_class->remove = gcal_week_view_remove;
-  container_class->forall = gcal_week_view_forall;
-  gtk_container_class_handle_border_width (container_class);
-
   widget_class = GTK_WIDGET_CLASS (klass);
-  widget_class->realize = gcal_week_view_realize;
-  widget_class->unrealize = gcal_week_view_unrealize;
-  widget_class->size_allocate = gcal_week_view_size_allocate;
-  widget_class->draw = gcal_week_view_draw;
-  widget_class->scroll_event = gcal_week_view_scroll_event;
-  widget_class->button_press_event = gcal_week_view_button_press_event;
-  widget_class->button_release_event = gcal_week_view_button_release_event;
 
   object_class = G_OBJECT_CLASS (klass);
   object_class->constructed = gcal_week_view_constructed;
@@ -567,18 +236,6 @@ gcal_week_view_constructed (GObject *object)
 
   if (G_OBJECT_CLASS (gcal_week_view_parent_class)->constructed != NULL)
       G_OBJECT_CLASS (gcal_week_view_parent_class)->constructed (object);
-
-  priv->vscrollbar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, NULL);
-
-  gtk_widget_set_parent (priv->vscrollbar, GTK_WIDGET (object));
-  gtk_widget_show (priv->vscrollbar);
-
-  g_signal_connect (gtk_range_get_adjustment (GTK_RANGE (priv->vscrollbar)),
-                    "value-changed",
-                    G_CALLBACK (gcal_week_view_scroll_value_changed),
-                    object);
-
-  g_object_ref (priv->vscrollbar);
 }
 
 static void
@@ -591,12 +248,6 @@ gcal_week_view_finalize (GObject       *object)
   if (priv->date != NULL)
     g_free (priv->date);
 
-  if (priv->vscrollbar != NULL)
-    {
-      gtk_widget_unparent (priv->vscrollbar);
-      g_clear_object (&(priv->vscrollbar));
-    }
-
   /* Chain up to parent's finalize() method. */
   G_OBJECT_CLASS (gcal_week_view_parent_class)->finalize (object);
 }
@@ -669,611 +320,6 @@ gcal_week_view_get_property (GObject       *object,
     }
 }
 
-static void
-gcal_week_view_realize (GtkWidget *widget)
-{
-  GcalWeekViewPrivate *priv;
-  GdkWindow *parent_window;
-  GdkWindowAttr attributes;
-  gint attributes_mask;
-  GtkAllocation allocation;
-
-  gint i;
-  GList *l;
-
-  priv = gcal_week_view_get_instance_private (GCAL_WEEK_VIEW (widget));
-  gtk_widget_set_realized (widget, TRUE);
-
-  gtk_widget_get_allocation (widget, &allocation);
-
-  parent_window = gtk_widget_get_parent_window (widget);
-  gtk_widget_set_window (widget, parent_window);
-  g_object_ref (parent_window);
-
-  attributes.window_type = GDK_WINDOW_CHILD;
-  attributes.wclass = GDK_INPUT_ONLY;
-  attributes.x = allocation.x;
-  attributes.y = allocation.y;
-  attributes.event_mask = gtk_widget_get_events (widget);
-  attributes.event_mask |= (GDK_BUTTON_PRESS_MASK |
-                            GDK_BUTTON_RELEASE_MASK);
-  attributes_mask = GDK_WA_X | GDK_WA_Y;
-
-  priv->event_window = gdk_window_new (parent_window,
-                                       &attributes,
-                                       attributes_mask);
-  gtk_widget_register_window (widget, priv->event_window);
-
-  attributes.window_type = GDK_WINDOW_CHILD;
-  attributes.wclass = GDK_INPUT_OUTPUT;
-  attributes.x = allocation.x;
-  attributes.y = allocation.y;
-  attributes.event_mask = gtk_widget_get_events (widget);
-  attributes.event_mask |= (GDK_EXPOSURE_MASK |
-                            GDK_BUTTON_PRESS_MASK |
-                            GDK_BUTTON_RELEASE_MASK |
-                            GDK_BUTTON_MOTION_MASK |
-                            GDK_POINTER_MOTION_MASK |
-                            GDK_SCROLL_MASK |
-                            GDK_TOUCH_MASK |
-                            GDK_SMOOTH_SCROLL_MASK);
-  attributes.visual = gtk_widget_get_visual (widget);
-  attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL;
-
-  priv->view_window = gdk_window_new (parent_window,
-                                      &attributes,
-                                      attributes_mask);
-  gtk_widget_register_window (widget, priv->view_window);
-
-  attributes.event_mask = gtk_widget_get_events (widget);
-  attributes.event_mask |= GDK_EXPOSURE_MASK;
-  priv->grid_window = gdk_window_new (priv->view_window,
-                                      &attributes,
-                                      attributes_mask);
-  gtk_widget_register_window (widget, priv->grid_window);
-
-  gdk_window_show (priv->event_window);
-  gdk_window_show (priv->grid_window);
-  gdk_window_show (priv->view_window);
-
-  /* setting parent_window for every event child */
-  for (i = 0; i < 7; i++)
-    {
-      for (l = priv->days[i]; l != NULL; l = l->next)
-        {
-          GcalWeekViewChild *child;
-
-          child = (GcalWeekViewChild*) l->data;
-          gtk_widget_set_parent_window (child->widget,
-                                        priv->grid_window);
-        }
-    }
-}
-
-static void
-gcal_week_view_unrealize (GtkWidget *widget)
-{
-  GcalWeekViewPrivate *priv;
-
-  priv = gcal_week_view_get_instance_private (GCAL_WEEK_VIEW (widget));
-  if (priv->view_window != NULL)
-    {
-      gtk_widget_unregister_window (widget, priv->view_window);
-      gdk_window_destroy (priv->view_window);
-      priv->view_window = NULL;
-    }
-
-  if (priv->grid_window != NULL)
-    {
-      gtk_widget_unregister_window (widget, priv->grid_window);
-      gdk_window_destroy (priv->grid_window);
-      priv->grid_window = NULL;
-    }
-  if (priv->event_window != NULL)
-    {
-      gtk_widget_unregister_window (widget, priv->event_window);
-      gdk_window_destroy (priv->event_window);
-      priv->event_window = NULL;
-    }
-
-  GTK_WIDGET_CLASS (gcal_week_view_parent_class)->unrealize (widget);
-}
-
-static void
-gcal_week_view_size_allocate (GtkWidget     *widget,
-                              GtkAllocation *allocation)
-{
-  GcalWeekViewPrivate *priv;
-
-  GtkBorder padding;
-  PangoLayout *layout;
-  PangoFontDescription *font_desc;
-  gint font_height;
-
-  gint start_grid_y;
-  gint sidebar_width;
-
-  GtkAllocation scroll_allocation;
-  gint min;
-  gint natural;
-
-  gdouble horizontal_block;
-  gdouble vertical_block;
-  gdouble adj_value;
-
-  gint i;
-  GList *l;
-
-  gboolean scroll_needed;
-  gint grid_height;
-  gint view_height;
-
-  priv = gcal_week_view_get_instance_private (GCAL_WEEK_VIEW (widget));
-
-  gtk_widget_set_allocation (widget, allocation);
-
-  if (! gtk_widget_get_realized (widget))
-    return;
-
-  gtk_style_context_get_padding (
-      gtk_widget_get_style_context (widget),
-      gtk_widget_get_state_flags (widget),
-      &padding);
-
-  start_grid_y = gcal_week_view_get_start_grid_y (widget);
-
-  gdk_window_move_resize (priv->event_window,
-                          allocation->x,
-                          allocation->y,
-                          allocation->width,
-                          start_grid_y);
-
-  /* Estimating cell height */
-  layout = pango_layout_new (gtk_widget_get_pango_context (widget));
-  gtk_style_context_get (gtk_widget_get_style_context (widget),
-                         gtk_widget_get_state_flags (widget),
-                         "font", &font_desc,
-                         NULL);
-  pango_layout_set_font_description (layout, font_desc);
-  pango_layout_get_pixel_size (layout, NULL, &font_height);
-  pango_font_description_free (font_desc);
-
-  gtk_widget_get_preferred_width (priv->vscrollbar, &min, &natural);
-
-  view_height = allocation->height - start_grid_y;
-  grid_height = 24 * (padding.top + padding.bottom + 3 * font_height);
-  scroll_needed = grid_height > allocation->height - start_grid_y ? TRUE : FALSE;
-  grid_height = scroll_needed ? grid_height : allocation->height - start_grid_y;
-
-  if (scroll_needed)
-    {
-      adj_value = gtk_adjustment_get_value (
-          gtk_range_get_adjustment (GTK_RANGE (priv->vscrollbar)));
-    }
-  else
-    {
-      adj_value = 0;
-    }
-
-  gdk_window_move_resize (priv->view_window,
-                          allocation->x,
-                          allocation->y + start_grid_y,
-                          allocation->width,
-                          allocation->height - start_grid_y);
-  gdk_window_move_resize (priv->grid_window,
-                          allocation->x,
-                          - adj_value,
-                          allocation->width,
-                          grid_height);
-
-  if (scroll_needed)
-    {
-      scroll_allocation.x = allocation->width - natural;
-      scroll_allocation.y = start_grid_y;
-      scroll_allocation.width = natural;
-      scroll_allocation.height = view_height;
-      gtk_widget_size_allocate (priv->vscrollbar, &scroll_allocation);
-
-      gtk_adjustment_set_page_size (
-          gtk_range_get_adjustment (GTK_RANGE (priv->vscrollbar)),
-          view_height * view_height / grid_height);
-      gtk_adjustment_set_upper (
-          gtk_range_get_adjustment (GTK_RANGE (priv->vscrollbar)),
-          grid_height - view_height + (view_height * view_height / grid_height));
-    }
-  else
-    {
-      gtk_widget_hide (priv->vscrollbar);
-    }
-
-  sidebar_width = gcal_week_view_get_sidebar_width (widget);
-  horizontal_block = (allocation->width - sidebar_width) / 7.0;
-  vertical_block = gdk_window_get_height (priv->grid_window) / 24.0;
-
-  for (i = 0; i < 7; i++)
-    {
-      gdouble *added_height;
-      added_height = g_malloc0 (sizeof (gdouble) * 25);
-
-      for (l = priv->days[i]; l != NULL; l = l->next)
-        {
-          GcalWeekViewChild *child;
-          gint min_height;
-          gint natural_height;
-          gdouble vertical_span;
-          GtkAllocation child_allocation;
-
-          child = (GcalWeekViewChild*) l->data;
-
-          if ((! gtk_widget_get_visible (child->widget)) &&
-              (! child->hidden_by_me))
-            {
-              continue;
-            }
-
-          gtk_widget_get_preferred_height (child->widget,
-                                           &min_height,
-                                           &natural_height);
-
-          child_allocation.x = i * horizontal_block + sidebar_width;
-          if (child->index == -1)
-            {
-              vertical_span = 2 * font_height;
-              child_allocation.y = start_grid_y - vertical_span;
-            }
-          else
-            {
-              vertical_span = vertical_block;
-              child_allocation.y = child->index * vertical_block;
-            }
-
-          child_allocation.width = horizontal_block;
-          child_allocation.height = MIN (natural_height, vertical_span);
-          if (added_height[child->index + 1] + child_allocation.height > vertical_span)
-            {
-              gtk_widget_hide (child->widget);
-              child->hidden_by_me = TRUE;
-            }
-          else
-            {
-              gtk_widget_show (child->widget);
-              child->hidden_by_me = FALSE;
-              child_allocation.y = child_allocation.y + added_height[child->index + 1];
-              gtk_widget_size_allocate (child->widget, &child_allocation);
-              added_height[child->index + 1] += child_allocation.height;
-            }
-        }
-      g_free (added_height);
-    }
-}
-
-static gboolean
-gcal_week_view_draw (GtkWidget *widget,
-                     cairo_t   *cr)
-{
-  GcalWeekViewPrivate *priv;
-  GtkStyleContext *context;
-  GtkStateFlags state;
-  GtkBorder padding;
-  GtkAllocation alloc;
-
-  g_return_val_if_fail (GCAL_IS_WEEK_VIEW (widget), FALSE);
-  priv = gcal_week_view_get_instance_private (GCAL_WEEK_VIEW (widget));
-
-  context = gtk_widget_get_style_context (widget);
-  state = gtk_widget_get_state_flags (widget);
-
-  /* getting padding and allocation */
-  gtk_style_context_get_padding (context, state, &padding);
-  gtk_widget_get_allocation (widget, &alloc);
-
-  if (gtk_cairo_should_draw_window (cr, gtk_widget_get_window (widget)))
-    {
-      cairo_save (cr);
-      cairo_set_line_width (cr, 0.4);
-      draw_header (GCAL_WEEK_VIEW (widget), cr, &alloc, &padding);
-      cairo_restore (cr);
-    }
-
-  if (priv->view_window != NULL &&
-      gtk_cairo_should_draw_window (cr, priv->view_window))
-    {
-      gint y;
-
-      gdk_window_get_position (priv->view_window, NULL, &y);
-      cairo_rectangle (cr,
-                       alloc.x,
-                       y,
-                       alloc.width,
-                       gdk_window_get_height (priv->view_window));
-      cairo_clip (cr);
-    }
-
-  if (priv->grid_window != NULL &&
-      gtk_cairo_should_draw_window (cr, priv->grid_window))
-    {
-      cairo_save (cr);
-      cairo_set_line_width (cr, 0.3);
-      draw_grid_window (GCAL_WEEK_VIEW (widget), cr);
-      cairo_restore (cr);
-    }
-
-  GTK_WIDGET_CLASS (gcal_week_view_parent_class)->draw (widget, cr);
-
-  return FALSE;
-}
-
-static gboolean
-gcal_week_view_scroll_event (GtkWidget      *widget,
-                             GdkEventScroll *event)
-{
-  GcalWeekViewPrivate *priv;
-
-  gdouble delta_y;
-  gdouble delta;
-
-  g_return_val_if_fail (GCAL_IS_WEEK_VIEW (widget), FALSE);
-  g_return_val_if_fail (event != NULL, FALSE);
-
-  priv = gcal_week_view_get_instance_private (GCAL_WEEK_VIEW (widget));
-
-  if (gdk_event_get_scroll_deltas ((GdkEvent *) event, NULL, &delta_y))
-    {
-      if (delta_y != 0.0 &&
-          priv->vscrollbar  != NULL &&
-          gtk_widget_get_visible (priv->vscrollbar))
-        {
-          GtkAdjustment *adj;
-          gdouble new_value;
-          gdouble page_size;
-          gdouble scroll_unit;
-
-          adj = gtk_range_get_adjustment (GTK_RANGE (priv->vscrollbar));
-          page_size = gtk_adjustment_get_page_size (adj);
-          scroll_unit = pow (page_size, 2.0 / 3.0);
-
-          new_value = CLAMP (gtk_adjustment_get_value (adj) + delta_y * scroll_unit,
-                             gtk_adjustment_get_lower (adj),
-                             gtk_adjustment_get_upper (adj) -
-                             gtk_adjustment_get_page_size (adj));
-
-          gtk_adjustment_set_value (adj, new_value);
-
-          return TRUE;
-        }
-    }
-  else
-    {
-      GtkWidget *range = NULL;
-
-      if (event->direction == GDK_SCROLL_UP ||
-          event->direction == GDK_SCROLL_DOWN)
-        {
-          range = priv->vscrollbar;
-        }
-
-      if (range != NULL && gtk_widget_get_visible (range))
-        {
-          GtkAdjustment *adj;
-          gdouble new_value;
-          gdouble page_size;
-
-          adj = gtk_range_get_adjustment (GTK_RANGE (range));
-          page_size = gtk_adjustment_get_page_size (adj);
-          delta = pow (page_size, 2.0 / 3.0);
-
-          new_value = CLAMP (gtk_adjustment_get_value (adj) + delta,
-                             gtk_adjustment_get_lower (adj),
-                             gtk_adjustment_get_upper (adj) -
-                             gtk_adjustment_get_page_size (adj));
-
-          gtk_adjustment_set_value (adj, new_value);
-
-          return TRUE;
-        }
-    }
-
-  return FALSE;
-}
-
-static gboolean
-gcal_week_view_button_press_event (GtkWidget      *widget,
-                                   GdkEventButton *event)
-{
-  gdouble y, start_grid_y;
-
-  y = event->y;
-
-  start_grid_y = gcal_week_view_get_start_grid_y (widget);
-
-  if (y - start_grid_y < 0)
-    {
-      /* FIXME: click on the header should create all day events */
-      return FALSE;
-    }
-
-  return FALSE;
-}
-
-static gboolean
-gcal_week_view_button_release_event (GtkWidget      *widget,
-                                     GdkEventButton *event)
-{
-  GcalWeekViewPrivate *priv;
-  gdouble y, start_grid_y;
-
-  priv = gcal_week_view_get_instance_private (GCAL_WEEK_VIEW (widget));
-
-  y = event->y;
-
-  start_grid_y = gcal_week_view_get_start_grid_y (widget);
-
-  if (y - start_grid_y < 0)
-    {
-      /* FIXME: click on the header should create all day events */
-      priv->clicked_cell = -1;
-      return FALSE;
-    }
-
-  priv->clicked_cell = -1;
-  return FALSE;
-}
-
-static void
-gcal_week_view_add (GtkContainer *container,
-                     GtkWidget    *widget)
-{
-  GcalWeekViewPrivate *priv;
-  GList *l;
-
-  gint day;
-
-  GcalWeekViewChild *new_child;
-  GDateTime *date;
-  GcalEvent *event;
-
-  g_return_if_fail (GCAL_IS_WEEK_VIEW (container));
-  g_return_if_fail (GCAL_IS_EVENT_WIDGET (widget));
-  g_return_if_fail (gtk_widget_get_parent (widget) == NULL);
-  priv = gcal_week_view_get_instance_private (GCAL_WEEK_VIEW (container));
-
-  /* Check if it's already added for date */
-  event = gcal_event_widget_get_event (GCAL_EVENT_WIDGET (widget));
-  date = gcal_event_get_date_start (event);
-  day = (g_date_time_get_day_of_week (date) - priv->first_weekday + 6) % 7;
-
-  for (l = priv->days[day]; l != NULL; l = l->next)
-    {
-      GtkWidget *event_widget;
-
-      event_widget = GTK_WIDGET (((GcalWeekViewChild*) l->data)->widget);
-      if (gcal_event_widget_equal (GCAL_EVENT_WIDGET (widget),
-                                   GCAL_EVENT_WIDGET (event_widget)))
-        {
-          //TODO: remove once the main-dev phase its over
-          g_warning ("Trying to add an event with the same uuid to the view");
-          g_free (date);
-          gtk_widget_destroy (widget);
-          return;
-        }
-    }
-
-  new_child = g_new0 (GcalWeekViewChild, 1);
-  new_child->widget = widget;
-  new_child->hidden_by_me = FALSE;
-
-  if (gcal_event_get_all_day (event))
-    {
-      new_child->index = -1;
-      if (gtk_widget_get_window (widget) != NULL)
-        gtk_widget_set_parent_window (widget,
-                                      gtk_widget_get_window (widget));
-    }
-  else
-    {
-      new_child->index = g_date_time_get_hour (date);
-      if (priv->grid_window != NULL)
-        gtk_widget_set_parent_window (widget, priv->grid_window);
-    }
-
-  priv->days[day] = g_list_append (priv->days[day], new_child);
-  gtk_widget_set_parent (widget, GTK_WIDGET (container));
-
-  g_signal_connect (widget,
-                    "activate",
-                    G_CALLBACK (event_opened),
-                    container);
-}
-
-static void
-gcal_week_view_remove (GtkContainer *container,
-                        GtkWidget    *widget)
-{
-  GcalWeekViewPrivate *priv;
-  GcalEvent *event;
-  GDateTime *date;
-  GList *l;
-  gint day;
-  gboolean was_visible;
-
-  g_return_if_fail (GCAL_IS_WEEK_VIEW (container));
-  g_return_if_fail (gtk_widget_get_parent (widget) == GTK_WIDGET (container));
-  priv = gcal_week_view_get_instance_private (GCAL_WEEK_VIEW (container));
-  event = gcal_event_widget_get_event (GCAL_EVENT_WIDGET (widget));
-  date = gcal_event_get_date_start (event);
-  day = (g_date_time_get_day_of_week (date) - priv->first_weekday + 6) % 7;
-
-  for (l = priv->days[day]; l != NULL; l = l->next)
-    {
-      GcalWeekViewChild *child;
-
-      child = (GcalWeekViewChild*) l->data;
-      if (child->widget == widget)
-        {
-          priv->days[day] = g_list_remove (priv->days[day], child);
-          g_free (child);
-          break;
-        }
-    }
-
-
-  was_visible = gtk_widget_get_visible (widget);
-  gtk_widget_unparent (widget);
-
-  if (was_visible)
-    gtk_widget_queue_resize (GTK_WIDGET (container));
-
-  g_free (date);
-}
-
-static void
-gcal_week_view_forall (GtkContainer *container,
-                        gboolean      include_internals,
-                        GtkCallback   callback,
-                        gpointer      callback_data)
-{
-  GcalWeekViewPrivate *priv;
-  gint i;
-  GList *l;
-
-  priv = gcal_week_view_get_instance_private (GCAL_WEEK_VIEW (container));
-
-  for (i = 0; i < 7; i++)
-    {
-      l = priv->days[i];
-
-      while (l)
-        {
-          GcalWeekViewChild *child;
-
-          child = (GcalWeekViewChild*) l->data;
-          l  = l->next;
-
-          (* callback) (child->widget, callback_data);
-        }
-    }
-
-  if (include_internals && priv->vscrollbar != NULL)
-    (* callback) (priv->vscrollbar, callback_data);
-}
-
-static void
-gcal_week_view_scroll_value_changed (GtkAdjustment *adjusment,
-                                     gpointer       user_data)
-{
-  GcalWeekViewPrivate *priv;
-
-  g_return_if_fail (GCAL_IS_WEEK_VIEW (user_data));
-  priv = gcal_week_view_get_instance_private (GCAL_WEEK_VIEW (user_data));
-
-  if (priv->grid_window != NULL)
-    {
-      gdk_window_move (priv->grid_window,
-                       0,
-                       - gtk_adjustment_get_value (adjusment));
-    }
-}
-
 /* GcalView Interface API */
 /**
  * gcal_week_view_get_initial_date:
@@ -1329,36 +375,6 @@ gcal_week_view_get_final_date (GcalView *view)
   return new_date;
 }
 
-static GtkWidget*
-gcal_week_view_get_by_uuid (GcalSubscriberView *subscriber_view,
-                            const gchar        *uuid)
-{
-  GcalWeekViewPrivate *priv;
-  gint i;
-  GList *l;
-
-  g_return_val_if_fail (GCAL_IS_WEEK_VIEW (subscriber_view), NULL);
-  priv = gcal_week_view_get_instance_private (GCAL_WEEK_VIEW(subscriber_view));
-
-  for (i = 0; i < 7; i++)
-    {
-      for (l = priv->days[i]; l != NULL; l = l->next)
-        {
-          GcalWeekViewChild *child;
-          GcalEvent *event;
-          const gchar* widget_uuid;
-
-          child = (GcalWeekViewChild*) l->data;
-          event = gcal_event_widget_get_event (GCAL_EVENT_WIDGET (child->widget));
-          widget_uuid = gcal_event_get_uid (event);
-
-          if (g_strcmp0 (uuid, widget_uuid) == 0)
-            return child->widget;
-        }
-    }
-  return NULL;
-}
-
 /* Public API */
 /**
  * gcal_week_view_new:


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]