]> Pileus Git - ~andy/gtk/commitdiff
new function. (gtk_clist_insert): added g_return_val_if_fail() statements.
authorTim Janik <timj@gtk.org>
Thu, 1 Oct 1998 13:24:42 +0000 (13:24 +0000)
committerTim Janik <timj@src.gnome.org>
Thu, 1 Oct 1998 13:24:42 +0000 (13:24 +0000)
Thu Oct  1 10:40:20 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkclist.h (gtk_clist_prepend):
        * gtk/gtkclist.c (gtk_clist_prepend): new function.
        (gtk_clist_insert): added g_return_val_if_fail()
        statements. accept a row parameter < 0 or > clist->rows to indicate
        append mode.
        (real_clear): first clean up all internal pointers and lists (e.g.
        clist->row_list or clist->rows), then delete the distinct rows. this
        is required because of destroy notifiers, we need to have all internal
        structures updated and be reentrant.

        * gtk/gtkcalendar.h:
        * gtk/gtkcalendar.c: removed the `gtk_calendar_' prefix from the
        GtkCalendarClass signal methods.
        GtkType and macro fixups, put `void' into () prototypes, avoid C++
        style comments, indentation fixes, fixed some g_return_if_fail()
        statements.
        (gtk_calendar_paint_header):
        (gtk_calendar_paint_day_names):
        (gtk_calendar_paint_week_numbers):
        (gtk_calendar_paint_main): made these static functions.
        (gtk_calendar_select_month):
        (gtk_calendar_select_day):
        (gtk_calendar_mark_day):
        (gtk_calendar_unmark_day):
        (gtk_calendar_get_date): signedness corrections, use guints
        rather than gints.
        (gtk_calendar_size_request): removed unused variables.

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkcalendar.c
gtk/gtkcalendar.h
gtk/gtkclist.c
gtk/gtkclist.h

index 20e5890aee11936b3791f3d475ebb11004a2d46d..cfd21ebc6f515cef68663774c9180b18b0a97d83 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,33 @@
+Thu Oct  1 10:40:20 1998  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkclist.h (gtk_clist_prepend):
+       * gtk/gtkclist.c (gtk_clist_prepend): new function.
+       (gtk_clist_insert): added g_return_val_if_fail()
+       statements. accept a row parameter < 0 or > clist->rows to indicate
+       append mode.
+       (real_clear): first clean up all internal pointers and lists (e.g.
+       clist->row_list or clist->rows), then delete the distinct rows. this
+       is required because of destroy notifiers, we need to have all internal
+       structures updated and be reentrant.
+
+       * gtk/gtkcalendar.h: 
+       * gtk/gtkcalendar.c: removed the `gtk_calendar_' prefix from the
+       GtkCalendarClass signal methods.
+       GtkType and macro fixups, put `void' into () prototypes, avoid C++
+       style comments, indentation fixes, fixed some g_return_if_fail()
+       statements.
+       (gtk_calendar_paint_header):
+       (gtk_calendar_paint_day_names): 
+       (gtk_calendar_paint_week_numbers): 
+       (gtk_calendar_paint_main): made these static functions.
+       (gtk_calendar_select_month):
+       (gtk_calendar_select_day):
+       (gtk_calendar_mark_day):
+       (gtk_calendar_unmark_day):
+       (gtk_calendar_get_date): signedness corrections, use guints
+       rather than gints.
+       (gtk_calendar_size_request): removed unused variables.
+
 Wed Sep 30 13:11:09 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkitemfactory.c (gtk_item_factory_add_item): list all
index 20e5890aee11936b3791f3d475ebb11004a2d46d..cfd21ebc6f515cef68663774c9180b18b0a97d83 100644 (file)
@@ -1,3 +1,33 @@
+Thu Oct  1 10:40:20 1998  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkclist.h (gtk_clist_prepend):
+       * gtk/gtkclist.c (gtk_clist_prepend): new function.
+       (gtk_clist_insert): added g_return_val_if_fail()
+       statements. accept a row parameter < 0 or > clist->rows to indicate
+       append mode.
+       (real_clear): first clean up all internal pointers and lists (e.g.
+       clist->row_list or clist->rows), then delete the distinct rows. this
+       is required because of destroy notifiers, we need to have all internal
+       structures updated and be reentrant.
+
+       * gtk/gtkcalendar.h: 
+       * gtk/gtkcalendar.c: removed the `gtk_calendar_' prefix from the
+       GtkCalendarClass signal methods.
+       GtkType and macro fixups, put `void' into () prototypes, avoid C++
+       style comments, indentation fixes, fixed some g_return_if_fail()
+       statements.
+       (gtk_calendar_paint_header):
+       (gtk_calendar_paint_day_names): 
+       (gtk_calendar_paint_week_numbers): 
+       (gtk_calendar_paint_main): made these static functions.
+       (gtk_calendar_select_month):
+       (gtk_calendar_select_day):
+       (gtk_calendar_mark_day):
+       (gtk_calendar_unmark_day):
+       (gtk_calendar_get_date): signedness corrections, use guints
+       rather than gints.
+       (gtk_calendar_size_request): removed unused variables.
+
 Wed Sep 30 13:11:09 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkitemfactory.c (gtk_item_factory_add_item): list all
index 20e5890aee11936b3791f3d475ebb11004a2d46d..cfd21ebc6f515cef68663774c9180b18b0a97d83 100644 (file)
@@ -1,3 +1,33 @@
+Thu Oct  1 10:40:20 1998  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkclist.h (gtk_clist_prepend):
+       * gtk/gtkclist.c (gtk_clist_prepend): new function.
+       (gtk_clist_insert): added g_return_val_if_fail()
+       statements. accept a row parameter < 0 or > clist->rows to indicate
+       append mode.
+       (real_clear): first clean up all internal pointers and lists (e.g.
+       clist->row_list or clist->rows), then delete the distinct rows. this
+       is required because of destroy notifiers, we need to have all internal
+       structures updated and be reentrant.
+
+       * gtk/gtkcalendar.h: 
+       * gtk/gtkcalendar.c: removed the `gtk_calendar_' prefix from the
+       GtkCalendarClass signal methods.
+       GtkType and macro fixups, put `void' into () prototypes, avoid C++
+       style comments, indentation fixes, fixed some g_return_if_fail()
+       statements.
+       (gtk_calendar_paint_header):
+       (gtk_calendar_paint_day_names): 
+       (gtk_calendar_paint_week_numbers): 
+       (gtk_calendar_paint_main): made these static functions.
+       (gtk_calendar_select_month):
+       (gtk_calendar_select_day):
+       (gtk_calendar_mark_day):
+       (gtk_calendar_unmark_day):
+       (gtk_calendar_get_date): signedness corrections, use guints
+       rather than gints.
+       (gtk_calendar_size_request): removed unused variables.
+
 Wed Sep 30 13:11:09 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkitemfactory.c (gtk_item_factory_add_item): list all
index 20e5890aee11936b3791f3d475ebb11004a2d46d..cfd21ebc6f515cef68663774c9180b18b0a97d83 100644 (file)
@@ -1,3 +1,33 @@
+Thu Oct  1 10:40:20 1998  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkclist.h (gtk_clist_prepend):
+       * gtk/gtkclist.c (gtk_clist_prepend): new function.
+       (gtk_clist_insert): added g_return_val_if_fail()
+       statements. accept a row parameter < 0 or > clist->rows to indicate
+       append mode.
+       (real_clear): first clean up all internal pointers and lists (e.g.
+       clist->row_list or clist->rows), then delete the distinct rows. this
+       is required because of destroy notifiers, we need to have all internal
+       structures updated and be reentrant.
+
+       * gtk/gtkcalendar.h: 
+       * gtk/gtkcalendar.c: removed the `gtk_calendar_' prefix from the
+       GtkCalendarClass signal methods.
+       GtkType and macro fixups, put `void' into () prototypes, avoid C++
+       style comments, indentation fixes, fixed some g_return_if_fail()
+       statements.
+       (gtk_calendar_paint_header):
+       (gtk_calendar_paint_day_names): 
+       (gtk_calendar_paint_week_numbers): 
+       (gtk_calendar_paint_main): made these static functions.
+       (gtk_calendar_select_month):
+       (gtk_calendar_select_day):
+       (gtk_calendar_mark_day):
+       (gtk_calendar_unmark_day):
+       (gtk_calendar_get_date): signedness corrections, use guints
+       rather than gints.
+       (gtk_calendar_size_request): removed unused variables.
+
 Wed Sep 30 13:11:09 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkitemfactory.c (gtk_item_factory_add_item): list all
index 20e5890aee11936b3791f3d475ebb11004a2d46d..cfd21ebc6f515cef68663774c9180b18b0a97d83 100644 (file)
@@ -1,3 +1,33 @@
+Thu Oct  1 10:40:20 1998  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkclist.h (gtk_clist_prepend):
+       * gtk/gtkclist.c (gtk_clist_prepend): new function.
+       (gtk_clist_insert): added g_return_val_if_fail()
+       statements. accept a row parameter < 0 or > clist->rows to indicate
+       append mode.
+       (real_clear): first clean up all internal pointers and lists (e.g.
+       clist->row_list or clist->rows), then delete the distinct rows. this
+       is required because of destroy notifiers, we need to have all internal
+       structures updated and be reentrant.
+
+       * gtk/gtkcalendar.h: 
+       * gtk/gtkcalendar.c: removed the `gtk_calendar_' prefix from the
+       GtkCalendarClass signal methods.
+       GtkType and macro fixups, put `void' into () prototypes, avoid C++
+       style comments, indentation fixes, fixed some g_return_if_fail()
+       statements.
+       (gtk_calendar_paint_header):
+       (gtk_calendar_paint_day_names): 
+       (gtk_calendar_paint_week_numbers): 
+       (gtk_calendar_paint_main): made these static functions.
+       (gtk_calendar_select_month):
+       (gtk_calendar_select_day):
+       (gtk_calendar_mark_day):
+       (gtk_calendar_unmark_day):
+       (gtk_calendar_get_date): signedness corrections, use guints
+       rather than gints.
+       (gtk_calendar_size_request): removed unused variables.
+
 Wed Sep 30 13:11:09 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkitemfactory.c (gtk_item_factory_add_item): list all
index 20e5890aee11936b3791f3d475ebb11004a2d46d..cfd21ebc6f515cef68663774c9180b18b0a97d83 100644 (file)
@@ -1,3 +1,33 @@
+Thu Oct  1 10:40:20 1998  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkclist.h (gtk_clist_prepend):
+       * gtk/gtkclist.c (gtk_clist_prepend): new function.
+       (gtk_clist_insert): added g_return_val_if_fail()
+       statements. accept a row parameter < 0 or > clist->rows to indicate
+       append mode.
+       (real_clear): first clean up all internal pointers and lists (e.g.
+       clist->row_list or clist->rows), then delete the distinct rows. this
+       is required because of destroy notifiers, we need to have all internal
+       structures updated and be reentrant.
+
+       * gtk/gtkcalendar.h: 
+       * gtk/gtkcalendar.c: removed the `gtk_calendar_' prefix from the
+       GtkCalendarClass signal methods.
+       GtkType and macro fixups, put `void' into () prototypes, avoid C++
+       style comments, indentation fixes, fixed some g_return_if_fail()
+       statements.
+       (gtk_calendar_paint_header):
+       (gtk_calendar_paint_day_names): 
+       (gtk_calendar_paint_week_numbers): 
+       (gtk_calendar_paint_main): made these static functions.
+       (gtk_calendar_select_month):
+       (gtk_calendar_select_day):
+       (gtk_calendar_mark_day):
+       (gtk_calendar_unmark_day):
+       (gtk_calendar_get_date): signedness corrections, use guints
+       rather than gints.
+       (gtk_calendar_size_request): removed unused variables.
+
 Wed Sep 30 13:11:09 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkitemfactory.c (gtk_item_factory_add_item): list all
index 20e5890aee11936b3791f3d475ebb11004a2d46d..cfd21ebc6f515cef68663774c9180b18b0a97d83 100644 (file)
@@ -1,3 +1,33 @@
+Thu Oct  1 10:40:20 1998  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkclist.h (gtk_clist_prepend):
+       * gtk/gtkclist.c (gtk_clist_prepend): new function.
+       (gtk_clist_insert): added g_return_val_if_fail()
+       statements. accept a row parameter < 0 or > clist->rows to indicate
+       append mode.
+       (real_clear): first clean up all internal pointers and lists (e.g.
+       clist->row_list or clist->rows), then delete the distinct rows. this
+       is required because of destroy notifiers, we need to have all internal
+       structures updated and be reentrant.
+
+       * gtk/gtkcalendar.h: 
+       * gtk/gtkcalendar.c: removed the `gtk_calendar_' prefix from the
+       GtkCalendarClass signal methods.
+       GtkType and macro fixups, put `void' into () prototypes, avoid C++
+       style comments, indentation fixes, fixed some g_return_if_fail()
+       statements.
+       (gtk_calendar_paint_header):
+       (gtk_calendar_paint_day_names): 
+       (gtk_calendar_paint_week_numbers): 
+       (gtk_calendar_paint_main): made these static functions.
+       (gtk_calendar_select_month):
+       (gtk_calendar_select_day):
+       (gtk_calendar_mark_day):
+       (gtk_calendar_unmark_day):
+       (gtk_calendar_get_date): signedness corrections, use guints
+       rather than gints.
+       (gtk_calendar_size_request): removed unused variables.
+
 Wed Sep 30 13:11:09 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkitemfactory.c (gtk_item_factory_add_item): list all
index cc05ad24afe5512e3440c26fdb1acdef8acab858..f57ff6a8d343bda41ad236cd9807f1a44d315407 100644 (file)
@@ -14,7 +14,7 @@
  *
  * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.         See the GNU
  * Library General Public License for more details.
  *
  * You should have received a copy of the GNU Library General Public
  * them seperate in case we want to update them if a newer lib_date comes
  * out with fixes.  */
 
-typedef  unsigned   int     N_int;
-typedef  unsigned   long    N_long;
-typedef  signed     long    Z_long;
+typedef         unsigned   int     N_int;
+typedef         unsigned   long    N_long;
+typedef         signed     long    Z_long;
 typedef enum { false = FALSE , true = TRUE } boolean;
 
