[gnome-hispano] Manipular los BOTONES de la VENTANA en GTK 3.0
- From: Mariano Gaudix <marianocordobario3 gmail com>
- To: gnome-hispano-list gnome org
- Subject: [gnome-hispano] Manipular los BOTONES de la VENTANA en GTK 3.0
- Date: Fri, 15 Jun 2012 22:53:10 -0300
Manipular los BOTONES de la VENTANA en GTK 3.0
//////////////////////////////////////////////////////////////////////////////////////////////////////////
Disculpen por la pregunta .
de casualidad no tienen un ejemplo de como .Manipular los botones MAXIMIZAR y MINIMIZAR de la VENTANA en GTK 3.0.
Al botón maximizar lo he podido manipular .
Por ejemplo lo que hice es lo siguiente .
Ejemplo ;
Tengo dos TOGGLEBUTTON . si activo un TOGGLEBUTTON al hacer clix sobre el BOTON CERRAR lo que sucede es lo siguiente
Primero : al primer Clix se desactiva al TOGGLEBUTTON
Segundo : al segundo Clix . Recién se cierra la ventana .
Deseo hacer lo mismo con los botones MAXIMIZAR y MINIMIZAR . Pero no se como hacerlo .
De esta manera trato de imito el efecto de un MENU-POPUP o COMBO-BOX . Pero con un TOGGLEBUTTON
Estoy creando un WIDGET con una LISTA de FONTS o estilos de LETRAS como el que tiene LIBREOFFICE . Es decir un COMBO-BOX con SCROLLBAR .Pero utilizo una
WINDOW-POPUP ubicada debajo de un TOGGLEBUTTON .
Me podrían hacer el favor de pasar un ejemplo o tutorial de como poder manipular los botones MAXIMIZAR y MINIMIZAR .
cuando tengan tiempo . Pueden pasarme un tutorial o algo de código como ejemplo .
Disculpa por la molestia .... les deseo mucha suerte Mariano
//////////////////////////////////////////////////////////////////////////////////////////////////////////
Les paso mi ejemplo :
///////////////////////////////////////////////////////////////////////
#include <gtk/gtk.h>
static void loc1(GtkWindow *window, GdkEventButton *event, gpointer button2)
{
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button2),FALSE);
}
////////////////////////////////////////////////////////////////////
static void loc2(GtkWindow *window, GdkEventButton *event, gpointer button1)
{
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button1),FALSE);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
static void hide1(GtkWindow *window, GdkEventButton *event, gpointer button1)
{
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button1),FALSE);
}
////////////////////////////////////////////////////////////////////////////////////////
static void ponja2(GtkWindow *window, GdkEventButton *event, gpointer button2)
{
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button2),FALSE);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
static void ponja1(GtkWindow *window, GdkEventButton *event, gpointer button1)
{
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button1),FALSE);
}
///////////////////////////////////////////////////////////////////
static void clicked2(GtkWindow *window, GdkEventButton *event, gpointer button2)
{
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button2),FALSE);
}
//////////////////////////////////////////////////////////////////////////////////////
static void clicked1(GtkWindow *window, GdkEventButton *event, gpointer button1)
{
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button1),FALSE);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////
void ono2(GtkWindow *window,
GdkEvent *event, gpointer button2)
{
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button2),FALSE);
}
///////////////////////////////////////////////
void ono(GtkWindow *window,
GdkEvent *event, gpointer button1)
{
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button1),FALSE);
}
int main( int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *table;
GtkWidget *fixed;
GtkWidget *button1;
GtkWidget *image1;
GtkWidget *button2;
GtkWidget *image2;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_window_set_default_size(GTK_WINDOW(window), 250, 250);
gtk_window_set_title(GTK_WINDOW(window), "GtkFrame");
gtk_container_set_border_width(GTK_CONTAINER(window), 10);
gtk_widget_add_events(GTK_WIDGET(window), GDK_BUTTON_PRESS_MASK );
gtk_widget_add_events(GTK_WIDGET(window),GDK_CONFIGURE );
gtk_widget_add_events(GTK_WIDGET(window),GDK_FOCUS_CHANGE_MASK );
gtk_widget_add_events(GTK_WIDGET(window), GDK_KEY_PRESS_MASK );
fixed = gtk_fixed_new();
gtk_container_add(GTK_CONTAINER( window), fixed);
button1= gtk_toggle_button_new() ;
image1 = gtk_image_new_from_stock( GTK_STOCK_GOTO_LAST , 30);
gtk_button_set_image(GTK_BUTTON(button1),image1);
gtk_fixed_put(GTK_FIXED(fixed ), button1, 5, 5);
gtk_widget_set_size_request( button1 , 35, 35);
//////////////////////////////////////////////////////////////////////
button2= gtk_toggle_button_new() ;
image2 = gtk_image_new_from_stock( GTK_STOCK_GOTO_LAST , 30);
gtk_button_set_image(GTK_BUTTON(button2),image2);
gtk_fixed_put(GTK_FIXED(fixed ), button2, 45, 5);
gtk_widget_set_size_request( button2 , 35, 35);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
g_signal_connect (window, "delete_event", G_CALLBACK (clicked1), button1);
g_signal_connect (window, "delete_event", G_CALLBACK (clicked2), button2);
///////////////////////////////////////////////////////////////////////////////////////////////////////////
g_signal_connect(G_OBJECT(window), "configure-event", G_CALLBACK(ono2), button2);
g_signal_connect(G_OBJECT(window), "configure-event", G_CALLBACK(ono), button1);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
g_signal_connect(G_OBJECT(window), "button-press-event", G_CALLBACK(ponja1), button1);
g_signal_connect(G_OBJECT(window), "button-press-event", G_CALLBACK(ponja2), button2);
///////////////////////////////////////////////////////////////////////
g_signal_connect(G_OBJECT(window), "focus-out-event", G_CALLBACK(loc1), button2 );
g_signal_connect(G_OBJECT(window), "focus-out-event", G_CALLBACK(loc2), button1);
gtk_widget_show_all(window);
gtk_main();
return 0;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]