On Fri, Jun 01, 2007 at 05:38:54PM -0700, nahuel9728 wrote:
> 
> Thaxs Yeti for the answer but Sorry I'm not able to do it. I explain a little
> bit what im doing and i would like to do:
> main(){
> mem_map=gtk_drawing_area_new();
> gtk_signal_connect (GTK_OBJECT (mem_map), "expose_event",(GtkSignalFunc)
> expose_event, NULL);
> gtk_signal_connect
> (GTK_OBJECT(mem_map),"configure_event",(GtkSignalFunc)configure_event,
> NULL);
> gtk_signal_connect (GTK_OBJECT (mem_map),
> "button_press_event",(GtkSignalFunc)         button_press_event, NULL);
> /*A button to erase all the drawed and paint things*/
> boton = gtk_button_new_with_label ("Clear and paint");
> gtk_signal_connect_object (GTK_OBJECT (boton), "clicked",GTK_SIGNAL_FUNC
> (clear_and_paint),GTK_OBJECT (main_window));
> show....
> }
> 
> void expose_event(){
>         gdk_draw_pixmap
> }
> 
> void clear_and_pain(GtkWidget *widget, GdkEventExpose *event){
>       /*HERE!!!!!!!! I WANNA CLEAN ALL MY DRAWED AREA*/
>        gtk_widget_queue_draw_area(GTK_WIDGET(mem_map),0,0,910,440);
>         /*This up should clean all the area??? */
>      
>         /*And later draw things.....*/
>         draw_brush();
> }
> Any idea anyone....??? Has done somthing similar????

Sorry, this is a mess, I have no idea what you are doing.

However, you seem to started from the Gtk+ scribble example,
so here's a patch to scribble-simple.c that adds a Clear
button:

===============================================================
--- scribble-simple.c.orig      2007-05-02 18:27:36.000000000 +0200
+++ scribble-simple.c   2007-06-02 12:25:02.000000000 +0200
@@ -115,12 +115,21 @@
   exit (0);
 }
 
+static void
+clear(GtkWidget *widget)
+{
+    gdk_draw_rectangle(pixmap, widget->style->white_gc, TRUE,
+                       0, 0,
+                       widget->allocation.width, widget->allocation.height);
+    gtk_widget_queue_draw(widget);
+}
+
 int main( int   argc, 
           char *argv[] )
 {
   GtkWidget *window;
   GtkWidget *drawing_area;
-  GtkWidget *vbox;
+  GtkWidget *vbox, *hbox;
 
   GtkWidget *button;
 
@@ -164,16 +173,19 @@
                         | GDK_POINTER_MOTION_MASK
                         | GDK_POINTER_MOTION_HINT_MASK);
 
-  /* .. And a quit button */
-  button = gtk_button_new_with_label ("Quit");
-  gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
-
-  g_signal_connect_swapped (G_OBJECT (button), "clicked",
-                           G_CALLBACK (gtk_widget_destroy),
-                           G_OBJECT (window));
-  gtk_widget_show (button);
+  hbox = gtk_hbox_new(TRUE, 0);
+  gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
+
+  button = gtk_button_new_with_label("Clear");
+  gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
+  g_signal_connect_swapped(button, "clicked", G_CALLBACK(clear), drawing_area);
+
+  button = gtk_button_new_with_label("Quit");
+  gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
+  g_signal_connect_swapped(button, "clicked",
+                           G_CALLBACK(gtk_widget_destroy), window);
 
-  gtk_widget_show (window);
+  gtk_widget_show_all(window);
 
   gtk_main ();
 
===============================================================

Yeti

--
http://gwyddion.net/
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to