-#define and         &&      /* logical (boolean) operators: lower case */
-#define or          ||
+#define and        &&      /* logical (boolean) operators: lower case */
+#define or         ||
 
 static N_int month_length[2][13] =
 {
-    { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },
-    { 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
+  { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },
+  { 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
 };
 
 static N_int days_in_months[2][14] =
 {
-    { 0, 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 },
-    { 0, 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366 }
+  { 0, 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 },
+  { 0, 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366 }
 };
 
 static Z_long  calc_days(N_int year, N_int mm, N_int dd);
 static N_int   day_of_week(N_int year, N_int mm, N_int dd);
 static Z_long  dates_difference(N_int year1, N_int mm1, N_int dd1,
-                                N_int year2, N_int mm2, N_int dd2);
+                               N_int year2, N_int mm2, N_int dd2);
 static N_int   weeks_in_year(N_int year);
 
 static boolean 
 leap(N_int year)
 {
-    return((((year % 4) == 0) and ((year % 100) != 0)) or ((year % 400) == 0));
+  return((((year % 4) == 0) and ((year % 100) != 0)) or ((year % 400) == 0));
 }
 
 static N_int 
 day_of_week(N_int year, N_int mm, N_int dd)
 {
-    Z_long  days;
-
-    days = calc_days(year, mm, dd);
-    if (days > 0L)
+  Z_long  days;
+  
+  days = calc_days(year, mm, dd);
+  if (days > 0L)
     {
-        days--;
-        days %= 7L;
-        days++;
+      days--;
+      days %= 7L;
+      days++;
     }
-    return( (N_int) days );
+  return( (N_int) days );
 }
 
 static N_int weeks_in_year(N_int year)
 {
-    return(52 + ((day_of_week(year,1,1)==4) or (day_of_week(year,12,31)==4)));
+  return(52 + ((day_of_week(year,1,1)==4) or (day_of_week(year,12,31)==4)));
 }
 
 static boolean 
 check_date(N_int year, N_int mm, N_int dd)
 {
-    if (year < 1) return(false);
-    if ((mm < 1) or (mm > 12)) return(false);
-    if ((dd < 1) or (dd > month_length[leap(year)][mm])) return(false);
-    return(true);
+  if (year < 1) return(false);
+  if ((mm < 1) or (mm > 12)) return(false);
+  if ((dd < 1) or (dd > month_length[leap(year)][mm])) return(false);
+  return(true);
 }
 
 static N_int 
 week_number(N_int year, N_int mm, N_int dd)
 {
-    N_int first;
-           
-    first = day_of_week(year,1,1) - 1;
-    return( (N_int) ( (dates_difference(year,1,1, year,mm,dd) + first) / 7L ) +
-           (first < 4) );
+  N_int first;
+  
+  first = day_of_week(year,1,1) - 1;
+  return( (N_int) ( (dates_difference(year,1,1, year,mm,dd) + first) / 7L ) +
+         (first < 4) );
 }
 
 static Z_long 
 year_to_days(N_int year)
 {
-    return( year * 365L + (year / 4) - (year / 100) + (year / 400) );
+  return( year * 365L + (year / 4) - (year / 100) + (year / 400) );
 }
 
 
 static Z_long 
 calc_days(N_int year, N_int mm, N_int dd)
 {
-    boolean lp;
-
-    if (year < 1) return(0L);
-    if ((mm < 1) or (mm > 12)) return(0L);
-    if ((dd < 1) or (dd > month_length[(lp = leap(year))][mm])) return(0L);
-    return( year_to_days(--year) + days_in_months[lp][mm] + dd );
+  boolean lp;
+  
+  if (year < 1) return(0L);
+  if ((mm < 1) or (mm > 12)) return(0L);
+  if ((dd < 1) or (dd > month_length[(lp = leap(year))][mm])) return(0L);
+  return( year_to_days(--year) + days_in_months[lp][mm] + dd );
 }
 
 static boolean 
 week_of_year(N_int *week, N_int *year, N_int mm, N_int dd)
 {
-    if (check_date(*year,mm,dd))
-      {
-         *week = week_number(*year,mm,dd);
-        if (*week == 0) 
-           *week = weeks_in_year(--(*year));
-        else if (*week > weeks_in_year(*year))
-          {
-            *week = 1;
-            (*year)++;
-          }
-        return(true);
-      }
-    return(false);
+  if (check_date(*year,mm,dd))
+    {
+      *week = week_number(*year,mm,dd);
+      if (*week == 0) 
+       *week = weeks_in_year(--(*year));
+      else if (*week > weeks_in_year(*year))
+       {
+         *week = 1;
+         (*year)++;
+       }
+      return(true);
+    }
+  return(false);
 }
 
 static Z_long 
 dates_difference(N_int year1, N_int mm1, N_int dd1,
-                 N_int year2, N_int mm2, N_int dd2)
+                N_int year2, N_int mm2, N_int dd2)
 {
-    return( calc_days(year2, mm2, dd2) - calc_days(year1, mm1, dd1) );
+  return( calc_days(year2, mm2, dd2) - calc_days(year1, mm1, dd1) );
 }
 
 /** END OF lib_date routines ************************************************/
 
-#define CALENDAR_MARGIN          0
-#define CALENDAR_YSEP            4
-#define CALENDAR_XSEP            4
-#define INNER_BORDER             4
+#define CALENDAR_MARGIN                 0
+#define CALENDAR_YSEP           4
+#define CALENDAR_XSEP           4
+#define INNER_BORDER            4
 
 #define DAY_XPAD                2
 #define DAY_YPAD                2
-#define DAY_XSEP                 0 /* not really good for small calendar */
+#define DAY_XSEP                0 /* not really good for small calendar */
 #define DAY_YSEP                0 /* not really good for small calendar */
 
 /* Color usage */
-#define HEADER_FG_COLOR(widget)          (& (widget)->style->fg[GTK_WIDGET_STATE (widget)])
-#define HEADER_BG_COLOR(widget)          (& (widget)->style->bg[GTK_WIDGET_STATE (widget)])
-#define DAY_NAME_COLOR(widget)           (& (widget)->style->dark[GTK_WIDGET_STATE (widget)])
-#define NORMAL_DAY_COLOR(widget)         (& (widget)->style->fg[GTK_WIDGET_STATE (widget)])
-#define SELECTION_FOCUS_COLOR(widget)    (& (widget)->style->fg[GTK_WIDGET_STATE (widget)])
+#define HEADER_FG_COLOR(widget)                 (& (widget)->style->fg[GTK_WIDGET_STATE (widget)])
+#define HEADER_BG_COLOR(widget)                 (& (widget)->style->bg[GTK_WIDGET_STATE (widget)])
+#define DAY_NAME_COLOR(widget)          (& (widget)->style->dark[GTK_WIDGET_STATE (widget)])
+#define NORMAL_DAY_COLOR(widget)        (& (widget)->style->fg[GTK_WIDGET_STATE (widget)])
+#define SELECTION_FOCUS_COLOR(widget)   (& (widget)->style->fg[GTK_WIDGET_STATE (widget)])
 #define SELECTION_NO_FOCUS_COLOR(widget) (& (widget)->style->mid[GTK_WIDGET_STATE (widget)])
-#define PREV_MONTH_COLOR(widget)         (& (widget)->style->mid[GTK_WIDGET_STATE (widget)])
-#define NEXT_MONTH_COLOR(widget)         (& (widget)->style->mid[GTK_WIDGET_STATE (widget)])
-#define MARKED_COLOR(widget)             (& (widget)->style->fg[GTK_WIDGET_STATE (widget)])
-#define FOREGROUND_COLOR(widget)         (& (widget)->style->fg[GTK_WIDGET_STATE (widget)])
-#define BACKGROUND_COLOR(widget)         (& (widget)->style->base[GTK_WIDGET_STATE (widget)])
-#define HIGHLIGHT_BACK_COLOR(widget)     (& (widget)->style->mid[GTK_WIDGET_STATE (widget)])
+#define PREV_MONTH_COLOR(widget)        (& (widget)->style->mid[GTK_WIDGET_STATE (widget)])
+#define NEXT_MONTH_COLOR(widget)        (& (widget)->style->mid[GTK_WIDGET_STATE (widget)])
+#define MARKED_COLOR(widget)            (& (widget)->style->fg[GTK_WIDGET_STATE (widget)])
+#define FOREGROUND_COLOR(widget)        (& (widget)->style->fg[GTK_WIDGET_STATE (widget)])
+#define BACKGROUND_COLOR(widget)        (& (widget)->style->base[GTK_WIDGET_STATE (widget)])
+#define HIGHLIGHT_BACK_COLOR(widget)    (& (widget)->style->mid[GTK_WIDGET_STATE (widget)])
 
 #define HEADER_FONT(widget) ((widget)->style->font)
 #define LABEL_FONT(widget)   ((widget)->style->font)
@@ -209,60 +209,68 @@ static gint gtk_calendar_signals[LAST_SIGNAL] = { 0 };
 
 typedef void (*GtkCalendarSignalDate) (GtkObject *object, guint arg1, guint arg2, guint arg3, gpointer data);
 
