From: <kr_...@us...> - 2003-08-16 16:01:40
|
Update of /cvsroot/htoolkit/port/src/cbits/GTK In directory sc8-pr-cvs1:/tmp/cvs-serv17739/src/cbits/GTK Modified Files: ToolBar.c Log Message: ToolRadioButton for GNOME Index: ToolBar.c =================================================================== RCS file: /cvsroot/htoolkit/port/src/cbits/GTK/ToolBar.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ToolBar.c 16 Aug 2003 07:59:42 -0000 1.4 --- ToolBar.c 16 Aug 2003 16:01:36 -0000 1.5 *************** *** 76,79 **** --- 76,117 ---- } + static void tool_radio_button_clicked(GtkWidget *widget, gpointer user_data) + { + ToolHandle toolItem = (ToolHandle) user_data; + + if (gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(toolItem))) + handleToolCommand(toolItem); + } + + ToolHandle osInsertToolRadioButton(WindowHandle toolbar, int pos) + { + GtkToolItem *item = gtk_radio_tool_button_new(NULL); + + gtk_signal_connect (GTK_OBJECT(GTK_TOOL_BUTTON(item)->button), "clicked", + GTK_SIGNAL_FUNC(tool_radio_button_clicked), + item); + gtk_signal_connect (GTK_OBJECT(item), "destroy", + GTK_SIGNAL_FUNC(handleToolDestroy), + NULL); + gtk_tool_button_set_label_widget(GTK_TOOL_BUTTON(item), gtk_label_new("")); + gtk_tool_button_set_icon_widget(GTK_TOOL_BUTTON(item), gtk_image_new()); + + gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, pos); + gtk_widget_show_all(GTK_WIDGET(item)); + return GTK_WIDGET(item); + } + + void osSetToolRadioGroup(ToolHandle *handles) + { + ToolHandle *phandle; + GSList *group = NULL; + + for (phandle = handles; *phandle; phandle++) + { + gtk_radio_tool_button_set_group(GTK_RADIO_TOOL_BUTTON(*phandle), group); + group = gtk_radio_tool_button_get_group(GTK_RADIO_TOOL_BUTTON(*phandle)); + } + } + ToolHandle osInsertToolLine(WindowHandle toolbar, int pos) { |