this old Clist bug...
- From: Bruno Mairlot <bruno virgoplus com>
 
- To: Gtk List <gtk-list redhat com>
 
- Subject: this old Clist bug...
 
- Date: Wed, 17 Feb 1999 23:11:21 +0100
 
Hello
It seems that I have located the bug in the clist I was talking about a
few time ago :
When the titles of the clist are passives, and if you use
gtk_widget_set_sensitive on the list to false, everything is ok.
But if you want to set the sensitvity to TRUE, then the sensitivity of
the titles isn't correctly set.
here follow a small example that shows the wrong behaviour.
Goodbye
------------- Cut Here :)--------------------------------
#include <stdio.h>
#include "/opt/gtk/include/gtk/gtk.h"
GtkWidget *clist;
void sensitive(GtkWidget *,gpointer);
gint delete_event( GtkWidget *widget,
     GdkEvent  *event,
     gpointer   data )
{
  return(FALSE);
}
/* Another callback */
void destroy( GtkWidget *widget,
       gpointer   data )
{
  gtk_main_quit();
}
int main( int   argc,
   char *argv[] )
{
  GtkWidget *window;
  GtkWidget *button,*note,*label;
  GtkWidget *scroll,*vb,*vb2,*hb;
  gchar *clabel[]={"ID1","ID2","ID3"};
  gchar *crow[]={"3","4","5"};
  gint i;
  gtk_init(&argc, &argv);
  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_signal_connect (GTK_OBJECT (window), "delete_event",
        GTK_SIGNAL_FUNC (delete_event), NULL);
  gtk_signal_connect (GTK_OBJECT (window), "destroy",
        GTK_SIGNAL_FUNC (destroy), NULL);
  gtk_container_border_width (GTK_CONTAINER (window), 10);
  vb2=gtk_vbox_new(FALSE,20);
  vb=gtk_vbox_new(FALSE,0);
  clist=gtk_clist_new_with_titles(3,clabel);
  gtk_widget_set_usize(clist,300,50);
  gtk_clist_column_titles_passive(GTK_CLIST(clist));
  gtk_widget_show(clist);
  scroll=gtk_scrolled_window_new(NULL,NULL);
  gtk_widget_set_usize(scroll,520,500);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC);
  gtk_container_add(GTK_CONTAINER(scroll),clist);
  gtk_widget_show(scroll);
  gtk_box_pack_start(GTK_BOX(vb),scroll,FALSE,FALSE,0);
  gtk_widget_show(vb);
  gtk_box_pack_start(GTK_BOX(vb2),vb,FALSE,FALSE,0);
  hb=gtk_hbox_new(TRUE,0);
  button=gtk_button_new_with_label("True");
gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(sensitive),(gpointer)TRUE);
  gtk_widget_show(button);
  gtk_box_pack_start(GTK_BOX(hb),button,FALSE,FALSE,0);
  button=gtk_button_new_with_label("False");
gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(sensitive),(gpointer)FALSE);
  gtk_widget_show(button);
  gtk_box_pack_start(GTK_BOX(hb),button,FALSE,FALSE,0);
  gtk_widget_show(hb);
  gtk_box_pack_start(GTK_BOX(vb2),hb,FALSE,FALSE,0);
  gtk_widget_show(vb2);
  gtk_container_add(GTK_CONTAINER(window),vb2);
  gtk_widget_show(window);
  gtk_main ();
  return(0);
}
void sensitive(GtkWidget *widget,gpointer data)
{
    gtk_widget_set_sensitive(clist,(gint)data);
}
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]