-static void gtk_calendar_class_init     (GtkCalendarClass *class);
-static void gtk_calendar_init           (GtkCalendar *calendar);
-static void gtk_calendar_realize        (GtkWidget *widget);
-static void gtk_calendar_unrealize      (GtkWidget *widget);
-static void gtk_calendar_draw_focus     (GtkWidget *widget);
-static void gtk_calendar_size_request   (GtkWidget *widget,
-                                        GtkRequisition *requisition);
-static void gtk_calendar_size_allocate  (GtkWidget *widget,
-                                        GtkAllocation *allocation);
-static gint gtk_calendar_expose         (GtkWidget *widget,
-                                        GdkEventExpose *event);
-static gint gtk_calendar_button_press   (GtkWidget *widget,
-                                        GdkEventButton *event);
-static void gtk_calendar_main_button    (GtkWidget *widget,
-                                        GdkEventButton *event);
-static gint gtk_calendar_motion_notify  (GtkWidget *widget,
-                                        GdkEventMotion *event);
-static gint gtk_calendar_enter_notify   (GtkWidget *widget,
-                                        GdkEventCrossing *event);
-static gint gtk_calendar_leave_notify   (GtkWidget *widget,
-                                        GdkEventCrossing *event);
-static gint gtk_calendar_key_press      (GtkWidget         *widget,
-                                         GdkEventKey       *event);
-static gint gtk_calendar_focus_in       (GtkWidget *widget,
-                                         GdkEventFocus *event);
-static gint gtk_calendar_focus_out      (GtkWidget *widget,
-                                         GdkEventFocus *event);
-static void gtk_calendar_state_changed  (GtkWidget *widget,
+static void gtk_calendar_class_init    (GtkCalendarClass *class);
+static void gtk_calendar_init          (GtkCalendar *calendar);
+static void gtk_calendar_realize       (GtkWidget *widget);
+static void gtk_calendar_unrealize     (GtkWidget *widget);
+static void gtk_calendar_draw_focus    (GtkWidget *widget);
+static void gtk_calendar_size_request  (GtkWidget *widget,
+                                        GtkRequisition *requisition);
+static void gtk_calendar_size_allocate (GtkWidget *widget,
+                                        GtkAllocation *allocation);
+static gint gtk_calendar_expose                (GtkWidget *widget,
+                                        GdkEventExpose *event);
+static gint gtk_calendar_button_press  (GtkWidget *widget,
+                                        GdkEventButton *event);
+static void gtk_calendar_main_button   (GtkWidget *widget,
+                                        GdkEventButton *event);
+static gint gtk_calendar_motion_notify (GtkWidget *widget,
+                                        GdkEventMotion *event);
+static gint gtk_calendar_enter_notify  (GtkWidget *widget,
+                                        GdkEventCrossing *event);
+static gint gtk_calendar_leave_notify  (GtkWidget *widget,
+                                        GdkEventCrossing *event);
+static gint gtk_calendar_key_press     (GtkWidget         *widget,
+                                        GdkEventKey       *event);
+static gint gtk_calendar_focus_in      (GtkWidget *widget,
+                                        GdkEventFocus *event);
+static gint gtk_calendar_focus_out     (GtkWidget *widget,
+                                        GdkEventFocus *event);
+static void gtk_calendar_state_changed (GtkWidget *widget,
                                         GtkStateType previous_state);
-static void gtk_calendar_style_set      (GtkWidget *widget,
+static void gtk_calendar_style_set     (GtkWidget *widget,
                                         GtkStyle  *previous_style);
-void gtk_calendar_paint_header          (GtkWidget *widget);
-void gtk_calendar_paint_day_names       (GtkWidget *widget);
-void gtk_calendar_paint_week_numbers    (GtkWidget *widget);
-void gtk_calendar_paint_main            (GtkWidget *widget);
-
-
-static void gtk_calendar_paint          (GtkWidget *widget, GdkRectangle *area);
-static void gtk_calendar_paint_arrow    (GtkWidget *widget, guint arrow);
-static void gtk_calendar_paint_day_num  (GtkWidget *widget, gint day);
-static void gtk_calendar_paint_day      (GtkWidget *widget, gint row, gint col);
-static void gtk_calendar_draw           (GtkWidget *widget, GdkRectangle *area);
-static void gtk_calendar_compute_days (GtkCalendar *calendar);
-static gint left_x_for_column (GtkCalendar *calendar, gint column);
-static gint top_y_for_row (GtkCalendar *calendar, gint row);
+static void gtk_calendar_paint_header      (GtkWidget *widget);
+static void gtk_calendar_paint_day_names    (GtkWidget *widget);
+static void gtk_calendar_paint_week_numbers (GtkWidget *widget);
+static void gtk_calendar_paint_main        (GtkWidget *widget);
+
+
+static void gtk_calendar_paint         (GtkWidget    *widget,
+                                        GdkRectangle *area);
+static void gtk_calendar_paint_arrow   (GtkWidget    *widget,
+                                        guint         arrow);
+static void gtk_calendar_paint_day_num (GtkWidget    *widget,
+                                        gint          day);
+static void gtk_calendar_paint_day     (GtkWidget    *widget,
+                                        gint          row,
+                                        gint          col);
+static void gtk_calendar_draw          (GtkWidget    *widget,
+                                        GdkRectangle *area);
+static void gtk_calendar_compute_days  (GtkCalendar  *calendar);
+static gint left_x_for_column          (GtkCalendar  *calendar,
+                                        gint          column);
+static gint top_y_for_row              (GtkCalendar  *calendar,
+                                        gint          row);
 
 static char    *default_abbreviated_dayname[7];
 static char    *default_monthname[12];
 
-guint
-gtk_calendar_get_type ()
+GtkType
+gtk_calendar_get_type (void)
 {
-  static guint calendar_type = 0;
-
+  static GtkType calendar_type = 0;
+  
   if (!calendar_type)
     {
       GtkTypeInfo calendar_info =
@@ -275,10 +283,10 @@ gtk_calendar_get_type ()
        (GtkArgSetFunc) NULL,
        (GtkArgGetFunc) NULL,
       };
-
-      calendar_type = gtk_type_unique (gtk_widget_get_type (), &calendar_info);
+      
+      calendar_type = gtk_type_unique (GTK_TYPE_WIDGET, &calendar_info);
     }
-
+  
   return calendar_type;
 }
 
@@ -287,12 +295,12 @@ gtk_calendar_class_init (GtkCalendarClass *class)
 {
   GtkObjectClass *object_class;
   GtkWidgetClass *widget_class;
-
+  
   object_class = (GtkObjectClass*) class;
   widget_class = (GtkWidgetClass*) class;
-
-  parent_class = gtk_type_class (gtk_widget_get_type ());
-
+  
+  parent_class = gtk_type_class (GTK_TYPE_WIDGET);
+  
   widget_class->realize = gtk_calendar_realize;
   widget_class->unrealize = gtk_calendar_unrealize;
   widget_class->expose_event = gtk_calendar_expose;
@@ -309,54 +317,52 @@ gtk_calendar_class_init (GtkCalendarClass *class)
   widget_class->focus_out_event = gtk_calendar_focus_out;
   widget_class->style_set = gtk_calendar_style_set;
   widget_class->state_changed = gtk_calendar_state_changed;
-
+  
   gtk_calendar_signals[MONTH_CHANGED_SIGNAL] =
     gtk_signal_new ("month_changed",
                    GTK_RUN_FIRST, object_class->type,
-                   GTK_SIGNAL_OFFSET (GtkCalendarClass, gtk_calendar_month_changed),
+                   GTK_SIGNAL_OFFSET (GtkCalendarClass, month_changed),
                    gtk_signal_default_marshaller, GTK_TYPE_NONE, 0);
   gtk_calendar_signals[DAY_SELECTED_SIGNAL] =
     gtk_signal_new ("day_selected",
                    GTK_RUN_FIRST, object_class->type,
-                   GTK_SIGNAL_OFFSET (GtkCalendarClass, gtk_calendar_day_selected),
+                   GTK_SIGNAL_OFFSET (GtkCalendarClass, day_selected),
                    gtk_signal_default_marshaller, GTK_TYPE_NONE, 0);
   gtk_calendar_signals[DAY_SELECTED_DOUBLE_CLICK_SIGNAL] =
     gtk_signal_new ("day_selected_double_click",
                    GTK_RUN_FIRST, object_class->type,
-                   GTK_SIGNAL_OFFSET (GtkCalendarClass, gtk_calendar_day_selected_double_click),
+                   GTK_SIGNAL_OFFSET (GtkCalendarClass, day_selected_double_click),
                    gtk_signal_default_marshaller, GTK_TYPE_NONE, 0);
   gtk_calendar_signals[PREV_MONTH_SIGNAL] =
     gtk_signal_new ("prev_month",
                    GTK_RUN_FIRST, object_class->type,
-                   GTK_SIGNAL_OFFSET (GtkCalendarClass, gtk_calendar_prev_month),
+                   GTK_SIGNAL_OFFSET (GtkCalendarClass, prev_month),
                    gtk_signal_default_marshaller, GTK_TYPE_NONE, 0);
   gtk_calendar_signals[NEXT_MONTH_SIGNAL] =
     gtk_signal_new ("next_month",
                    GTK_RUN_FIRST, object_class->type,
-                   GTK_SIGNAL_OFFSET (GtkCalendarClass, gtk_calendar_next_month),
+                   GTK_SIGNAL_OFFSET (GtkCalendarClass, next_month),
                    gtk_signal_default_marshaller, GTK_TYPE_NONE, 0);
   gtk_calendar_signals[PREV_YEAR_SIGNAL] =
     gtk_signal_new ("prev_year",
                    GTK_RUN_FIRST, object_class->type,
-                   GTK_SIGNAL_OFFSET (GtkCalendarClass, gtk_calendar_prev_year),
+                   GTK_SIGNAL_OFFSET (GtkCalendarClass, prev_year),
                    gtk_signal_default_marshaller, GTK_TYPE_NONE, 0);
   gtk_calendar_signals[NEXT_YEAR_SIGNAL] =
     gtk_signal_new ("next_year",
                    GTK_RUN_FIRST, object_class->type,
-                   GTK_SIGNAL_OFFSET (GtkCalendarClass, gtk_calendar_next_year),
+                   GTK_SIGNAL_OFFSET (GtkCalendarClass, next_year),
                    gtk_signal_default_marshaller, GTK_TYPE_NONE, 0);
-
+  
   gtk_object_class_add_signals (object_class, gtk_calendar_signals, LAST_SIGNAL);
-
-  class->gtk_calendar_month_changed = NULL;
-  class->gtk_calendar_day_selected = NULL;
-  class->gtk_calendar_day_selected_double_click = NULL;
-  class->gtk_calendar_prev_month = NULL;
-  class->gtk_calendar_next_month = NULL;
-  class->gtk_calendar_prev_year = NULL;
-  class->gtk_calendar_next_year = NULL;
-
-  return;
+  
+  class->month_changed = NULL;
+  class->day_selected = NULL;
+  class->day_selected_double_click = NULL;
+  class->prev_month = NULL;
+  class->next_month = NULL;
+  class->prev_year = NULL;
+  class->next_year = NULL;
 }
 
 static void
@@ -368,10 +374,10 @@ gtk_calendar_init (GtkCalendar *calendar)
   char buffer[255];
   time_t tmp_time;
   GtkWidget *widget;
-
+  
   widget = GTK_WIDGET (calendar);
   GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_FOCUS);
-
+  
   if (!default_abbreviated_dayname[0])
     for (i=0; i<7; i++)
       {
@@ -379,7 +385,7 @@ gtk_calendar_init (GtkCalendar *calendar)
        strftime ( buffer, sizeof (buffer), "%a", gmtime (&tmp_time));
        default_abbreviated_dayname[i] = g_strdup (buffer);
       }
-
+  
   if (!default_monthname[0])
     for (i=0; i<12; i++)
       {
@@ -387,26 +393,26 @@ gtk_calendar_init (GtkCalendar *calendar)
        strftime ( buffer, sizeof (buffer), "%B", gmtime (&tmp_time));
        default_monthname[i] = g_strdup (buffer);
       }
-
+  
   /* Set defaults */
   secs = time (NULL);
   tm = localtime (&secs);
   calendar->month = tm->tm_mon;
   calendar->year  = 1900 + tm->tm_year;
-
+  
   for (i=0;i<31;i++)
     calendar->marked_date[i] = FALSE;
   calendar->selected_day = 1;
-
+  
   calendar->arrow_width = 10;
-
+  
   /* Create cursor */
   /* calendar->cross = gdk_cursor_new (GDK_PLUS); */
-
+  
   calendar->highlight_row = -1;
   calendar->highlight_col = -1;
-
-
+  
+  
   calendar->max_day_char_width=0;
   calendar->max_week_char_width=0;
   calendar->dirty_header = 0;
@@ -417,33 +423,34 @@ gtk_calendar_init (GtkCalendar *calendar)
 }
 
 GtkWidget*
-gtk_calendar_new ()
+gtk_calendar_new (void)
 {
-  return GTK_WIDGET (gtk_type_new (gtk_calendar_get_type ()));
+  return GTK_WIDGET (gtk_type_new (GTK_TYPE_CALENDAR));
 }
 
 /* column_from_x: returns the column 0-6 that the
  * x pixel of the xwindow is in */
 static gint
-column_from_x (GtkCalendar *calendar, gint event_x)
+column_from_x (GtkCalendar *calendar,
+              gint         event_x)
 {
   gint c, column;
   gint x_left, x_right;
-
+  
   column = -1;
-
+  
   for (c = 0; c < 7; c++)
     {
       x_left = left_x_for_column (calendar, c);
       x_right = x_left + calendar->day_width;
-
+      
       if (event_x > x_left && event_x < x_right)
        {
          column = c;
          break;
        }
     }
-
+  
   return column;
 }
 
@@ -459,53 +466,56 @@ row_height (GtkCalendar *calendar)
 /* row_from_y: returns the row 0-5 that the
  * y pixel of the xwindow is in */
 static gint
-row_from_y (GtkCalendar *calendar, gint event_y)
+row_from_y (GtkCalendar *calendar,
+           gint         event_y)
 {
   gint r, row;
   gint height;
   gint y_top, y_bottom;
-
+  
   height = row_height (calendar);
   row = -1;
-
+  
   for (r = 0; r < 6; r++)
     {
       y_top = top_y_for_row (calendar, r);
       y_bottom = y_top + height;
-
+      
       if (event_y > y_top && event_y < y_bottom)
        {
          row = r;
          break;
        }
     }
-
+  
   return row;
 }
 
 /* left_x_for_column: returns the x coordinate
  * for the left of the column */
 static gint
-left_x_for_column (GtkCalendar *calendar, gint column)
+left_x_for_column (GtkCalendar *calendar,
+                  gint         column)
 {
   gint width;
   gint x_left;
-
+  
   width = calendar->day_width;
   if (calendar->display_flags & GTK_CALENDAR_SHOW_WEEK_NUMBERS)
     x_left =  DAY_XSEP + (width + DAY_XSEP) * column;
   else
     x_left = CALENDAR_MARGIN + (width + DAY_XSEP) * column;
-
+  
   return x_left;
 }
 
 /* top_y_for_row: returns the y coordinate
  * for the top of the row */
 static gint
-top_y_for_row (GtkCalendar *calendar, gint row)
+top_y_for_row (GtkCalendar *calendar,
+              gint         row)
 {
-
+  
   return calendar->main_h - (CALENDAR_MARGIN + (6 - row) *
                             row_height (calendar));
 }
@@ -513,10 +523,14 @@ top_y_for_row (GtkCalendar *calendar, gint row)
 /* This function should be done by the toolkit, but we don't like the
  * GTK arrows because they don't look good on this widget */
 static void
