Hello. Correction to the actual code to remove widgets from a VBOX. I wont recommend 'creating' new widgets for the case of TIME consumption, speed & resources.
However, it might be easy to program... ;-) This kinda' works. -Muthus P.s: I missent this.. ;0 sorry for breaking the thread. P.P.s: this post was also missent. --- Muthiah Annamalai <[EMAIL PROTECTED]> wrote: > > --- Guenther Sohler <[EMAIL PROTECTED]> > wrote: > [snip] > > I did not yet find a good strategy to delete all > > widgets/childs from within a > > vbox. > > > http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list > > > > GtkBox [base of VBox & HBox], has a GList of > children > it contains. You can simply iterate over the list, > and delete each widget you want. > > This code must work. Sorry, I couldnt check it. > Cheers > Muthu. > > <CODE> > > The code must read <CODE> void box_remove(GtkWidget *btn, GtkBox *box) { /* Remove all widgets in the Box*/ GtkWidget *widget=NULL; GtkBoxChild *child,*needed_box; GList *ptr=box->children; int len=g_list_length(box->children); int i=0; g_assert(btn!=NULL && box!=NULL); gtk_widget_freeze_child_notify (box); g_message("Length: %d\n",len); if(len <= 1) return; for(i=0;i<len;i++,ptr=ptr->next){ child=(GtkBoxChild *)ptr->data; widget=child->widget; if(GTK_IS_LABEL(widget)){ g_message("Label {%s}",gtk_label_get_text(widget)); } if(widget!=btn && widget!=NULL){ g_message("Deleting Child: %s",gtk_widget_get_name(GTK_WIDGET(widget))); gtk_widget_unparent(widget); } else{ needed_box=child; } } gtk_widget_thaw_child_notify (box); g_list_free(box->children); box->children=g_list_alloc(); box->children->data=needed_box; gtk_container_check_resize(GTK_CONTAINER(box)); len=g_list_length(box->children); g_message("New Length: %d\n",len); return; } </CODE> __________________________________ Discover Yahoo! Use Yahoo! to plan a weekend, have fun online and more. Check it out! http://discover.yahoo.com/ _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list