- dateentry->entry = gtk_entry_new ();
- gtk_widget_set_size_request(dateentry->entry, 90, -1);
- gtk_box_pack_start (GTK_BOX (dateentry), dateentry->entry, TRUE, TRUE, 0);
-
- dateentry->arrow = gtk_toggle_button_new ();
- arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_IN);
- gtk_container_add (GTK_CONTAINER (dateentry->arrow), arrow);
- gtk_box_pack_end (GTK_BOX (dateentry), dateentry->arrow, FALSE, FALSE, 0);
-
- gtk_widget_show (dateentry->entry);
- gtk_widget_show (dateentry->arrow);
-
-
- /* our popup window */
- dateentry->popwin = gtk_window_new (GTK_WINDOW_POPUP);
- gtk_widget_set_events (dateentry->popwin,
- gtk_widget_get_events(dateentry->popwin) | GDK_KEY_PRESS_MASK);
-
- dateentry->frame = gtk_frame_new (NULL);
- gtk_container_add (GTK_CONTAINER (dateentry->popwin), dateentry->frame);
- gtk_frame_set_shadow_type (GTK_FRAME (dateentry->frame), GTK_SHADOW_OUT);
- gtk_widget_show (dateentry->frame);
-
- dateentry->calendar = gtk_calendar_new ();
- gtk_container_add (GTK_CONTAINER (dateentry->frame), dateentry->calendar);
- gtk_widget_show (dateentry->calendar);
-
- // dateentry signals
- g_signal_connect (GTK_OBJECT (dateentry->entry), "activate",
- G_CALLBACK (gtk_dateentry_entry_parse), dateentry);
-
- g_signal_connect (GTK_OBJECT (dateentry->entry), "focus-out-event",
- G_CALLBACK (gtk_dateentry_focus), dateentry);
-
-
- g_signal_connect (GTK_OBJECT (dateentry->entry), "key_press_event",
- G_CALLBACK (gtk_dateentry_entry_key), dateentry);
-
- // arrow/popwin signals
- g_signal_connect (GTK_OBJECT (dateentry->arrow), "toggled",
- G_CALLBACK (gtk_dateentry_arrow_press), dateentry);
-
- g_signal_connect (GTK_OBJECT (dateentry->popwin), "key_press_event",
- G_CALLBACK (key_press_popup), dateentry);
-
- g_signal_connect (GTK_OBJECT (dateentry->popwin), "button_press_event",
- G_CALLBACK (gtk_dateentry_button_press), dateentry);
-
- // calendar signals
- g_signal_connect (GTK_OBJECT (dateentry->calendar), "prev-year",
- G_CALLBACK (gtk_dateentry_calendar_year), dateentry);
- g_signal_connect (GTK_OBJECT (dateentry->calendar), "next-year",
- G_CALLBACK (gtk_dateentry_calendar_year), dateentry);
- g_signal_connect (GTK_OBJECT (dateentry->calendar), "prev-month",
- G_CALLBACK (gtk_dateentry_calendar_year), dateentry);
- g_signal_connect (GTK_OBJECT (dateentry->calendar), "next-month",
- G_CALLBACK (gtk_dateentry_calendar_year), dateentry);
-
- g_signal_connect (GTK_OBJECT (dateentry->calendar), "day-selected",
- G_CALLBACK (gtk_dateentry_calendar_getfrom), dateentry);
-
- g_signal_connect (GTK_OBJECT (dateentry->calendar), "day-selected-double-click",
- G_CALLBACK (gtk_dateentry_calendar_select), dateentry);
-
- //gtk_dateentry_calendar_getfrom(NULL, dateentry);
-}
-
-
-GtkWidget *gtk_dateentry_new ()
-{
-GtkDateEntry *dateentry;
-
- DB( g_print("\n[dateentry] new\n") );
-
- dateentry = g_object_new (GTK_TYPE_DATE_ENTRY, NULL);
-
- return GTK_WIDGET(dateentry);
-}
-
-
-static void gtk_dateentry_destroy (GtkObject * object)
-{
-GtkDateEntry *dateentry;
-
- DB( g_print(" \n[dateentry] destroy\n") );
-
- g_return_if_fail (GTK_IS_DATE_ENTRY (object));
-
- dateentry = GTK_DATE_ENTRY (object);
-
- DB( g_print(" free gtkentry: %p\n", dateentry->entry) );
- DB( g_print(" free arrow: %p\n", dateentry->arrow) );
- DB( g_print(" free popwin: %p\n", dateentry->popwin) );
-
- DB( g_print(" free dateentry: %p\n", dateentry) );
-
- if(dateentry->popwin)
- gtk_widget_destroy (dateentry->popwin);
- dateentry->popwin = NULL;
-
- if(dateentry->date)
- g_date_free(dateentry->date);
- dateentry->date = NULL;
-
- GTK_OBJECT_CLASS (parent_class)->destroy (object);
-}
-
-/*
-**
-*/
-void gtk_dateentry_set_date(GtkDateEntry *dateentry, guint32 julian_days)
-{
- DB( g_print(" \n[dateentry] set date\n") );
-
- g_return_if_fail (GTK_IS_DATE_ENTRY (dateentry));
-
- if(g_date_valid_julian(julian_days))
- {
- g_date_set_julian (dateentry->date, julian_days);
- }
- else