Beispiel #1
0
int
clip_GTK_BUTTONGETUSESTOCK(ClipMachine * ClipMachineMemory)
{
   C_widget *cbtn = _fetch_cw_arg(ClipMachineMemory);

   gboolean  use_stock;

   CHECKCWID(cbtn, GTK_IS_BUTTON);

   use_stock = gtk_button_get_use_stock(GTK_BUTTON(cbtn->widget));

   _clip_retl(ClipMachineMemory, use_stock);
   return 0;
 err:
   return 1;
}
Beispiel #2
0
/**
\brief  Speical function to obtain the text assigned to the button widget.
**/
Tcl_Obj *gnoclCgetButtonText (  Tcl_Interp *interp, GtkButton *button )
{
	Tcl_Obj *obj = NULL;

	if ( gtk_button_get_use_stock ( button ) )
	{
		const char *st = gtk_button_get_label ( button );

		if ( st == NULL )
		{
			obj = Tcl_NewStringObj ( "", 0 );
		}

		else
		{
			obj = Tcl_NewStringObj ( "%#", 2 );
			Tcl_AppendObjToObj ( obj, gnoclGtkToStockName ( st ) );
		}
	}

	else
	{
		GtkLabel *label = GTK_LABEL ( gnoclFindChild ( GTK_WIDGET ( button ), GTK_TYPE_LABEL ) );
		Tcl_Obj *old = Tcl_NewStringObj ( gtk_label_get_label ( label ), -1 );
		assert ( label );

		if ( gtk_label_get_use_markup ( label ) )
		{
			obj = Tcl_NewStringObj ( "%<", 2 );
			Tcl_AppendObjToObj ( obj, old );
		}

		else if ( gtk_label_get_use_underline ( label ) )
		{
			obj = Tcl_NewStringObj ( "%_", 2 );
			Tcl_AppendObjToObj ( obj, old );
		}

		else
		{
			obj = old;
		}
	}

	return obj;
}
/* Try to adjust some buttons to close the window on click */
void
adjust_destroy (GtkWidget *widget, GtkWindow *win)
{
        if (GTK_IS_BUTTON(widget) && \
	    gtk_button_get_use_stock (GTK_BUTTON(widget)) && \
	    (strncmp (gtk_button_get_label (GTK_BUTTON(widget)), "gtk-apply", 9) == 0 || \
	     strncmp (gtk_button_get_label (GTK_BUTTON(widget)), "gtk-cancel", 10) == 0 || \
	     strncmp (gtk_button_get_label (GTK_BUTTON(widget)), "gtk-close", 9) == 0))
	{
		g_signal_connect_object (G_OBJECT(widget),
					 "clicked",
					 G_CALLBACK(gtk_widget_destroy),
					 G_OBJECT(win),
					 G_CONNECT_AFTER | G_CONNECT_SWAPPED);
	}
	else if (GTK_IS_CONTAINER(widget))
	{
		gtk_container_foreach (widget, adjust_destroy, win);
	}
}