Re: [gtk-list] Unidentified subject!
- From: Thomas Mailund <mailund mail1 stofanet dk>
- To: gtk-list redhat com
- Subject: Re: [gtk-list] Unidentified subject!
- Date: 08 May 2000 21:04:52 +0200
>>>>> "M" == M N S S K Pavan Kumar <pavan@iiit.net> writes:
M> Hi, I have a gtkhbox of size two packed into a main window. Each
M> block of gtk hbox had a widget, first part of the hbox had a
M> textwidget packed into it and the second part has a drawing area
M> packed into it. If a toggle button is pressed , textwidget is
M> shown in the whole window, if another toggle button is pressed ,
M> drawingarea is completely shown and if both are on , both are
M> shown. Is there a way to do this.
Connect a signal handler to the toggle buttons, and show/hide the text
widget or drawing area there.
I've attached a program that shows the genral idea.
/mailund
===File ~/src/gtk-snippets/show/show-hide.c=================
#include <gtk/gtk.h>
static void
toogle_text (GtkWidget *text)
{
static gboolean b = TRUE;
if (b) {
gtk_widget_hide (text);
b = FALSE;
} else {
gtk_widget_show (text);
b = TRUE;
}
}
static void
toogle_drawing_area (GtkWidget *da)
{
static gboolean b = TRUE;
if (b) {
gtk_widget_hide (da);
b = FALSE;
} else {
gtk_widget_show (da);
b = TRUE;
}
}
int
main (int argc, char *argv[])
{
GtkWidget *win;
GtkWidget *vbox, *hbox;
GtkWidget *toggle;
GtkWidget *text, *drawingarea;
gtk_init (&argc, &argv);
win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (win), vbox);
hbox = gtk_hbox_new (TRUE, 5);
gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 5);
text = gtk_text_new (NULL, NULL);
gtk_box_pack_start (GTK_BOX (hbox), text, FALSE, FALSE, 5);
drawingarea = gtk_drawing_area_new ();
gtk_box_pack_start (GTK_BOX (hbox), drawingarea,
FALSE, FALSE, 5);
hbox = gtk_hbox_new (TRUE, 5);
gtk_box_pack_end (GTK_BOX (vbox), hbox, TRUE, TRUE, 5);
toggle = gtk_toggle_button_new_with_label ("TEXT");
gtk_signal_connect_object (GTK_OBJECT (toggle), "toggled",
GTK_SIGNAL_FUNC (toogle_text),
GTK_OBJECT (text));
gtk_box_pack_start (GTK_BOX (hbox), toggle, FALSE, FALSE, 5);
toggle = gtk_toggle_button_new_with_label ("DRAWING AREA");
gtk_signal_connect_object (GTK_OBJECT (toggle), "toggled",
GTK_SIGNAL_FUNC (toogle_drawing_area),
GTK_OBJECT (drawingarea));
gtk_box_pack_start (GTK_BOX (hbox), toggle, FALSE, FALSE, 5);
gtk_widget_show_all (win);
gtk_main ();
return 0;
}
============================================================
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]