Mon Jun 15 16:29:45 1998 Owen Taylor <otaylor@gtk.org>
* gdk/gdktypes.h gdk/gdkprivate.h gtk/gtk*.h
gtk/Makefile.am gtk/makenums.pl
Removed out the G_ENUM/FLAGS mechanism in favor
of a perl script that parses the standard headers
(with occasional /*< nick=foo >*/ style overrides)
and extracts the enumerations.
gtk/maketypes.awk: Small improvments to the
translation of names. (Avoid splitting gc into
g_c_.)
Mon Jun 15 16:25:44 1998 Owen Taylor <otaylor@gtk.org>
* gtk/Makefile.am gtk/gtk.h gtk/gtkfontsel.[ch] gtk/testgtk.c:
Damon Chaplin's <DAChaplin@email.msn.com> Font selection widget,
and a simple example for testgtk.
Mon Jun 15 15:58:34 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkentry.c:
- Restored gtk_entry_adjust_scroll to static
- Changed text positioning code so that we always
display as large a portion of the text as possible.
Mon Jun 15 15:42:12 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtktext.c (gtk_text_finalize): Free internal
structures of text widget. Also, unreference pixmaps
when unrealizing.
Sat Jun 13 19:14:39 1998 Owen Taylor <otaylor@gtk.org>
* gdk/gdkinputcommon.h (gdk_input_device_new): Change
3.3.1 bug workaround to number keys starting at 1.
Sat Jun 13 11:56:57 1998 Owen Taylor <otaylor@gtk.org>
* docs/gtk_tut.sgml: Fixed urls for complete example
source for scribble+widget-writing examples.
Fri May 22 03:02:40 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkhandlebox.c: Added style_set handler.
Fri May 22 02:55:57 1998 Owen Taylor <otaylor@gtk.org>
[ From: Chris Lahey <clahey@umich.edu> ]
* gtk/gtkeditable.c, gtk/gtkeditable.h,
gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
and set_position functions to get and set the cursor position.
* gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
signal status. Make GtkText do user-controlled insertion
and deletion through the Editable widget so that these
signals are properly emitted.
* gtk/gtkentry.c: Changed gtk_entry_set_visibility to
display asterisks instead of empty space when visible = FALSE)
Sat May 9 20:11:20 1998 Owen Taylor <otaylor@gtk.org>
* configure.in (LIBS): Try to figure out if this
is Digital Unix and we need -std1 to get the
right prototypes.
Sat May 9 20:08:12 1998 Owen Taylor <otaylor@gtk.org>
* glib/gmem.c: Experimentally restore GMemChunk
to its primeval state - where mem areas are
freed incrementally instead of searching the tree
every time a mem area is completely empty. Also,
always keep one mem chunk around. (Reduced calls
to malloc() a lot, but doesn't really improve
performance significiantly)
Fri May 8 21:31:50 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
draw-queue when we are done.
(gtk_widget_queue_draw/_queu_resize): Always return
FALSE and avoid having two idles at the same time.
Fri May 8 21:04:00 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtktext.c: Various fixes to make sure cache
lines are freed if line_start_cache doesn't point to the
beginning of the cache.
Thu May 7 09:44:22 1998 Owen Taylor <otaylor@gtk.org>
* style_set improvements for GtkText and GtkEntry
Tue May 5 19:49:27 1998 Owen Taylor <otaylor@gtk.org>
* gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
to speed things up and remove code duplication.
Reintegrated buffer overflow patches, and added
some extra paranoia.
Tue May 5 17:04:14 1998 Owen Taylor <otaylor@gtk.org>
* gdk/gdk.c (gdk_event_translate): A guint * was
being passed where X expected a Keysym *, and
keysyms are long's on Alpha Linux. This was causing
segfaults in Xlib, apparently because of alignment.
(Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
Tue May 5 19:11:27 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
set GDK_EXPOSURE_MASK for DrawingAreas
Tue May 5 14:32:37 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
(superceded by RC file reparsing capabilities)
* gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
events. (Shouldn't be sent to the InputOnly leader, which
it is now by gdk_event_send_clientmessage_toall
* gtk/testgtk.c: Added extra button to rcfiles test
to send out _GDK_READ_RCFILES events.
Tue May 5 11:03:00 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkselection.c (gtk_selection_clear): Fixed
reversed conditionals that caused segfault on some
platforms.
Tue May 5 00:44:47 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
cast to GTK_OBJECT for gtk_object_ref.
Sun May 3 13:38:22 1998 Owen Taylor <otaylor@gtk.org>
* configure.in acheader.h gdk/gdkwindow.c
Check for Shape extension both on the client and server
side. (And, more importantly, check for the shape extension
so we may include -lXext even when compiling with --disable-xshm)
Don't set override_redirect on all shaped windows. It isn't
necessary.
* gdk/gdkwindow.c: Set ->colormap to NULL for root
and foreign windows. Use this to check if we
need to get the colormap from X.
Fri May 1 22:32:47 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkbutton.c (gtk_button_paint): Draw the areas
between the default and the button always in GTK_STATE_NORMAL.
* gtk/gtkrange.c (gtk_range_style_set): Added a style_set
callback.
Fri May 1 16:40:57 1998 Owen Taylor <otaylor@gtk.org>
* gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
Fix a buffer overflow on pixmaps that claim to have
more than 31 characters per pixel.
(gdk_pixmap_read_string): Don't wrap around strings longer
than half of address space ;-)
* gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
that were used for printing integers.
* */* (almost):
Style: All
int foo () { ... }
changed to
int foo (void) { ... }
^^^^^^^ This is why some many files changed
Even where there were proper prototypes elsewhere.
* gdk/gxid.c (handle_claim_device): Some extra checks.
It isn't safe against being fed bad X id's, but at
least it should be safe against deleting all your
files.
Sun Apr 12 20:09:40 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtklabel.[ch] (gtk_label_expose): Set a flag so
instead of clearing the area in advance. That looked
_really_ bad.
* gtk/gtkcontainer.c (gtk_container_class_init): Changed
"focus" to RUN_LAST.
* gtk/gtkentry.c (gtk_entry_realize): Fixed place
where allocation was used where requisition was meant.
(Found by David J N Begley <david@avarice.nepean.uws.edu.au>)
* gtk/gtkwindow.c (gtk_window_set_default): Fixed
assertion in when setting default to NULL>
("Damon Chaplin" <DAChaplin@email.msn.com>)
* gtk/gtkwidget.c (gtk_widget_unparent): Unset the
default widget on the toplevel, if necessary.
Sun Apr 12 02:04:21 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkpreview.c: Removed unecessary and harmful
htons/ntohs when storing properties. (X does the byte
swapping itself)
Mon Apr 6 08:05:23 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkbutton.c (gtk_button_paint): Take border in
account properly.
* gtk/gtktext.c (gtk_text_realize): Don't recompute
geometry when creating with initial 1x1 geometry,
since our calculations can't handle that. Leave
text->line_start_cache NULL as sign we don't have
a real geometry yet.
* gtk/gtkentry.c (gtk_entry_motion_notify): Use the x
value we get from gdk_window_get_pointer, not from
event->x - since we always specify OwnerGrabButtonMask
(why???), event->x can refer to another window.
Sun Apr 5 08:03:01 1998 Tim Janik <timj@gtk.org>
* gtk/gtkspinbutton.c: fixed panel allocation and stacking order,
fixed the base class realization.
* gtk/gtkmisc.c: implemented widget arguments.
* gtk/gtkentry.c: fixes in _realize to behave similar to
_size_allocate.
Fri Apr 3 17:14:55 1998 Owen Taylor <owt1@cornell.edu>
* gdk/gdk.c: More extensive debugging output
* gtk/gtkalignment.c gtk/gtkbutton.c gtk/gtkcheckbutton.c
gtk/gtkclist.c gtk/gtkeventbox.c gtk/gtkhandlebox.c
gtk/gtk[hv]box.c gtk/gtk[hv]paned.c gtk/gtklist.c
gtk/gtkmenu.c gtk/gtkmenubar.c gtk/gtkmenuitem.c
gtk/gtknotebook.c gtk/gtktable.c gtk/gtktree.c
gtk/gtktreeitem.c gtk/gtkviewport.c
Avoid assigning negative values to unsigned allocation.width and
height
* gtk/gtkwindow.c:
Instead of realizing the widget, then size allocating, (resulting
in XMoveResizeWindows for all children, do the size allocation
first, then realize.
In gtk_real_window_move_resize, combine move and resize
into a single GDK/X call when possible.
* gtk/gtkclist.c gtk/gtkdrawingarea.c:
Remove assumption that the widget will be size allocated _after_
it is realized.
* gtk/gtklist.c (gtk_list_motion_notify): Removed useless
debugging message.
Mon Mar 30 21:29:43 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkentry.c: Add a "style_set" callback, so the
font can be changed at run time. (needed for GIMP text
tool)
Fri Mar 27 00:13:18 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkmain.c (gtk_propagate_event): If the widget is _not_
a descendant of a Window widget, propagate key presses like
other events.
* gtk/gtkentry.c gtk/gtktext.c: Ignore multiple simultaneous
button presses instead of treating subsequent presses as
release/press pairs for tablet compatibility.
* configure.in config.h.in: Removed inline checks, because they
are duplicated in glib.
* gtk/gtkwidget.c (gtk_widget_draw): When gtk_widget_draw ()
occurs with queued draw already in place, redraw _entire_
widget. (Pointed out by Tim Janik)
Thu Mar 26 15:33:50 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkwidget.c: When gtk_widget_draw() is called on a
REDRAW_PENDING widget, draw it and remove it from the
queue instead of doing nothing.
* gtk/Makefile.am gdk/Makefile.am: Switch order of includes
directories, to make doubly sure that wrong glibconfig.h
isn't used. (See also glib/ChangeLog)
* gtk/gtkentry.c (gtk_entry_draw_focus): Don't draw the
cursor unless the entry is editable.
(From: Stefan Jeske <jeske@braunschweig.netsurf.de>)
Sun Mar 22 23:33:50 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkentry.c (gtk_entry_insert_text): Fixed some
problems with !gtk_use_mb introduced in the last change.
Sun Mar 22 16:25:46 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkmain.c (gtk_init): fixes to locale checks
* gtk/testgtk.c (create_dnd): Create the dnd icons separately
to avoid strange interactions with shapes demo.
* gtk/gtkentry.[ch]:
- Limit the length of the text to 2048 to prevent long delays
- Fix problems with buffer overruns
- Draw only the onscreen portion of the text to prevent wrapping
of shorts in the X drawing code.
- Keep track of character positions and x-offsets to speed
up algorithms.
Wed Mar 18 17:38:25 CET 1998 Paolo Molaro <lupus@debian.org>
* gtk/gtkentry.[ch]: checked in gtk_entry_set_max_length
(it truncates the texts if it's longer, now)
Tue Mar 17 01:55:00 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkmain.c gtk/gtkentry.c: Try to guess if we can
use the mb* functions safely. (For glibc, they do
UTF-8). Heuristic is (X_LOCALE && locale != C/POSIX)
|| (mblen("\xc0", MB_CUR_MAX) == 1).
(From: "Richard Lloyd" <rkl@csc.liv.ac.uk>)
* gdk/gdk.c (gdk_ic_get_attr): Use an intermediate
variable to avoid taking the address of the result
of va_arg.
* gtk/gtkentry.c gtk/gtkeditable.c gtkobject.c
gtk/testselection.c: signedness fixups
* gtk/gtkcontainer.c: Fixed implicit cast between
gpointer and func pointer by changing.
* gtk/gtkcombo.c, gtk/gtkentry.c, gtk/gtktext.c:
static void forward declaration vs. void actual fixed
* gtk/testgtk.c: Limit total number of tree items to 10,000
Sat Mar 14 13:26:09 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkentry.c gtk/gtktext.c: Some cleanups of signedness
warnings
* gtk/gtkhandlebox.h: Changed gint ... : 1 to guint ... : 1
Wed Mar 11 04:35:06 1998 Tim Janik <timj@gimp.org>
* gtk/gtklist.c:
* gtk/gtktree.h:
* gtk/gtktree.c:
* gtk/gtktreeitem.h:
* gtk/gtktreeitem.c: applied gtk-bolliet-980310-0.patch.gz which adds
more checks and implements gtk_tree_clear_items. made a bunch of style
and indentation fixes.
-timj
Tue Mar 10 14:24:09 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkselection.c (gtk_selection_clear): Make the return
result reflect whether the clear event was out of data.
* gtk/gtkeditable.c: Ignore out of date selection clear
events.
* gtk/gtkentry.c gtk/gtktext.c: Don't synthesize releases
on [2/3]BUTTON presses, since we get the normal click as well.
Claim the selection when selecting words/lines.
Tue Mar 10 13:34:29 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkrange.c (gtk_range_default_[vh]trough_click):
Take forward/back step arrows into account when computing
position for middle button clicks.
* gtk/gtktext.c gtk/gtkentry.c:
- Fixes for deleting characters (don't subtract guints and get
negative numbers!)
- Reset cursor_virtual_x when moving by words and lines
- Extra sanity checks
- Fix to gtk_text_get_chars
(from Tony Gale <gale@daedalus.dera.gov.uk>)
Mon Mar 9 20:38:15 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkentry.c gtk/gtkeditable.c gtk/gtkspinbutton.c:
Moved "activate" to editable class. Made the vfuncs in
gtkeditable just vfuncs not signals.
* gtkentry.[ch] gtktext.[ch]: Made behavior when pressing
multiple buttons at once more rational.
* gtkentry.c gtktext.c: Unified and rationalized key
bindings. (Now are basically emacs+CUA)
* gtktext.c:
- Last position now always shares the property of the preceding
character
- Freeze the widget when inserting large amounts of text.
- Selecting lines now selects the _whole_ line.
- Fixed bug with displaying the cursor
- Ctrl-Home/End now move the cursor to the _absolute home/end
* gtkmenuitem.c: Remove necessary code out of a g_return_if_fail
-timj
Mon Mar 9 15:48:10 1998 Tim Janik <timj@gimp.org>
* Signal signedness and naming corrections, plus GtkType fixes:
* gtk/gtkadjustment.c:
* gtk/gtkbutton.c:
* gtk/gtkcheckmenuitem.c:
* gtk/gtkclist.c:
* gtk/gtkcolorsel.c:
* gtk/gtkcontainer.c:
* gtk/gtkcurve.c:
* gtk/gtkdata.c:
* gtk/gtkeditable.c:
* gtk/gtkentry.c:
* gtk/gtkhandlebox.c:
* gtk/gtkinputdialog.c:
* gtk/gtkitem.c:
* gtk/gtklist.c:
* gtk/gtkmenuitem.c:
* gtk/gtkmenushell.c:
* gtk/gtknotebook.c:
* gtk/gtkstatusbar.c:
* gtk/gtktoolbar.c:
* gtk/gtktree.c:
* gtk/gtktreeitem.c:
* gtk/gtkwidget.c:
* gtk/gtktogglebutton.c:
* gtk/gtkwindow.c:
made the <widget>_signals[] arrays of type guint rather than gint.
* gtk/gtkwidget.c (gtk_widget_get_ancestor): made widget_type a GtkType.
* gtk/gtkcombo.h:
handler ids need to be of type guint (entry_change_id, list_change_id).
* gtk/gtkaccelerator.c:
changed signal_num to signal_id and typed it guint.
* gtk/gtkmain.c: made gtk_ndebug_keys a guint.
* gtk/gtkmenu.h:
* gtk/gtkmenu.c:
(gtk_menu_popup): made button a guint.
(gtk_menu_set_active): made index a guint.
* gtk/gtkmenuitem.h:
* gtk/gtkmenuitem.c:
made accelerator_signal a guint.
* gtk/gtkoptionmenu.h:
* gtk/gtkoptionmenu.c:
(gtk_option_menu_set_history): made index a guint.
* gtk/gtksignal.h:
* gtk/gtksignal.c:
* gtk/gtkobject.h:
* gtk/gtkobject.c: changed a bunch of prototypes to take guints rather
than gints. also made some conversions from guint to GtkType, left over
from when the fundamental-types system was introduced.
* gtk/gtkobject.h:
* gtk/gtkobject.c: made object_data_id_index and obj_count guints.
made *signals and nsignals guints in GtkObjectClass.
Thu Mar 5 01:22:06 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkwidget.c (gtk_widget_unparent): Unset allocation
on unparent, to force reallocation if we get adding back
to a new parent which is already size-allocated.
* gtk/gtktreeitem.c: Keep track of separate +/- pixmaps
for each colormap, removed the idle hack.
* gdk/gdk.c: Don't warn when unable to open XIM method,
since X11R5 apparently has no default method.
* gtk/gtkwidget.c (gtk_widget_set_style_internal): Don't
call size_request on initial emission - since the
widget size isn't set yet, it can't change.
* gtk/Makefile.am: New rules 'test' and 'test-debug' to run
testgtk with the correct working directory.
* gtk/gtkentry.c (gtk_move_forward_word):
Check for position at end of line.
* gtk/gtkinputdialog.h (struct _GtkInputDialogClass):
removed 'gpointer data' arguments from default handler
structures.
Sun Mar 1 05:18:11 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkentry.c gtk/gtktext.c gtkeditable.[ch]
Changed interface to cut/copy/paste so it makes sense
when triggered by say, menu items.
Sun Mar 1 03:20:39 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkentry.[ch] gtk/gtktext.[ch] gtkeditable.[ch]
Turned off debugging in gtktext.c
Bug fixes for cutting, pasting, deleting, etc.
Some of the bugs that were there before have definitely
been fixed.
* gtk/testgtk.c gtk/testgtkrc: Removed my ugly orange backgrounds,
to make things look nicer.
Sat Feb 28 23:58:54 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkentry.[ch] gtktext.c gtkeditable.[ch]
Created a new base widget type Editable for the entry and
text widgets, which encapsulates most of the selection and
clipboard handling stuff, plus some common signals.
Changed the Entry widget extensively to support this,
but the interface and appearance should be the same.
Changed the Text widget moderately to support this.
It now supports:
- Selection style cut and paste
- Clipboard style cut and paste
- Emacs style key bindings (~same as Entry)
- Word motion
- "changed" signal
There are definitely still some bugs in the new stuff.
* gtkfilesel.c gtkspinbutton.c testgtk.c: small changes
to fit the new interface more exactly.
Tue Feb 24 22:47:01 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtktext.c: Added some support for i18n. The support
for input methods, including preedit, is there, but input
is ignored unless it comes one byte at a time, so the
CJK locales won't really work. Fixing that would require
variable-width character support in the Text widget, which
is probably the wrong approach. Eventually we'll probably
want to go to UCS-4 internally.
Also, revised key press handling, which should improve
the forwarding of non-handled keypresses to the toplevel,
and make adding selection handling easier.
* gtk/gtkentry.c: Minor changes so that C-d, etc delete
the selection if there is one.
Tue Feb 17 05:41:31 1998 Tim Janik <timj@gimp.org>
* gtk/gtkentry.c (gtk_entry_init): invoke gtk_entry_grow_text already
in this place, so the application will never see entry->text==NULL.
(see also ChangeLog entry from Tue Feb 11 1997 on this).
also i added some blurb about recent changes to the NEWS file,
and updated the TODO.
* gtk/gtkentry.c gtk/gtkinputdialog.c gtk/gtklist.c
gtk/gtklistitem.c gtktree.c gtk/gtktreeitem.c testgtkrc:
Change style->white to style->base[] where appropriate.
Change the default style to make this apparent. (Yes, it's
ugly... it can be removed later)
Sun Jan 18 09:57:00 1998 Owen Taylor <owt1@cornell.edu>
* gtkbutton.c gtkclist.c gtkdrawingarea.c gtkentry.c gtkeventbox.c
gtkfixed.c gtkhandlebox.c gtkhscale.c gtkhscrollbar.c gtkitem.c
gtklist.c gtkmenushell.c gtkmisc.c gtknotebook.c gtkpaned.c
gtkpreview.c gtkprogressbar.c gtkruler.c gtktext.c gtktree.c
gtkviewport.c gtkvscale.c gtkvscrollbar.c gtkwidget.{c,h}
Added gtk_widget_set_parent and gtk_widget_get_parent. All
widgets should use:
gtk_widget_get_parent() instead of widget->parent->window.
Any widget that wants to have children not in the parent window,
should use gtk_widget_set_parent () in their realize() and
add () routines.
CList and Viewport widgets changed to do this. (Viewport
widget using code from gtk-fortier-980117-0.patch.)
Sat Jan 17 13:26:15 CST 1998 Shawn T. Amundson <amundson@gimp.org>
* gtk/gtkentry.[ch]: Applied patch from <lupus@lettere.unipd.it>
which adds gtk_entry_set_max_length function. This was
part of gtk-lupus-970112-0.
* gtk/testgtk.c: Applied gtk-wille-980113-0 which fixes
a problem with a shaped widget keeping grab forever
when double clicked.
* docs/gtk.texi: patch from Gregory McLean <gregm@randomc.com>
to add some on aspect_frame, button_box, and color_selection
widgets
Cut/copy/paste via the X clipboard.
Generalized extending selection using <Shift> to work with all types
of motion, not just arrow keys.
Don't change length of GtkEntry structure because of USE_XIM
-owt
Takashi Matsuda <matsu@arch.comp.kyutech.ac.jp>
TANAKA Shinya <shinya@race.u-tokyo.ac.jp>
See ChangeLog entries for further details.
Also some small fixes to event handling in gdk/gdk.c; sending
clear events in gtk/gtkselection.c and cut-and-paste in
gtk/gtkentry.c