static int get_popup_height (GnomeCanvasItem *item, int space_available, int row_height, gpointer user_data) { GtkWidget *cal = GTK_WIDGET (GNC_DATE_PICKER (item)->calendar); GtkRequisition req; req.height = 0; req.width = 0; gtk_widget_size_request (cal, &req); return req.height; }
static int popup_get_height (GtkWidget *widget, G_GNUC_UNUSED int space_available, G_GNUC_UNUSED int row_height, G_GNUC_UNUSED gpointer user_data) { GtkWidget *cal = GTK_WIDGET (GNC_DATE_PICKER (widget)->calendar); GtkRequisition req; req.height = 0; req.width = 0; gtk_widget_get_preferred_size (cal, &req, NULL); return req.height; }
static void gnc_date_cell_realize (BasicCell *bcell, gpointer data) { GnucashSheet *sheet = data; GncItemEdit *item_edit = gnucash_sheet_get_item_edit (sheet); DateCell *cell = (DateCell *) bcell; PopBox *box = cell->cell.gui_private; /* initialize gui-specific, private data */ box->sheet = sheet; box->item_edit = item_edit; box->date_picker = GNC_DATE_PICKER (gnc_date_picker_new ()); gtk_widget_show_all (GTK_WIDGET(box->date_picker)); g_object_ref_sink(box->date_picker); /* to mark cell as realized, remove the realize method */ cell->cell.gui_realize = NULL; cell->cell.gui_move = gnc_date_cell_move; cell->cell.enter_cell = gnc_date_cell_enter; cell->cell.leave_cell = gnc_date_cell_leave; }
static void popup_set_focus (GnomeCanvasItem *item, gpointer user_data) { gtk_widget_grab_focus (GTK_WIDGET (GNC_DATE_PICKER (item)->calendar)); }
static void popup_set_focus (GtkWidget *widget, G_GNUC_UNUSED gpointer user_data) { gtk_widget_grab_focus (GTK_WIDGET (GNC_DATE_PICKER (widget)->calendar)); }