Index: gtk+/gtk/gtkcalendar.h
===================================================================
--- gtk+/gtk/gtkcalendar.h	(révision 17538)
+++ gtk+/gtk/gtkcalendar.h	(copie de travail)
@@ -123,6 +123,11 @@
 void	   gtk_calendar_select_day	(GtkCalendar *calendar,
 					 guint	      day);
 
+void	   gtk_calendar_set_date	(GtkCalendar *calendar, 
+					 gint	     year,
+					 gint	     month,
+					 gint	     day);
+
 gboolean   gtk_calendar_mark_day	(GtkCalendar *calendar,
 					 guint	      day);
 gboolean   gtk_calendar_unmark_day	(GtkCalendar *calendar,
Index: gtk+/gtk/gtkcalendar.c
===================================================================
--- gtk+/gtk/gtkcalendar.c	(révision 17538)
+++ gtk+/gtk/gtkcalendar.c	(copie de travail)
@@ -3491,6 +3491,35 @@
 }
 
 /**
+ * gtk_calendar_set_date:
+ * @calendar: a #GtkCalendar
+ * @year: the year number or -1 if you don't to change this value
+ * @month: the month number (between 0 and 11) or -1 if you don't to change this value
+ * @day: the day number (between 1 and 31) or -1 if you don't to change this value
+ * 
+ * Set the selected date to a #GtkCalendar.
+ **/
+void
+gtk_calendar_set_date (GtkCalendar *calendar, 
+		       gint	    year,
+		       gint         month,
+		       gint	    day)
+{
+  g_return_if_fail (GTK_IS_CALENDAR (calendar));
+  g_return_if_fail (month < 12);
+  g_return_if_fail (day < 32);
+
+  if (day != -1)
+    calendar->selected_day = day;
+
+  if (month != -1)
+    calendar->selected_month = month;
+
+  if (year != -1)
+    calendar->selected_year = year;
+}
+
+/**
  * gtk_calendar_freeze:
  * @calendar: a #GtkCalendar
  * 
