Red = GTK_ADJUSTMENT(Red_Adj)->value;
http://lives.sourceforge.net https://www.ohloh.net/accounts/salsaman On Sat, Apr 6, 2013 at 3:18 PM, Thomas Dineen <[email protected]> wrote: > Gentle People: > > The function Color_Panel is called from a higher level GTK application. > The following Slider Bar Example works properly on the screen! > But how do I get the value of the adjustment out to drive the application? > I have spent several hours searching the internet for examples. > From the internet examples it seems that the approach below is correct? > But I do not seem to be able to extract the value of the double Red. > Several attempts are shown at the bottom! > > Error Messages: > "Assertion Failed" > "Segmentation Fault" > > Thanks For The Help. > Thomas Dineen > > // Declared as global outside of Main.c > > // GtkObject *Red_Adj; > GtkAdjustment *Red_Adj; > > int Color_Panel ( ) > { /* Start Color_Panel */ > GtkWidget *vbox_top_main; > GtkWidget *hbox_top0; > GtkWidget *hbox_top1; > GtkWidget *hbox_top2; > > GtkObject *Red_Adj; > GtkWidget *hscale; > > GtkWidget *Button_Sel; > > GdkColor color; > double Red; > double Green; > double Blue; > > printf ( "Running Color_Panel\n" ); > > /*************************************************************** > *******************/ > /* */ > /* Set Up The Top Level Window > */ > /* */ > /*************************************************************** > *******************/ > > CP_Window = gtk_window_new( GTK_WINDOW_TOPLEVEL ); > > gtk_window_set_position( GTK_WINDOW(CP_Window), GTK_WIN_POS_MOUSE ); > > gtk_window_set_default_size( GTK_WINDOW(CP_Window), 400, 585 ); > /* Width:Height*/ > > gtk_window_set_title( GTK_WINDOW(CP_Window), > "Adjust The Sliders To Select A Color" ); > > vbox_top_main = gtk_vbox_new (FALSE, 0); > gtk_widget_set_size_request ( vbox_top_main, 400, 555 ); /* Width : > Height */ > gtk_container_set_border_width (GTK_CONTAINER (vbox_top_main), 1 ); > gtk_container_add (GTK_CONTAINER (CP_Window), vbox_top_main); > > /*************************************************************** > *******************/ > /* */ > /* Set Up The Horozontal Boxes > */ > /* */ > /*************************************************************** > *******************/ > > hbox_top0 = gtk_hbox_new (FALSE, 0); > gtk_widget_set_size_request (hbox_top0, 35, 35 ); /* Width : Height */ > gtk_container_set_border_width (GTK_CONTAINER (hbox_top0), 1 ); > gtk_container_add (GTK_CONTAINER (vbox_top_main), hbox_top0); > > hbox_top1 = gtk_hbox_new (FALSE, 0); > gtk_widget_set_size_request (hbox_top1, 35, 35 ); /* Width : Height */ > gtk_container_set_border_width (GTK_CONTAINER (hbox_top1), 1 ); > gtk_container_add (GTK_CONTAINER (vbox_top_main), hbox_top1); > > hbox_top2 = gtk_hbox_new (FALSE, 0); > gtk_widget_set_size_request (hbox_top2, 35, 35 ); /* Width : Height */ > gtk_container_set_border_width (GTK_CONTAINER (hbox_top2), 1 ); > gtk_container_add (GTK_CONTAINER (vbox_top_main), hbox_top2); > > /*************************************************************** > *******************/ > /* */ > /* Set Up The Red Scale: > */ > /* */ > /*************************************************************** > *******************/ > > /* value, lower, upper, step_increment, page_increment, page_size > */ > /* Note that the page_size value only makes a difference for > */ > /* scrollbar widgets, and the highest value you'll get is actually > */ > /* (upper - page_size). > */ > > Red_Adj = gtk_adjustment_new (0.0, 0.0, 999.0, 1.0, 1.0, 1.0); > // g_signal_connect (Red_Adj, "value_changed", > // G_CALLBACK (Func_Red_Scale_Change), NULL); > > hscale = gtk_hscale_new (GTK_ADJUSTMENT (Red_Adj)); > gtk_widget_set_size_request (GTK_WIDGET (hscale), 200, -1); > > gtk_range_set_update_policy (GTK_RANGE (hscale), GTK_UPDATE_CONTINUOUS); > gtk_scale_set_digits (hscale, 1); > gtk_scale_set_value_pos (hscale, GTK_POS_TOP); > gtk_scale_set_draw_value (hscale, TRUE); > > gtk_box_pack_start (GTK_BOX (hbox_top0), hscale, TRUE, TRUE, 0); > gtk_widget_show (hscale); > > /*************************************************************** > *******************/ > /* */ > /* Create And Process Button Exit > */ > /* */ > /*************************************************************** > *******************/ > > Button_Sel = gtk_button_new_with_label ("Select Color And Exit"); > gtk_widget_set_size_request(**GTK_WIDGET(Button_Sel),25,25); /* > Width:Height*/ > g_signal_connect (Button_Sel, "clicked", > G_CALLBACK (Button_Sel_Color_Func), NULL); > gtk_box_pack_start (GTK_BOX(hbox_top2), Button_Sel, TRUE, TRUE, 0); > > gtk_widget_show (hbox_top0); > gtk_widget_show (hbox_top1); > gtk_widget_show (hbox_top2); > gtk_widget_show (vbox_top_main); > gtk_widget_show_all( CP_Window ); > > printf ( "Finished Color_Panel\n" ); > > } /* End Color_Panel */ > > void Func_Red_Scale_Change ( ) > { > // if ( Print_Head->Print_Headers_**Event == TRUE ) > g_print ( "Menu: Func_Red_Scale_Change\n" ); > }; > > Button_Sel_Color_Func( ) > { > gdouble Red; > > // if ( Print_Head->Print_Headers_**Event == TRUE ) > g_print ( "Menu: Func_Red_Scale_Change\n" ); > > // None Of These Worked! > // Red = gtk_adjustment_get_value ( GTK_ADJUSTMENT (Red_Adj) ); > // Red = gtk_adjustment_get_value ( Red_Adj ); > // Red = GTK_ADJUSTMENT((Red_Adj)->**value); > > // if ( Print_Head->Print_Headers_**Event == TRUE ) > g_print ( "Red = %f\n", Red ); > > }; > > ______________________________**_________________ > gtk-list mailing list > [email protected] > https://mail.gnome.org/**mailman/listinfo/gtk-list<https://mail.gnome.org/mailman/listinfo/gtk-list> >
_______________________________________________ gtk-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/gtk-list
