static int curve_init_proc( Widget w, GlowCtx *fctx, void *client_data) { curvewidget_sScroll *scroll_data; CurveCtx *ctx; ctx = (CurveCtx *) ((CurveWidget) w)->curve.curve_ctx; if ( ((CurveWidget) w)->curve.scroll_h) { scroll_data = (curvewidget_sScroll *) malloc( sizeof( curvewidget_sScroll)); scroll_data->curve = w; scroll_data->scroll_h = ((CurveWidget) w)->curve.scroll_h; scroll_data->scroll_v = ((CurveWidget) w)->curve.scroll_v; scroll_data->form = ((CurveWidget) w)->curve.form; scroll_data->scroll_h_managed = 1; scroll_data->scroll_v_managed = 1; ctx->register_scroll_callback( (void *) scroll_data, scroll_callback); XtAddCallback( scroll_data->scroll_h, XmNvalueChangedCallback, scroll_h_action, w); XtAddCallback( scroll_data->scroll_h, XmNdragCallback, scroll_h_action, w); XtAddCallback( scroll_data->scroll_h, XmNincrementCallback, scroll_h_action, w); XtAddCallback( scroll_data->scroll_h, XmNdecrementCallback, scroll_h_action, w); XtAddCallback( scroll_data->scroll_h, XmNpageIncrementCallback, scroll_h_action, w); XtAddCallback( scroll_data->scroll_h, XmNpageDecrementCallback, scroll_h_action, w); XtAddCallback( scroll_data->scroll_h, XmNtoTopCallback, scroll_h_action, w); XtAddCallback( scroll_data->scroll_h, XmNtoBottomCallback, scroll_h_action, w); XtAddCallback( scroll_data->scroll_v, XmNvalueChangedCallback, scroll_v_action, w); XtAddCallback( scroll_data->scroll_v, XmNdragCallback, scroll_v_action, w); XtAddCallback( scroll_data->scroll_v, XmNincrementCallback, scroll_v_action, w); XtAddCallback( scroll_data->scroll_v, XmNdecrementCallback, scroll_v_action, w); XtAddCallback( scroll_data->scroll_v, XmNpageIncrementCallback, scroll_v_action, w); XtAddCallback( scroll_data->scroll_v, XmNpageDecrementCallback, scroll_v_action, w); XtAddCallback( scroll_data->scroll_v, XmNtoTopCallback, scroll_v_action, w); XtAddCallback( scroll_data->scroll_v, XmNtoBottomCallback, scroll_v_action, w); } ctx->configure(); if ( ((CurveWidget) w)->curve.init_proc) return (((CurveWidget) w)->curve.init_proc)( ctx, client_data); else return 1; }
static int curve_init_proc( GtkWidget *w, GlowCtx *fctx, void *client_data) { curvewidget_sScroll *scroll_data; CurveCtx *ctx; ctx = (CurveCtx *) ((CurveWidgetGtk *) w)->curve_ctx; if ( ((CurveWidgetGtk *) w)->scroll_h) { scroll_data = (curvewidget_sScroll *) malloc( sizeof( curvewidget_sScroll)); scroll_data->curve = w; scroll_data->scroll_h = ((CurveWidgetGtk *) w)->scroll_h; scroll_data->scroll_v = ((CurveWidgetGtk *) w)->scroll_v; scroll_data->form = ((CurveWidgetGtk *) w)->form; scroll_data->scroll_h_managed = 1; scroll_data->scroll_v_managed = 1; ctx->register_scroll_callback( (void *) scroll_data, scroll_callback); } return (((CurveWidgetGtk *) w)->init_proc)( ctx, client_data); }