-draw_arrow_right (GdkWindow *window, GdkGC *gc, gint x, gint y, gint size)
+draw_arrow_right (GdkWindow *window,
+                 GdkGC     *gc,
+                 gint       x,
+                 gint       y,
+                 gint       size)
 {
   gint i;
-
+  
   for (i = 0; i <= size / 2; i++)
     {
       gdk_draw_line (window, gc,
@@ -530,10 +544,14 @@ draw_arrow_right (GdkWindow *window, GdkGC *gc, gint x, gint y, gint size)
 /* This function should be done by the toolkit, but we don't like the
  * GTK arrows because they don't look good on this widget */
 static void
-draw_arrow_left (GdkWindow *window, GdkGC *gc, gint x, gint y, gint size)
+draw_arrow_left (GdkWindow *window,
+                GdkGC     *gc,
+                gint       x,
+                gint       y,
+                gint       size)
 {
   gint i;
-
+  
   for (i = 0; i <= size / 2; i++)
     {
       gdk_draw_line (window, gc,
@@ -548,10 +566,10 @@ static void
 gtk_calendar_set_month_prev (GtkCalendar *calendar)
 {
   gint month_len;
-       
+  
   if (calendar->display_flags & GTK_CALENDAR_NO_MONTH_CHANGE)
     return;
-       
+  
   if (calendar->month == 0)
     {
       calendar->month = 11;
@@ -559,17 +577,17 @@ gtk_calendar_set_month_prev (GtkCalendar *calendar)
     } 
   else 
     calendar->month--;
-
+  
   month_len = month_length[leap (calendar->year)][calendar->month + 1];
-
+  
   gtk_calendar_freeze (calendar);
   gtk_calendar_compute_days (calendar);
-
+  
   gtk_signal_emit (GTK_OBJECT (calendar),
                   gtk_calendar_signals[PREV_MONTH_SIGNAL]);
   gtk_signal_emit (GTK_OBJECT (calendar),
                   gtk_calendar_signals[MONTH_CHANGED_SIGNAL]);
-
+  
   if (month_len < calendar->selected_day)
     {
       calendar->selected_day = 0;
@@ -582,7 +600,7 @@ gtk_calendar_set_month_prev (GtkCalendar *calendar)
       else
        gtk_calendar_select_day (calendar, calendar->selected_day);
     }
-
+  
   gtk_calendar_select_day (calendar, calendar->selected_day);
   gtk_calendar_paint (GTK_WIDGET (calendar), NULL);
   gtk_calendar_thaw (calendar);
@@ -593,14 +611,14 @@ static void
 gtk_calendar_set_month_next (GtkCalendar *calendar)
 {
   gint month_len;
-
+  
   g_return_if_fail (calendar != NULL);
   g_return_if_fail (GTK_IS_WIDGET (calendar));
-
+  
   if (calendar->display_flags & GTK_CALENDAR_NO_MONTH_CHANGE)
     return;
-
-       
+  
+  
   if (calendar->month == 11)
     {
       calendar->month = 0;
@@ -608,16 +626,16 @@ gtk_calendar_set_month_next (GtkCalendar *calendar)
     } 
   else 
     calendar->month++;
-
+  
   gtk_calendar_freeze (calendar);
   gtk_calendar_compute_days (calendar);
   gtk_signal_emit (GTK_OBJECT (calendar),
                   gtk_calendar_signals[NEXT_MONTH_SIGNAL]);
   gtk_signal_emit (GTK_OBJECT (calendar),
                   gtk_calendar_signals[MONTH_CHANGED_SIGNAL]);
-
+  
   month_len = month_length[leap (calendar->year)][calendar->month + 1];
-
+  
   if (month_len < calendar->selected_day)
     {
       calendar->selected_day = 0;
@@ -625,7 +643,7 @@ gtk_calendar_set_month_next (GtkCalendar *calendar)
     }
   else
     gtk_calendar_select_day (calendar, calendar->selected_day);
-
+  
   gtk_calendar_paint (GTK_WIDGET(calendar), NULL);
   gtk_calendar_thaw (calendar);
 }
@@ -634,10 +652,10 @@ static void
 gtk_calendar_set_year_prev (GtkCalendar *calendar)
 {
   gint month_len;
-
+  
   g_return_if_fail (calendar != NULL);
   g_return_if_fail (GTK_IS_WIDGET (calendar));
-
+  
   calendar->year--;
   gtk_calendar_freeze (calendar);
   gtk_calendar_compute_days (calendar);
@@ -645,9 +663,9 @@ gtk_calendar_set_year_prev (GtkCalendar *calendar)
                   gtk_calendar_signals[PREV_YEAR_SIGNAL]);
   gtk_signal_emit (GTK_OBJECT (calendar),
                   gtk_calendar_signals[MONTH_CHANGED_SIGNAL]);
-
+  
   month_len = month_length[leap (calendar->year)][calendar->month + 1];
-
+  
   if (month_len < calendar->selected_day)
     {
       calendar->selected_day = 0;
@@ -655,7 +673,7 @@ gtk_calendar_set_year_prev (GtkCalendar *calendar)
     }
   else
     gtk_calendar_select_day (calendar, calendar->selected_day);
-
+  
   gtk_calendar_paint (GTK_WIDGET (calendar), NULL);
   gtk_calendar_thaw (calendar);
 }
@@ -665,23 +683,23 @@ gtk_calendar_set_year_next (GtkCalendar *calendar)
 {
   gint month_len;
   GtkWidget *widget;
-
+  
   g_return_if_fail (calendar != NULL);
   g_return_if_fail (GTK_IS_WIDGET (calendar));
-
+  
   widget = GTK_WIDGET (calendar);
-
+  
   gtk_calendar_freeze (calendar);
-
+  
   calendar->year++;
   gtk_calendar_compute_days (calendar);
   gtk_signal_emit (GTK_OBJECT (calendar),
                   gtk_calendar_signals[NEXT_YEAR_SIGNAL]);
   gtk_signal_emit (GTK_OBJECT (calendar),
                   gtk_calendar_signals[MONTH_CHANGED_SIGNAL]);
-
+  
   month_len = month_length[leap (calendar->year)][calendar->month + 1];
-
+  
   if (month_len < calendar->selected_day)
     {
       calendar->selected_day = 0;
@@ -689,30 +707,30 @@ gtk_calendar_set_year_next (GtkCalendar *calendar)
     }
   else
     gtk_calendar_select_day (calendar, calendar->selected_day);
-
+  
   gtk_calendar_paint (GTK_WIDGET (calendar), NULL);
   gtk_calendar_thaw (calendar);
 }
 
 static void
-gtk_calendar_main_button (GtkWidget      *widget,
+gtk_calendar_main_button (GtkWidget     *widget,
                          GdkEventButton *event)
 {
   GtkCalendar *calendar;
   gint x, y;
   gint row, col;
   gint day_month;
-
+  
   calendar = GTK_CALENDAR (widget);
-
+  
   x = (gint) (event->x);
   y = (gint) (event->y);
-
+  
   row = row_from_y (calendar, y);
   col = column_from_x (calendar, x);
-
+  
   day_month = calendar->day_month[row][col];
-
+  
   if (day_month == MONTH_CURRENT)
     {
       if (event->type == GDK_2BUTTON_PRESS)
@@ -738,10 +756,10 @@ gtk_calendar_realize_arrows (GtkWidget *widget)
   GdkWindowAttr attributes;
   gint attributes_mask;
   gint i;
-
+  
   g_return_if_fail (widget != NULL);
   g_return_if_fail (GTK_IS_CALENDAR (widget));
-
+  
   calendar = GTK_CALENDAR (widget);
   /* Arrow windows ------------------------------------- */
   if (! (calendar->display_flags & GTK_CALENDAR_NO_MONTH_CHANGE)
@@ -796,12 +814,12 @@ gtk_calendar_realize_header (GtkWidget *widget)
   GtkCalendar *calendar;
   GdkWindowAttr attributes;
   gint attributes_mask;
-
+  
   g_return_if_fail (widget != NULL);
   g_return_if_fail (GTK_IS_CALENDAR (widget));
-
+  
   calendar = GTK_CALENDAR (widget);
-
+  
   /* Header window ------------------------------------- */
   if (calendar->display_flags & GTK_CALENDAR_SHOW_HEADING)
     {
@@ -817,16 +835,16 @@ gtk_calendar_realize_header (GtkWidget *widget)
       attributes.height = calendar->header_h;
       calendar->header_win = gdk_window_new (widget->window,
                                             &attributes, attributes_mask);
-
+      
       gdk_window_set_background (calendar->header_win,
                                 HEADER_BG_COLOR (GTK_WIDGET (calendar)));
       gdk_window_show (calendar->header_win);
       gdk_window_set_user_data (calendar->header_win, widget);
-
+      
     }
   else
     calendar->header_win = NULL;
-
+  
   gtk_calendar_realize_arrows (widget);
 }
 
@@ -836,13 +854,13 @@ gtk_calendar_realize_day_names (GtkWidget *widget)
   GtkCalendar *calendar;
   GdkWindowAttr attributes;
   gint attributes_mask;
-
+  
   g_return_if_fail (widget != NULL);
   g_return_if_fail (GTK_IS_CALENDAR (widget));
-
+  
   calendar = GTK_CALENDAR (widget);
-
-  /* Day names  window --------------------------------- */
+  
+  /* Day names window --------------------------------- */
   if ( calendar->display_flags & GTK_CALENDAR_SHOW_DAY_NAMES)
     {
       attributes.wclass = GDK_INPUT_OUTPUT;
@@ -871,10 +889,10 @@ gtk_calendar_realize_week_numbers (GtkWidget *widget)
   GtkCalendar *calendar;
   GdkWindowAttr attributes;
   gint attributes_mask;
-
+  
   g_return_if_fail (widget != NULL);
   g_return_if_fail (GTK_IS_CALENDAR (widget));
-
+  
   calendar = GTK_CALENDAR (widget);
   /* Week number window -------------------------------- */
   if (calendar->display_flags & GTK_CALENDAR_SHOW_WEEK_NUMBERS)
@@ -884,7 +902,7 @@ gtk_calendar_realize_week_numbers (GtkWidget *widget)
       attributes.visual = gtk_widget_get_visual (widget);
       attributes.colormap = gtk_widget_get_colormap (widget);
       attributes.event_mask = gtk_widget_get_events (widget) | GDK_EXPOSURE_MASK;
-
+      
       attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
       attributes.x = + (widget->style->klass->xthickness + INNER_BORDER);
       attributes.y = (calendar->header_h + calendar->day_name_h 
@@ -901,22 +919,21 @@ gtk_calendar_realize_week_numbers (GtkWidget *widget)
     calendar->week_win = NULL;
 }
 
-
 static void
 gtk_calendar_realize (GtkWidget *widget)
 {
   GtkCalendar *calendar;
   GdkWindowAttr attributes;
   gint attributes_mask;
-
+  
   g_return_if_fail (widget != NULL);
   g_return_if_fail (GTK_IS_CALENDAR (widget));
-
+  
   calendar = GTK_CALENDAR (widget);
-
+  
   GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);
   gtk_calendar_compute_days (calendar);
-
+  
   attributes.x = widget->allocation.x;
   attributes.y = widget->allocation.y;
   attributes.width = widget->allocation.width;
@@ -927,24 +944,24 @@ gtk_calendar_realize (GtkWidget *widget)
                            | GDK_EXPOSURE_MASK |GDK_KEY_PRESS_MASK);
   attributes.visual = gtk_widget_get_visual (widget);
   attributes.colormap = gtk_widget_get_colormap (widget);
-
+  
   attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
   widget->window = gdk_window_new (widget->parent->window,
                                   &attributes, attributes_mask);
-
+  
   widget->style = gtk_style_attach (widget->style, widget->window);
-
+  
   /* Header window ------------------------------------- */
   gtk_calendar_realize_header (widget);
-  /* Day names  window --------------------------------- */
+  /* Day names window --------------------------------- */
   gtk_calendar_realize_day_names (widget);
   /* Week number window -------------------------------- */
   gtk_calendar_realize_week_numbers (widget);
-  /* Main Window --------------------------------------  */
+  /* Main Window --------------------------------------         */
   attributes.event_mask =  (gtk_widget_get_events (widget) | GDK_EXPOSURE_MASK
                            | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
                            | GDK_POINTER_MOTION_MASK | GDK_LEAVE_NOTIFY_MASK);
-
+  
   if (calendar->display_flags & GTK_CALENDAR_SHOW_WEEK_NUMBERS)
     attributes.x = calendar->week_width;
   else
@@ -961,7 +978,7 @@ gtk_calendar_realize (GtkWidget *widget)
   gdk_window_set_background (widget->window, BACKGROUND_COLOR (widget));
   gdk_window_show (widget->window);
   gdk_window_set_user_data (widget->window, widget);
-
+  
   /* Set widgets gc */
   calendar->gc = gdk_gc_new (widget->window);
 }
@@ -971,12 +988,12 @@ gtk_calendar_unrealize (GtkWidget *widget)
 {
   GtkCalendar *calendar;
   gint i;
-
+  
   g_return_if_fail (widget != NULL);
   g_return_if_fail (GTK_IS_CALENDAR (widget));
-
+  
   calendar = GTK_CALENDAR (widget);
-
+  
   if (calendar->header_win)
     {
       for (i=0; i<4; i++)
@@ -990,27 +1007,27 @@ gtk_calendar_unrealize (GtkWidget *widget)
       gdk_window_destroy (calendar->header_win);
       calendar->header_win = NULL;
     }
-
+  
   if (calendar->week_win)
     {
       gdk_window_set_user_data (calendar->week_win, NULL);
       gdk_window_destroy (calendar->week_win);
       calendar->week_win = NULL;      
     }
-
+  
   if (calendar->main_win)
     {
       gdk_window_set_user_data (calendar->main_win, NULL);
       gdk_window_destroy (calendar->main_win);
       calendar->main_win = NULL;      
     }
-
+  
   if (GTK_WIDGET_CLASS (parent_class)->unrealize)
     (* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget);
 }
 
 static void
-gtk_calendar_size_request (GtkWidget      *widget,
+gtk_calendar_size_request (GtkWidget     *widget,
                           GtkRequisition *requisition)
 {
   GtkCalendar *calendar;
@@ -1019,23 +1036,20 @@ gtk_calendar_size_request (GtkWidget      *widget,
   gchar buffer[255];
   gint calendar_margin = CALENDAR_MARGIN;
   gint header_width, main_width;
-  gint day_font_lbearing;
-  gint day_font_rbearing;
-  gint day_font_width;
   gint lbearing;
   gint rbearing;
   gint ascent;
   gint descent;
   gint width;
-
+  
   calendar = GTK_CALENDAR (widget);
-
+  
   /*
-   * Calculate the requisition  width for the widget.
+   * Calculate the requisition width for the widget.
    */
-
+  
   /* Header width */
-
+  
   if (calendar->display_flags & GTK_CALENDAR_SHOW_HEADING)
     {
       calendar->max_month_width = 0;
@@ -1043,7 +1057,7 @@ gtk_calendar_size_request (GtkWidget      *widget,
        calendar->max_month_width = MAX (calendar->max_month_width,
                                         gdk_string_measure (HEADER_FONT (widget),
                                                             default_monthname[i]) + 8);
-
+      
       calendar->max_year_width = 0;
       for (i=0; i<10; i++)
        {
@@ -1058,16 +1072,16 @@ gtk_calendar_size_request (GtkWidget      *widget,
       calendar->max_month_width = 0;
       calendar->max_year_width = 0;
     }
-
+  
   if (calendar->display_flags & GTK_CALENDAR_NO_MONTH_CHANGE)
     header_width = (calendar->max_month_width + calendar->max_year_width
                    + 3 * 3);
   else
     header_width = (calendar->max_month_width + calendar->max_year_width
                    + 4 * calendar->arrow_width + 3 * 3);
-
+  
   /* Mainwindow labels width */
-
+  
   calendar->max_day_char_width = 0;
   for (i = 0; i < 9; i++)
     {
@@ -1078,7 +1092,7 @@ gtk_calendar_size_request (GtkWidget      *widget,
     }
   /* We add one to max_day_char_width to be able to make the marked day "bold" */
   calendar->max_day_char_width = calendar->min_day_width / 2 +1;
-
+  
   if (calendar->display_flags & GTK_CALENDAR_SHOW_DAY_NAMES)
     for (i = 0; i < 7; i++)
       {
@@ -1096,7 +1110,7 @@ gtk_calendar_size_request (GtkWidget      *widget,
        calendar->max_label_char_descent = MAX (calendar->max_label_char_descent
                                                , descent);
       }
-
+  
   calendar->max_week_char_width = 0;
   if (calendar->display_flags & GTK_CALENDAR_SHOW_WEEK_NUMBERS)
     for (i = 0; i < 9; i++)
@@ -1105,26 +1119,26 @@ gtk_calendar_size_request (GtkWidget      *widget,
        calendar->max_week_char_width = MAX (calendar->max_week_char_width,
                                             gdk_string_measure (LABEL_FONT (widget), buffer) / 2);
       }
-
+  
   main_width = (7 * (calendar->min_day_width + DAY_XPAD * 2) + (DAY_XSEP * 6) + CALENDAR_MARGIN * 2
                + (calendar->max_week_char_width
                   ? calendar->max_week_char_width * 2 + DAY_XPAD * 2 + CALENDAR_XSEP * 2
                   : 0));
-
-
+  
+  
   requisition->width = MAX (header_width, main_width + (widget->style->klass->xthickness + INNER_BORDER) *2);
-
+  
   /*
    * Calculate the requisition height for the widget.
    */
-
+  
   if (calendar->display_flags & GTK_CALENDAR_SHOW_HEADING)
     calendar->header_h = (HEADER_FONT (widget)->ascent + HEADER_FONT (widget)->descent
                          + CALENDAR_YSEP * 2);
   else
     calendar->header_h = 0;
-
-
+  
+  
   if (calendar->display_flags & GTK_CALENDAR_SHOW_DAY_NAMES)
     {
       calendar->day_name_h = (calendar->max_label_char_ascent
@@ -1134,25 +1148,25 @@ gtk_calendar_size_request (GtkWidget      *widget,
     } 
   else
     calendar->day_name_h = 0;
-
+  
   gdk_text_extents (DAY_FONT (widget),
-                    "0123456789",
-                    10,
-                    &lbearing,
-                    &rbearing,
-                    &width,
-                    &calendar->max_day_char_ascent,
-                    &calendar->max_day_char_descent);
-
+                   "0123456789",
+                   10,
+                   &lbearing,
+                   &rbearing,
+                   &width,
+                   &calendar->max_day_char_ascent,
+                   &calendar->max_day_char_descent);
+  
   calendar->main_h = (CALENDAR_MARGIN + calendar_margin
                      + 6 * (calendar->max_day_char_ascent
                             + calendar->max_day_char_descent + DAY_YPAD * 2)
                      + DAY_YSEP * 5);
-
+  
   /* 
    * If we display weeknumbers we need some extra space 
    */
-
+  
   if (calendar->display_flags & GTK_CALENDAR_SHOW_WEEK_NUMBERS)
     calendar->main_h = MAX (calendar->main_h,
                            (CALENDAR_MARGIN + calendar_margin
@@ -1160,26 +1174,26 @@ gtk_calendar_size_request (GtkWidget      *widget,
                                    + calendar->max_day_char_descent 
                                    + DAY_YPAD * 2)
                             + DAY_YSEP * 5));
-
+  
   height = calendar->header_h + calendar->day_name_h + calendar->main_h;
-
+  
   requisition->height = height + (widget->style->klass->ythickness + INNER_BORDER) * 2;
 }
 
 static void
-gtk_calendar_size_allocate (GtkWidget     *widget,
+gtk_calendar_size_allocate (GtkWidget    *widget,
                            GtkAllocation *allocation)
 {
   GtkCalendar *calendar;
-
+  
   g_return_if_fail (widget != NULL);
   g_return_if_fail (GTK_IS_CALENDAR (widget));
   g_return_if_fail (allocation != NULL);
-
+  
   widget->allocation = *allocation;
-
+  
   calendar = GTK_CALENDAR (widget);
-
+  
   if (calendar->display_flags & GTK_CALENDAR_SHOW_WEEK_NUMBERS)
     {
       calendar->day_width = (calendar->min_day_width
@@ -1198,12 +1212,12 @@ gtk_calendar_size_allocate (GtkWidget     *widget,
                             - (DAY_XSEP * 7))/7;
       calendar->week_width = 0;
     }
-
+  
   if (GTK_WIDGET_REALIZED (widget))
     {
       gdk_window_move_resize (widget->window,
                              allocation->x, allocation->y,
-                              allocation->width, allocation->height);
+                             allocation->width, allocation->height);
       if (calendar->header_win)
        gdk_window_move_resize (calendar->header_win,
                                0, 0,
@@ -1255,8 +1269,6 @@ gtk_calendar_size_allocate (GtkWidget     *widget,
     }
 }
 
-
-
 static void
 gtk_calendar_draw_focus (GtkWidget *widget)
 {
@@ -1274,13 +1286,13 @@ gtk_calendar_draw_focus (GtkWidget *widget)
       y = 0;
       gdk_window_get_size (widget->window, &width, &height);
       gdk_window_clear (widget->window);
-
+      
       if (calendar->display_flags & GTK_CALENDAR_SHOW_HEADING)
        {
          y += calendar->header_h;
          height -= calendar->header_h;
        }
-
+      
       if (GTK_WIDGET_HAS_FOCUS (widget))
        {
          x += 1;
@@ -1309,79 +1321,78 @@ gtk_calendar_draw_focus (GtkWidget *widget)
 }
 
 static gint
-gtk_calendar_expose (GtkWidget      *widget,
-                     GdkEventExpose *event)
+gtk_calendar_expose (GtkWidget     *widget,
+                    GdkEventExpose *event)
 {
   GtkCalendar *calendar;
-
+  
   g_return_val_if_fail (widget != NULL, FALSE);
   g_return_val_if_fail (GTK_IS_CALENDAR (widget), FALSE);
   g_return_val_if_fail (event != NULL, FALSE);
-
+  
   calendar = GTK_CALENDAR (widget);
-
+  
   if (GTK_WIDGET_DRAWABLE (widget))
     {
       if (event->window == calendar->main_win)
        gtk_calendar_paint_main (widget);
-
+      
       if (event->window == calendar->header_win)
        gtk_calendar_paint_header (widget);
-
+      
       if (event->window == calendar->day_name_win)
        gtk_calendar_paint_day_names (widget);
-
+      
       if (event->window == calendar->week_win)
        gtk_calendar_paint_week_numbers (widget);
       if (event->window == widget->window)
        gtk_widget_draw_focus (widget);
     }
-
+  
   return FALSE;
 }
 
 static void
-gtk_calendar_draw (GtkWidget    *widget,
-                   GdkRectangle *area)
+gtk_calendar_draw (GtkWidget   *widget,
+                  GdkRectangle *area)
 {
   g_return_if_fail (widget != NULL);
   g_return_if_fail (GTK_IS_CALENDAR (widget));
   g_return_if_fail (area != NULL);
-
+  
   if (GTK_WIDGET_DRAWABLE (widget))
     gtk_calendar_paint (widget, area);
-
+  
 }
 
-
 static void
-gtk_calendar_paint (GtkWidget    *widget,
-                    GdkRectangle *area)
+gtk_calendar_paint (GtkWidget   *widget,
+                   GdkRectangle *area)
 {
   GtkCalendar *calendar;
-
+  
   g_return_if_fail (widget != NULL);
   g_return_if_fail (widget->window != NULL);
   g_return_if_fail (GTK_IS_CALENDAR (widget));
-
+  
   calendar = GTK_CALENDAR (widget);
-
+  
   if (calendar->main_win != NULL)
     gtk_calendar_paint_main (widget);
-
+  
   if (calendar->header_win != NULL)
     gtk_calendar_paint_header (widget);
-
+  
   if (calendar->day_name_win != NULL)
     gtk_calendar_paint_day_names (widget);
-
+  
   if (calendar->week_win != NULL)
     gtk_calendar_paint_week_numbers (widget);
-
+  
   gtk_widget_draw_focus (widget);
 }
 
-void
+static void
 gtk_calendar_paint_header (GtkWidget *widget)
 {
   GtkCalendar *calendar;
@@ -1392,7 +1403,7 @@ gtk_calendar_paint_header (GtkWidget *widget)
   gint str_width;
   gint max_month_width;
   gint max_year_width;
-
+  
   calendar = GTK_CALENDAR (widget);
   if (calendar->frozen)
     {
@@ -1401,27 +1412,27 @@ gtk_calendar_paint_header (GtkWidget *widget)
     }
   calendar->dirty_header = 0;
   gc = calendar->gc;
-
+  
   /* Clear window */
   gdk_window_clear (calendar->header_win);
-
+  
   cal_width = widget->allocation.width;
   cal_height = widget->allocation.height;
-
+  
   max_month_width = calendar->max_month_width;
   max_year_width = calendar->max_year_width;
-
+  
   gdk_gc_set_foreground (gc, BACKGROUND_COLOR (GTK_WIDGET (calendar)));
   gtk_draw_shadow (widget->style, calendar->header_win,
-                  GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+                  GTK_STATE_NORMAL, GTK_SHADOW_OUT,
                   0, 0, cal_width, calendar->header_h);
   
-
+  
   /* Draw title */
   y = calendar->header_h - (calendar->header_h - HEADER_FONT (widget)->ascent
                            + HEADER_FONT (widget)->descent) / 2;
   y_arrow = (calendar->header_h - 9) / 2;
-
+  
   /* Draw year and its arrows */
   sprintf (buffer, "%d", calendar->year);
   str_width = gdk_string_measure (HEADER_FONT (widget), buffer);
@@ -1436,7 +1447,7 @@ gtk_calendar_paint_header (GtkWidget *widget)
                     cal_width - (3 + calendar->arrow_width + max_year_width
                                  - (max_year_width - str_width)/2),
                     y, buffer);
-
+  
   /* Draw month */
   sprintf (buffer, "%s", default_monthname[calendar->month]);
   str_width = gdk_string_measure (HEADER_FONT (widget), buffer);
@@ -1448,19 +1459,19 @@ gtk_calendar_paint_header (GtkWidget *widget)
     gdk_draw_string (calendar->header_win, HEADER_FONT (widget), gc,
                     3 + calendar->arrow_width + (max_month_width - str_width)/2,
                     y, buffer);
-
+  
   y += CALENDAR_YSEP + HEADER_FONT (widget)->descent;
-
+  
   gdk_gc_set_foreground (gc, BACKGROUND_COLOR (GTK_WIDGET (calendar)));
-
+  
   gtk_calendar_paint_arrow (widget, ARROW_MONTH_LEFT);
   gtk_calendar_paint_arrow (widget, ARROW_MONTH_RIGHT);
   gtk_calendar_paint_arrow (widget, ARROW_YEAR_LEFT);
   gtk_calendar_paint_arrow (widget, ARROW_YEAR_RIGHT);
-
+  
 }
 
-void
+static void
 gtk_calendar_paint_day_names (GtkWidget *widget)
 {
   GtkCalendar *calendar;
@@ -1471,57 +1482,57 @@ gtk_calendar_paint_day_names (GtkWidget *widget)
   gint cal_height;
   int day_wid_sep;
   int str_width;
-
+  
   g_return_if_fail (widget != NULL);
   g_return_if_fail (GTK_IS_CALENDAR (widget));
   calendar = GTK_CALENDAR (widget);
   gc = calendar->gc;
-
+  
   /*
    * Handle freeze/thaw functionality
    */
-
+  
   if (calendar->frozen)
     {
       calendar->dirty_day_names = 1;
       return;
     }
   calendar->dirty_day_names = 0;
-
+  
   /*
    * Clear the window
    */
-
+  
   gdk_window_clear (calendar->day_name_win);
-
+  
   day_width = calendar->day_width;
   cal_width = widget->allocation.width;
   cal_height = widget->allocation.height;
   day_wid_sep = day_width + DAY_XSEP;
-
+  
   /*
    * Draw rectangles as inverted background for the labels.
    */
-
+  
   gdk_gc_set_foreground (gc, DAY_NAME_COLOR (GTK_WIDGET (calendar)));
   gdk_gc_set_background (gc, DAY_NAME_COLOR (GTK_WIDGET (calendar)));
   gdk_draw_rectangle (calendar->day_name_win, gc, TRUE,
                      CALENDAR_MARGIN, CALENDAR_MARGIN,
                      cal_width-CALENDAR_MARGIN * 2,
                      calendar->day_name_h - CALENDAR_MARGIN);
-
-
+  
+  
   if (calendar->display_flags & GTK_CALENDAR_SHOW_WEEK_NUMBERS)
     gdk_draw_rectangle (calendar->day_name_win, gc, TRUE,
                        CALENDAR_MARGIN,
                        calendar->day_name_h - CALENDAR_YSEP,
                        calendar->week_width - CALENDAR_YSEP - CALENDAR_MARGIN,
                        CALENDAR_YSEP);
-
+  
   /*
    * Write the labels
    */
-
+  
   gdk_gc_set_foreground (gc, BACKGROUND_COLOR ( GTK_WIDGET (calendar)));
   for (i = 0; i < 7; i++)
     {
@@ -1531,7 +1542,7 @@ gtk_calendar_paint_day_names (GtkWidget *widget)
       sprintf (buffer, "%s", default_abbreviated_dayname[day]);
       str_width = gdk_string_measure (LABEL_FONT (widget), buffer);
       gdk_draw_string (calendar->day_name_win, LABEL_FONT (widget),
-                       gc,
+                      gc,
                       ((calendar->week_width ? CALENDAR_XSEP : CALENDAR_MARGIN)
                        + day_wid_sep * i
                        + calendar->week_width
@@ -1541,7 +1552,7 @@ gtk_calendar_paint_day_names (GtkWidget *widget)
     }
 }
 
-void
+static void
 gtk_calendar_paint_week_numbers (GtkWidget *widget)
 {
   GtkCalendar *calendar;
@@ -1550,34 +1561,34 @@ gtk_calendar_paint_week_numbers (GtkWidget *widget)
   gint x_loc;
   char buffer[3];
   gint y_baseline, day_height;
-
+  
   g_return_if_fail (widget != NULL);
   g_return_if_fail (widget->window != NULL);
   g_return_if_fail (GTK_IS_CALENDAR (widget));
   calendar = GTK_CALENDAR (widget);
   gc = calendar->gc;
-
+  
   /*
    * Handle freeze/thaw functionality
    */
-
+  
   if (calendar->frozen)
     {
       calendar->dirty_week = 1;
       return;
     }
   calendar->dirty_week = 0;
-
+  
   /*
    * Clear the window
    */
-
+  
   gdk_window_clear (calendar->week_win);
-
+  
   /*
    * Draw a rectangle as inverted background for the labels.
    */
-
+  
   gdk_gc_set_foreground (gc, DAY_NAME_COLOR (GTK_WIDGET (calendar)));
   gdk_gc_set_background (gc, DAY_NAME_COLOR (GTK_WIDGET (calendar)));
   if (calendar->day_name_win)
@@ -1592,11 +1603,11 @@ gtk_calendar_paint_week_numbers (GtkWidget *widget)
                        CALENDAR_MARGIN,
                        calendar->week_width - CALENDAR_MARGIN - CALENDAR_XSEP,
                        calendar->main_h - 2 * CALENDAR_MARGIN);
-
+  
   /*
    * Write the labels
    */
-
+  
   gdk_gc_set_foreground (gc, BACKGROUND_COLOR (GTK_WIDGET (calendar)));
   day_height = row_height (calendar);
   for (row = 0; row < 6; row++)
@@ -1614,14 +1625,14 @@ gtk_calendar_paint_week_numbers (GtkWidget *widget)
                                      - DAY_XPAD * 2 - CALENDAR_MARGIN ) / 2
              - calendar->max_week_char_width
              - CALENDAR_XSEP - DAY_XPAD);
-
+      
       if (week > 9)
        {
          sprintf (buffer, "%d", week/10);
          gdk_draw_string (calendar->week_win, LABEL_FONT (widget), gc,
                           x_loc, y_baseline , buffer);
        }
-
+      
       sprintf (buffer, "%d", week%10);
       gdk_draw_string (calendar->week_win, LABEL_FONT (widget), gc,
                       x_loc + calendar->max_week_char_width, y_baseline , buffer);
@@ -1629,16 +1640,17 @@ gtk_calendar_paint_week_numbers (GtkWidget *widget)
 }
 
 static void
-gtk_calendar_paint_day_num (GtkWidget *widget, gint day)
+gtk_calendar_paint_day_num (GtkWidget *widget,
+                           gint       day)
 {
   GtkCalendar *calendar;
   gint r, c, row, col;
-
+  
   g_return_if_fail (widget != NULL);
   g_return_if_fail (GTK_IS_CALENDAR (widget));
+  
   calendar = GTK_CALENDAR (widget);
-
+  
   row = -1;
   col = -1;
   for (r = 0; r < 6; r++)
@@ -1649,16 +1661,17 @@ gtk_calendar_paint_day_num (GtkWidget *widget, gint day)
          row = r;
          col = c;
        }
-
+  
   g_return_if_fail (row != -1);
   g_return_if_fail (col != -1);
-
+  
   gtk_calendar_paint_day (widget, row, col);
 }
 
-
 static void
-gtk_calendar_paint_day (GtkWidget *widget, gint row, gint col)
+gtk_calendar_paint_day (GtkWidget *widget,
+                       gint       row,
+                       gint       col)
 {
   GtkCalendar *calendar;
   GdkGC *gc;
@@ -1670,40 +1683,40 @@ gtk_calendar_paint_day (GtkWidget *widget, gint row, gint col)
   gint y_top;
   gint y_baseline;
   gint day_xspace;
-
+  
   g_return_if_fail (widget != NULL);
   g_return_if_fail (GTK_IS_CALENDAR (widget));
   g_return_if_fail (row < 6);
   g_return_if_fail (col < 7);
   calendar = GTK_CALENDAR (widget);
-
+  
   /*
    * Handle freeze/thaw functionality
    */
-
+  
   if (calendar->frozen)
     {
       calendar->dirty_main = 1;
       return;
     }
-
+  
   day_height = row_height (calendar);
-
+  
   day_xspace = calendar->day_width - calendar->max_day_char_width*2;
-
+  
   day = calendar->day[row][col];
-
+  
   x_left = left_x_for_column (calendar, col);
   x_loc = x_left + calendar->day_width / 2 + calendar->max_day_char_width;
-
+  
   y_top = top_y_for_row (calendar, row);
   y_baseline = y_top + (day_height + calendar->max_day_char_ascent)/2;
-
+  
   gdk_window_clear_area (calendar->main_win, x_left, y_top,
                         calendar->day_width, day_height);
-
+  
   gc = calendar->gc;
-
+  
   if (calendar->day_month[row][col] == MONTH_PREV)
     {
       gdk_gc_set_foreground (gc, PREV_MONTH_COLOR (GTK_WIDGET (calendar)));
@@ -1726,13 +1739,13 @@ gtk_calendar_paint_day (GtkWidget *widget, gint row, gint col)
          if (GTK_WIDGET_HAS_FOCUS (widget))
            gdk_gc_set_foreground (gc, SELECTION_FOCUS_COLOR  (GTK_WIDGET (calendar)));
          else
-           gdk_gc_set_foreground (gc, SELECTION_NO_FOCUS_COLOR  (GTK_WIDGET (calendar)));
+           gdk_gc_set_foreground (gc, SELECTION_NO_FOCUS_COLOR  (GTK_WIDGET (calendar)));
          gdk_draw_rectangle (calendar->main_win, gc, FALSE, x_left, y_top,
-                                 calendar->day_width-1, day_height-1);
+                             calendar->day_width-1, day_height-1);
        }
       
       if (calendar->marked_date[day-1])
-       gdk_gc_set_foreground (gc, MARKED_COLOR  (GTK_WIDGET (calendar)));
+       gdk_gc_set_foreground (gc, MARKED_COLOR  (GTK_WIDGET (calendar)));
       else
        gdk_gc_set_foreground (gc, NORMAL_DAY_COLOR (GTK_WIDGET (calendar)));
     }
@@ -1741,8 +1754,8 @@ gtk_calendar_paint_day (GtkWidget *widget, gint row, gint col)
   x_loc -= gdk_string_measure (DAY_FONT (widget), buffer);
   sprintf (buffer, "%d", day);
   gdk_draw_string (calendar->main_win,
-                   DAY_FONT (widget), gc,
-                   x_loc, y_baseline, buffer);
+                  DAY_FONT (widget), gc,
+                  x_loc, y_baseline, buffer);
   if (calendar->marked_date[day-1])
     gdk_draw_string (calendar->main_win,
                     DAY_FONT (widget), gc,
@@ -1750,16 +1763,16 @@ gtk_calendar_paint_day (GtkWidget *widget, gint row, gint col)
 }
 
 
-void
+static void
 gtk_calendar_paint_main (GtkWidget *widget)
 {
   GtkCalendar *calendar;
   gint row, col;
-
+  
   g_return_if_fail (widget != NULL);
   g_return_if_fail (widget->window != NULL);
   g_return_if_fail (GTK_IS_CALENDAR (widget));
-
+  
   calendar = GTK_CALENDAR (widget);
   if (calendar->frozen)
     {
@@ -1768,9 +1781,9 @@ gtk_calendar_paint_main (GtkWidget *widget)
     }
   calendar->dirty_main = 0;
   gdk_window_clear (calendar->main_win);
-
-  //  gtk_calendar_compute_days (calendar); /* REMOVE later */
-
+  
+  /* gtk_calendar_compute_days (calendar); */ /* REMOVE later */
+  
   for (col = 0; col < 7; col++)
     for (row = 0; row < 6; row++)
       gtk_calendar_paint_day (widget, row, col);
@@ -1787,30 +1800,30 @@ gtk_calendar_compute_days (GtkCalendar *calendar)
   gint row;
   gint col;
   gint day;
-
+  
   g_return_if_fail (calendar != NULL);
   g_return_if_fail (GTK_IS_CALENDAR (calendar));
-
+  
   year = calendar->year;
   month = calendar->month + 1;
-
+  
   ndays_in_month = month_length[leap (year)][month];
-
+  
   first_day = day_of_week (year, month, 1);
-
+  
   if (calendar->display_flags & GTK_CALENDAR_WEEK_START_MONDAY)
     first_day--;
   else
     first_day %= 7;
-
-
+  
+  
   /* Compute days of previous month */
   if (month > 1)
     ndays_in_prev_month = month_length[leap (year)][month-1];
   else
     ndays_in_prev_month = month_length[leap (year)][12];
   day = ndays_in_prev_month - first_day + 1;
-
+  
   row = 0;
   if (first_day > 0)
     {
@@ -1821,14 +1834,14 @@ gtk_calendar_compute_days (GtkCalendar *calendar)
          day++;
        }
     }
-
+  
   /* Compute days of current month */
   col = first_day;
   for (day = 1; day <= ndays_in_month; day++)
     {
       calendar->day[row][col] = day;
       calendar->day_month[row][col] = MONTH_CURRENT;
-
+      
       col++;
       if (col == 7)
        {
@@ -1836,7 +1849,7 @@ gtk_calendar_compute_days (GtkCalendar *calendar)
          col = 0;
        }
     }
-
+  
   /* Compute days of next month */
   day = 1;
   for (; row <= 5; row++)
@@ -1854,27 +1867,29 @@ gtk_calendar_compute_days (GtkCalendar *calendar)
 /* ----------------------------------------------------------------------
    NAME:       gtk_calendar_display_options
    DESCRIPTION:        Set display options (whether to display the
-                heading and the month headings)
-
-                 flags is can be an XOR of:
-                GTK_CALENDAR_SHOW_HEADING
-                GTK_CALENDAR_SHOW_DAY_NAMES
-                GTK_CALENDAR_NO_MONTH_CHANGE
-                GTK_CALENDAR_SHOW_WEEK_NUMBERS
-                GTK_CALENDAR_WEEK_START_MONDAY
+   heading and the month headings)
+   
+   flags is can be an XOR of:
+   GTK_CALENDAR_SHOW_HEADING
+   GTK_CALENDAR_SHOW_DAY_NAMES
+   GTK_CALENDAR_NO_MONTH_CHANGE
+   GTK_CALENDAR_SHOW_WEEK_NUMBERS
+   GTK_CALENDAR_WEEK_START_MONDAY
    ---------------------------------------------------------------------- */
 
-void gtk_calendar_display_options (GtkCalendar *calendar,
-                                  GtkCalendarDisplayOptions flags)
+void
+gtk_calendar_display_options (GtkCalendar             *calendar,
+                             GtkCalendarDisplayOptions flags)
 {
   gint resize = 0;
   GtkWidget *widget;
   gint i;
-
+  
+  g_return_if_fail (calendar != NULL);
   g_return_if_fail (GTK_IS_CALENDAR (calendar));
-  g_return_if_fail (GTK_IS_WIDGET (calendar));
+  
   widget = GTK_WIDGET (calendar);
-
+  
   if (GTK_WIDGET_REALIZED (widget))
     {
       if ((flags ^ calendar->display_flags) & GTK_CALENDAR_NO_MONTH_CHANGE)
@@ -1897,11 +1912,11 @@ void gtk_calendar_display_options (GtkCalendar *calendar,
                  }
            }
        }
-
+      
       if ((flags ^ calendar->display_flags) & GTK_CALENDAR_SHOW_HEADING)
        {
          resize++;
-       
+         
          if (flags & GTK_CALENDAR_SHOW_HEADING)
            {
              calendar->display_flags |= GTK_CALENDAR_SHOW_HEADING;
@@ -1921,12 +1936,12 @@ void gtk_calendar_display_options (GtkCalendar *calendar,
              calendar->header_win = NULL;
            }
        }
-
-
+      
+      
       if ((flags ^ calendar->display_flags) & GTK_CALENDAR_SHOW_DAY_NAMES)
        {
          resize++;
-       
+         
          if (flags & GTK_CALENDAR_SHOW_DAY_NAMES)
            {
              calendar->display_flags |= GTK_CALENDAR_SHOW_DAY_NAMES;
@@ -1939,11 +1954,11 @@ void gtk_calendar_display_options (GtkCalendar *calendar,
              calendar->day_name_win = NULL;
            }
        }
-
+      
       if ((flags ^ calendar->display_flags) & GTK_CALENDAR_SHOW_WEEK_NUMBERS)
        {
          resize++;
-       
+         
          if (flags & GTK_CALENDAR_SHOW_WEEK_NUMBERS)
            {
              calendar->display_flags |= GTK_CALENDAR_SHOW_WEEK_NUMBERS;
@@ -1956,58 +1971,62 @@ void gtk_calendar_display_options (GtkCalendar *calendar,
              calendar->week_win = NULL;
            }
        }
-
+      
       if ((flags ^ calendar->display_flags) & GTK_CALENDAR_WEEK_START_MONDAY)
        {
          if (calendar->display_flags & GTK_CALENDAR_WEEK_START_MONDAY)
            calendar->display_flags &= ~GTK_CALENDAR_WEEK_START_MONDAY;
          else
            calendar->display_flags |= GTK_CALENDAR_WEEK_START_MONDAY;
-
+         
          gtk_calendar_compute_days (calendar);
          gtk_calendar_paint_main (GTK_WIDGET (calendar));
          if (calendar->day_name_win)
            gtk_calendar_paint_day_names (GTK_WIDGET (calendar));
        }
-
+      
       calendar->display_flags = flags;
       if (resize)
        gtk_widget_queue_resize (GTK_WIDGET (calendar));
-
+      
     } 
   else
     calendar->display_flags = flags;
-
+  
 }
 
 gint
-gtk_calendar_select_month (GtkCalendar *calendar, gint month, gint year)
+gtk_calendar_select_month (GtkCalendar *calendar,
+                          guint        month,
+                          guint        year)
 {
   g_return_val_if_fail (calendar != NULL, FALSE);
-  g_return_val_if_fail (month >= 0 && month <= 11, FALSE);
   g_return_val_if_fail (GTK_IS_CALENDAR (calendar), FALSE);
-
+  g_return_val_if_fail (month <= 11, FALSE);
+  
   calendar->month = month;
   calendar->year  = year;
-
+  
   gtk_calendar_compute_days (calendar);
-
+  
   if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
     gtk_calendar_paint (GTK_WIDGET (calendar), NULL);
-
+  
   gtk_signal_emit (GTK_OBJECT (calendar),
-                          gtk_calendar_signals[MONTH_CHANGED_SIGNAL]);
+                  gtk_calendar_signals[MONTH_CHANGED_SIGNAL]);
   return TRUE;
 }
 
 void
-gtk_calendar_select_day (GtkCalendar *calendar, gint day)
+gtk_calendar_select_day (GtkCalendar *calendar,
+                        guint        day)
 {
   g_return_if_fail (calendar != NULL);
-  g_return_if_fail (GTK_IS_CALENDAR(calendar));
+  g_return_if_fail (GTK_IS_CALENDAR (calendar));
+  g_return_if_fail (day <= 31);
+  
+  /* gtk_calendar_compute_days (calendar); */
   
-  //  gtk_calendar_compute_days (calendar);
-                   
   /* Deselect the old day */
   if (calendar->selected_day > 0)
     {
@@ -2018,137 +2037,147 @@ gtk_calendar_select_day (GtkCalendar *calendar, gint day)
       if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
        gtk_calendar_paint_day_num (GTK_WIDGET (calendar), selected_day);
     }
-
+  
   calendar->selected_day = day;
-       
+  
   /* Deselect the new day */
   if (day != 0)
     {
       if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
-        gtk_calendar_paint_day_num (GTK_WIDGET (calendar), day);
+       gtk_calendar_paint_day_num (GTK_WIDGET (calendar), day);
     }
-
+  
   gtk_signal_emit (GTK_OBJECT (calendar),
-                   gtk_calendar_signals[DAY_SELECTED_SIGNAL]);
+                  gtk_calendar_signals[DAY_SELECTED_SIGNAL]);
 }
 
 void
 gtk_calendar_clear_marks (GtkCalendar *calendar)
 {
-  gint day;
-
+  guint day;
+  
   g_return_if_fail (calendar != NULL);
-
-  for (day = 0; day < 31; day ++)
+  g_return_if_fail (GTK_IS_CALENDAR (calendar));
+  
+  for (day = 0; day < 31; day++)
     {
       calendar->marked_date[day] = FALSE;
     }
-
-  if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
+  
+  if (GTK_WIDGET_DRAWABLE (calendar))
     {
       gtk_calendar_paint_main (GTK_WIDGET (calendar));
     }
 }
 
 gint
-gtk_calendar_mark_day (GtkCalendar *calendar, gint day)
+gtk_calendar_mark_day (GtkCalendar *calendar,
+                      guint        day)
 {
   g_return_val_if_fail (calendar != NULL, FALSE);
-
-  if (day>=1 && day <=31)
-    calendar->marked_date[day-1] = TRUE;
-
+  g_return_val_if_fail (GTK_IS_CALENDAR (calendar), FALSE);
+  
+  if (day >= 1 && day <= 31)
+    calendar->marked_date[day - 1] = TRUE;
+  
   if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
     {
       gtk_calendar_paint_main (GTK_WIDGET (calendar));
     }
+  
   return TRUE;
 }
 
 gint
-gtk_calendar_unmark_day (GtkCalendar *calendar, gint day)
+gtk_calendar_unmark_day (GtkCalendar *calendar,
+                        guint        day)
 {
   g_return_val_if_fail (calendar != NULL, FALSE);
-
-  if (day>=1 && day <=31)
-    calendar->marked_date[day-1] = FALSE;
-
+  g_return_val_if_fail (GTK_IS_CALENDAR (calendar), FALSE);
+  
+  if (day >= 1 && day <= 31)
+    calendar->marked_date[day - 1] = FALSE;
+  
   if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
     {
       gtk_calendar_paint_main (GTK_WIDGET (calendar));
     }
+  
   return TRUE;
 }
 
 void
-gtk_calendar_get_date (GtkCalendar *calendar, gint *year, gint *month, gint *day)
+gtk_calendar_get_date (GtkCalendar *calendar,
+                      guint       *year,
+                      guint       *month,
+                      guint       *day)
 {
   g_return_if_fail (calendar != NULL);
   g_return_if_fail (GTK_IS_CALENDAR (calendar));
-
+  
   if (year)
     *year = calendar->year;
-
+  
   if (month)
     *month = calendar->month;
-
+  
   if (day)
     *day = calendar->selected_day;
 }
 
 static gint
-gtk_calendar_button_press (GtkWidget      *widget,
+gtk_calendar_button_press (GtkWidget     *widget,
                           GdkEventButton *event)
 {
   GtkCalendar *calendar;
   gint x, y;
-
+  
   g_return_val_if_fail (widget != NULL, FALSE);
   g_return_val_if_fail (GTK_IS_CALENDAR (widget), FALSE);
   g_return_val_if_fail (event != NULL, FALSE);
-
+  
   calendar = GTK_CALENDAR (widget);
-
+  
   x = (gint) (event->x);
   y = (gint) (event->y);
-
+  
   if (event->window == calendar->arrow_win[ARROW_MONTH_LEFT])
     gtk_calendar_set_month_prev (calendar);
-
+  
   if (event->window == calendar->arrow_win[ARROW_MONTH_RIGHT])
     gtk_calendar_set_month_next (calendar);
-
+  
   if (event->window == calendar->arrow_win[ARROW_YEAR_LEFT])
     gtk_calendar_set_year_prev (calendar);
-
+  
   if (event->window == calendar->arrow_win[ARROW_YEAR_RIGHT])
     gtk_calendar_set_year_next (calendar);
-
+  
   if (event->window == calendar->main_win)
     gtk_calendar_main_button (widget, event);
-
+  
   return FALSE;
 }
 
 static gint
-gtk_calendar_motion_notify (GtkWidget      *widget,
+gtk_calendar_motion_notify (GtkWidget     *widget,
                            GdkEventMotion *event)
 {
   GtkCalendar *calendar;
   gint event_x, event_y;
   gint row, col;
   gint old_row, old_col;
-
+  
   calendar = (GtkCalendar*) widget;
   event_x = (gint) (event->x);
   event_y = (gint) (event->y);
-
+  
   if (event->window == calendar->main_win)
     {
-
+      
       row = row_from_y (calendar, event_y);
       col = column_from_x (calendar, event_x);
-
+      
       if (row != calendar->highlight_row || calendar->highlight_col != col)
        {
          old_row = calendar->highlight_row;
@@ -2159,10 +2188,10 @@ gtk_calendar_motion_notify (GtkWidget      *widget,
              calendar->highlight_col = -1;
              gtk_calendar_paint_day (widget, old_row, old_col);
            }
-
+         
          calendar->highlight_row = row;
          calendar->highlight_col = col;
-
+         
          if (row > -1 && col > -1)
            gtk_calendar_paint_day (widget, row, col);
        }
@@ -2171,56 +2200,56 @@ gtk_calendar_motion_notify (GtkWidget      *widget,
 }
 
 static gint
-gtk_calendar_enter_notify (GtkWidget      *widget,
-                          GdkEventCrossing *event)
+gtk_calendar_enter_notify (GtkWidget       *widget,
+                          GdkEventCrossing *event)
 {
   GtkCalendar *calendar;
-
+  
   g_return_val_if_fail (widget != NULL, FALSE);
   g_return_val_if_fail (event != NULL, FALSE);
-
+  
   calendar = GTK_CALENDAR (widget);
-
+  
   if (event->window == calendar->arrow_win[ARROW_MONTH_LEFT])
     {
       calendar->arrow_state[ARROW_MONTH_LEFT] = GTK_STATE_PRELIGHT;
       gtk_calendar_paint_arrow (widget, ARROW_MONTH_LEFT);
     }
-
+  
   if (event->window == calendar->arrow_win[ARROW_MONTH_RIGHT])
     {
       calendar->arrow_state[ARROW_MONTH_RIGHT] = GTK_STATE_PRELIGHT;
       gtk_calendar_paint_arrow (widget, ARROW_MONTH_RIGHT);
     }
-
+  
   if (event->window == calendar->arrow_win[ARROW_YEAR_LEFT])
     {
       calendar->arrow_state[ARROW_YEAR_LEFT] = GTK_STATE_PRELIGHT;
       gtk_calendar_paint_arrow (widget, ARROW_YEAR_LEFT);
     }
-
+  
   if (event->window == calendar->arrow_win[ARROW_YEAR_RIGHT])
     {
       calendar->arrow_state[ARROW_YEAR_RIGHT] = GTK_STATE_PRELIGHT;
       gtk_calendar_paint_arrow (widget, ARROW_YEAR_RIGHT);
     }
-
+  
   return TRUE;
 }
 
 static gint
-gtk_calendar_leave_notify (GtkWidget      *widget,
-                          GdkEventCrossing *event)
+gtk_calendar_leave_notify (GtkWidget       *widget,
+                          GdkEventCrossing *event)
 {
   GtkCalendar *calendar;
   gint row;
   gint col;
-
+  
   g_return_val_if_fail (widget != NULL, FALSE);
   g_return_val_if_fail (event != NULL, FALSE);
-
+  
   calendar = GTK_CALENDAR (widget);
-
+  
   if (event->window == calendar->main_win)
     {
       row = calendar->highlight_row;
@@ -2230,45 +2259,46 @@ gtk_calendar_leave_notify (GtkWidget      *widget,
       if (row > -1 && col > -1)
        gtk_calendar_paint_day (widget, row, col);
     }
-
+  
   if (event->window == calendar->arrow_win[ARROW_MONTH_LEFT])
     {
       calendar->arrow_state[ARROW_MONTH_LEFT] = GTK_STATE_NORMAL;
       gtk_calendar_paint_arrow (widget, ARROW_MONTH_LEFT);
     }
-
+  
   if (event->window == calendar->arrow_win[ARROW_MONTH_RIGHT])
     {
       calendar->arrow_state[ARROW_MONTH_RIGHT] = GTK_STATE_NORMAL;
       gtk_calendar_paint_arrow (widget, ARROW_MONTH_RIGHT);
     }
-
+  
   if (event->window == calendar->arrow_win[ARROW_YEAR_LEFT])
     {
       calendar->arrow_state[ARROW_YEAR_LEFT] = GTK_STATE_NORMAL;
       gtk_calendar_paint_arrow (widget, ARROW_YEAR_LEFT);
     }
-
+  
   if (event->window == calendar->arrow_win[ARROW_YEAR_RIGHT])
     {
       calendar->arrow_state[ARROW_YEAR_RIGHT] = GTK_STATE_NORMAL;
       gtk_calendar_paint_arrow (widget, ARROW_YEAR_RIGHT);
     }
-
+  
   return TRUE;
 }
 
 static void
-gtk_calendar_paint_arrow (GtkWidget *widget, guint arrow)
+gtk_calendar_paint_arrow (GtkWidget *widget,
+                         guint      arrow)
 {
   GdkWindow *window;
   GdkGC *gc;
   GtkCalendar *calendar;
   gint state;
   gint width, height;
-
+  
   g_return_if_fail (widget != NULL);
-
+  
   calendar = GTK_CALENDAR (widget);
   if (calendar->frozen)
     {
@@ -2280,16 +2310,16 @@ gtk_calendar_paint_arrow (GtkWidget *widget, guint arrow)
     {
       state  = calendar->arrow_state[arrow];
       gc = calendar->gc;
-
+      
       gdk_window_clear (window);
       gdk_window_set_background (window, &(widget)->style->bg[state]);
       gdk_window_get_size (window, &width, &height);
       gdk_window_clear_area (window,
                             0,0,
                             width,height);
-
+      
       gdk_gc_set_foreground (gc, & (widget)->style->fg[state]);
-
+      
       if (arrow == ARROW_MONTH_LEFT || arrow == ARROW_YEAR_LEFT)
        draw_arrow_left (window, gc, width/2 - 3, height/2 - 4, 8);
       else 
@@ -2301,32 +2331,36 @@ gtk_calendar_paint_arrow (GtkWidget *widget, guint arrow)
 void
 gtk_calendar_freeze (GtkCalendar *calendar)
 {
+  g_return_if_fail (calendar != NULL);
   g_return_if_fail (GTK_IS_CALENDAR (calendar));
+  
   calendar->frozen++;
 }
 
 void
 gtk_calendar_thaw (GtkCalendar *calendar)
 {
+  g_return_if_fail (calendar != NULL);
   g_return_if_fail (GTK_IS_CALENDAR (calendar));
+  
   if (calendar->frozen)
     {
       calendar->frozen--;
       if (calendar->frozen)
-        return;
-
+       return;
+      
       if (calendar->dirty_header)
        if (GTK_WIDGET_DRAWABLE (calendar))
          gtk_calendar_paint_header (GTK_WIDGET (calendar));
-
+      
       if (calendar->dirty_day_names)
        if (GTK_WIDGET_DRAWABLE (calendar))
          gtk_calendar_paint_day_names (GTK_WIDGET (calendar));
-
+      
       if (calendar->dirty_week)
        if (GTK_WIDGET_DRAWABLE (calendar))
          gtk_calendar_paint_week_numbers (GTK_WIDGET (calendar));
-
+      
       if (calendar->dirty_main)
        if (GTK_WIDGET_DRAWABLE (calendar))
          gtk_calendar_paint_main (GTK_WIDGET (calendar));
@@ -2334,24 +2368,26 @@ gtk_calendar_thaw (GtkCalendar *calendar)
 }
 
 static void
-gtk_calendar_set_background(GtkWidget *widget)
+gtk_calendar_set_background (GtkWidget *widget)
 {
   GtkCalendar *calendar;
   gint i;
-
+  
+  g_return_if_fail (widget != NULL);
   g_return_if_fail (GTK_IS_CALENDAR (widget));
+  
   if (GTK_WIDGET_REALIZED (widget))
     {
       calendar = GTK_CALENDAR (widget);
       for (i=0; i<4; i++)
        if (calendar->arrow_win[i])
-        gdk_window_set_background (calendar->arrow_win[i], HEADER_BG_COLOR (widget));
+         gdk_window_set_background (calendar->arrow_win[i], HEADER_BG_COLOR (widget));
       if (calendar->header_win)
        gdk_window_set_background (calendar->header_win, HEADER_BG_COLOR (widget));
       if (calendar->day_name_win)
        gdk_window_set_background (calendar->day_name_win, BACKGROUND_COLOR (widget));
       if (calendar->week_win)
-       gdk_window_set_background (calendar->week_win,  BACKGROUND_COLOR (widget));
+       gdk_window_set_background (calendar->week_win,  BACKGROUND_COLOR (widget));
       if (calendar->main_win)
        gdk_window_set_background (calendar->main_win, BACKGROUND_COLOR (widget));
       if (widget->window)
@@ -2367,32 +2403,33 @@ gtk_calendar_style_set (GtkWidget *widget,
 {
   g_return_if_fail (widget != NULL);
   g_return_if_fail (GTK_IS_CALENDAR (widget));
-
+  
   if (previous_style && GTK_WIDGET_REALIZED (widget))
     gtk_calendar_set_background(widget);
 }
 
 static void
-gtk_calendar_state_changed (GtkWidget      *widget,
-                         GtkStateType    previous_state)
+gtk_calendar_state_changed (GtkWidget     *widget,
+                           GtkStateType    previous_state)
 {
   g_return_if_fail (widget != NULL);
   g_return_if_fail (GTK_IS_CALENDAR (widget));
-
-  gtk_calendar_set_background(widget);
+  
+  gtk_calendar_set_background (widget);
 }
 
-static gint gtk_calendar_focus_in       (GtkWidget         *widget,
-                                         GdkEventFocus     *event)
+static gint
+gtk_calendar_focus_in (GtkWidget        *widget,
+                      GdkEventFocus     *event)
 {
   GtkCalendar *calendar;
-
+  
   g_return_val_if_fail (widget != NULL, FALSE);
   g_return_val_if_fail (GTK_IS_CALENDAR (widget), FALSE);
   g_return_val_if_fail (event != NULL, FALSE);
-
+  
   calendar = GTK_CALENDAR (widget);
-
+  
   GTK_WIDGET_SET_FLAGS (widget, GTK_HAS_FOCUS);
   gtk_widget_draw_focus (widget);
   gtk_calendar_paint_day_num (widget, calendar->selected_day);
@@ -2401,47 +2438,46 @@ static gint gtk_calendar_focus_in       (GtkWidget         *widget,
   if (GTK_EDITABLE(widget)->ic)
     gdk_im_begin (GTK_EDITABLE(widget)->ic, GTK_ENTRY(widget)->text_area);
 #endif
-
+  
   return FALSE;
-
 }
 
-static gint gtk_calendar_focus_out      (GtkWidget         *widget,
-                                         GdkEventFocus     *event)
+static gint
+gtk_calendar_focus_out (GtkWidget        *widget,
+                       GdkEventFocus     *event)
 {
   GtkCalendar *calendar;
-
+  
   g_return_val_if_fail (widget != NULL, FALSE);
   g_return_val_if_fail (GTK_IS_CALENDAR (widget), FALSE);
   g_return_val_if_fail (event != NULL, FALSE);
-
+  
   calendar = GTK_CALENDAR (widget);
-
+  
   GTK_WIDGET_UNSET_FLAGS (widget, GTK_HAS_FOCUS);
   gtk_widget_draw_focus (widget);
   gtk_calendar_paint_day_num (widget, calendar->selected_day);
 #ifdef USE_XIM
   gdk_im_end ();
 #endif
-
+  
   return FALSE;
 }
 
 static gint
 gtk_calendar_key_press (GtkWidget   *widget,
-                     GdkEventKey *event)
+                       GdkEventKey *event)
 {
   GtkCalendar *calendar;
   gint return_val;
-
+  
   g_return_val_if_fail (widget != NULL, FALSE);
   g_return_val_if_fail (GTK_IS_CALENDAR (widget), FALSE);
   g_return_val_if_fail (event != NULL, FALSE);
-
+  
   calendar = GTK_CALENDAR (widget);
   return_val = FALSE;
-
-
+  
   switch (event->keyval)
     {
     case GDK_Left:
@@ -2541,6 +2577,7 @@ gtk_calendar_key_press (GtkWidget   *widget,
            gtk_calendar_select_day (calendar, calendar->selected_day + 7);
        }
       break;
-    }   
+    }  
+  
   return return_val;
 }
index b09a95d791cdf07595fda1cfa9f747eecbe49aae..c49f373effe80b0dd3b0789a9c99dc3b74122ba6 100644 (file)
  *
  * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.         See the GNU
  * Library General Public License for more details.
  *
  * You should have received a copy of the GNU Library General Public
  * License along with this library; if not, write to the Free
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-
 #ifndef __GTK_CALENDAR_H__
 #define __GTK_CALENDAR_H__
 
 #include <gdk/gdk.h>
 #include <gtk/gtksignal.h>
 #include <gtk/gtkwidget.h>
-#include <gtk/gtkfeatures.h>
+
 
 #ifdef __cplusplus
 extern "C" {
+#pragma }
 #endif /* __cplusplus */
 
-#define GTK_CALENDAR(obj)          GTK_CHECK_CAST (obj, gtk_calendar_get_type (), GtkCalendar)
-#define GTK_CALENDAR_CLASS(klass)  GTK_CHECK_CLASS_CAST (klass, gtk_calendar_get_type (), GtkCalendarClass)
-#define GTK_IS_CALENDAR(obj)       GTK_CHECK_TYPE (obj, gtk_calendar_get_type ())
 
-typedef struct _GtkCalendar            GtkCalendar;
+#define GTK_TYPE_CALENDAR                 (gtk_calendar_get_type ())
+#define GTK_CALENDAR(obj)                 (GTK_CHECK_CAST ((obj), GTK_TYPE_CALENDAR, GtkCalendar))
+#define GTK_CALENDAR_CLASS(klass)         (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_CALENDAR, GtkCalendarClass))
+#define GTK_IS_CALENDAR(obj)              (GTK_CHECK_TYPE ((obj), GTK_TYPE_CALENDAR))
+#define GTK_IS_CALENDAR_CLASS(klass)      (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CALENDAR))
+
+
+typedef struct _GtkCalendar           GtkCalendar;
 typedef struct _GtkCalendarClass       GtkCalendarClass;
 
 typedef enum
 {
-  GTK_CALENDAR_SHOW_HEADING            = 1 << 0,
-  GTK_CALENDAR_SHOW_DAY_NAMES          = 1 << 1,
-  GTK_CALENDAR_NO_MONTH_CHANGE                 = 1 << 2,
-  GTK_CALENDAR_SHOW_WEEK_NUMBERS       = 1 << 3,
+  GTK_CALENDAR_SHOW_HEADING            = 1 << 0,
+  GTK_CALENDAR_SHOW_DAY_NAMES          = 1 << 1,
+  GTK_CALENDAR_NO_MONTH_CHANGE         = 1 << 2,
+  GTK_CALENDAR_SHOW_WEEK_NUMBERS       = 1 << 3,
   GTK_CALENDAR_WEEK_START_MONDAY       = 1 << 4
 } GtkCalendarDisplayOptions;
 
@@ -51,47 +55,47 @@ struct _GtkCalendar
 {
   /* This widget is derived from GtkWidget */
   GtkWidget widget;
+  
   GdkWindow *header_win, *day_name_win, *main_win, *week_win;
   gint header_h, day_name_h, main_h;
   
   GtkStyle  *header_style;
   GtkStyle  *label_style;
-
+  
   gint month;
   gint year;
   gint selected_day;
-
+  
   gint day_month[6][7];
   gint day[6][7];
-
+  
   gint num_marked_dates;
   gint marked_date[31];
   GtkCalendarDisplayOptions  display_flags;
   GdkColor marked_date_color[31];
-
+  
   /* Header Information */
   GdkWindow *arrow_win[4];
-  gint       arrow_state[4];
-  gint       arrow_width;
-  gint       max_month_width;
-  gint       max_year_width;
-
+  gint      arrow_state[4];
+  gint      arrow_width;
+  gint      max_month_width;
+  gint      max_year_width;
+  
   /* Other info */
   gint calstarty, calnumrows;
-
+  
   /* Style parameters for this widget */
   GdkGC *gc;
   GdkCursor *cross;
-
+  
   gint day_width;
   gint week_width;
   GdkRectangle header_button[4];
   GdkRectangle rect_days[6][7];
-
+  
   gint highlight_row;
   gint highlight_col;
-
+  
   gint min_day_width;
   gint max_day_char_width;
   gint max_day_char_ascent;
@@ -105,7 +109,7 @@ struct _GtkCalendar
   unsigned int dirty_main:1;
   unsigned int dirty_week:1;
   unsigned int frozen;
-
+  
   gint week_num_w;
   gint font_width_day_name, font_width_day;
   char grow_space [32];
@@ -114,39 +118,50 @@ struct _GtkCalendar
 struct _GtkCalendarClass
 {
   GtkWidgetClass parent_class;
-
+  
   /* Signal handlers */
-  void (* gtk_calendar_month_changed) (GtkCalendarClass *);
-  void (* gtk_calendar_day_selected) (GtkCalendarClass *);
-  void (* gtk_calendar_day_selected_double_click) (GtkCalendarClass *);
-  void (* gtk_calendar_prev_month) (GtkCalendarClass *);
-  void (* gtk_calendar_next_month) (GtkCalendarClass *);
-  void (* gtk_calendar_prev_year) (GtkCalendarClass *);
-  void (* gtk_calendar_next_year) (GtkCalendarClass *);
+  void (* month_changed)               (GtkCalendarClass *calendar);
+  void (* day_selected)                        (GtkCalendarClass *calendar);
+  void (* day_selected_double_click)   (GtkCalendarClass *calendar);
+  void (* prev_month)                  (GtkCalendarClass *calendar);
+  void (* next_month)                  (GtkCalendarClass *calendar);
+  void (* prev_year)                   (GtkCalendarClass *calendar);
+  void (* next_year)                   (GtkCalendarClass *calendar);
+  
 };
 
 
-guint      gtk_calendar_get_type       (void);
-GtkWidget* gtk_calendar_new            (void);
+GtkType           gtk_calendar_get_type        (void);
+GtkWidget* gtk_calendar_new            (void);
+
+gint      gtk_calendar_select_month    (GtkCalendar *calendar, 
+                                        guint        month,
+                                        guint        year);
+void      gtk_calendar_select_day      (GtkCalendar *calendar,
+                                        guint        day);
+
+gint      gtk_calendar_mark_day        (GtkCalendar *calendar,
+                                        guint        day);
+gint      gtk_calendar_unmark_day      (GtkCalendar *calendar,
+                                        guint        day);
+void      gtk_calendar_clear_marks     (GtkCalendar *calendar);
+
+
+void      gtk_calendar_display_options (GtkCalendar              *calendar,
+                                        GtkCalendarDisplayOptions flags);
 
-gint       gtk_calendar_select_month   (GtkCalendar *calendar, 
-                                        gint month, gint year);
-void       gtk_calendar_select_day     (GtkCalendar *calendar, gint day);
+void      gtk_calendar_get_date        (GtkCalendar *calendar, 
+                                        guint       *year,
+                                        guint       *month,
+                                        guint       *day);
+void      gtk_calendar_freeze          (GtkCalendar *calendar);
+void      gtk_calendar_thaw            (GtkCalendar *calendar);
 
-gint       gtk_calendar_mark_day       (GtkCalendar *calendar, gint day);
-gint       gtk_calendar_unmark_day     (GtkCalendar *calendar, gint day);
-void       gtk_calendar_clear_marks    (GtkCalendar *calendar);
 
 
-void      gtk_calendar_display_options (GtkCalendar *calendar,
-                                         GtkCalendarDisplayOptions flags);
 
-void       gtk_calendar_get_date        (GtkCalendar *calendar, 
-                                        gint *year, gint *month, gint *day);
-void       gtk_calendar_freeze          (GtkCalendar *calendar);
-void       gtk_calendar_thaw            (GtkCalendar *calendar);
 #ifdef __cplusplus
+#pragma {
 }
 #endif /* __cplusplus */
 
index e9c21d2935b98c761c8df73506f033b2c304f50c..f5a51a30d87ba6a287f5a1e3d830918b5a698dc3 100644 (file)
@@ -1685,8 +1685,19 @@ gtk_clist_get_selectable (GtkCList *clist,
 }
 
 gint
-gtk_clist_append (GtkCList * clist,
-                 gchar * text[])
+gtk_clist_prepend (GtkCList *clist,
+                  gchar    *text[])
+{
+  g_return_val_if_fail (clist != NULL, -1);
+  g_return_val_if_fail (GTK_IS_CLIST (clist), -1);
+  g_return_val_if_fail (text != NULL, -1);
+
+  return GTK_CLIST_CLASS_FW (clist)->insert_row (clist, 0, text);
+}
+
+gint
+gtk_clist_append (GtkCList *clist,
+                 gchar    *text[])
 {
   g_return_val_if_fail (clist != NULL, -1);
   g_return_val_if_fail (GTK_IS_CLIST (clist), -1);
@@ -1696,17 +1707,24 @@ gtk_clist_append (GtkCList * clist,
 }
 
 gint
-gtk_clist_insert (GtkCList * clist,
-                 gint row,
-                 gchar text[])
+gtk_clist_insert (GtkCList *clist,
+                 gint      row,
+                 gchar    *text[])
 {
+  g_return_val_if_fail (clist != NULL, -1);
+  g_return_val_if_fail (GTK_IS_CLIST (clist), -1);
+  g_return_val_if_fail (text != NULL, -1);
+
+  if (row < 0 || row > clist->rows)
+    row = clist->rows;
+
   return GTK_CLIST_CLASS_FW (clist)->insert_row (clist, row, text);
 }
 
 static gint
-real_insert_row (GtkCList * clist,
-                gint row,
-                gchar text[])
+real_insert_row (GtkCList *clist,
+                gint      row,
+                gchar    *text[])
 {
   gint i;
   GtkCListRow *clist_row;
@@ -1924,36 +1942,36 @@ gtk_clist_clear (GtkCList * clist)
 static void
 real_clear (GtkCList * clist)
 {
-  GList *list;
+  GList *list, *free_list;
 
   g_return_if_fail (clist != NULL);
   g_return_if_fail (GTK_IS_CLIST (clist));
 
-  /* remove all the rows */
-  for (list = clist->row_list; list; list = list->next)
-    row_delete (clist, GTK_CLIST_ROW (list));
-
-  g_list_free (clist->row_list);
-
   /* free up the selection list */
   g_list_free (clist->selection);
   g_list_free (clist->undo_selection);
   g_list_free (clist->undo_unselection);
 
-  clist->row_list = NULL;
-  clist->row_list_end = NULL;
   clist->selection = NULL;
   clist->selection_end = NULL;
   clist->undo_selection = NULL;
   clist->undo_unselection = NULL;
   clist->voffset = 0;
-  clist->rows = 0;
   clist->focus_row = -1;
   clist->anchor = -1;
   clist->undo_anchor = -1;
   clist->anchor_state = GTK_STATE_SELECTED;
   clist->drag_pos = -1;
 
+  /* remove all the rows */
+  free_list = clist->row_list;
+  clist->row_list = NULL;
+  clist->row_list_end = NULL;
+  clist->rows = 0;
+  for (list = free_list; list; list = list->next)
+    row_delete (clist, GTK_CLIST_ROW (list));
+  g_list_free (free_list);
+
   /* zero-out the scrollbars */
   if (clist->vscrollbar)
     {
index 1e482bcf47572aa78fce088da18bc4b77b3cdfa6..a8d2608f44043ea443510d7fac6bca139582e71b 100644 (file)
@@ -526,11 +526,13 @@ void gtk_clist_set_selectable (GtkCList *clist,
 gboolean gtk_clist_get_selectable (GtkCList *clist,
                                   gint      row);
 
-/* append returns the index of the row you just added, making
- * it easier to append and modify a row
+/* prepend/append returns the index of the row you just added,
+ * making it easier to append and modify a row
  */
-gint gtk_clist_append (GtkCList *clist,
-                      gchar    *text[]);
+gint gtk_clist_prepend (GtkCList *clist,
+                       gchar    *text[]);
+gint gtk_clist_append  (GtkCList *clist,
+                       gchar    *text[]);
 
 /* inserts a row at index row and returns the row where it was actually
  * inserted (may be different from "row" in auto_sort mode)