GtkWidget * new_layer(GtkWidget *canvas) { gchar label[10]; GtkRequisition req; gint size; nlayers++; buttons = (GtkWidget **)g_realloc(buttons, nlayers * sizeof(GtkWidget *)); plots = (GtkWidget **)g_realloc(plots, nlayers * sizeof(GtkWidget *)); sprintf(label, "%d", nlayers); buttons[nlayers-1] = gtk_toggle_button_new_with_label(label); /* gtk_button_set_relief(GTK_BUTTON(buttons[nlayers-1]), GTK_RELIEF_NONE); */ gtk_widget_size_request(buttons[nlayers-1], &req); size = MAX(req.width,req.height); gtk_widget_set_size_request(buttons[nlayers-1], size, size); gtk_fixed_put(GTK_FIXED(canvas), buttons[nlayers-1], (nlayers-1)*20, 0); gtk_widget_show(buttons[nlayers-1]); g_signal_connect(GTK_OBJECT(buttons[nlayers-1]), "toggled", (void *) activate_plot, canvas); plots[nlayers-1] = gtk_plot_new_with_size(NULL, .5, .25); gtk_widget_show(plots[nlayers-1]); activate_plot(buttons[nlayers-1],canvas); return plots[nlayers-1]; }
GtkWidget * new_layer(GtkWidget *canvas) { gchar label[10]; nlayers++; buttons = (GtkWidget **)g_realloc(buttons, nlayers * sizeof(GtkWidget *)); plots = (GtkWidget **)g_realloc(plots, nlayers * sizeof(GtkWidget *)); sprintf(label, "%d", nlayers); buttons[nlayers-1] = gtk_toggle_button_new_with_label(label); /* gtk_button_set_relief(GTK_BUTTON(buttons[nlayers-1]), GTK_RELIEF_NONE); */ gtk_widget_set_usize(buttons[nlayers-1], 20, 20); gtk_fixed_put(GTK_FIXED(canvas), buttons[nlayers-1], (nlayers-1)*20, 0); gtk_widget_show(buttons[nlayers-1]); gtk_signal_connect(GTK_OBJECT(buttons[nlayers-1]), "toggled", (GtkSignalFunc) activate_plot, canvas); plots[nlayers-1] = gtk_plot_new_with_size(NULL, .5, .5); gtk_widget_show(plots[nlayers-1]); activate_plot(buttons[nlayers-1],canvas); return plots[nlayers-1]; }