static void gnc_header_set_property (GObject *object, guint param_id, const GValue *value, GParamSpec *pspec) { GncHeader *header = GNC_HEADER (object); GtkLayout *layout = GTK_LAYOUT (GNOME_CANVAS_ITEM (header)->canvas); gboolean needs_update = FALSE; gchar *old_name; switch (param_id) { case PROP_SHEET: header->sheet = GNUCASH_SHEET (g_value_get_object (value)); gtk_layout_set_hadjustment (layout, header->sheet->hadj); needs_update = TRUE; break; case PROP_CURSOR_NAME: old_name = header->cursor_name; header->cursor_name = g_value_dup_string (value); needs_update = !old_name || !header->cursor_name || strcmp (old_name, header->cursor_name) != 0; g_free (old_name); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); break; } if ((header->sheet != NULL) && needs_update) gnc_header_reconfigure (header); }
void nsgtk_layout_set_hadjustment(GtkLayout *layout, GtkAdjustment *adj) { #if GTK_CHECK_VERSION(3,0,0) gtk_scrollable_set_hadjustment(GTK_SCROLLABLE(layout), adj); #else gtk_layout_set_hadjustment(layout, adj); #endif }
/* Alena: set horizontal adjustment for layout */ int clip_GTK_LAYOUTSETHADJUSTMENT(ClipMachine * cm) { C_widget *clay = _fetch_cw_arg(cm); C_widget * cadj = _fetch_cwidget(cm,_clip_spar(cm, 2)); GtkAdjustment *adj; CHECKCWID(clay,GTK_IS_LAYOUT); CHECKOPT2(2,MAP_t,NUMERIC_t); CHECKCWIDOPT(cadj,GTK_IS_ADJUSTMENT); adj = cadj ? GTK_ADJUSTMENT(cadj->widget) : NULL; gtk_layout_set_hadjustment(GTK_LAYOUT(clay->widget), adj); return 0; err: return 1; }
/* * Standard Gtk+ function */ GtkWidget* a_Dw_gtk_viewport_new (GtkAdjustment *hadjustment, GtkAdjustment *vadjustment) { GtkWidget *widget; widget = gtk_widget_new (GTK_TYPE_DW_VIEWPORT, NULL); gtk_layout_set_hadjustment (GTK_LAYOUT (widget), hadjustment); gtk_layout_set_vadjustment (GTK_LAYOUT (widget), vadjustment); /* Following two statements expect that the adjustments are passed as * arguments (!= NULL), and don't change. This is the case in dillo, * however, for more general perposes, the signal function * "set_scroll_adjustments" had to be redefined. */ gtk_signal_connect (GTK_OBJECT (hadjustment), "value_changed", GTK_SIGNAL_FUNC (Dw_gtk_viewport_adj_changed), (gpointer) widget); gtk_signal_connect (GTK_OBJECT (vadjustment), "value_changed", GTK_SIGNAL_FUNC (Dw_gtk_viewport_adj_changed), (gpointer) widget); return widget; }