http://fotos.subefotos.com/db2e5a8be0a21c26f620bd4adde20c5fo.png

2012/6/22 Mariano Gaudix <marianocordobar...@gmail.com>

>  In the    POPUP MENU    and  COMBOBOX ........... has these effects
> .......................
>
> If you activate a combo-box  or  menu ..........and then   you clicked
> the button  maximize or minimize of the  window  ........ ...
>
> this always happens
>
>
> 1). First   .Clicking the maximize or minimize button  of  the window  ...
> . The  COMBO-BOX    is disabled ........... and  her     menu option .
>
>
> 2)Second . Then recently .  I can close the window.
>
>
>
> this always happens
>
>
>
>
>
> //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
>
>  View   Example
>
>
>
>
> ///////////////////////////////////////////////////////////////////////////////////////////////////////////
>
>
>
>
>
> /*******THE CODE********/
> #include <gtk/gtk.h>
>
>
>
>
> int main(int argc,
>        char *argv[]) {
>
>
>
>    GtkWidget *window;
>
>    GtkWidget *combo;
>    GtkWidget *widget;
>    GtkWidget *vbox;
>    GtkWidget *hbox;
>
>    gtk_init(&argc, &argv);
>
>    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
>    gtk_window_set_title(GTK_WINDOW(window), "BibMk");
>    gtk_container_set_border_width(GTK_CONTAINER(window), 20);
>
>
>    g_signal_connect(window, "delete-event",
>            G_CALLBACK(gtk_main_quit), NULL);
>
>
>
>    vbox = gtk_vbox_new(FALSE, 0);
>    hbox = gtk_vbox_new(FALSE, 0);
>
>
>    gtk_container_add(GTK_CONTAINER(window), hbox);
>
>
>    gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0);
>
>
>
>
>
>    combo = gtk_combo_box_text_new ();
>
>
>    gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT(combo), NULL, "  Loco  ");
>
>
>
>    gtk_combo_box_text_append_text ( GTK_COMBO_BOX_TEXT(combo)    , "  Book
>  ");
>
>
>    gtk_combo_box_text_append_text ( GTK_COMBO_BOX_TEXT(combo)    , "
>  Ladron  ");
>
>
>    gtk_combo_box_text_append_text ( GTK_COMBO_BOX_TEXT(combo)    , "
>  Anibal Bigoton  ");
>
>
>    gtk_widget_show(combo);
>
>
>
>
>
>    gtk_box_pack_start(GTK_BOX(hbox), combo, TRUE, TRUE, 0);
>
>
>
>    gtk_widget_show_all(window);
>    gtk_main();
>
>
>
>
>
>
>
>
>    return 0;
> }
>
>
>
> /*******CODE END**********/
>
>
>
>
>
>
>
> //////////////////////////////////////////////////////////////////////////////////////////
>
> ///////////////////////////////////////////////////////////////////////////////////////////////////////
>
> //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
>
>
>
> I am creating a combo-box with scrollbar with GTK 3.0 and VALA (gtk)
> ......... .as  the  COMBO-BOX  in   LibreOffice that have  in the   list of
> FONTS.
>
>
>
>
> I wrote an in GTK 3.0 widgets.
>
> If .  I  active   a    POPUP WINDOW   (POPUP WINDOW=MENU ) with a
> TOGGLEBUTTON... when you clicked the button to close the window.
>
> 1). First   . The  TOGGLEBUTTON is   off    .  the  POPUP WINDOW   is
> hidden .
> 2) Then recently .  I can close the window.
> To here   all works fine.
>
>
> But I can not do the same with the buttons on the maximize and minimize
> WINDOW ...... I must achieve the same effect as the widgets  ,   POPUP MENU
>  and   COMBO-BOX  ,   with  these events .
>
>
> If I  you   can help , I'll be grateful  .
>
> When  , you  have a  time. you can constestarme.
>
> Best   regards   . Mariano.
>
>
>
> this is    the code I've written in GTK 3.0.
>
>
>
>
> /////////////////////////////////////////////////////////////////////////////
>
> //////////////////////////////////////////////////////////////////////////////////////////////////
>
>
>
>
>
> #include <gtk/gtk.h>
>
>
> enum
> {
>    LIST_ITEM = 0,
>    N_COLUMNS
> };
>
>
>
>
> static void  init_list(GtkWidget *list)
>
> {
>
>    GtkCellRenderer *renderer;
>    GtkTreeViewColumn *column;
>    GtkListStore *store;
>
>    renderer = gtk_cell_renderer_text_new();
>    column = gtk_tree_view_column_new_with_attributes("List Items",
>           renderer, "text", LIST_ITEM, NULL);
>    gtk_tree_view_append_column(GTK_TREE_VIEW(list), column);
>
>    store = gtk_list_store_new(N_COLUMNS, G_TYPE_STRING);
>
>    gtk_tree_view_set_model(GTK_TREE_VIEW(list),
>        GTK_TREE_MODEL(store));
>
>    g_object_unref(store);
>
> }
>
>
>
>
> static void  add_to_list(GtkWidget *list, const gchar *str)
>
> {
>    GtkListStore *store;
>    GtkTreeIter iter;
>
>    store = GTK_LIST_STORE(gtk_tree_view_get_model
>        (GTK_TREE_VIEW(list)));
>
>    gtk_list_store_append(store, &iter);
>    gtk_list_store_set(store, &iter, LIST_ITEM, str, -1);
> }
>
>
>
>
>
>
> ////////////////////////////////////////////////////////////////////////////////
>
> static void text( GtkWidget *widget , GdkEventButton *event, gpointer
> buttonf)
> {
>
>    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(buttonf),FALSE);
>
>
> }
>
>
>
>
>
> static void clicked1(GtkWindow *window, GdkEventButton *event, gpointer
> buttonf)
> {
>
>    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(buttonf),FALSE);
>
>
> }
>
>
>
> static void loc1(GtkWindow *window, GdkEventButton *event, gpointer
> buttonf)
>
> {
>
>
>    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(buttonf),FALSE);
>
>
> }
>
>
>
>
> static void ponja2(GtkWindow *window, GdkEventButton *event, gpointer
> buttonf)
>
> {
>
>     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(buttonf),FALSE);
>
> }
>
>
> /////////////////////////////////////////////////////////////
> ////////////////////////////////////////////////////////////
>
>
>
> void activado(GtkWidget *widget, gpointer window3)
> {
>
>   if ( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
>
> {
>
>
>       gtk_widget_hide(window3);
>       gtk_widget_show_all(window3);
>
>  }
>
>     else {
>
>       gtk_window_iconify (GTK_WINDOW (window3) );
>       gtk_widget_hide(window3);
>
>   }
>
>
> }
>
>
>
>
> ///////////////////////////////////////////////////////////////////////
>
>
>
>
> void ventana_p(GtkWindow *window, GdkEvent *event, gpointer window3 )
>
> {
>
>    int x, y;
>    char buf[10];
>    x = event->configure.x;
>    y = event->configure.y;
>    sprintf(buf, "%d, %d", x, y);
>    gtk_window_set_title(window3, buf);
>    gtk_window_move ( GTK_WINDOW(window3), x+30, y+35 );
>
>
>
> }
>
> //////////////////////////////////////////////////////////////////////////
>
>
> int main(int argc, char *argv[])
>
>     {
>
>     GtkWidget *window;
>     GtkWidget *vbox1 ;
>     GtkWidget *vbox2;
>     GtkWidget *vbox3;
>     GtkWidget *fixed;
>     GtkWidget *buttonf;
>     GtkWidget *label2;
>     GtkWidget *arrow;
>
>
>     GtkWidget *vboxtext;
>     GtkWidget *viewarea;
>
>     GtkWidget *textview;
>     GtkTextBuffer *buffer;
>
>
>
>
>     GtkWidget *window3;
>     GtkWidget *vboxw;
>     GtkWidget *vboxs;
>     GtkWidget *scrolled_window ;
>
>
>     GtkWidget *list;
>     GtkTreeSelection *selection;
>     GtkWidget *label;
>
>
>
>
>     gtk_init(&argc, &argv);
>
>
>
>
>
> ////////////////////////////// Ventana Popup  / Window Popup
>  ///////////////////////////////
>
>
>     window3 = gtk_window_new(GTK_WINDOW_POPUP);
>
>
>
>
>
>
>     gtk_window_set_title(GTK_WINDOW(window3), "enter signal");
>     gtk_widget_hide(window3);
>
>
>
>
>     vboxw = gtk_hbox_new(FALSE, 0);
>
>     gtk_container_set_border_width (GTK_CONTAINER (vboxw), 3);
>     gtk_container_add(GTK_CONTAINER(window3), vboxw);
>     gtk_widget_show (vboxw);
>
>     scrolled_window=gtk_scrolled_window_new(NULL, NULL);
>
>
>
>     gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window),
>                                          GTK_POLICY_AUTOMATIC,
>                  GTK_POLICY_AUTOMATIC);
>
>
>     gtk_widget_set_size_request(scrolled_window,120, 300);
>
>
>
>     gtk_box_pack_start(GTK_BOX(vboxw), scrolled_window , FALSE, FALSE, 0);
>
>     gtk_widget_show(scrolled_window);
>
>
>
>
>
>
>
>     vboxs = gtk_vbox_new(FALSE, 0);
>
>
>
>     gtk_scrolled_window_add_with_viewport(
> GTK_SCROLLED_WINDOW(scrolled_window),vboxs);
>
>
>
>     list = gtk_tree_view_new();
>     gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(list), FALSE);
>
>     gtk_box_pack_start(GTK_BOX(vboxs), list, TRUE, TRUE, 0);
>
>
>
>     init_list(list);
>     add_to_list(list, "Ubuntu");
>     add_to_list(list, "Mandriva");
>     add_to_list(list, "Fedora");
>     add_to_list(list, "Debian");
>     add_to_list(list, "Linux MInt");
>     add_to_list(list, "Tuquito");
>     add_to_list(list, "Pupix");
>     add_to_list(list, "Open Suse");
>     add_to_list(list, "Kubuntu");
>     add_to_list(list, "Xubuntu");
>
>     add_to_list(list, "Trisquel");
>     add_to_list(list, "Zorin");
>     add_to_list(list, "Mageia");
>     add_to_list(list, "Cent OS");
>     add_to_list(list, "Pardus");
>     add_to_list(list, "Sabayon");
>
>     add_to_list(list, "Dragora");
>     add_to_list(list, "Goblin");
>     add_to_list(list, "Linex");
>     add_to_list(list, "Pro-linux");
>     add_to_list(list, "Red Hat");
>
>
> ////////////////////////////////////////////////////////////////////////
> ///////////////////////// Ventana  Principal  //////////////////////
>
>
>      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), 200, 200);
>      gtk_window_set_title(GTK_WINDOW(window), "Simple");
>
>
>      gtk_window_set_transient_for(GTK_WINDOW (window3),GTK_WINDOW
> (window));
>
>
>
>
>      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_grab_focus (window);
>
>
>
>
>      vbox1 =gtk_vbox_new(FALSE, 0);
>      gtk_widget_show_all(vbox1);
>      gtk_container_add(GTK_CONTAINER(window), vbox1);
>
>
>
>
>      vbox2 = gtk_vbox_new(FALSE, 0);
>      gtk_box_pack_start(GTK_BOX(vbox1), vbox2  , FALSE, FALSE, 0);
>
>
>      fixed = gtk_fixed_new();
>
>      gtk_container_add(GTK_CONTAINER(vbox2), fixed);
>
>
>
>
>
>      buttonf = gtk_toggle_button_new();
>
>
>
>
>      gtk_widget_set_size_request(buttonf, 128, 35);
>
>      gtk_fixed_put(GTK_FIXED(fixed), buttonf, 29, 0);
>
>
>      vbox3 =gtk_hbox_new(FALSE, 0);
>      label2 = gtk_label_new("Buttonf");
>      gtk_box_pack_start(GTK_BOX(vbox3),label2,TRUE,TRUE,2);
>
>      gtk_container_add(GTK_CONTAINER(buttonf), vbox3);
>
>
>
>      gtk_widget_show(label2);
>
>      arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_IN );
>
>      gtk_box_pack_start(GTK_BOX(vbox3),arrow,FALSE,FALSE,2);
>
> //////////////////////////////  TEXTO
> ///////////////////////////////////////////////
>
>     vboxtext = gtk_vbox_new(FALSE, 0);
>
>
>     gtk_container_add(GTK_CONTAINER(vbox1), vboxtext);
>
>     gtk_widget_set_size_request(vboxtext, 300, 300);
>
>     viewarea=gtk_scrolled_window_new(NULL,NULL);
>      gtk_box_pack_start(GTK_BOX(vboxtext),viewarea,TRUE,TRUE,0);
>     gtk_widget_show(viewarea);
>
>
>     gtk_widget_add_events(GTK_WIDGET(textview), GDK_BUTTON_PRESS_MASK );
>
>
>
>     textview = gtk_text_view_new();
>
>
>     gtk_container_set_border_width(GTK_CONTAINER(   textview), 0);
>
>
>     gtk_container_add(GTK_CONTAINER(viewarea),   textview);
>
>     gtk_container_set_border_width(GTK_CONTAINER(viewarea), 2);
>
>
>
>     gtk_widget_grab_focus(   textview);
>
>
>     buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW( textview));
>
>
>
>
> //////////////////////////////////////////////////////////////////////////////////////////
> /////////////////////////////////// llamada  de   ventana
> ////////////////////////////////
>
>     g_signal_connect_swapped(window, "destroy",G_CALLBACK(gtk_main_quit),
> window);
>
>
> ////////////////////////  toggle  button llamadas /////////////////////
>
>
>     g_signal_connect(G_OBJECT(window), "configure-event",
> G_CALLBACK(ventana_p),window3);
>
>
>
>     g_signal_connect(buttonf, "toggled",  G_CALLBACK(activado),  window3);
>
>
>
>     g_signal_connect(G_OBJECT(window), "button-press-event",
> G_CALLBACK(ponja2), buttonf);
>
>
>
>     g_signal_connect(G_OBJECT(window), "focus-out-event",
> G_CALLBACK(loc1), buttonf );
>
>
>
>     g_signal_connect (window, "delete_event", G_CALLBACK (clicked1),
> buttonf);
>
>
>
>
>     g_signal_connect(G_OBJECT(textview), "button-press-event",
> G_CALLBACK(text), buttonf);
>
>
>
>     gtk_widget_show_all(window);
>
>
>     gtk_main();
>
>
>
>     return 0;
>
>
>
> }
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> 2012/6/22 Tadej Borovšak <tadeb...@gmail.com>
>
>> Hello.
>>
>> > Hello ........How I can make the buttons   are inactive  ,  the buttons
>>  of
>> > the window  (Buttons : maximize , minimize , close )  or without focus
>> when
>> > the pointer  is    over  them     ? ................
>> >
>> > I need to get the effect .   Caso 2 . View image
>> >
>> >
>> > http://fotos.subefotos.com/607c3fb8e19de4ed18357b85a33b3ab5o.png
>>
>> This is not something you could do with GTK+, since window decorations
>> are usually handled by window manager. What window manager (desktop) are
>> you using? Maybe it can be themed to behave this way?
>>
>> Cheers,
>> Tadej
>>
>>
>> --
>> Tadej Borovšak
>> tadej.borov...@gmail.com
>> tadeb...@gmail.com
>> tadeboro.blogspot.com
>>
>> _______________________________________________
>> gtk-app-devel-list mailing list
>> gtk-app-devel-list@gnome.org
>> https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
>>
>
>
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to