From bad1cb0f37e58d003b30829e7b1eafd00c116c67 Mon Sep 17 00:00:00 2001 From: Federico Mena Date: Wed, 28 Jan 1998 03:41:55 +0000 Subject: [PATCH] The auto_shrink policy of the floating window is now set to TRUE. This Tue Jan 27 15:52:48 1998 Federico Mena * gtk/gtkhandlebox.c (gtk_handle_box_realize): The auto_shrink policy of the floating window is now set to TRUE. This fixes the problem of the floating window being too big when the handlebox child is small. (gtk_handle_box_motion): Now we use GDK_POINTER_MOTION_HINT_MASK to improve movement. --- ChangeLog | 9 +++++++++ ChangeLog.pre-2-0 | 9 +++++++++ ChangeLog.pre-2-10 | 9 +++++++++ ChangeLog.pre-2-2 | 9 +++++++++ ChangeLog.pre-2-4 | 9 +++++++++ ChangeLog.pre-2-6 | 9 +++++++++ ChangeLog.pre-2-8 | 9 +++++++++ Makefile.in | 2 +- docs/Makefile.in | 2 +- gtk/Makefile.in | 34 ++++++++++++++++++---------------- gtk/gtkhandlebox.c | 32 ++++++++++++++++++++++++++++---- 11 files changed, 111 insertions(+), 22 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7f2a7fa3d3..674c5b6caa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +Tue Jan 27 15:52:48 1998 Federico Mena + + * gtk/gtkhandlebox.c (gtk_handle_box_realize): The auto_shrink + policy of the floating window is now set to TRUE. This fixes the + problem of the floating window being too big when the handlebox + child is small. + (gtk_handle_box_motion): Now we use GDK_POINTER_MOTION_HINT_MASK + to improve movement. + Tue Jan 27 14:15:50 CST 1998 Shawn T. Amundson * docs/gtkfaq.sgml: more additions/changes Tony Gale. diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 7f2a7fa3d3..674c5b6caa 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,12 @@ +Tue Jan 27 15:52:48 1998 Federico Mena + + * gtk/gtkhandlebox.c (gtk_handle_box_realize): The auto_shrink + policy of the floating window is now set to TRUE. This fixes the + problem of the floating window being too big when the handlebox + child is small. + (gtk_handle_box_motion): Now we use GDK_POINTER_MOTION_HINT_MASK + to improve movement. + Tue Jan 27 14:15:50 CST 1998 Shawn T. Amundson * docs/gtkfaq.sgml: more additions/changes Tony Gale. diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 7f2a7fa3d3..674c5b6caa 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,12 @@ +Tue Jan 27 15:52:48 1998 Federico Mena + + * gtk/gtkhandlebox.c (gtk_handle_box_realize): The auto_shrink + policy of the floating window is now set to TRUE. This fixes the + problem of the floating window being too big when the handlebox + child is small. + (gtk_handle_box_motion): Now we use GDK_POINTER_MOTION_HINT_MASK + to improve movement. + Tue Jan 27 14:15:50 CST 1998 Shawn T. Amundson * docs/gtkfaq.sgml: more additions/changes Tony Gale. diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 7f2a7fa3d3..674c5b6caa 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,12 @@ +Tue Jan 27 15:52:48 1998 Federico Mena + + * gtk/gtkhandlebox.c (gtk_handle_box_realize): The auto_shrink + policy of the floating window is now set to TRUE. This fixes the + problem of the floating window being too big when the handlebox + child is small. + (gtk_handle_box_motion): Now we use GDK_POINTER_MOTION_HINT_MASK + to improve movement. + Tue Jan 27 14:15:50 CST 1998 Shawn T. Amundson * docs/gtkfaq.sgml: more additions/changes Tony Gale. diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 7f2a7fa3d3..674c5b6caa 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,12 @@ +Tue Jan 27 15:52:48 1998 Federico Mena + + * gtk/gtkhandlebox.c (gtk_handle_box_realize): The auto_shrink + policy of the floating window is now set to TRUE. This fixes the + problem of the floating window being too big when the handlebox + child is small. + (gtk_handle_box_motion): Now we use GDK_POINTER_MOTION_HINT_MASK + to improve movement. + Tue Jan 27 14:15:50 CST 1998 Shawn T. Amundson * docs/gtkfaq.sgml: more additions/changes Tony Gale. diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 7f2a7fa3d3..674c5b6caa 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,12 @@ +Tue Jan 27 15:52:48 1998 Federico Mena + + * gtk/gtkhandlebox.c (gtk_handle_box_realize): The auto_shrink + policy of the floating window is now set to TRUE. This fixes the + problem of the floating window being too big when the handlebox + child is small. + (gtk_handle_box_motion): Now we use GDK_POINTER_MOTION_HINT_MASK + to improve movement. + Tue Jan 27 14:15:50 CST 1998 Shawn T. Amundson * docs/gtkfaq.sgml: more additions/changes Tony Gale. diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 7f2a7fa3d3..674c5b6caa 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,12 @@ +Tue Jan 27 15:52:48 1998 Federico Mena + + * gtk/gtkhandlebox.c (gtk_handle_box_realize): The auto_shrink + policy of the floating window is now set to TRUE. This fixes the + problem of the floating window being too big when the handlebox + child is small. + (gtk_handle_box_motion): Now we use GDK_POINTER_MOTION_HINT_MASK + to improve movement. + Tue Jan 27 14:15:50 CST 1998 Shawn T. Amundson * docs/gtkfaq.sgml: more additions/changes Tony Gale. diff --git a/Makefile.in b/Makefile.in index b3c65a5348..cf35930636 100644 --- a/Makefile.in +++ b/Makefile.in @@ -77,7 +77,7 @@ xinput_progs = @xinput_progs@ SRC_SUBDIRS = glib gdk gtk SUBDIRS = $(SRC_SUBDIRS) docs -EXTRA_DIST = gtk+.prj makecopyright TODO REFCOUNTING +EXTRA_DIST = gtk+.prj makecopyright TODO REFCOUNTING BUGS ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = config.h diff --git a/docs/Makefile.in b/docs/Makefile.in index 140053eb30..98094211aa 100644 --- a/docs/Makefile.in +++ b/docs/Makefile.in @@ -76,7 +76,7 @@ xinput_progs = @xinput_progs@ info_TEXINFOS = gdk.texi gtk.texi -EXTRA_DIST = texinfo.tex macros.texi +EXTRA_DIST = texinfo.tex macros.texi Makefile.gtkfaq gtkfaq.sgml gtkfaq_fix mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = diff --git a/gtk/Makefile.in b/gtk/Makefile.in index 8c90842144..57c6c3cf26 100644 --- a/gtk/Makefile.in +++ b/gtk/Makefile.in @@ -92,7 +92,7 @@ libgtk_la_SOURCES = \ gtkcheckmenuitem.c \ gtkclist.c \ gtkcolorsel.c \ - gtkcombobox.c \ + gtkcombo.c \ gtkcontainer.c \ gtkcurve.c \ gtkdata.c \ @@ -145,6 +145,7 @@ libgtk_la_SOURCES = \ gtkseparator.c \ gtksignal.c \ gtkstyle.c \ + gtkstatusbar.c \ gtktable.c \ gtktext.c \ gtktogglebutton.c \ @@ -181,7 +182,7 @@ gtkinclude_HEADERS = \ gtkcheckmenuitem.h \ gtkclist.h \ gtkcolorsel.h \ - gtkcombobox.h \ + gtkcombo.h \ gtkcontainer.h \ gtkcurve.h \ gtkdata.h \ @@ -235,6 +236,7 @@ gtkinclude_HEADERS = \ gtkseparator.h \ gtksignal.h \ gtkstyle.h \ + gtkstatusbar.h \ gtktable.h \ gtktext.h \ gtktogglebutton.h \ @@ -346,7 +348,7 @@ libgtk_la_LIBADD = libgtk_la_OBJECTS = gtkaccelerator.lo gtkadjustment.lo \ gtkaspectframe.lo gtkalignment.lo gtkarrow.lo gtkbin.lo gtkbbox.lo \ gtkbox.lo gtkbutton.lo gtkcheckbutton.lo gtkcheckmenuitem.lo \ -gtkclist.lo gtkcolorsel.lo gtkcombobox.lo gtkcontainer.lo gtkcurve.lo \ +gtkclist.lo gtkcolorsel.lo gtkcombo.lo gtkcontainer.lo gtkcurve.lo \ gtkdata.lo gtkdialog.lo gtkdrawingarea.lo gtkentry.lo gtkeventbox.lo \ gtkfilesel.lo gtkfixed.lo gtkframe.lo gtkgamma.lo gtkgc.lo \ gtkhandlebox.lo gtkhbbox.lo gtkhbox.lo gtkhpaned.lo gtkhruler.lo \ @@ -357,8 +359,8 @@ gtkmenushell.lo gtkmisc.lo gtknotebook.lo gtkobject.lo gtkoptionmenu.lo \ gtkpaned.lo gtkpixmap.lo gtkpreview.lo gtkprogressbar.lo \ gtkradiobutton.lo gtkradiomenuitem.lo gtkrange.lo gtkrc.lo gtkruler.lo \ gtkscale.lo gtkscrollbar.lo gtkscrolledwindow.lo gtkselection.lo \ -gtkseparator.lo gtksignal.lo gtkstyle.lo gtktable.lo gtktext.lo \ -gtktogglebutton.lo gtktoolbar.lo gtktooltips.lo gtktree.lo \ +gtkseparator.lo gtksignal.lo gtkstyle.lo gtkstatusbar.lo gtktable.lo \ +gtktext.lo gtktogglebutton.lo gtktoolbar.lo gtktooltips.lo gtktree.lo \ gtktreeitem.lo gtktypeutils.lo gtkvbbox.lo gtkvbox.lo gtkviewport.lo \ gtkvpaned.lo gtkvruler.lo gtkvscale.lo gtkvscrollbar.lo \ gtkvseparator.lo gtkwidget.lo gtkwindow.lo fnmatch.lo @@ -396,7 +398,7 @@ DEP_FILES = .deps/fnmatch.P .deps/gtkaccelerator.P \ .deps/gtkadjustment.P .deps/gtkalignment.P .deps/gtkarrow.P \ .deps/gtkaspectframe.P .deps/gtkbbox.P .deps/gtkbin.P .deps/gtkbox.P \ .deps/gtkbutton.P .deps/gtkcheckbutton.P .deps/gtkcheckmenuitem.P \ -.deps/gtkclist.P .deps/gtkcolorsel.P .deps/gtkcombobox.P \ +.deps/gtkclist.P .deps/gtkcolorsel.P .deps/gtkcombo.P \ .deps/gtkcontainer.P .deps/gtkcurve.P .deps/gtkdata.P .deps/gtkdialog.P \ .deps/gtkdrawingarea.P .deps/gtkentry.P .deps/gtkeventbox.P \ .deps/gtkfilesel.P .deps/gtkfixed.P .deps/gtkframe.P .deps/gtkgamma.P \ @@ -412,14 +414,14 @@ DEP_FILES = .deps/fnmatch.P .deps/gtkaccelerator.P \ .deps/gtkradiomenuitem.P .deps/gtkrange.P .deps/gtkrc.P \ .deps/gtkruler.P .deps/gtkscale.P .deps/gtkscrollbar.P \ .deps/gtkscrolledwindow.P .deps/gtkselection.P .deps/gtkseparator.P \ -.deps/gtksignal.P .deps/gtkstyle.P .deps/gtktable.P .deps/gtktext.P \ -.deps/gtktogglebutton.P .deps/gtktoolbar.P .deps/gtktooltips.P \ -.deps/gtktree.P .deps/gtktreeitem.P .deps/gtktypeutils.P \ -.deps/gtkvbbox.P .deps/gtkvbox.P .deps/gtkviewport.P .deps/gtkvpaned.P \ -.deps/gtkvruler.P .deps/gtkvscale.P .deps/gtkvscrollbar.P \ -.deps/gtkvseparator.P .deps/gtkwidget.P .deps/gtkwindow.P \ -.deps/simple.P .deps/testgtk.P .deps/testinput.P .deps/testselection.P \ -.deps/testtree.P +.deps/gtksignal.P .deps/gtkstatusbar.P .deps/gtkstyle.P \ +.deps/gtktable.P .deps/gtktext.P .deps/gtktogglebutton.P \ +.deps/gtktoolbar.P .deps/gtktooltips.P .deps/gtktree.P \ +.deps/gtktreeitem.P .deps/gtktypeutils.P .deps/gtkvbbox.P \ +.deps/gtkvbox.P .deps/gtkviewport.P .deps/gtkvpaned.P .deps/gtkvruler.P \ +.deps/gtkvscale.P .deps/gtkvscrollbar.P .deps/gtkvseparator.P \ +.deps/gtkwidget.P .deps/gtkwindow.P .deps/simple.P .deps/testgtk.P \ +.deps/testinput.P .deps/testselection.P .deps/testtree.P SOURCES = $(libgtk_la_SOURCES) testgtk.c testinput.c testselection.c simple.c testtree.c OBJECTS = $(libgtk_la_OBJECTS) testgtk.o testinput.o testselection.o simple.o testtree.o @@ -671,10 +673,10 @@ maintainer-clean-generic clean mostlyclean distclean maintainer-clean ../gtk/gtktypebuiltins.h: gtk.defs gentypeinfo.el - $(srcdir)/runelisp $(srcdir)/gentypeinfo.el idmac $< $@ + $(SHELL) $(srcdir)/runelisp $(srcdir)/gentypeinfo.el idmac $< $@ gtktypebuiltins.c: gtk.defs gentypeinfo.el - $(srcdir)/runelisp $(srcdir)/gentypeinfo.el id $< $@ + $(SHELL) $(srcdir)/runelisp $(srcdir)/gentypeinfo.el id $< $@ .PHONY: files diff --git a/gtk/gtkhandlebox.c b/gtk/gtkhandlebox.c index 344ed432c4..4e5d476dbe 100644 --- a/gtk/gtkhandlebox.c +++ b/gtk/gtkhandlebox.c @@ -212,7 +212,7 @@ gtk_handle_box_realize (GtkWidget *widget) */ hb->float_window = gtk_window_new (GTK_WINDOW_DIALOG); - gtk_window_set_policy (GTK_WINDOW (hb->float_window), FALSE, FALSE, FALSE); + gtk_window_set_policy (GTK_WINDOW (hb->float_window), FALSE, FALSE, TRUE); gtk_container_border_width (GTK_CONTAINER (hb->float_window), 0); gtk_signal_connect (GTK_OBJECT (hb->float_window), "delete_event", (GtkSignalFunc) gtk_handle_box_delete_float, @@ -237,6 +237,7 @@ gtk_handle_box_realize (GtkWidget *widget) attributes.x = 0; attributes.y = 0; attributes.event_mask |= (GDK_BUTTON1_MOTION_MASK + | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); @@ -533,7 +534,9 @@ gtk_handle_box_button_changed (GtkWidget *widget, gtk_grab_add (widget); while (gdk_pointer_grab (widget->window, FALSE, - GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_RELEASE_MASK, + (GDK_BUTTON1_MOTION_MASK + | GDK_POINTER_MOTION_HINT_MASK + | GDK_BUTTON_RELEASE_MASK), NULL, hb->fleur_cursor, GDK_CURRENT_TIME) != 0); /* wait for success */ @@ -554,6 +557,7 @@ gtk_handle_box_motion (GtkWidget *widget, { GtkHandleBox *hb; gint newx, newy; + gint ox, oy; g_return_val_if_fail (widget != NULL, FALSE); g_return_val_if_fail (GTK_IS_HANDLE_BOX (widget), FALSE); @@ -561,6 +565,22 @@ gtk_handle_box_motion (GtkWidget *widget, hb = GTK_HANDLE_BOX (widget); + if (event->is_hint) + { + gdk_window_get_origin (widget->window, &ox, &oy); + gdk_window_get_pointer (widget->window, &newx, &newy, NULL); + newx += ox; + newy += oy; + } + else + { + newx = event->x_root; + newy = event->y_root; + } + + newx -= hb->dragoff_x; + newy -= hb->dragoff_y; + if (hb->is_being_dragged) { newx = event->x_root - hb->dragoff_x; @@ -581,7 +601,9 @@ gtk_handle_box_motion (GtkWidget *widget, while (gdk_pointer_grab (widget->window, FALSE, - GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_RELEASE_MASK, + (GDK_BUTTON1_MOTION_MASK + | GDK_POINTER_MOTION_HINT_MASK + | GDK_BUTTON_RELEASE_MASK), NULL, hb->fleur_cursor, GDK_CURRENT_TIME) != 0); /* wait for success */ @@ -611,7 +633,9 @@ gtk_handle_box_motion (GtkWidget *widget, while (gdk_pointer_grab (widget->window, FALSE, - GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_RELEASE_MASK, + (GDK_BUTTON1_MOTION_MASK + | GDK_POINTER_MOTION_HINT_MASK + | GDK_BUTTON_RELEASE_MASK), NULL, hb->fleur_cursor, GDK_CURRENT_TIME) != 0); /* wait for success */