Wed Dec 23 20:31:40 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtklabel.c: Fix problem where empty labels were
getting a requisition height of zero, and trailing
newlines were being ignored.
Wed Dec 23 13:58:14 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtklabel.c (gtk_label_parse_uline):
label->label should be the mb text _after_ removing
the underlines, not before.
* gtk/gtkmenu.c: Reverted Elliot's tearoff-menu-item
title hack. If it deserves being done, it deserves
being done right.
*/Makefile.am: Now passes 'make distcheck'. Now loops. I'm not sure what
is up.
1998-12-23 Elliot Lee <sopwith@redhat.com>
* gtk/gtkmenu.c: Allow programmer to gtk_object_set_data(obj,
"GtkTearoffMenuItem_window_title", ..) on a GtkMenuItem and have
it be recognized. If we're getting the title out of the GtkLabel,
then remove all underscores.
Tue Dec 22 17:01:43 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.c (gtk_drag_dest_handle_event):
Request XmTRANFER_FAILURE on Motif drops not within
a drop zone. I don't know why this is necessary,
but it is.
* gdk/gdkdnd.c (gdk_drop_reply): Fixed error where
Motif flag field in response was getting wrong
values.
Tue Dec 22 15:55:39 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkoptionmenu.c (gtk_option_menu_button_press):
Return TRUE for button press events we handle.
(Allows option menus in radio buttons to work...)
Tue Dec 22 14:50:25 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.c (gtk_drag_find_widget): Optimization -
when we've already found a widget, skip all checks
for subsequent children.
* gtk/gtkdnd.c (gtk_drag_find_widget): Checked for
!MAPPED, not !VISIBLE, since a widget (like a notebook
page), can be VISIBLE, but !REALIZED or !MAPPED.
* gtk/gtkdnd.c (gtk_drag_find_widget): Use forall(),
not foreach().
Sun Dec 20 04:48:59 1998 Tim Janik <timj@gtk.org>
* gdk/gdk.h (GDK_PRIORITY_EVENTS): export the priority at which
events are processed.
* gtk/gtk[main|signal|container].[ch]: removed deprecated _interp
variants: gtk_container_foreach_interp, gtk_idle_add_interp,
gtk_timeout_add_interp, gtk_signal_connect_interp.
Sat Dec 19 22:49:40 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.c (gtk_type_query): eek, fixed an embarrasing bug
that caused this function to always return NULL (noticed by marius
vollmer).
Sat Dec 19 17:28:30 1998 Owen Taylor <otaylor@redhat.com>
* configure.in: Don't add the gthread libs to
GLIB_LIBS either, or -lgthread -lpthread will get
pulled into all applications because of shlib deps.
* gtk/gtkmain.h gtk/gtkwidget.c gtk/gtk gdk/gdk:
Use GLIB's priority #define. Revise scale of
priorities.
Sat Dec 19 05:37:51 1998 Tim Janik <timj@gtk.org>
* gtk/gtklabel.c (gtk_label_expose): removed return_if_fail
(label->words != NULL) since that's a valid case when the label
is empty, or just default constructed.
fixed indentation prototype arguments and braces in some places.
also, pointer comparisions and initializations are done with NULL
not 0, there's a reason GLib defines NULL.
* gdk/gdkevents.c (gdk_events_pending): return (queued_events ||
putback_events) so this again returns whether events are pending,
not whether other sources like idles are pending.
* gtk/gtkmain.c (gtk_main_iteration_do):
(gtk_main_iteration): return whether the loop is done, not whether
something got dispatch to restore the original behaviour (yosh: this
fixes code like in GleSelector).
Fri Dec 18 15:19:54 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtksocket.c (gtk_socket_filter_func): Marked
plug window as destroyed before destroying the
window.
Fri Dec 18 14:17:14 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenu.c (gtk_menu_popup): Set the usize on the
tearoff window so when we reparent the window out,
the window doesn't shrink down.
Fri Dec 18 01:32:59 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmain.c (gtk_main): added gdk_flush() after g_main_run(), so we
get the original behaviour back, i.e. the event queue needs to be flushed
after a main loop has been quitted.
(gtk_main): add/remove the current main loop to/from the main loop
before/after init/quit functions have been exected to preserve the
original gtk_main_quit() behaviour.
Thu Dec 17 23:48:29 1998 Tim Janik <timj@gtk.org>
* gdk/gdkevents.c (gdk_events_init): changed argument order in call
to g_main_add_poll() to match recent glib changes.
Thu Dec 17 18:25:52 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.c (gtk_drag_drop_finished): Remove the
info tag from the context so if the source unexpectedly
responds in the future, we do nothing properly.
Thu Dec 17 18:24:41 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtk[hv]paned.c (gtk_[hv]paned_size_allocate): Handle
the case where one side of the the pane is empty.
* gtk/gtkfilesel.c (gtk_file_selection_init): Set
dir_title before using it. (Pointed out by
Lavoie Philippe <lavoie@zeus.genie.uottawa.ca>)
Thu Dec 17 11:00:48 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkim.c (gdk_set_locale): Use setlocale (LC_ALL, NULL),
not (LC_ALL, "") to query current locale.
(Pointed out by Ullrich Hafner <hafner@informatik.uni-wuerzburg.de>)
Thu Dec 17 10:53:20 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtklabel.c (gtk_label_set_text): Free
previous label->label_wc.
* gtk/testgtkrc: Leave font, not fontset commented
in by default.
1998-12-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gdk/gdkim.c: Define gdk_use_mb outside USE_XIM guard. Removed
unnecessary USE_XIM guard inside another. Made gdk_use_mb
static. Compile gdk_set_locale also if not USE_XIM.
Wed Dec 16 15:36:19 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable):
Redraw the character under the cursor when removing
the cursor.
Wed Dec 16 13:06:17 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.[ch] gtk/gtkmain.[ch] gtk/gtkprivate.h: Move main
thread lock back to GDK - we need it there for locking
when translating events. Rename things appropriately.
Wed Dec 16 11:44:21 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrange.c (gtk_range_expose): Fix a x/y typo.
CVS:
Tue Dec 15 19:50:41 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkctree.c gtk/gtkclist.c gtk/testgtk.c: Use
base[NORMAL] instead of bg[PRELIGHT] so CLists now can be
used in detergent commercials.
1998-12-15 Elliot Lee <sopwith@bogus.cuc.ml.org>
* gdk/gdkevents.c: Use G_IO_ERR|G_IO_HUP|G_IO_NVAL
as the mask for checking for GDK_INPUT_EXCEPTION events.
1998-12-15 Martin Baulig <martin@home-of-linux.org>
* autogen.sh: Not running gettextize fails on a fresh CVS checkout
and we'll get a lot of bug reports tomorrow, so I add it back.
1998-12-15 Martin Baulig <martin@home-of-linux.org>
* acinclude.m4: Rename AM_GNU_GETTEXT_GTK to AM_GTK_GNU_GETTEXT and
AM_WITH_NLS_GTK to AM_GTK_WITH_NLS to avoid this ugly automake
warnings.
Tue Dec 15 16:06:15 1998 Owen Taylor <otaylor@redhat.com>
* acinclude.m4: Provide a hacked version of the
gettext macros that never use the included gettext.
* Makefile.am configure.in: Remove references
to intl/
* autogen.sh: Don't run gettextize.
Tue Dec 15 14:30:35 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.h gdk/gdkfonts.c: Added gdk_text_extents_wc()
* Patch from Jonathan Blanford <jrb@redhat.com> to add line wrapping
to label. (Based on patch from Jeff Dairiki
<dairiki@mac-ceope.apl.washington.edu> gtk-dairiki-971208-0)
- Adds new function gtk_label_set_line_wrap()
- implement GTK_JUSTIFY_FILL.
- rename gtk_label_set to gtk_label_set_text() add
gtk_label_set() to gtkcompat.h.
* Use an internal wc representation in the label, so
that we handle underlining and line breaks correctly
for multi-byte strings.
Tue Dec 15 11:37:05 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmain.c: Fixed up some warnings.
Tue Dec 15 10:32:01 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtk{h,v,}paned.{c,h}: Add new functions
gtk_paned_set_position(),
gtk_paned_pack1/2(). The latter take a
shrink and resize parameters, that allows setting
minimum sizes and getting 'relative' resizing.
Tue Dec 15 10:26:23 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkevents.c: Keep separate putback_events and
queued_events queues so that we get both FIFO and
preemptive behavior for gdk_event_put().
Tue Dec 15 08:53:38 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.c (gdk_get_display): Remove gdk_signal,
which crept back in in last commit.
gdk/gdkevents.c: File missed on last commit.
CVS
Tue Dec 15 01:38:53 1998 Owen Taylor <otaylor@redhat.com>
* gtk/Makefile.am: Commented out testthreads from
the build process, since we won't have any idea
how to create a thread.
* configure.in (LIBS): use glib-config ... gthread
so we always build a thread-compatible library.
* gtk/gtkaccellabel.c gtk/gtkclist.c gtk/gtkcolorsel.c
gtk/gtkcombo.c gtk/gtkcontainer.c gtk/gtkentry.c
gtk/gtklist.c gtk/gtkmenuitem.c gtk/gtknotebook.c
gtk/gtkrange.c gtk/gtkselection.c gtk/gtkspinbutton.c
gtk/gtktext.c gtk/gtktooltips.c gtk/gtkwidget.c:
Add GTK_THREADS_ENTER/LEAVE pairs around timeouts
and idles to account for the fact that they are no
longer called within the GTK+ lock.
* gtk/gtkprivate.h: Added definitions for locking
the main GTK+ mutex.
* gtk/gtkmain.c: Re-implement the main loop
in terms of the GLib main loop.
* gdk/gdk.h gdk/gdkthreads.c gdk/Makefile.am: Removed threading
functionality, as it seems better to subsume GDK within the
GTK+ lock than vice-versa.
* gdk/gdkevents.c: New file, containing event handling bits
from gdk.c.
* gdk/gdkevents.c: Implement event source for GDK
events.
* configure.in gdk/gdkevents.c: Removed attempts to
subtract base_id, which were already non-functional.
* acconfig.h
* configure.in: removed IPC_RMID_DEFERRED_RELEASE check
* gdk/gdk.c: remove signal handlers, since we do an IPC_RMID
after XShmAttach, and nobody complained
-Yosh
Mon Dec 14 16:10:05 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.c (gtk_rc_init): Append locale-specific
suffixes to default rc file names, and look these
up in addition to the base filename, to facilitate
having the correct fontset per-locale.
move $(sysconfdir)/gtkrc to $(sysconfdir)/gtk/gtkrc
* gtk/gtkitemfactory.[ch] (gtk_item_factory_set_translate_func):
New function to set a function to translate menu paths.
* gtk/gtkrc.c (gtk_rc_add_initial_default_files): Free
results of g_strsplit().
Mon Dec 14 12:24:13 1998 Owen Taylor <otaylor@redhat.com>
* HACKING: Added gettext-10.35
* autogen.sh: Run gettextize.
Wed Dec 9 16:29:06 1998 Owen Taylor <otaylor@redhat.com>
Applied gtk-egger-981010-[12]
[ Daniel.Egger@t-online.de (Daniel Egger) ]
* gtk/gtkintl.h: New file - defines for localization.
* gtk/gtkfilesel.c gtk/gtkinputdialog.c: Mark strings
for internationalization.
* gtk/gtkmain.c: call bindtextdomain
* po/ - directory for translations. Initially includes
German translation.
Mon Dec 14 02:42:11 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and
RUN_ACTION signal. moved stuff from gtk_widget_grab_focus() into
gtk_widget_real_grab_focus() so a signal is always emitted
if the focus is grabbed on a widget.
Mon Dec 14 02:13:01 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or
not to delay the submenu popup from a menu item deselection time stamp.
the code looks even more hackish than before, but in practice "feels"
very well.
1998-12-13 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkwidget.h (struct _GtkWidgetClass): Added a "grab_focus"
signal for widgets. When the signal is emitted, the widget will
grab the focus. This is needed to let the user press an
accelerator key in a dialog box and have the corresponding widget
be focused.
* gtk/gtkwidget.c (gtk_widget_class_init): Create the "grab_focus"
signal. The default handler is simply gtk_widget_grab_focus().
Sun Dec 13 22:15:48 GMT 1998 Tony Gale <gale@gtk.org>
* docs/gtk_tut.sgml: Update the following sections to the
current API:
- Container Widgets
- CList Widget
- List Widget
- Tree Widget
Sat Dec 12 19:11:35 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmenuitem.c: made GtkMenuItem::activate a GTK_RUN_ACTION signal.
* gtk/gtkbutton.c: made GtkButton::clicked a GTK_RUN_ACTION signal.
* gtk/gtkfeatures.h.in: define GTK_HAVE_FEATURES_1_1_8.
Sat Dec 12 17:46:55 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtklayout.c (gtk_layout_unrealize): Mark
child->window as destroyed so we don't destroy
it again.
Sat Dec 12 17:18:32 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkfont.c (gdk_text_extents): Corrections
to computation of extents of text from a font set.
(from Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
and Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>)
Fri Dec 11 05:49:30 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkclist.c (gtk_clist_style_set): Add in a "style_set"
handler so that the background of the clist changes
with the theme.
Thu Dec 10 22:02:49 CST 1998 Shawn T. Amundson <amundson@gtk.org>
* Released GTK+ 1.1.7
* INSTALL:
NEWS:
README:
configure.in:
gtk+.spec:
gtk/gtkfeatures.h.in:
docs/gtk-config.1: Version to 1.1.7
* gtk/gtkclist.c: avoid void pointer math
* gtk/gtkhscale.c
* gtk/gtkhscrollbar.c
* gtk/gtkvscale.c
* gtk/gtkvscrollbar.c: removed trailing , from enums
* gtk/gtksignal.c: can't use enums as a bitfield type, use guint
* gtk/testgtk.c: removed C++ comment added by owenpoo
-Yosh
Thu Dec 10 20:42:22 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.c (gtk_drag_dest_handle_event): Use
gdk_window_get_origin() instead of gdk_window_get_position,
because get_position is unreliable for plugs.
This is a bad hack, maybe we need GDK_WINDOW_PLUG?
Thu Dec 10 17:58:49 GMT 1998 Tony Gale <gale@gtk.org>
* docs/gtk_tut.sgml:
- re-write the GtkProgressBar section to the 1.1 API.
- add an Appendix listing all the signals
(apologies to TimJ for taking so long in using his hard work
in automating the extraction - thanx Tim).
* examples/*: bring them all upto the tutorial versions
Wed Dec 9 17:39:26 1998 Owen Taylor <otaylor@redhat.com>
* configure.in: Add a case for success in
test for XUnregisterIMInstantiate, to prevent
screwing up $LIBS.
Wed Dec 9 13:06:31 1998 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gdk/gdkim.c (gdk_ic_new,gdk_ic_{set,get}_attr): Fixed argument
list and return type for non-XIM fallback.
* configure.in: Only build XIM-support if available.
Wed Dec 9 12:23:30 1998 Owen Taylor <otaylor@redhat.com>
* gtk/testselection.c (main): Add in missing 'flags'
field to target list.
* gdk/gdkproperty.c (gdk_atom_intern): Actually
add the atoms to the local cache.
* gdk/gdkprivate.h: put text after #endif in comment
* gdk/gdktypes.h: change whitespace in enum to shut up makeenums.pl
* gtk/testdnd.c: #include <string.h>
-Yosh
Mon Dec 7 10:27:09 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c: Destroy widgets _after_ propagating unrealize
signals through the widget heirarchy. This is unpleasant, as it
causes more X traffic, but is necessary, because we have to clean
up our Input Contexts before destroying the X windows.
(from matsu-981109-0.patch)
Mon Dec 7 10:18:18 1998 Owen Taylor <otaylor@redhat.com>
Applied gtk-a-higuti-981202-0 :
[ a-higuti@math.sci.hokudai.ac.jp (Akira Higuchi) ]
* gdk/gdk.h gdk/gdk.c
(gdk_mbstowcs): New function. Nearly equals to mbstowcs, but
implemented by a combination of Xlib functions, so
it works even with X_LOCALE.
(gdk_wcstombs): New function.
(g_mbtowc): Removed. No longer needed.
* gdk/gdk.h gdk/gdkfont.c gdk/gdkdraw.c:
Added _wc() variants to gdk_text_width(),
gdk_char_width(), gdk_draw_text(),
* gdk/gdki18n.h
(mblen, mbtowc, wctomb, mbstowcs, wcstombs,
wcslen, wcscpy, wcsncpy):
Removed. No longer needed.
(iswalnum): Removed.
(gdk_iswalnum): New macro.
(gdk_iswspace): New macro.
* gdk/gdktype.h
(GdkWChar): New typedef.
* gtk/gtkentry.h, gtk/gtkentry.c
There are many changes according to the change of the
internal representation of text, from multibyte string
to wide characters.
* gtk/gtkprivate.h, gtk/gtkmain.c
Removed the variable gtk_use_mb and related codes.
* gtk/gtkspinbutton.c
Some changes according to the change of type of entry->text.
* gtk/gtktext.h, gtk/gtktext.c
Changed the internal representation of text. We use GdkWchar
if a fontset is supplied. If not, we use guchar to save
memory.
Wed Dec 9 00:41:41 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.c (gtk_rc_add_initial_default_files): Allocate
correct amount of memory for strings.
Wed Dec 9 00:49:12 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.h:
* gtk/gtktypeutils.c: added gtk_type_query() which returns a newly
allocated structure holding certain type specific informations.
fixed the big bunch of `discards const' warnings with the
initialization of enum/flags values.
Tue Dec 8 15:10:17 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_transient_parent_realized):
Fixed order of arguments to gdk_window_transient_for().
* gtk/testgtk.c: Functions to test the toolbar space style.
* gtk/gtktoolbar.c: Add a private GtkToolbarChildSpace subclass of
GtkToolbarChild to hold allocation. Set default space style to
GTK_TOOLBAR_SPACE_EMPTY, define SPACE_LINE_* for separator
fraction defaults.
(gtk_toolbar_paint_space_line): New function; paints the separator
line, using "toolbar" as the detail.
(gtk_toolbar_expose): (gtk_toolbar_draw): Handle CHILD_SPACE when
style is set to SPACE_LINE.
(gtk_toolbar_size_allocate): Store space allocations.
(gtk_toolbar_insert_element): If we are a space, allocate and
initialize a GtkToolbarChildSpace instead of a GtkToolbarChild.
(gtk_toolbar_set_space_style): New function.
* gtk/gtktoolbar.h: Add GtkToolbarSpaceStyle, with styles of EMPTY
and LINE. Add prototype for gtk_toolbar_set_space_style.
Mon Dec 7 13:38:06 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkimage.c (gdk_image_new): Use IPC_RMID
_after_ doing XShmAttach. This should work everywhere,
and avoid the need for signal handlers or configure
checks.
Mon Dec 7 15:15:06 GMT 1998 Tony Gale <gale@gtk.org>
* docs/gtk_tut.sgml: Start mass update for GTK 1.1
* examples/extract.sh: Look for the best version of awk
* examples/extract.awk: Fix FD leak
* example/base: minimal example from Tutorial
Mon Dec 7 01:29:27 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkwindow.c: New functions
gtk_window_set_transient_for() - set up a "transient for" relationship.
gtk_window_set_default_size() - set the initial size of a window
distinct from its minimum size.
gtk_window_set_geometry_hints() - Allow the user to set
minimum, maximum sizes, aspect rations, and gridded geometry,
possibly all with respect to a subwidget of the window.
These interfaces are still a wee bit experimental.
* gdk/gdk.c: Added gdk_window_set_transient_for(),
gdk_window_set_geometry_hints(), and gdk_window_set_role().
* gdk/gdktypes.h: Added new types for find-grained specification
of WM hints.
* gtk/testgtk.c: Various changes to tests to test the
above new functions.
* gtk/gtkfontsel.c: Squash a few 'const' warnings.
* gtk/gtktogglebutton.c (gtk_toggle_button_realize): Restored
call to gtk_style_set_background() to prevent egregious
flashing to black.
Mon Dec 7 03:52:01 1998 Tim Janik <timj@gtk.org>
* gtk/gtksignal.c (gtk_handlers_run): when marshalling connect_object
signals, don't pass the data pointer twice, but swap it with the
object pointer (proposed on Nov 30 1998 on gtk-devel-list).
Mon Dec 7 03:08:39 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.h:
* gtk/gtktypeutils.c: reverted marius change to expose the type systems
internal type info data to the user. if such functionality is required
we should provide wrapped accessors, ala gtk_signal_query().
* gtk/gtksignal.c (gtk_signal_connect_by_type): reverted marius change,
since it destroys the possibility to implement automatic marshaller
lookups some day, and it also disables third party code's ability to
connect to any signal. also the GtkTypeInfo structures are dynamically
allocated memory portions, so only the type system is really allowed
to access that stuff.
Mon Dec 7 01:32:18 1998 Tim Janik <timj@gtk.org>
* gtk/gtkfilesel.c (gtk_file_selection_key_press): always intercept the
Tab key on the entry. the focus shouldn't get lost even if completion
is attempted from an empty entry, since an empty entry string does
indeed have a valid completion meaning (complete all).
(gtk_file_selection_init): cast the gchar array parameter in calls to
gtk_clist_new_with_titles() to quit compiler warnings.
(check_dir): the no_stat_dirs struct must not be const, since we do
indeed modify its contents.
* gtk/testgtk.c (event_watcher): adapted prototype to fit new emission
hook semantics.
* gtk/gtksignal.h:
* gtk/gtksignal.c:
changed emission allocation, so we don't use a doubly linked list
but link ourselfs (singly linked).
changed emission hooks, they get the emision parameters passed as
well now and are emitted during the actuall signal emission (after
the RUN_FIRST class method, but prior to RUN_FIRST handlers).
the existing restrictions do still apply to signal emission hooks,
i.e. an emission may not be stopped or restarted from an emission hook.
due to possibly huge perfomance impacts, frequent use of emision hooks
is also not recommended.
(gtk_signal_next_and_invalidate): added an
assertments which explicits what the code assumes anyways: a
maximum amount of 65535 signals.
* gtk/gtkcontainer.h: deprecated gtk_container_foreach_interp(),
gtk_container_foreach_full() should be used instead.
* gtk/gtkmain.h:
deprecated gtk_timeout_add_interp and gtk_idle_add_interp, since
we provide _full variants.
* gtk/gtksignal.h: deprecated gtk_signal_connect_interp(), we provide
gtk_signal_connect_full() for long enough now.
Sat Dec 5 21:07:09 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed
long-standing typo in aspect ratio computation code.
(pointed out by Sebastian Rittau <srittau@jroger.in-berlin.de>)
Fri Dec 4 01:20:06 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.c (gtk_clist_button_release): call toggle_row with
valid row numbers only
(toggle_row): check if clist_row != NULL
Thu Dec 3 16:49:18 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.c (DROP_ABORT_TIME): Changed to 5 min
from 10 seconds, so it doesn't abort while users
have an ACTION_ASK menu up.
* gtk/gtkdnd.c: Hide the icon window between sending a a
drop event to the destination and displaying the
snapback animation, so that it doesn't hang around
during ACTION_ASK.
Thu Dec 3 16:37:42 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkclist.c (get_cell_style): Use GTK_STATE_INSENSITIVE
for the foreground of cells for CLists in the insensitive
state, instead of GTK_STATE_PRELIGHT.
Thu Dec 3 06:20:59 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwindow.c: moved checks upon focus setting from
gtk_window_real_set_focus to gtk_window_set_focus, so we don't
emit the signal if unneccessary.
* gtk/gtkwidget.c (gtk_widget_grab_focus): clear up the old focus
containers when grabbing focus on a new widget. this is based on
a patch from Alexis Mikhailov, submitted to gtk-list on 4 Nov 1998.
* gtk/gtkclist.c (gtk_clist_focus_out): set CLIST_CHILD_HAS_FOCUS
flag, so we take the buttons into consideration upon the next focus
request.
* gtk/gtkcontainer.c (gtk_container_set_focus_child): fixed an
assertment.
Wed Dec 2 17:45:21 CST 1998 Shawn T. Amundson <amundson@gtk.org>
* gtk/gtkpixmap.c: Fixes for low-color displays and a slight
enhancement for true-color displays.
* INSTALL:
README:
configure.in:
gtk+.spec:
docs/gtk-config.1: up to version 1.1.6
Wed Dec 2 01:39:02 1998 Tim Janik <timj@gtk.org>
* gtk/gtknotebook.h:
* gtk/gtknotebook.c: s/gtk_notebook_nth_page/gtk_notebook_get_nth_page/.
* incremented version number to 1.1.6 and made Gtk
dependant on GLib 1.1.6.
* gtk/gtkwidget.h (struct _GtkRequisition): changed width and height
from guint16 to gint16, since sizes bigger than 32767 are not supported
anyways, and aritmethics with intermediate negative values are possible
now.
Tue Dec 1 00:00:04 1998 Tim Janik <timj@gtk.org>
* gtk/gtkscrolledwindow.c:
implementation of GTK_POLICY_NEVER functionality, added rationales
on the policy and size requisition handling at the top.
(gtk_scrolled_window_size_request):
we assume a default minimum for our child's width and height
if [hv]scrollbar_policy != GTK_POLICY_NEVER, except when the user
specified the dimension explicitely.
(gtk_scrolled_window_size_allocate):
do not show scrollbars if [hv]scrollbar_policy == GTK_POLICY_NEVER.
* gtk/gtkviewport.c (gtk_viewport_size_request): report the real
size we require (including the child).
* gtk/gtkclist.c:
(gtk_clist_size_request): report the real size required.
* gtk/gtkenums.h (enum GtkPolicyType): added GTK_POLICY_NEVER.
* gtk/gtkobject.c (gtk_object_init_type): object_type doesn't
need to be a static variable.
Mon Nov 30 22:41:25 1998 Tim Janik <timj@gtk.org>
* gtk/gtkclist.h:
* gtk/gtkclist.c:
* gtk/gtkviewport.h:
* gtk/gtkviewport.c:
* gtk/gtktext.h:
* gtk/gtktext.c:
* gtk/gtklayout.h:
* gtk/gtklayout.c:
* gtk/gtkwidget.h:
* gtk/gtkwidget.c:
* gtk/gtkscrolledwindow.h:
* gtk/gtkscrolledwindow.c:
s/scroll_adjustements/scroll_adjustments/
s/scroll_adjustments/set_scroll_adjustments/g
Tue Dec 1 22:45:58 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.h (struct _GtkCListClass): new class method/signal
row_move.
* gtk/gtkclist.c (gtk_clist_row_move): new public function.
emit a row_move signal
(real_row_move): move source_row to dest_row
(gtk_clist_swap_rows): use gtk_clist_row_move calls.
(gtk_clist_columns_autosize): resize all columns to their optimal
width
* gtk/gtkctree.c (real_row_move): use gtk_ctree_move to move
entire sub-tree.
* gtk/gtknotebook.c (gtk_notebook_nth_page): get nth page widget.
I submitted this patch twice to gtk-devel-list, and received no comments, so
am committing it. Although not exhaustively tested, I have been using this
gtk+ for a week w/o problems, and I did read the code to ensure that nothing
ever writes to these data structures. If by chance people encounter SEGV's in
gtk+ code that is setting values in global data structures, this patch could
be a possible culprit.
1998-11-30 Elliot Lee <sopwith@cuc.ml.org>
* {gdk,gtk}/*.c: Make read-only data structures "static const" to
allow them to be shared, mainly including (but not limited to) the
GtkTypeInfo structures for each class.
* gtk/gtkfilesel.c: Add /net to the "leave me alone" directory listing.
Mon Nov 30 10:11:29 1998 Tim Janik <timj@gtk.org>
* gtk/testgtkrc: merged testgtkrc with the pre-themes one, removed
system specific includes.
* gtk/gtksignal.c: asured that stop and restart emissions are also
checked and processed for not connected objects. fixed up restart
emission administration. invoke emission hooks after emission, hooks
are not supposed to muck around with the current emission, and
may also not cause emission restarts. fixed up stop emission
administration.
Mon Nov 30 06:20:36 1998 Tim Janik <timj@gtk.org>
* gtk/testgtk.c: added an event watcher for enter/leave based on
signal emission hooks.
* gtk/gtkobject.c (gtk_object_class_init): made GtkObject::destroy a
GTK_RUN_NO_HOOKS signal.
* gtk/gtksignal.h:
* gtk/gtksignal.c: implemented emission hooks, new hooks can be added
to a signal with gtk_signal_add_emission_hook or
gtk_signal_add_emission_hook_full, and can be removed again with
gtk_signal_remove_emission_hook.
* gtk/gtkenums.h: remove GTK_RUN_MASK, since it doesn't represent
an appropriate mask for signal runtypes for a long time now.
added GTK_RUN_NO_HOOKS value, which is used to flag signals
that do not allow the running of signal hooks.
1998-11-26 Michael Krause <m.krause@tu-harburg.de>
* gtk/gtknotebook.c (gtk_notebook_switch_page): made 'page_num'
argument a gint: switch_page signal delivers valid page numbers
again.
Sun Nov 29 06:12:01 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.c (gtk_type_unique): removed default initialization
check, people must use gtk_type_init();
* gtk/gtkwidget.h:
* gtk/gtkwidget.c: added gtk_widget_set_composite_name() which is meant
for internal use by containers, that want to assign specific composite
names to their composite children.
added gtk_widget_get_composite_name() which will return a newly
allocated string, containing the composite name of a widget. valid
composite names can only be retrived from widgets that have a parent
assigned and are flagged as GTK_COMPOSITE_CHILD.
* gtk/gtkcontainer.h:
* gtk/gtkcontainer.c: added a new function
gtk_container_child_default_composite_name() which will return a
newly allocated string, holding the composite name of a containers
child. a default implementation is provided which will compose the
composite name out of the widgets type and its sequential children
id. this implementation can be overidden through a new class function
*(composite_name)().
Sat Nov 28 10:57:59 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_expose_event): Removed bogus
expose_event handler - we had two expose_event
handlers!
Sat Nov 28 03:13:42 1998 Tim Janik <timj@gtk.org>
* gtk/gtkscrolledwindow.h:
* gtk/gtkscrolledwindow.c: changed scrolled window inheritance,
it inherits from GtkBin now.
* gtk/gtkbin.c (gtk_bin_unmap): removed superfluous check for
visibility of child.
(gtk_bin_draw): removed superfluous check for GTK_WIDGET_DRAWABLE().
added check so a child gets only drawn if it's visible.
* gtk/gtkwidget.h:
* gtk/gtkwidget.c: removed gtk_widget_draw_children().
* gtk/gtkstyle.h:
* gtk/gtkstyle.c: rmoved gtk_reset_widget_shapes.
* gtk/gtkwidget.h:
* gtk/gtkwidget.c: removed crufty relict: gtk_widget_is_child().
added internal function gtk_widget_reset_shapes() from gtkstyle.c.
* gtk/gtkrc.h:
* gtk/gtkrc.c: (gtk_rc_find_pixmap_in_path): removed bogus gscanner
argument, changed callers.
* gtk/gtkmenufactory.c: GtkMenuFactory is deprecated for a long time,
it will issue a warning now.
* gtk/gtkcompat.h: new file to #define aliases for historic
function names.
* changed 8 function names for consistency and provided aliases to keep
source compatibility in gtkcompat.h:
(gtk_accel_label_get_accel_width): renamed from gtk_accel_label_accelerator_width
(gtk_container_set_border_width): renamed from gtk_container_border_width
(gtk_notebook_get_current_page): renamed from gtk_notebook_current_page
(gtk_packer_configure): renamed from gtk_packer_set_child_packing
(gtk_paned_set_gutter_size): renamed from gtk_paned_gutter_size
(gtk_paned_set_handle_size): renamed from gtk_paned_handle_size
(gtk_scale_get_value_width): renamed from gtk_scale_value_width
(gtk_window_set_position): renamed from gtk_window_position
* renamed a few recently added funtions for consistency:
(gtk_notebook_get_tab_label): renamed from gtk_notebook_query_tab_label.
(gtk_notebook_get_menu_label): renamed from gtk_notebook_query_menu_label.
(gtk_progress_configure): renamed from gtk_progress_reconfigure.
Sat Nov 28 00:06:49 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.h:
* gtk/gtkwidget.c: deprecated gtk_widget_freeze_accelerators and
gtk_widget_thaw_accelerators, we provide gtk_widget_lock_accelerators
and gtk_widget_unlock_accelerators.
* gtk/gtklayout.h:
* gtk/gtklayout.c: implemented incremental freezing facility.
* gtk/gtktext.h:
* gtk/gtktext.c: implemented incremental freezing facility.
* gtk/gtkenums.h:
* gtk/gtkaccelgroup.h: moved enum GtkAccelFlags into this place.
* gtk/gtkentry.h:
* gtk/gtkentry.c:
deprecated gtk_entry_adjust_scroll().
* random GtkType, macro and indentation fixes.
Fri Nov 27 22:50:15 1998 Tim Janik <timj@gtk.org>
* gtk/gtkclist.h:
* gtk/gtkclist.c: implemented incremental freezing facility, added
a new class member (*refresh)() which takes over the thaw
functionality. the clist FROZEN flag got removed on the way.
* gtk/gtkctree.c: adaptions to feature the clist refresh functionality
and incremental freezing.
* gtk/gtkcalendar.c: implemented incremental freezing facility.
Fri Nov 27 12:17:15 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.[ch] (gtk_drag_get_source_widget): New function to
get the source widget of a drag.
* gtk/gtkdnd.[ch]: Target flags GTK_TARGET_SAME_[WIDGET/APP]
to restrict certain targets to the same widget or to
the same application.
* gtk/testdnd.c: Test gtk_drag_get_source_widget().
Thu Nov 26 19:11:46 1998 Lars Hamann <lars@gtk.org>
* gtk/gtk-boxed.defs (GtkCTreeNode): define GtkCTreeNode as boxed type
* gtk/gtkctree.c (gtk_ctree_class_init): use GTK_CTREE_NODE_TYPE
instead of GTK_TYPE_POINTER in signal definitions.
(patch from James Henstridge <james@daa.com.au>)
Thu Nov 26 18:48:44 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.c (set_cell_contents)
* gtk/gtkctree.c (set_cell_contents): call column_auto_resize only
if auto.resize == TRUE
* gtk/gtknotebook.c (gtk_notebook_set_shape) (gtk_notebook_expose):
don't draw tab, if show_tabs == FALSE
(bug reports from Alexis Mikhailov / Dave Cole)
(gtk_notebook_focus_changed) (gtk_notebook_draw_focus): draw only
the focus rectangle, not the hole tab.
Thu Nov 26 03:18:08 1998 Tim Janik <timj@gtk.org>
* gtk/gtkclist.h:
* gtk/gtkctree.h:
* gtk/gtkclist.c:
* gtk/gtkctree.c: reverted bogus and undocumented!!! changes from
Jay Cox (98/11/23 13:53:26) which `const' qualified char* arrays.
* gtk/maketypes.awk: changed underline substitution, so we get
GTK_TYPE_CTREE_POS instead of the broken GTK_TYPE_C_TREE_POS.
* gtk/makeenums.pl: likewise.
* gtk/gtkctree.c: adapted type names accordingly.
Tue Nov 24 11:31:06 1998 Owen Taylor <otaylor@redhat.com>
* docs/Changes-1.2.txt: Edited section on the ScrolledWindow.
* gtk/gtklayout.c (gtk_layout_set_[hv]adjustment): Remove
some code duplication.
* gtk/gtklayout.[ch] Fixed mapping and unmapping of child windows
and child widgets when scrolling greater than 32k pixels.
* testgtk.c: Modified layout test to test scrolling over
long distances.
* gtk/gtkplug.c: Added a few blank lines.
Tue Nov 24 11:11:05 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtklayout.[ch]: Fixed up copyright message.
* gdk/gdkrgb.c (DM): Make the dither matrix constant
so it can be shared.
* gtk/gtkdnd.c: Make cursor bitmaps const.
* gdk/gdk.h gdk/gdkpixmap.c: Added const to
gdk_pixmap/bitmap_create_from_data.
* gdk/Makefile.am, gtk/Makefile.am:
Removed DEFS "+=" mess that breaks recent automakes.
INCLUDES is the correct way to add to CFLAGS from Makefile.am.
* gdk/gdk.c, gdk/gdkglobals.c, gdk/gdkimage.c, gdk/gdkinput.c,
gdk/gdkpixmap.c, gdk/gdkthreads.c, gdk/gdkwindow.c,
gdk/gxid_lib.c, gtk/fnmatch.c, gtk/gtkclist.c, gtk/gtkmain.c,
gtk/testthreads.c:
Include "config.h" instead of "../config.h".
Now that DEFS works again, automake will automatically pass us
the location of config.h in -I.
Mon Nov 23 22:10:09 1998 Owen Taylor <otaylor@redhat.com>
* gtk/Makefile.am gtk/gtk.h gtk/gtklayout.[ch]
gtk/gtkplug.[ch] gtk/gtksocket.[ch] gtk/gtk.h:
Added layout widget for scrolling arbitrarily big areas.
Added plug/socket widgets for interprocess embedding.
These widgets still, at some point, need to be
made more pure in their use of GDK, as opposed
to raw X.
* gtk/testgtk.c: Added test for layout widget.
* gtk/gtkprogress.c: (gtk_progress_set_adjustment): make a saner
default adjustment (from 0 to 100) instead. I'm not sure if this
is the correct level for the fix, but gtk_progress_bar_new()'s
original default behavior is restored.
-Yosh
1998-11-23 Martin Baulig <martin@home-of-linux.org>
* gtk/gtkfeatures.h.in (GTK_HAVE_FEATURES_1_1_5): Define this so
we can check for latest GTK features.
Mon Nov 23 05:21:50 1998 Tim Janik <timj@gtk.org>
* gtk/gtkcontainer.c:
(gtk_container_add_with_args):
(gtk_container_addv):
(gtk_container_add): removed assertements for constructed containers
again, since this essentially breaks the "child" arg.
* gtk/gtktooltips.c (gtk_tooltips_force_window): fixup the draw_window
reference count, we don't need to reference toplevels that already have
destroy notifiers.
* gtk/gtkscrolledwindow.c: check for the composites existance in
_forall since we might not be already constructed.
Sat Nov 21 18:41:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>
* configure.in:
INSTALL:
NEWS:
README:
gtk+.spec:
docs/gtk-config.1: Version incremented to 1.1.5
* Released GTK+ 1.1.5
Sat Nov 21 18:53:13 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkwindow.c (gdk_window_get_deskrelative_origin):
Fixed so it at least works with window managers other
than Enlightenment, though it probably needs to be
removed altogether.
1998-11-21 Andrew T. Veliath <andrewtv@usa.net>
* gtk/gtkhandlebox.[ch]: Add shadow_type and
gtk_handle_box_set_shadow_type function (plus a
GtkHandleBox::shadow arg) to allow configuration of shadow in the
bin window.
Wed Nov 18 11:54:57 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.c (gtk_drag_find_widget): Accept drops
that are sent to a toplevel but are not within the
toplevels bounds.
* gdk/gdkdnd.c gdk/gdk.h: Added support for a
XdndProxy atom which proxies the drag to another window.
Tue Nov 17 1998 The Rasterman <raster@redhat.com>
* gdk/gdk.h, gdk/gdkwindow.c: Added gdk_window_get_deskrelative_origin
function to correctly determine gdk window position relative to
its "root window" - contains check for an Enlightenment
virtual root window.
* gtk/gtkhandlebox.c: changed gdk_window_get_origin ->
gdk_window_get_deskrelative_origin to get the origin of dragged
handleboxes correctly. Now it works correctly with E.
1998-11-17 Martin Baulig <martin@home-of-linux.org>
* gtk/genmarshal.pl: Put output files in the current directory
and not in the $(srcdir) since the VPATH is ignored for built
sources.
Mon Nov 16 19:19:00 CST 1998 Shawn T. Amundson <amundson@gtk.org>
* gtk/gtkpixmap.h
gtk/gtkpixmap.c: Pixmaps now grey out when insensitive,
code thanks to GNOME stock by Eckehard Berns. New function
gtk_pixmap_set_build_insensitive to provide ability to turn
this off.
Tue Nov 17 00:06:29 1998 Lars Hamann <lars@gtk.org>
* gtk/gtknotebook.h (struct _GtkNotebook): new flags : homogeneous;
new guints : tab_hborder, tab_vborder; marked tab_border deprecated
(struct _GtkNotebookPage): new flags : expand, fill, pack
* gtk/gtknotebook.h/c
(gtk_notebook_set_homogeneous_tabs): new function. set homogeneneous
tabs
(gtk_notebook_set_tab_border): set tab_h/vborder to tab_border
(gtk_notebook_set_tab_hborder): new function. set tab_hborder
(gtk_notebook_set_tab_vborder): new function. set tab_vborder
(gtk_notebook_query_tab_label): new function. get tab_label widget.
(gtk_notebook_set_tab_label): new function. set tab_label widget.
(gtk_notebook_set_tab_label_text): new function. set tab_label text.
(gtk_notebook_query_menu_label): new function. get tab_label widget.
(gtk_notebook_set_menu_label): new function. set tab_label widget.
(gtk_notebook_set_menu_label_text): new function. set tab_label text.
(gtk_notebook_set_tab_label_packing): new function. set tab_label
fill, expand, fill_type
(gtk_notebook_query_tab_label_packing): new function. get tab_label
fill, expand, fill_type
(gtk_notebook_real_page_position): return logic page number
(gtk_notebook_search_page) search next/prev logic page
(gtk_notebook_update_labels): set logic page number.
(gtk_notebook_page_compare): renamed gtk_notebook_find_page
(gtk_notebook_set/get_child_arg): new args CHILD_ARG_TAB_EXPAND,
CHILD_ARG_TAB_FILL, CHILD_ARG_TAB_PACK
(gtk_notebook_button_press) (gtk_notebook_key_press)
(gtk_notebook_focus) (gtk_notebook_pages_allocate)
(gtk_notebook_calc_tabs) (gtk_notebook_switch_focus_tab)
use gtk_notebook_search_page
(gtk_notebook_page_allocate): fixed allocation bug
(gtk_notebook_set/get_arg): new args TAB_HBORDER, TAB_VBORDER.
(gtk_notebook_init): unset GTK_NO_WINDOW flag
(gtk_notebook_size_request): check whether page->child is visible.
changes due to tab h/vborder, homogeneous tabs
(gtk_notebook_paint): don't draw invisible tabs
(gtk_notebook_switch_page): calculate page_num if it's less than 0
(gtk_notebook_append_*) (gtk_notebook_prepend_*)
(gtk_notebook_insert_page): removed sanity checks
* gtk/testgtk.c (create_notebook): extended Notebook sample a bit.
Mon Nov 16 15:10:33 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtktext.c: Optimizations for moving point n
places.
(gtk-mailund-980718-0, Thomas Mailund Jensen <mailund@daimi.aau.dk>)
* gtk/gtkfixed.c: Removed gtk_fixed_umap, which was
broken. (GtkWidget's default unmap handler should work fine).
Pointed out by Patrice Fortier <Patrice.Fortier@aquarel.fr>
* gtk/gtkmenubar.[ch]: added shadow_type setting and
gtk_menu_bar_set_shadow_type function to allow shadow
configurability for menubars
* gtk/gtkviewport.h: use GtkShadowType enum instead of generic guint
-Yosh
Mon Nov 16 00:17:53 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.c (gtk_type_new): relookup type node after
class creation and parent class' object initializer.
1998-11-13 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkpaned.c (gtk_paned_realize): Destroy the cursor after we
have assigned it to the window -- there is no point in keeping it around.
(gtk_paned_unrealize): No need to destroy the cursor here.
* gtk/gtkpaned.h (struct _GtkPaned): Removed the cursor field, as
it is not needed.
Fri Nov 13 11:22:38 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkpixmap.c: New function gdk_pixmap_foreign_new().
(gtk-blizzard-981005-0.
Christopher Blizzard <blizzard@applied-theory.com)
* gdk/gdk.h gdk/gdkx.h: Moved gdk_window_foreign_new and
gdk_pixmap_foreign_new to gdkx.h.
Fri Nov 13 16:06:48 1998 Owen Taylor <otaylor@redhat.com>
* gtk/Makefile.am: Added rules to generate an empty
GTK+ theme called "Default" upon installation.
* gtk/gtkrc.c (gtk_rc_parse_style): Fix inheritance
of fonts and fontsets.
(gtk-matsu-980924. Takashi Matsuda matsu@arch.comp.kyutech.ac.jp)
* gtk/gtkmain.c: Change test to detect glibc's
utf8 based mb* functions to be more specific.
* gtk/gtkwindow.[ch] gtk/gtkfixed.c: Indentation
cleanups.
Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org>
* gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't
show event_window
(gtk_toggle_button_map) (gtk_toggle_button_unmap): show/hide
event_window if draw_indicator is set
(gtk_toggle_button_set_mode):
* gtk/gtkitemfactory.c: cast NULL to GtkItemFactoryCallback to
ensure proper type (SunPro cc complains)
* gtk/gtklist.c: removed bogus '*' from "*GTK_CONTAINER_CLASS"
* gtk/gtktogglebutton.c: use our own draw method so we get proper
redraws on active state
-Yosh
1998-11-10 Martin Baulig <baulig@merkur.uni-trier.de>
* gtk/gtkfeatures.h.in (GTK_HAVE_FEATURES_1_1_4): Define this so
we can check for latest GTK features.
Mon Nov 9 00:39:20 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkenums.h : new enum GtkCornerType
* gtk/gtkscrolledwindow.h (struct _GtkScrolledWindow): added
window_placement.
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_placement):
new method to set window_placement.
(gtk_scrolled_window_viewport_allocate)
(gtk_scrolled_window_size_allocate): few changes due to
window_placement.
* gtk/testgtk.c (remove_selection): fixed while loop.
* gtk/gtkclist.c: check if column[i].button is valid before calling
gtk_widget_intersect on it in gtk_clist_draw
* gtk/gtkdnd.c: removed unused variable empty_bits
* gtk/gtkrc.c: we should use gslist_* functions with GSLists...
* gtk/gtktypeutils.[ch]: makes more send for gtk_type_is_a to return
a boolean (thanks to Elrond for noticing this)
-Yosh
1998-11-07 Jay Cox <jaycox@earthlink.net>
* gtk/gtkwindow.c: forward declaration for gtk_window_paint
* gdk/gdkxid.c: declare xid_ht static
* examples/*/Makefile: get the link ordering right.
Fri Nov 6 23:29:40 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.c (real_clear) (adjust_adjustments): resize clist
if adjustments are NULL and list size has changed
(gtk_clist_size_request): return real list requsition,
if adjustments are NULL.
(size_allocate_columns): use button->requisition.with, if column
width is not set.
(list_requisition_width): new function. return full list width.
(gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): do not
auto create adjustments.
(gtk_clist_motion) (move_vertical) (move_horizontal):
check adjustment != NULL.
Thu Nov 5 16:00:32 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.h (struct _GtkCList): removed vscrollbar, hscrollbar,
vscrollbar_policy, hscrollbar_policy. added h/vadjustment.
* gtk/gtkclist.c (gtk_clist_class_init): added new args types
"hadjustment" & "vadjustment"
(gtk_clist_set_arg) (gtk_clist_get_arg): new object class
set/get_arg functions
(gtk_clist_construct): don't create/adjust scrollbars.
(gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): new functions
to set h/vadjustments
(gtk_clist_get_vadjustment) (gtk_clist_get_hadjustment): new functions
to query h/vadjustments
(create_scrollbars): removed.
(create_adjustments): replacement for create_scrollbars
(gtk_clist_new): call gtk_clist_new_with_titles
(gtk_clist_new_with_titles): don't warn on titles == NULL
(move_horizontal): use CLAMP instead
(gtk_clist_set_policy): deprecated method.
use gtk_scrolled_window_set_policy instead.
(vadjustment_value_changed): use clist->vadj.
(adjust_scrollbars): renamed to adjust_adjustments
(adjust_adjustments): former adjust_scrollbars
(gtk_clist_destroy): unref adjustments
(gtk_clist_size_allocate) (gtk_clist_map) (title_focus)
(gtk_clist_unmap) (gtk_clist_size_request) (gtk_clist_focus)
(gtk_clist_size_allocate) (gtk_clist_forall): don't use scrollbars
(gtk_clist_thaw) (real_insert_row) (real_remove_row)
(gtk_clist_set_row_height) (real_resize_column):
call adjust_adjustments
(gtk_clist_moveto): return if clist has no adjustments yet.
(gtk_clist_parent_set): new GtkWidget::parent_set function.
Autogenerate h/vadjustments if needed.
(move_horizontal) (move_vertical): some cleanups
* gtk/gtkviewport.c (gtk_viewport_set_arg) (gtk_viewport_new):
call only gtk_viewport_set_h/vadjustment and let these functions
do the work.
(gtk_viewport_set_hadjustment) (gtk_viewport_set_vadjustment):
generate a new adjustment if needed
* gtk/gtkscrolledwindow.h ((struct _GtkScrolledWindow):
use a guint bitfield for h/vscrollbar_policy and h/vscrollbar_visible
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
queue_resize if visibility of scrollbars changes
(gtk_scrolled_window_remove): only call container_remove with
scrolled_window->viewport automatically if viewport was autogenerated
(gtk_scrolled_window_add): add widget as scrolled_window->viewport.
auto create a viewport only if widget does not take h/vadjustments.
(gtk_scrolled_window_construct): don't generate a viewport
automatically.
(gtk_scrolled_window_forall): call callback with viewport in any case
(gtk_scrolled_window_set_arg): call gtk_container_add in case of
ARG_VIEWPORT
(gtk_scrolled_window_size_allocate) (gtk_scrolled_window_size_request)
(gtk_scrolled_window_map) (gtk_scrolled_window_unmap): check
viewport != NULL
* gtk/testgtk.c
(create_ctree) (export_ctree) (create_clist): use a scrolled_window
in conjunction with clists/ctrees
* gtk/gtkfilesel.c (gtk_file_selection_init): use a scrolled_window
in conjunction with clists
* gtk/gtkfontsel.c (gtk_font_selection_init): use a scrolled_window
in conjunction with clists
Wed Nov 4 21:52:57 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkctree.c (gtk_ctree_unlink): fix focus_row adjustment
(gtk_ctree_remove_node): select focus_row if needed
(cell_size_request): only get pixmap size if pixmap != NULL
Sun Nov 1 21:00:06 GMT 1998 Austin Donnelly <austin@greenend.org.uk>
* gtk/gtkoptionmenu.c
* gtk/gtkmenushell.c: make option menus work when some of the
menuitems are hidden - previously, option menu would popup too
high.
Sat Oct 31 03:11:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
* Released GTK+ 1.1.3
* INSTALL:
* NEWS:
* README:
* gtk+.spec:
* docs/gtk-config.1: updated for v1.1.3
* Makefile.am
* sanity_check
* docs/Makefile.am: Includes new 'make release' as well as
'make sanity'. Also handles html and text creation from html,
and puts them into the distribution
* docs/Makefile.sgml: removed, similar functionality is now in
the Makefile.am file
* docs/.cvsignore: ignore html and text directories
* docs/glib.texi: removed (now in glib dist)
Fri Oct 30 20:02:36 1998 Lars Hamann <lars@gtk.org>
* gtk/gtklist.c (gtk_list_remove_items_internal):
free undo_un/selection, unselect list_item before disconnect
signal functions
(gtk_list_destroy): removed. gtk_list_shutdown clears the list
already
(gtk_list_signal_item_select) (gtk_list_signal_item_deselect)
(gtk_list_signal_item_toggle) (gtk_list_signal_scroll_horizontal)
(gtk_list_signal_toggle_focus_row) (gtk_list_signal_select_all)
(gtk_list_signal_unselect_all) (gtk_list_signal_undo_selection)
(gtk_list_signal_start_selection) (gtk_list_signal_end_selection)
(gtk_list_signal_toggle_add_mode) (gtk_list_signal_scroll_vertical)
(gtk_list_signal_extend_selection) (gtk_list_signal_focus_lost):
new functions. These functions are signal connected to inserted
list_items, to handle key bindings and GtkItem::de/select/toggle
signals.
* gtk/gtklistitem.c (gtk_list_item_class_init): added missing
gtk_object_class_add_signals call.
(gtk_list_item_toggle_focus_row) (gtk_list_item_select_all)
(gtk_list_item_unselect_all) (gtk_list_item_undo_selection)
(gtk_list_item_start_selection) (gtk_list_item_end_selection)
(gtk_list_item_extend_selection) (gtk_list_item_scroll_horizontal)
(gtk_list_item_scroll_vertical) (gtk_list_item_toggle_add_mode):
removed. These functions are handled via connected
gtk_list_signal_* functions now
Fri Oct 30 05:24:43 1998 Tim Janik <timj@gtk.org>
* gtk/Makefile.am: cause the built sources to be rebuild when possible,
even with --include-deps:
$(libgtk_la_SOURCES): $(BUILT_SOURCES)
Fri Oct 30 01:56:08 1998 Tim Janik <timj@gtk.org>
* gtk/gtkobject.c (gtk_object_remove_no_notify): renamed from
gtk_object_data_set_destroy to fit the gtkobject.h API.
* applied patch from Damon Chaplin <DAChaplin@email.msn.com>:
* gtk/gtkfontsel.h:
* gtk/gtkfontsel.c:
Added support for an extra 'base' filter which an application can
set to restrict the fonts available to the user (e.g. a terminal
program only wants the user to be able to select fixed-width fonts).
The type of font (bitmap/scalable/scaled bitmap) is now
also a part of the filter, so that an application can
request that only scalable fonts are shown.
There are new functions to set the base & user filters.
I've also stopped the up/down key press signals getting
to the clists since the font selection widget handles
them itself. It acted a bit strangely before.
Sun Oct 25 20:27:02 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmain.c (gtk_init): support an environment variable
GTK_MODULES= which takes a colon sperated list of module names
automatically loaded at gtk_init() startup.
Thu Oct 22 02:29:53 1998 Tim Janik <timj@gtk.org>
* gtk/gtkfilesel.h: GtkType and macro fixups
* gtk/gtkfilesel.c (gtk_file_selection_complete): set a pattern
for the file selection widget to try a completion on (set the
initial filter).
Wed Oct 14 14:34:04 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmain.c: implement idle functions via GHook. this gives a
slight speed improvement and lessens code duplication.
Tue Oct 20 14:53:28 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.c: Always send "drag_leave" to dests
without GTK_DEST_DEFAULT_MOTION.
Tue Oct 20 11:55:24 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.c (gdk_event_translate): Handle DestroyNotify
on destroyed windows so we clear the XID table properly.
Finish up restructure of return value handling that
was half-done before.
Tue Oct 20 12:57:10 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.c (gdk_send_clientmessage_to_all): Hunt
the window tree more comprehensively, so that we find
client windows hidden under non-toplevels.
Tue Oct 20 12:43:04 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkselection.c (gtk_selection_data_set):
Maintain the null-termintation guarantee, even when
data = NULL, length = 0. (Warn on data = NULL,
length > 0)
Mon Oct 19 16:41:44 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.h (struct _GtkWidgetClass): Add in coordinates
into function prototype for drag_data_received.
Mon Oct 19 23:44:41 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.c: rearranged some functions
(gtk_clist_set_column_auto_resize): new function. toggle auto_resize
flag of column
(gtk_clist_set_column_resizeable): if resizeable disable auto_resize
(gtk_clist_set_border): deprecated function, use
gtk_clist_set_shadow_type instead.
(gtk_clist_set_shadow_type): replacement for gtk_clist_set_border
(adjust_scrollbars): some cleanups
(select_row) (unselect_row): removed. replaced by equivalent
gtk_signal_emit calls
(add_style_data): removed, use gtk_clist_style_set instead
(gtk_clist_style_set): fill in size data, after style was set.
(set_cell_contents) (gtk_clist_set_shift) (gtk_clist_set_row_style)
(gtk_clist_set_cell_style): auto_resize columns if needed
(column_auto_resize): resize column if needed for auto_resize
(real_clear): disable auto_resize while list destroy
(resize_column): removed
* gtk/gtkctree.c : (gtk_ctree_remove_node)
(gtk_ctree_set_line_style) (gtk_ctree_set_expander_style)
(gtk_ctree_node_set_row_style) (gtk_ctree_node_set_cell_style)
(set_cell_contents) (gtk_ctree_node_set_shift) (gtk_ctree_set_spacing)
(real_tree_move) (gtk_ctree_set_indent) (gtk_ctree_insert_node)
(real_tree_collapse) (real_tree_expand) (column_auto_resize):
auto_resize columns if needed
(gtk_ctree_collapse_recursive) (gtk_ctree_collapse_to_depth)
(real_clear): disable auto_resize while processing the tree
* gtk/testgtk.c (create_clist) (create_ctree): set auto_resize
for one column
Mon Oct 19 08:31:36 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.c (gtk_drag_selection_received): Fixed
typo - look for right atom on transfer failures.
Sun Oct 18 20:52:22 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkwidget.c gtkmarshal.list: Change signal
for drag_data_get to match the use that was being
made of it everywhere else...
Sun Oct 18 18:16:39 1998 Owen Taylor <otaylor@gtk.org>
* gdk/gdk.c gdkprivate.h: Added a modular client-message-filter
mechanism, that is used for the DND messages.
Removed all the old DND code.
* gdk/gdkcolormap.c gdk/gdkcolormap.h: Add a function to
get the visual of a given colormap.
* gtk/gtkcolorsel.c: Conversion to new DND, drag
a color-swatch.
* gdk/gdk.h gdk/gdkdnd.c: The low-level
X oriented portions of drag and drop protocols.
Sending and receiving client messages, and navigating
window trees.
* gdk/gdkimage.c: added a gdk_flush() when destroying
SHM images to hopefully make it more likely that
X will gracefully handle the segment being destroyed.
* gdk/gdkprivate.h gtk/gtkdebug.h: Add new
DND debugging flags.
* gtk/gtkeditable.[ch]: Updates for the selection handling
changes.
* gtk/gtkselection.[ch]: Added GtkTargetList, a
refcounted data structure for keeping track of lists
of GdkAtom + information. Removed selection_handler_add
in favor of a "drag_data_get" signal.
* gtk/gtkdnd.[ch] gtk/gtk.h: New files - highlevel (event loop
dependent) parts of the DND protocols, display of drag icons,
drag-under highlighting, and the "default handlers".
* gtk/gtkinvisible.[ch]: New widget - InputOnly offscreen
windows that are used for reliable pointer grabs and
selection handling in the DND code.
* gtk/testdnd.c: New test program for new DND. (Old
DND tests in testgtk still need to be converted.)
* gtk/testselection.c: Use the new selection API.
* docs/dnd_internals: Start at describing how
all the new code works inside.
* docs/Changes-1.2.txt: New file describing source-incompatible
changes in GTK+-1.2.
Sat Oct 17 22:50:34 1998 Owen Taylor <otaylor@gtk.org>
* gdk/gdkwindow.c (gdk_window_remove_filter): Free
the right list node.
* gdk/gdkwindow.c (gdk_window_init): Add gdk_root_parent
to the XID table so we can receive events on it.
Wed Oct 14 12:57:40 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.c gdk/gdk.h (gdk_event_get_time): New function
to get the timestamp from a generic event.
Fri Oct 9 13:16:04 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_add_events): Added function
that safely adds additional events to a widget's event
mask, even if the widget has previously been realized.
(We can do this, but not remove events from the event
mask).
Fri Oct 2 17:35:35 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkproperty.c (gdk_property_get): Allow type == 0,
for AnyPropertyType.
Fri Oct 2 10:32:21 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkproperty.c (gdk_atom_intern): Add client-local
hashing.
Thu Sep 24 20:33:54 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.c (gdk_event_send_clientmessage_toall): serial
isn't a timestamp.
Thu Sep 17 14:23:03 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.c (gdk_event_translate): Removed printing
of unknown window lookup warnings. (Made it
a GDK_NOTE) - they happen in many circumstances.
1998-10-18 Martin Baulig <martin@home-of-linux.org>
* gtk/gtktext.c (gtk_text_set_line_wrap): new function to toggle
line wrapping like gtk_text_set_word_wrap () toggles word wrapping.
Fri Oct 16 15:59:02 1998 Lars Hamann <lars@gtk.org>
* gtk/testgtk.c (insert_row_clist) (create_clist): change a few cell
styles of inserted row
(change_style): change style of focus_row
* gtk/gtkclist.c (gtk_clist_get_row_style) (gtk_clist_set_row_style)
(gtk_clist_get_cell_style) (gtk_clist_set_cell_style): new functions
to set/get row/cell styles.
(gtk_clist_realize): attach row and cell style, allocate row colors.
(gtk_clist_unrealize): detach row and cell styles.
(get_cell_style): new function. get correct cell style.
(draw_cell_pixmap): new function.
(draw_row): draw cells with row or cell styles.
(row_new): set cell and row styles to NULL.
(row_delete): detach & unref cell and row styles.
* gtk/gtkctree.c (ctree_detach_styles) (ctree_attach_styles):
new functions to attach/detach styles and allocate colors.
(gtk_ctree_realize) (gtk_ctree_unrealize): attach/detach cell and row
styles of invisible nodes.
(draw_cell_pixmap): new function.
(get_cell_style): new function. get correct cell style.
(gtk_ctree_draw_expander): new function. draw tree expander.
(gtk_ctree_draw_lines): new function.draw tree lines.
(draw_row): draw cells with row or cell styles.
(row_new): set cell and row styles to NULL.
(row_delete): detach & unref cell and row styles.
(gtk_ctree_node_get_row_style) (gtk_ctree_node_set_row_style)
(gtk_ctree_node_get_cell_style) (gtk_ctree_node_set_cell_style):
Analogons of GtkCList functions
(gtk_ctree_set_spacing): new function. set spacing between
tree expander and cell contents
(gtk_ctree_set_expander_style): new function. set expander style
of ctree.
(ctree_is_hot_spot): few changes due to draw_row modifications.
Mon Oct 12 07:51:34 1998 Tim Janik <timj@gtk.org>
* gtk/gtksignal.c (gtk_signal_handlers_destroy): only unref those
handlers that have not yet been disconnected (finally managed to
trigger the gtk_signal_handler_unref() paranoid warning).
Sat Oct 10 03:37:50 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_get_arg): fixed default value for x, y,
width and height which is -1 and not -2.
Sat Oct 10 03:37:50 1998 Tim Janik <timj@gtk.org>
* gtk/gtktable.c (gtk_table_set_child_arg): take the left, right, top
and bottom attach arguments as mandatory and readjust the table size
and opposing edge accordingly if required. this way the order in which
the arguments are set doesn't matter.
Thu Oct 8 15:53:59 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtktypeutils.c (gtk_type_class_init): Fixed warning
message to print out parent class name correctly.
Thu Oct 8 07:07:10 1998 Tim Janik <timj@gtk.org>
* gtk/gtkobject.h:
* gtk/gtkobject.c:
removed functions gtk_object_set_data_destroy and
gtk_object_set_data_destroy_by_id.
added functions gtk_object_remove_no_notify and
gtk_object_remove_no_notify_by_id which will remove a certain data
portion without invokation of its destroy notifier, this should only
be used in very controled circumstances.
Wed Oct 7 05:15:36 1998 Tim Janik <timj@gtk.org>
* gtk/gtk*.h:
* gdk/gdk.h: removed all occourances of #pragma } and #pragma {
which were in place to fixup emacs' cc-mode indentation.
putting (c-set-offset 'inextern-lang 0) into ~/.emacs is the
proper way to achive this and doesn't produce problems for
stupid pragma-related compiler bugs. ;)
Wed Oct 7 00:59:46 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.h: new signal GtkCList::resize_column.
* gtk/gtkclist.c (draw_row): don't draw invisible columns
(size_allocate_title_buttons) (size_allocate_columns):
skip invisible columns
(new_column_width): take min/max_width into account
(gtk_clist_button_release) (gtk_clist_motion):
changes due to changed new_column_width function
(LIST_WIDTH): changed define to inline function.
(real_resize_column): class function for resize_column signal
(gtk_clist_motion): fixed autoscrolling for column resizes
(gtk_clist_set_column_visibility): don't hide last visible column,
changed visible arg to gboolean
(gtk_clist_set_column_min_width)(gtk_clist_set_column_max_width):
new functions : set min/max width of a column
(gtk_clist_set_column_resizeable): new function : enable/disable
column resize operations by mouse
* gtk/gtkctree.c (draw_row): don't draw invisible columns
(ctree_is_hot_spot): return FALSE if tree_column is invisible
(draw_xor_line) (draw_xor_rect): draw full rectangle/line if
tree_column is invisible
(gtk_ctree_find_all_by_row_data)
(gtk_ctree_find_all_by_row_data_custom): new function from
Ronan Bourlier <ronan@radioss.com>. Returns a GList of all
GtkCTreeNodes with row->data == data.
Tue Oct 6 14:05:00 1998 Tim Janik <timj@gtk.org>
* gtk/testgtk.c (cb_tree_destroy_event): use g_free to free g_malloced
memory (Martin Pool <mbp@wistful.humbug.org.au>).
Sun Oct 4 22:47:22 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
* gtk/gtkcalendar.h:
gtk/gtkcalendar.c: More changes:
- The day with focus is now seperated from the day selected
- The day with focus has the xor's line around it
- The selected day is now standard selected style
- The week names and week numbers are now also drawn
with selected style
- Space now selects the day which has focus
Sun Oct 4 17:55:52 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
* gtk/gtkcalendar.h:
gtk/gtkcalendar.c: Some significant changes, including:
- No longer draw focus around entire widget, only around
the day which has focus
- Draw relief around entire widget like originally planned
- Show header and day names by default
- Move data private to the widget out of GtkCalendar struct
and only point to it with a gpointer
- Remove some old unused variables from GtkCalendar struct
Sun Oct 4 17:45:43 BST 1998 Tony Gale <gale@gtk.org>
* docs/gtk_tut.sgml: update I've had sat around:
- Grammar patch from James R. Van Zandt <jrv@vanzandt.mv.com>
- Range Widget update from David Huggins-Daines <bn711@freenet.carleton.ca>
- New Toolbar section from Jacek Wojdel <J.C.Wojdel@cs.tudelft.nl>
1998-10-01 Martin Baulig <martin@home-of-linux.org>
* gtk/gtkclist.h (GtkCListColumn): Added `visible'.
* gtk/gtkclist.c (gtk_clist_set_column_visibility): New function.
Makes it possible to individually show and hide columns.
(size_allocate_columns): Adapted to keep track of hidden columns.
(size_allocate_title_buttons): Likewise.
Sat Oct 3 17:54:48 1998 Tim Janik <timj@gtk.org>
* gtk/gtkargcollector.c (GTK_ARG_COLLECT_VALUE): for unknown foreign
fundamental types, collect an argument of the type returned from
gtk_type_get_varargs_type(). removed the first macro argument which
was just the same as the fundamental type of the *arg passed to
the macro.
* gtk/gtkarg.c (gtk_args_collect):
* gtk/gtksignal.c (gtk_signal_collect_params): changed callers.
* gtk/gtktypeutils.h:
* gtk/gtktypeutils.c: new functions gtk_type_set_varargs_type() and
gtk_type_get_varargs_type() to set and query the varargs collect
type used for a fundamental type, registered outside of Gtk.
* gtk/gtkmisc.c (gtk_misc_class_init): changed object arguments
GtkMisc::xalign and GtkMisc::yalign from GTK_TYPE_DOUBLE to
GTK_TYPE_FLOAT.
* gtk/gtkframe.c (gtk_frame_class_init): changed object arguments
GtkFrame::label_xalign and GtkFrame::label_yalign from GTK_TYPE_DOUBLE
to GTK_TYPE_FLOAT.
Sat Oct 3 01:25:24 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkctree.c (gtk_ctree_insert_gnode) (real_tree_collapse)
(gtk_ctree_link) (gtk_ctree_unlink) (real_tree_expand):
fixes for assignment errors with GTK_CTREE_NODE_NEXT/PREV
(real_tree_expand) (real_tree_collapse):
don't expand/collapse a leaf
Fri Oct 2 16:10:36 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.c (gtk_type_enum_find_value): make sure we don't
segfault when looking up a non-existant value name (reported by
Pablo <pcj+gtk@primenet.com>).
Thu Oct 1 10:40:20 1998 Tim Janik <timj@gtk.org>
* gtk/gtkclist.h (gtk_clist_prepend):
* gtk/gtkclist.c (gtk_clist_prepend): new function.
(gtk_clist_insert): added g_return_val_if_fail()
statements. accept a row parameter < 0 or > clist->rows to indicate
append mode.
(real_clear): first clean up all internal pointers and lists (e.g.
clist->row_list or clist->rows), then delete the distinct rows. this
is required because of destroy notifiers, we need to have all internal
structures updated and be reentrant.
* gtk/gtkcalendar.h:
* gtk/gtkcalendar.c: removed the `gtk_calendar_' prefix from the
GtkCalendarClass signal methods.
GtkType and macro fixups, put `void' into () prototypes, avoid C++
style comments, indentation fixes, fixed some g_return_if_fail()
statements.
(gtk_calendar_paint_header):
(gtk_calendar_paint_day_names):
(gtk_calendar_paint_week_numbers):
(gtk_calendar_paint_main): made these static functions.
(gtk_calendar_select_month):
(gtk_calendar_select_day):
(gtk_calendar_mark_day):
(gtk_calendar_unmark_day):
(gtk_calendar_get_date): signedness corrections, use guints
rather than gints.
(gtk_calendar_size_request): removed unused variables.
Wed Sep 30 13:11:09 1998 Tim Janik <timj@gtk.org>
* gtk/gtkitemfactory.c (gtk_item_factory_add_item): list all
widgets in the ->widgets_by_action list that have a callback
defined (not only those with a callback_action!=0).
Sat Sep 26 04:46:22 1998 Tim Janik <timj@gtk.org>
* configure.in: set binary age and interface age to 0.
* gtk/gtkspinbutton.h:
* gtk/gtkspinbutton.c: changed gtk_spin_button_construct to
gtk_spin_button_configure. gtk_spin_button_construct is still defined
as an alias for gtk_spin_button_configure for source compatibility,
but actuall use is deprecated.
typeness corrections, i.e. gint->gboolean and gint->guint.
added object arguments: GtkSpinButton::value, GtkSpinButton::wrap,
GtkSpinButton::shadow_type, GtkSpinButton::update_policy,
GtkSpinButton::numeric, GtkSpinButton::snap_to_ticks,
GtkSpinButton::adjustment, GtkSpinButton::digits and
GtkSpinButton::climb_rate.
GtkType and macro fixups.
Sat Sep 25 23:33:55 1998 Tim Janik <timj@gtk.org>
* gdk/gdkwindow.c (gdk_window_get_root_origin): new function to get
the *real* geometry position of a window, taken possible window
manager offsets into account.
this has been succesfully tested with fvwm, fvwm-2, bowman, olwm,
olvwm, twm, ctwm, mlvwm, windowmaker and enlightenment.
it does fail though for amiwm which adds windows to a pseudo root
window, and for icewm by a small offset because it defines the
geometry position whithin its border.
* gtk/testgtk.c: added "saved position" test to figure how
gdk_window_get_root_origin() interacts with window managers (repopup
this window to figure ;).
Wed Sep 23 06:09:19 1998 Tim Janik <timj@gtk.org>
* configure.in: update to Gtk+ version 1.1.3, binary age 1,
interface age 1.
* gtk/gtkobject.c
(gtk_object_ref):
(gtk_object_unref): check for ->ref_count to be greater than 0 (the
existing code was buggy in letting ->ref_count==0 pass through and
then failing the living_objs_ht assertion).
* gtk/gtkclist.c (draw_row): fix chopping bug for right justified
pixtext fields (Roman Pozlevich <roma@botik.ru>).
Mon Sep 21 07:44:30 1998 Tim Janik <timj@gtk.org>
* gtk/gtkobject.c (gtk_object_class_add_signals): reallocate
the required memory block, rather than allocating it newly from
scratch and doing a full-blown block copy on it.
Mon Sep 21 02:30:06 1998 Tim Janik <timj@gtk.org>
* NEWS file update for upcoming release of Gtk+ version 1.1.2,
binary age 0, interface age 0.
* gtk/gtkmain.c (gtk_init): enforce gtk-modules to always be resident.
Sun Sep 20 09:52:39 1998 Owen Taylor <otaylor@gtk.org>
* HACKING: indent other than GNU indent should be OK
now.
* gtk/genmarshal.pl gtk/Makefile.am: Call indent on file
instead of piping through indent. If indent wasn't
found in ./configure don't bother indenting at
all.
* gtk/Makefile.am (source_headers): Move `gtkfeature.h' ...
(gtkinclude_HEADERS): ... here.
(gtk.defs): Pass `g' flag to sed, to replace all occurances.
Tue Sep 15 14:57:30 1998 Owen Taylor <otaylor@redhat.com>
* Makefile.am gtk-config.in l*: Update to libtool-1.2b,
change library versioning scheme to drop LT_RELEASE
from the -l line, while keeping it in the soname.
Tue Sep 15 14:10:33 1998 Owen Taylor <otaylor@redhat.com>
* configure.in Makefile.in: define a MAINT-like variable REBUILD
which is set if Perl and awk are found, and autogenerated sources
can be rebuilt. Remove the auto-generated sources from
CVS.
Add dependencies so that the autogenerated sources are
rebuilt if the files they depend on change.
(This unfortunately currently results in the entire
gtk/ directory being rebuilt when any header changes.
Moving all enums to gtkenums.h would fix this.)
Thu Sep 17 05:12:48 1998 Tim Janik <timj@gtk.org>
* gtk/gtkobject.h: added gtk_object_set_data_destroy and
gtk_object_set_data_destroy_by_id functions to set the destroy
function pointer for an existing data portion.
* gtk/gtkobject.c: removed the GtkObjectData implementation and
made all gtk_object_*data* functions use the GLib equivalents.
1998-09-16 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtktoolbar.c (gtk_toolbar_insert_element): Test whether type
is not equal to GTK_TOOLBAR_CHILD_RADIOBUTTON before checking that
(widget != NULL), otherwise radio button insertion will not work
-- the widget argument is NULL for the first radio button in the
group.
Tue Sep 15 13:09:24 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkimage.c (gdk_image_new): Reverted global changes
of g_new to malloc(), added back in the one place where
it actually mattered. #include <stdlib.h>.
* gdk/gdkrgb.c: g_malloc() to malloc() as above.
Tue Sep 15 11:06:13 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_move_resize): Don't request
a new size from the WM if we asked for the same size
before and our request was rejected.
* gtk/gtkwindow.c (gtk_window_configure_event): If
in response to a request, we get a configure event
with unchanged dimensions, send a synthetic expose
since ForgetGravity won't expose our window.
Mon Sep 14 14:28:24 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtktext.c (adjust_adj): Change the way we
set the adjustments on resize so that it tries to
keep the beginning of the text in approximately
the same place.
Removed assertion that the above change made invalid.
Mon Sep 14 21:47:35 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
* gdk/gdkimage.c: changed g_new()s to malloc()s and
g_free()s to free()s to avoid mixing g_new()s with
free()s. X itself uses free() on some of the
malloced memory.
* gtkfilesel.c: Maintain a list of directories like
/afs we know contain only directories, and avoid
stat'ing files in those directories. (Because
stat'ing all files in /afs is extremely expensive)
To support automounters, try to open directories,
even if we couldn't find them when reading their
parent directory.
* gtk/gtkclist.c (gtk_clist_set_selectable): new function
to set/unset the selectable flag of a single row.
(gtk_clist_get_selectable): new function
to get the state of the selectable flag
* gtk/gtkctree.c (gtk_ctree_node_set_selectable)
(gtk_ctree_node_get_selectable): clist analogons
* configure.in: added -posix check for NeXTStep
* gtk/testthreads.c: applied part of gtk-joke-980907-0 to use
a unique buffer for each thread.
* docs/gtk-config.1: clarified copyright
-Yosh
Tue Sep 8 05:19:51 1998 Tim Janik <timj@gtk.org>
* gdk/gdk.c (gdk_init): use g_atexit() instead of ATEXIT.
* gtk/gtkmain.c (gtk_init): use g_atexit() instead of ATEXIT.
* gtk/gtkobject.c (gtk_object_init_type): use g_atexit() instead of
ATEXIT.
* ltconfig: use GLib's ltconfig which honours lcc.
Sat Sep 5 16:01:19 1998 Owen Taylor <otaylor@gtk.org>
* gdk/gdkinputxfree.h gdk/gdk.c gdk/gdkinputgxi.h:
When the pointer is grabbed on an input window,
either explicitely, or through press-grab, and
then grabbed on a non-input window, ungrab the
devices.
Sat Sep 5 07:13:19 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.h: don't include any gdk headers.
added structure definitions for GtkTypeObject and GtkTypeClass,
which cover the very basic fields of GtkObject and GtkObjectClass,
which are actually used by the type system.
* gtk/gtktypeutils.c: don't include gtkobject.h or gtkcontainer.h,
we only refer to our own structures. improved class inheritance
sanity checking a bit.
* gtk/gtkobject.h: placed appropriate comments at the beginnings
of the GtkObject and GtkObjectClass structures, which explain
their relationship to GtkTypeObject and GtkTypeClass.
* gtk/gtktypeutils.h:
* gtk/gtkobject.h:
moved GTK_STRUCT_OFFSET(), GTK_CHECK_CAST(), GTK_CHECK_CLASS_CAST(),
GTK_CHECK_TYPE() and GTK_CHECK_CLASS_TYPE() macro definitions from
gtkobject.h to gtktypeutils.h.
* gtk/gtkobject.h:
* gtk/gtkobject.c:
removed gtk_object_check_cast() and gtk_object_check_class_cast()
functions. to keep source compatibility, we can provide macro aliases
for the corresponding gtk_type_* functions. but then again, people
shouldn't have been using these functions anyways since they were part
of Gtk's internal API.
* gtk/gtktypeutils.h:
* gtk/gtktypeutils.c:
implemented gtk_type_check_object_cast() and gtk_type_check_class_cast()
functions to check GtkTypeObject and GtkTypeClass types.
Thu Sep 3 04:22:20 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
GTK_MENU_DIR_CHILD: check for the existance of
menu_shell->active_menu_item before accessing its child.
GTK_MENU_DIR_PREV:
GTK_MENU_DIR_NEXT: if we haven't had an active item and still
don't, make a default selection.
Wed Sep 2 00:28:58 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_propagate_state): iterate
the children with _forall for sensitivity changes and with
_foreach on pure state changes. this fixes a lot of the
old inclusions of internal widgets into _foreach calls.
* gtk/gtktree.c: removed gtk_tree_foreach, let gtk_tree_forall
do the work. don't walk the subtrees of first level children.
* gtk/gtktreeitem.c: provide a _forall implementation,
which walks the subtrees as well for include_internals.
* gtk/gtkmenuitem.c: provide a _forall implementation, which walks
the submenus as well for include_internals.
* gtk/gtkscrolledwindow.c: removed gtk_scrolled_window_foreach and
implemented gtk_scrolled_window_forall, which will iterate over
the viewport and the scrollbars for gtk_container_forall or
iterate over the viewports children for gtk_container_foreach.
* gtk/gtktoolbar.c:
* gtk/gtktable.c:
* gtk/gtkpaned.c:
* gtk/gtkpacker.c:
* gtk/gtkmenushell.c:
* gtk/gtklist.c:
* gtk/gtkfixed.c:
* gtk/gtkclist.c:
* gtk/gtkbox.c:
* gtk/gtkbin.c:
* gtk/gtknotebook.c:
removed the old gtk_*_foreach functions and provided gtk_*_forall.
* gtk/gtknotebook.c:
(gtk_notebook_real_switch_page): expose tabs.
(gtk_notebook_page_num): new function to return the page number
of a distinct child.
(gtk_notebook_focus): minor fixups. foxus handling is still screwed
under some circumstances.
* gtk/gtktreeitem.c:
(gtk_real_tree_item_select):
(gtk_real_tree_item_deselect): major fixes.
some general fixups wrt queue_redraw, and tree items not being
NO_WINDOW widgets.
* gtk/gtklistitem.c:
(gtk_real_list_item_select):
(gtk_real_list_item_deselect):
(gtk_real_list_item_toggle):
removed unneccessary queue_redraw calls.
Wed Aug 30 09:42:07 1998 Tim Janik <timj@gtk.org>
* gtk/gtkoptionmenu.c: allow optionmenus to have the focus and
automatically popup the menu on space bar.
Wed Aug 26 06:40:34 1998 Tim Janik <timj@gtk.org>
* gtk/gtkcontainer.h:
* gtk/gtkcontainer.c: implemented gtk_container_forall() (as a class
method), which acts similar to gtk_container_foreach(), but iterates
over internal children. the GtkContainer::foreach signal vanished in
favour of a new class method ->forall() that optionally includes
internal widgets.
* gtk/gtkclist.c (gtk_clist_init): provide no _foreach implementation
but a _forall implementation, since all child widgets we have are
internal ones.
(column_button_create): set the parent window prior
to gtk_widget_set_parent().
* gtk/gtkwidget.c:
exchanged all calls to gtk_container_foreach() with
gtk_container_forall().
* gtk/gtkwidget.h:
* gtk/gtkwidget.c: added the GTK_COMPOSITE_CHILD, exported through
the GtkWidget::composite_child argument. to have a widget created
with the flag initially, two new functions got added to wrap a widgets
creation:
gtk_widget_push_composite_flag() and gtk_widget_pop_composite_flag().
Wed Aug 25 23:37:39 1998 Tim Janik <timj@gtk.org>
* gtk/gtktooltips.h:
* gtk/gtktooltips.c: exported gtk_tooltips_create_window() as
gtk_tooltips_force_window(), so tooltips->tip_window can be accessed
prior to the first tip being set.
don't put an extra reference on the window, since it is a toplevel,
it wont get destroyed from anywhere else.
* overall macro and GtkType fixups.
1998-09-02 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkcolorsel.c: Replaced "foo == TRUE" and "foo == FALSE"
constructs by more forgiving ones. (Does anyone else feel like
the color selector need rewriting?).
Tue Sep 1 10:53:52 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkprogress.c (gtk_progress_finalize): Unref
the adjustment.
* gtk/gtkmenu.c: Modified reference counting so
that the reference count from the toplevel that
the menu creates to the menu is invisible to the
application.
Tue Aug 25 16:52:47 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtktext.c (recompute_geometry): Make sure the
mark we pass to line start is the beginning of a
real line, not a wrapped one.
Mon Aug 24 18:37:15 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtktext.c: Reference count the fonts used in
the text widget.
* gdk/gdk.h gdk/gdkcolor.c: Rename the color allocation
freeing functions to be more consistent, and more
convenient; leave the old names in for backwards compatibility.
* gdk/gdkcolor.c gdk/gdkprivate.h: Reference count the
allocations in pseudo-color colormaps to greatly reduce
calls to XAllocColor. Keep a per-colormap hashtable to
speed up finding if there is an already-allocated matching
color.
* gdk/gdkcolor.c: Don't just match read the system colormap
when the colormap is created, but synchronize our copy
with the system colormap periodically.
* gdk/gdk.c gdk/gdktypes.h gtk/gtkentry.c gtk/gtktext.c:
Change XIM constants names to match GDK conventions
* gtk/testinput.c: Allow the drawing area to get the focus.
* gtk/testgtk.c: Change around the Text test to demonstrates
multiple fonts, use more colors.
* gtk/gtkwidget.c: Improve gtk_widget_get_colormap()/visual()
so they work after a widget is unrealized.
* gtk/gtktext.[ch]: Remove the requirement that the text
widget be realized before adding text (!) Allocate colors
ourself, instead of requiring the caller allocate them.
Allow changing styles to work properly by keeping track
of the values for a certain property are default or
set explicitely.
* gtk/gtkmenu.h: Added some comments.
* gtk/gtkentry.c: Changes to match XIM constants.
* gtk/gdk.h gdk/gdkwindow.c: Add gdk_drawable_set_data(),
for adding keyed data to drawables. (Uses g_dataset
internally)
* gdk/gdkpixmap.c: Keep track of the colors we allocate,
when creating an XPM - store them as user data for the GdkPixmap,
so we don't leak colors when we create pixmaps from XPM's.
Allocate memory for color information in large blocks instead of
as many little pieces.
Mon Aug 24 02:36:53 1998 Tim Janik <timj@gtk.org>
* gtk/gtkarg.h:
* gtk/gtkarg.c:
* gtk/gtkwidget.h:
* gtk/gtkwidget.c:
* gtk/gtkobject.h:
* gtk/gtkobject.c:
* gtk/gtkcontainer.h:
* gtk/gtkcontainer.c:
(gtk_object_new):
(gtk_object_set):
(gtk_widget_new):
(gtk_widget_set):
(gtk_container_add_with_args):
(gtk_container_child_set):
begin the parameter elipsis (...) after the first argument name. this
change is source compatible, since it was always required, even as NULL.
(gtk_args_collect):
(gtk_object_args_collect):
(gtk_container_child_args_collect):
changed prototypes to pass first_arg_name, also, pass va_list variable
by value (portability concerns). callers changed.
* gtk/gtkargcollector.c: implemented gtk_arg_collect_value() as
a huge macro GTK_ARG_COLLECT_VALUE() <shrug>. this is needed because we
can't pass va_list variables by reference for portability reasons.
Fri Aug 21 02:31:26 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmain.h:
* gtk/gtkmain.c (gtk_check_version): added a function to perform a
binary version check, returning a static string for error descriptions,
or NULL on success.
Thu Aug 20 20:08:15 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtktext.c ([un]draw_cursor): Check to see if we've
computed our geometry yet, and if not, ignore the request.
gtk/gtktext.c (correct_cache_insert): Fiddled around]
some more. All the bug-test codes seem to work at once
now. (fingers crossed...)
1998-08-20 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Do not do
anything if the event's window is not the bin window.
(gtk_handle_box_motion): Likewise.
Wed Aug 19 00:11:14 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmain.c (gtk_init): allow argument parsing in gtk without
G_ENABLE_DEBUG being defined (specifically --gtk-module= and
--g-fatal-warnings), noticed by miguel.
Tue Aug 18 17:22:22 1998 Lars Hamann <lars@gtk.org>
* gtk/gtknotebook.c (gtk_notebook_switch_focus_tab):
* gtk/gtknotebook.c (gtk_notebook_update_labels): fix for sigsegv
in case of show_tabs == NULL
Tue Aug 18 03:54:43 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmain.c (gtk_init): restricted the --g*fatal-* arguments
to --g-fatal-warnings again. this option now causes log levels of
WARNING and CRITICAL to abort().
* gdk/gdk.c:
* gdk/gdkdnd.c:
* gdk/gdkcc.c:
* gdk/gdkfont.c:
* gdk/gdkwindow.c:
* gdk/gdkvisual.c:
* gtk/gtkwidget.c:
* gtk/gtktypeutils.c:
* gtk/gtktree.c:
* gtk/gtkfontsel.c:
* gtk/gtkmain.c:
* gtk/gtkobject.c:
* gtk/gtkpreview.c:
* gtk/gtkselection.c:
* gtk/gtktext.c:
* gtk/gtktree.c:
* gtk/gtktreeitem.c:
did a global search&replace to substitute g_print() calls with
g_message(). libraries shouldn't use printf(), g_print() or
g_printerr() at all.
a bunch of the replacements should probably be wrapped into the
G{D|T}K_NOTE() macros, so they are special cased for debugging
purposes in a sane way, avoiding all the nasty #ifdef DEBUG_MY_TEDDY
things.
* gdk/gdkrgb.c: left this out currently.
* gdk/gdkdnd.c: added copyright notice.
Tue Aug 18 00:29:13 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.h:
(struct _GtkCListClass): new class methods:
(sort_list) (insert_row) (remove_row) (set_cell_contents)
* gtk/gtkclist.c :
(cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
removed and replaced by (set_cell_contents)
(set_cell_contents): function for class method set_cell_contents
(real_insert_row): function for class method insert_row
(real_remoce_row): function for class method remove_row
(real_sort_list): function for class method sort_list
(default_compare): fix to avoid problems with cell types != CELL_TEXT
* gtk/gtkctree.h :
(gtk_ctree_export_to_gnode): new function to export a ctree as gnode
(gtk_ctree_node_is_visible): new function to return visibility state
of a node
(gtk_ctree_show_stub): new function to set visibility of root stub
renamed functions :
(gtk_ctree_insert) -> (gtk_ctree_insert_node)
(gtk_ctree_remove) -> (gtk_ctree_remove_node)
(gtk_ctree_find_glist_ptr) -> (gtk_ctree_find_node_ptr)
(gtk_ctree_set_text) -> (gtk_ctree_node_set_text)
(gtk_ctree_set_pixmap) -> (gtk_ctree_node_set_pixmap)
(gtk_ctree_set_pixtext) -> (gtk_ctree_node_set_pixtext)
(gtk_ctree_set_shift) -> (gtk_ctree_node_set_shift)
(gtk_ctree_get_cell_type) -> (gtk_ctree_node_get_cell_type)
(gtk_ctree_get_text) -> (gtk_ctree_node_get_text)
(gtk_ctree_get_pixmap) -> (gtk_ctree_node_get_pixmap)
(gtk_ctree_get_pixtext) -> (gtk_ctree_node_get_pixtext)
(gtk_ctree_set_foreground) -> (gtk_ctree_node_set_foreground)
(gtk_ctree_set_background) -> (gtk_ctree_node_set_background)
(gtk_ctree_set_row_data) -> (gtk_ctree_node_set_row_data)
(gtk_ctree_set_row_data_full) -> (gtk_ctree_node_set_row_data_full)
(gtk_ctree_get_row_data) -> (gtk_ctree_node_get_row_data)
(gtk_ctree_moveto) -> (gtk_ctree_node_moveto)
(gtk_ctree_sort) -> (gtk_ctree_sort_node)
(gtk_ctree_is_visibe) -> (gtk_ctree_is_viewable)
* gtk/gtkctree.c :
(cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
removed and replaced by (set_cell_contents)
(set_cell_contents): function for class method set_cell_contents
(real_insert_row): function for class method insert_row
(real_remoce_row): function for class method remove_row
(real_sort_list): function for class method sort_list
(default_compare): removed. CTree now also compares two GtkCTreeRows
instead of two GtkCTreeNodes.
(gtk_ctree_unlink): call gtk_ctree_collapse if parent is empty after
unlinking the node
(real_tree_expand) (real_tree_collapse): fix for refcounting of
node pixmaps
(set_node_info): call gtk_ctree_node_set_pixtext instead of
manipulating the row itself
* gtk/testgtk.c: use renamed functions of GtkCTree.
new sample to show gtk_ctree_export_to_gnode and gtk_ctree_insert_gnode
at work.
Mon Aug 17 15:31:38 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmain.c: removed gtk_input_add_interp.
* gtk/gtkeditable.c (gtk_editable_set_position): fixed bogus "return"
keyword.
(gtk_editable_get_event_time): fix default: case.
* gtk/gtkclist.c (gtk_clist_swap_rows): fixes for lvalue casts.
* gdk/gdkpixmap.c: made a bunch of unexported functions static.
* gdk/gdkcolor.c:
* gdk/gdkvisual.c: include "gdkx.h", since it exports prototypes
of our functions.
* various minor compilation cleanups, such as bogus commas in
enums and similar things.
M
Mon Aug 17 03:47:55 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmain.c (gtk_init): feature a new commandline option
--gtk-with-module=<module> that allows additional loading and
initialization of modules (e.g. GLE).
Mon Aug 17 01:40:00 1998 Tim Janik <timj@gtk.org>
* configure.in: version bump to 1.1.1, binary age 0, interface age 0.
pass "gmodule" to AM_PATH_GLIB, with that we require libgmodule.so now.
* gtk/gtkmain.c (gtk_init): since glib's g_return*_if_fail macros log
with G_LOG_LEVEL_CRITICAL now, i added "--g-fatal-checks",
"--gdk-fatal-checks" and "--gtk-fatal-checks". that makes up six
different *-fatal-* arguments now. this needs to be revised and
compressed to a reasonable amount of arguments.
Sun Aug 16 20:51:59 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmain.c (gtk_init): fatal warning option is split up now,
"--g-fatal-warnings" causes fatal warnings in GLib,
"--gdk-fatal-warnings" causes fatal warnings in Gdk,
"--gtk-fatal-warnings" causes fatal warnings in Gtk.
* gtk/Makefile.am: define G_LOG_DOMAIN for gtk.
* gdk/Makefile.am: define G_LOG_DOMAIN for gdk.
* gtk/testgtk.c:
* gdk/gxid.c:
we need ugly #undef G_LOG_DOMAIN at the start of these files currently,
since automake doesn't support per target _CFLAGS yet.
* configure.in: require GLib 1.1.3.
Thu Aug 13 09:11:11 BST 1998 Tony Gale <gale@gtk.org>
* docs/gtk_tut.sgml:
- Tidy up of the menufactory example from
Andy Kahn <kahn@zk3.dec.com>
- New section on Range Widgets from
David Huggins-Daines <bn711@freenet.carleton.ca>
- Started a new section on 'Advanced Event and Signal
Handling' - used an email from Owen.
- New appendix on Gdk Event Types
- Added the tictactoe full example code to the
'Code Examples' appendix
Tue Jul 21 12:42:01 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.h gdk/gdkfont.c: Added gdk_text/string_extents() -
too calculate all the metrics at once of a string, including
things which weren't calculated before.
* gtk/Makefile.am gtk/gtk.h gtk/gtktearoffmenu.[ch]: New
MenuItem type, that when put as the first thing in a
menu, makes the menu tearoff. Currently drawn as a
dashed line.
* gtk/gtkmenuitem.h gtk/gtkcheckmenuitem.c: Added a flag
"hide_on_activate" to the MenuItem class structure to allow
check and radio buttons to be changed with <Space> without
hiding the menu.
* gtk/gtkaccellabel.[ch]: Added new capabilities to set
a underline_group and underline_mods for the label -
accelerators added in the underline group matching
underline_mods will be displayed as an underline character.
This doesn't work - Save As needs to be underlined
as Save _As.
* gtk/gtkitemfactory.c:
- Create a AccelGroup for each MenuShell we create.
- If an '&' appears before a character 'c' in the path,
then make 'c' an accelerator in the menu's accel group,
and if the menuitem is menubar <alt>C an accelerator
in the itemfactory's accel group.
* gtk/gtklabel.[ch]: Add support for a pattern arg -
which is a string. If an '_' appears in this string,
the corresponding position in the label is underlined.
Add gtk_label_parse_uline() convenience function which
takes a string with embedded underlines, sets the
pattern and label, and returns the accelerator keyval.
* gtk/gtkmenu.[ch]: Make menus no longer a toplevel widget.
Instead, they create a GtkWindow and add themselves
to that. (When torn off, another new feature, they
create another GtkWindow to hold the torn off menu)
New function gtk_menu_set_tearoff_state()
* gtk/gtkenums.h gtk/gtkmenushell.[ch] gtk/gtkenums.h:
Added action signals for keyboard navigation of menus.
* gtk/gtkmenushell.c: Key press handler which activates
bindings for navigation, and accelerators, for handling
underline accelerators. Exported functions to select
and activate menu items in a menushell.
* gtk/testgtk.c: Added a new "Item Factory" test which
tests GtkItemFactory and the new keyboard navigation
of menus.
Tue Aug 11 20:52:58 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.c (gtk_type_class_init): relookup nodes after
external functions have been called. also relookup nodes after
this function has been invoked.
Tue Aug 11 15:04:52 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtktext.[ch]: Removed has_cursor, set the cursor
beginning of Text when creating the Text widget.
* gtk/testgtk.c: Grab the focus on the text widget so
as to test out the above.
Tue Aug 11 14:55:00 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkeditable.c: Reverted part of timj's change of Jul 16.
::changed is a notification signal and should have no default
handler. A complete redraw of the Text widget does _not_ need to
be done on every text insertion.
Tue Aug 11 13:07:29 1998 Owen Taylor <otaylor@redhat.com>
(gtk-abilleira-072198-patch)
* gtk/gtkwindow.[ch]:
Add gtk_window_set_modal() which sets a flag; when
set the window does a gtk_grab_add() when the window
is shown, and a gtk_grab_remove() when the window
is hidden.
* gtk/gtkfilesel.[ch]: Test if it is running in modal form and in
that case will run "Create Dir","Delete File" and "Rename File"
dialogs as modal too.
* gtk/testgtk.c: Added a button with an example of creating modal
dialog boxes. Including file selection and color selection standard
dialogs.
Tue Aug 11 00:44:47 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkhscrollbar.c gtk/gtkvscrollbar.c gtk/gtktoolbar.c:
Removed CAN_FOCUS by default from scrollbars, button
children of toolbar. (But not GDK_TOOLBAR_CHILD_WIDGET children)
(Scrollbar definitely good change, toolbar bit more questionable)
Tue Aug 11 00:35:56 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0;
added all logical operations to gc->function.
Sun Aug 9 23:31:59 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
gtk_widget_size_allocate instead of gtk_widget_queue_resize
if the visibility state of a scrollbar changes.
Thu Aug 6 22:37:21 1998 Stefan Jeske <stefan@gtk.org>
* gtk/gtkclist.c: Renamed my_merge and my_mergesort to
gtk_clist_merge and gtk_clist_mergesort. :)
Wed Aug 5 21:12:37 1998 Stefan Jeske <stefan@gtk.org>
* gtk/gtkenums.h: new enum GtkSortType.
* gtk/gtkclist.h:
* gtk/gtkclist.c:
Added sorting capabilities to GtkCList. New APIs :
gtk_clist_set_compare_func, gtk_clist_set_sort_column,
gtk_clist_set_sort_type, gtk_clist_sort, gtk_clist_set_auto_sort.
New internal functions : default_compare, merge, mergesort.
(gtk_clist_append): This is just a wrapper for gtk_clist_insert now.
(gtk_clist_insert): Modified to handle gtk_clist_append and the
auto sort flag. Changed the return value from void to gint to
return the row number where the element was actually inserted.
(gtk_clist_swap_rows): Return immediately if auto sort flag is set.
* gtk/gtkctree.h:
* gtk/gtkctree.c:
Removed the auto_sort flag, replaced ctree->node_compare with
clist->compare all over the place, modified default_compare to
match clist's needs. Removed API´s : gtk_ctree_set_auto_sort,
gtk_ctree_set_compare_func. Removed GtkCTreeCompareFunc typedef.
* gtk/testgtk.c: Modified clist/ctree samples to demonstrate
sorting. The lists can be sorted by a column by clicking the
corresponding title button.
Wed Aug 5 02:57:20 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkctree.h:
* gtk/gtkctree.c:
(gtk_ctree_find): changed to return a gboolean
(gtk_ctree_insert_gnode): new function for recursive insertion of a
GNode tree.
(gtk_ctree_real_select_recursive): fix for extended selection
(gtk_ctree_sort_recursive): in case node == NULL, sort root nodes too.
(gtk_ctree_set_node_info) (set_node_info): few fixes for expanded flag
Tue Aug 4 16:18:26 1998 Tim Janik <timj@gtk.org>
* configure.in: version bump to 1.1.1, binary age 0, interface age 0.
GLib version 1.1.1 is now required at minimum.
* docs/Makefile.am: added gtk_tut_fr.sgml to EXTRA_DIST (french version
of the Gtk+ tutorial, contributed by Eric Jacoboni <jaco@dotcom.fr>.
Mon Aug 3 19:24:48 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtktext.c (gtk_text_forward_delete): Undraw the
cursor before (possibly) deleting the cursor's text
property.
* gtk/gtktext.c (correct_cache_delete): More attempts
to clean the line-start cache up after inserting
a property. Among other things, make sure to
fix up text->current_line, since it is used to
refetch the changed lines.
Tue Aug 4 10:59:19 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtktable.[ch]: Empty rows/columns of the table
should not have been marked as being able to shrink.
(Fixes prorlem with shrinking scrollbarless GIMP canvases)
1998-08-03 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkctree.c (gtk_ctree_find_by_row_data_custom): New public
function to find a row by its data pointer using a custom
comparison function.
Sun Aug 02 22:58:00 1998 George Lebl <jirka@5z.com>
* gtk/gtkclist.c: draw the buttons during a "draw" as well,
this fixes a bug when the whole widget is made non-sesitive
the buttons weren't redrawn
Fri Jul 31 20:45:07 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_motion)
(gtk_clist_button_release) (new_column_width): Few fixes for
column resize. Store resize column in clist->drag_pos.
Thu Jul 31 15:18:36 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkctree.h
* gtk/gtkctree.c
* gtk/testgtk.c : New typedef GtkCTreeNode, changed all GList *node
to GtkCTreeNode *node.
* gtk/gtklist.h : added extended selection mode and auto scrolling.
(struct _GtkList): removed unneeded variables timer, button,
selection_start_pos, selection_end_pos, scroll_direction, have_grab.
Added new variables undo_selection, undo_unselection, last_focus_child,
undo_focus_child, htimer, vtimer, anchor, drag_pos, anchor_state,
drag_selection, add_mode.
New functions :
(gtk_list_extend_selection), (gtk_list_start_selection),
(gtk_list_end_selection), (gtk_list_select_all),
(gtk_list_unselect_all), (gtk_list_scroll_horizontal),
(gtk_list_scroll_vertical), (gtk_list_toggle_add_mode),
(gtk_list_toggle_focus_row), (gtk_list_toggle_row),
(gtk_list_undo_selection), (gtk_list_end_drag_selection)
* gtk/gtklist.c :
(gtk_list_enter_notify): removed, because auto scrolling now works
with gtk_list_motion_notify
New functions, needed for auto scrolling :
(gtk_list_motion_notify) (gtk_list_move_focus_child)
New functions for extended selection support :
(gtk_list_set_anchor), (gtk_list_fake_unselect_all),
(gtk_list_fake_toggle_row), (gtk_list_update_extended_selection),
(gtk_list_focus_lost)
(gtk_list_set_focus_child): modified gtk_container_set_focus_child
function to support auto scrolling, and avoid out-of-sync errors in
case auf GTK_SELECTION_BROWSE
(gtk_list_focus): modified gtk_container_focus function to avoid out
off sync errors in case auf GTK_SELECTION_EXTENDED
* gtk/gtklistitem.h
* gtk/gtklistitem.c :
New signal functions for key binding support :
(toggle_focus_row), (select_all), (list_item), (unselect_all)
(list_item), (undo_selection), (start_selection), (end_selection)
(extend_selection), (scroll_horizontal), (scroll_vertical),
(toggle_add_mode)
(gtk_list_item_realize): added GDK_KEY_PRESS_MASK |
GDK_KEY_RELEASE_MASK
(gtk_list_item_draw_focus): modify gc if parent has add_mode set.
* gtk/gtkcombo.c :
(gtk_combo_popup_button_press): grab pointer for combo->list
(gtk_combo_button_release): ungrab only if combo->popwin HAS_GRAB
(gtk_combo_list_key_press): take care of which child HAS_GRAB
(gtk_comb_init): don't connect combo->button with button_release_event
* gtk/gtkclist.c (gtk_clist_motion): column resize now works with
horizontal autoscrolling, GtkCTree's 'reorder ability' now works
with horizontal and vertical autoscrolling.
Tue Jul 28 00:15:28 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
* docs/gdk.sgml: new format for GDK documentation. Eventually
plan to remove gdk.texi, but not quite yet. Just getting
started.
Mon Jul 27 09:18:13 BST 1998 Tony Gale <gale@gtk.org>
* docs/gtk_tut.sgml: GtkTree section from
David Huggins-Daines <bn711@freenet.carleton.ca>,
add a GtkText widget example
* examples/text/* example/tree/* : new examples for the
GtkTree and GtkText widgets
* docs/gtk_tut.sgml: added an appendix to hold complete code examples that aren't in a full form elsewhere in the
tutorial (e.g. scribble)
Mon Jul 27 09:18:13 BST 1998 Tony Gale <gale@gtk.org>
* docs/gtk_tut.sgml: GtkTree section from
David Huggins-Daines <bn711@freenet.carleton.ca>,
add a GtkText widget example
* examples/text/* example/tree/* : new examples for the
GtkTree and GtkText widgets
Mon Jul 27 04:18:26 1998 Tim Janik <timj@gtk.org>
* gtkfeatures.h.in: revamped the definitions for 1-1-0, so that all
the new API stuff is reflected in one #define GTK_HAVE_FEATURES_1_1_0.
Mon Jul 27 03:11:20 1998 Tim Janik <timj@gtk.org>
* gtk/gtkbindings.c (binding_compose_params): fixup, so that enum
values are looked up.
* gtk/gtktypeutils.h:
* gtk/gtktypeutils.c: new functions gtk_type_flags_find_value and
gtk_type_enums_find_value to lookup enum values.
* gtk/gtkctree.h:
* gtk/gtkctree.c: change enum name from GtkCTreeExpansion to
GtkCTreeExpansionType. fixed signal creations to pass the enum
types not just the base type GTK_TYPE_ENUM.
* gtk/gtkclist.h:
* gtk/gtkclist.c: fixed signal creations to pass the real enum
types not just the base type GTK_TYPE_ENUM.
Thu Jul 23 00:11:39 1998 Tim Janik <timj@gtk.org>
* gtk/testgtkrc: introduce testbindings on C-1 for buttons,
to check out binding priorities. someone should really write
gtkrc-mode for emacs.
* gtk/gtkwidget.c (gtk_widget_class_init): remove ugly bindings test.
* gtk/testgtk.c (main): and move it here ;). this test says something
on release of C-9. (this works only if the mouse pointer is on a
spinbutton and there is no focus widget).
* gtk/gtkrc.h:
* gtk/gtkrc.c:
export gtk_rc_parse_color, gtk_rc_parse_state and a new function
gtk_rc_parse_priority to parse path priority types.
export rc tokens.
feature binding parsing.
Wed Jul 22 23:41:17 1998 Tim Janik <timj@gtk.org>
* gtk/gtkbindings.h:
* gtk/gtkbindings.c: new function gtk_binding_parse_binding() to
feature binding parsing in rc files.
* gtk/gtkbindings.c (gtk_binding_set_new): bug fix.
* gtk/gtkbindings.c (gtk_binding_pattern_compare): bug fix, we used to
order the bindings with lowest priority first.
* gdk/gdkrgb.c: actually builds and runs properly on big endian machines
now, because we #include config.h. Also fixed up a compile error in the
WORDS_BIGENDIAN case in gdk_rgb_convert_565_gray. I made the fix by looking
at patterns in the other code; Raph can you verify this?
* gdk/gdkthreads.c: #include <unistd.h> to quell compiler warnings
-Yosh
Wed Jul 15 17:44:47 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtktext.c (new_text_property): We free things from
the text property MemChunk, so it needs to be G_ALLOC_AND_FREE.
* Fix up line start cache when splitting a property
during an insert.
Tue Jul 21 06:32:43 1998 Stefan Jeske <stefan@gtk.org>
* gtk/gtkprogressbar.{c,h} gtk/testgtk.c: Fixed wrong size of
activity indicator. It is settable now as a fraction of the
total width/height using gtk_progress_bar_set_activity_blocks.
Renamed gtk_progress_bar_set_number_of_blocks to
gtk_progress_bar_set_discrete_blocks.
* gtk/gtkctree.c (gtk_ctree_post_recursive_to_depth)
(gtk_ctree_pre_recursive_to_depth): new functions, recursive process
tree to specified depth
(gtk_ctree_expand_to_depth): expand tree to specified depth
(gtk_ctree_collapse_to_depth): collapse all nodes with level >= depth
Sat Jul 18 22:59:04 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmain.h:
* gtk/gtkmain.c: export gtk_binary_age and gtk_interface_age.
* gtk/gtktypeutils.h:
* gtk/gtkitemfactory.h: remove "void" from prototypes again.
Sat Jul 18 00:54:01 1998 Lars Hamann <lars@gtk.org>
* gtk/gtknotebook.c (gtk_notebook_set_child_arg): added support for
CHILD_ARG_MENU_LABEL, CHILD_ARG_TAB_LABEL
(gtk_notebook_get_child_arg): added support for CHILD_ARG_MENU_LABEL,
CHILD_ARG_POSITION
(gtk_notebook_reorder_child): new funktion to change position of a
notebook page
(gtk_notebook_draw_arrow): draw left/right arrow with
GTK_SHADOW_ETCHED_IN if focus_tab is first/last tab.
* gtk/gtkstyle.c (gtk_default_draw_arrow):
added GTK_SHADOW_ETCHED_IN/OUT
Sun Jul 19 12:19:16 1998 Stefan Jeske <stefan@gtk.org>
* gtk/gtkprogress.c gtk/gtkprogress.h gtk/gtkprogressbar.c
gtk/gtkprogressbar.h gtk/Makefile.am gtk/gtk.h gtk/testgtk.c:
Introduced generic GtkProgress widget. Derived GtkProgressBar from
GtkProgress. Made GtkProgressBar much more flexible (see testgtk).
Fri Jul 17 05:30:47 1998 Tim Janik <timj@gtk.org>
* gtk/gtksignal.c (gtk_handlers_run) (gtk_signal_real_emit):
sropped the approach of copying all signal specific data into a
GtkHandlerInfo structure. we rather keep the signal data on the stack
in gtk_signal_real_emit and pass that over to gtk_handlers_run. this
avoids multiple lookups of the signal pointer and works savely together
with destroy notifiers of handlers.
* gtk/gtkentry.c (gtk_entry_key_press): care for the posssibility that
someone destroys the entry on the ::activate signal.
Fri Jul 17 05:30:47 1998 Tim Janik <timj@gtk.org>
* gtk/gtkentry.c (gtk_entry_key_press): care for the posssibility that
someone destroys the entry on the ::activate signal.
Fri Jul 17 01:21:32 1998 Tim Janik <timj@gtk.org>
* gtk/gtkarrow.c (gtk_arrow_expose): use misc->xpad for x calculation
instead of ypad (typo).
(gtk_arrow_set): clear all of the arrow's allocation (left a 1 pixel
border around the allocation).
(gtk_arrow_init): the static requisition needs to be setup in this
function rather than gtk_widget_new(), so arrow creation works without
the gtk_arrow_new() constructing.
(gtk_arrow_expose): return TRUE, since we actually handled the expose.
* gtk/gtkwidget.c (gtk_widget_real_size_request): provide a default
implementation for GtkWidget::size_request, so size requisition for
simple statically sized widgets like GtkArrow works.
anymore, since glib-config handles it; --libs strips out redundant -L<path>'s
properly (there was code in there to do it before, but it didn't work)
-Yosh
Thu Jul 16 18:24:41 1998 Tim Janik <timj@gtk.org>
* gtk/gtknotebook.h:
* gtk/gtknotebook.c: signdness corrections all ove the place.
implementation of object arguments: GtkNotebook::enable_popup,
GtkNotebook::tab_pos, GtkNotebook::tab_border, GtkNotebook::show_tabs,
GtkNotebook::show_border, GtkNotebook::scrollable and GtkNotebook::page.
begun implementation of child args, we have GtkNotebook::tab_label, but
GtkNotebook::menu_label and GtkNotebook::position still lack the
implementation.
(gtk_notebook_remove_page):
(gtk_notebook_current_page): allow negative indices (-1) as alias for
the last page.
* gtk/gtkentry.h:
* gtk/gtkentry.c: GtkType and macro fixups. implementation of object
arguments GtkEntry::max_length and GtkEntry::visibility.
(gtk_entry_adjust_scroll): queue a redraw.
* gtk/gtkeditable.h:
* gtk/gtkeditable.c: GtkType und macro fixups. implementation of
object arguments GtkEditable::text_position and GtkEditable::editable.
new (action) signal GtkEditable::set_editable.
provide a default handler for GtkEditable::changed that queues a redraw.
* gtk/gtktext.h:
* gtk/gtktext.c: GtkType und macro fixups. override GtkEditable::
set_editable.
* gtk/gtkctree.c (gtk_ctree_button_release): fix for sigsegv in
case of drag_target == NULL
* gtk/gtkclist.c (gtk_clist_button_press): fix for GTK_2/3BUTTON_PRESS.
Clist did not emit an select_row signal in case of GTK_2/3BUTTON_PRESS.
* gtk/gtkfilesel.c (gtk_file_selection_file_button,
gtk_dir_selection_file_button): fix due to changes in clist's
select_row signal.
Thu Jul 16 01:27:15 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.h:
* gtk/gtkwidget.c (gtk_widget_set_usize): handle negative values
similar to gtk_widget_set_uposition(). that is: -1=unspecified,
-2=leave untouched. changed the width/height field of GtkWidgetAuxInfo
to be gint16s rather than guint16s, since that's what the code expected
(for a long time actually).
* gtk/gtkviewport.c:
added support for object arguments: GtkViewport::shadow_type,
GtkViewport::vadjustment and GtkViewport::hadjustment.
(gtk_viewport_add): chain gtk_bin_add.
* gtk/gtkscrolledwindow.c:
added support for object argument: GtkScrolledWindow::hscrollbar_policy,
GtkScrolledWindow::vscrollbar_policy and GtkScrolledWindow::viewport.
* gtk/gtkadjustment.h:
* gtk/gtkadjustment.c:
* gtk/gtkctree.h:
* gtk/gtkclist.h:
* gtk/gtkctree.c:
* gtk/gtkclist.c:
* gtk/gtkscrolledwindow.h:
* gtk/gtkscrolledwindow.c:
* gtk/gtkviewport.h:
* gtk/gtkviewport.c:
GtkType and macro fixups.
Wed Jul 15 14:20:10 1998 Tim Janik <timj@gtk.org>
* gtk/gtksignal.c (gtk_signal_real_emit): pass only the signal_id
to this function. it needs to relookup the signal multiple times.
this fixes spurious segfaults that could show up with signal intensive
code, when classes are created during a pending emission (which is
normal case).
Tue Jul 14 06:25:46 1998 Tim Janik <timj@gtk.org>
* gtk/testgtk.c (create_cursors): display the current cursor name.
* gtk/gtktypeutils.h:
* gtk/gtktypeutils.c (gtk_type_init_builtin_types): cleanups to
the fundamental type definition. the GtkArg union now only covers
the required storage types for argument values. adapted the GTK_VALUE_*
macro set. handle GTK_TYPE_UCHAR. definiton of type set bounds macros.
* gtk/gtkargcollector.c (gtk_arg_collect_value): clean ups of the
code, fixed int/float collection. fixed a bug in the sanity checking
code for GtkObjects.
* gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixups of the
argument collection code.
* gtk/gtksignal.c (gtk_signal_collect_params): use the type set bounds
macros when distinguishing the return type.
Mon Jul 13 12:42:51 1998 George Lebl <jirka@5z.com>
* gdk/gdkwindow.h: (gdk_window_reparent) check if old_parent_private
is not NULL before trying to g_list_remove the child. A patch
from Michael Lausch.
this finally fixes the swallows for the panel :)
Sun Jul 12 05:59:26 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.c (gtk_type_new): call the base classes'
object_init_func for derived objects with the object's ->klass field
still pointing to the corresponding base class, otherwise overridden
class functions could get called with partly-initialized objects.
(change from Tero Pulkkinen <terop@modeemi.cs.tut.fi>).
Sun Jul 12 02:47:35 1998 Tim Janik <timj@gtk.org>
* gtk/gtkobject.h:
* gtk/gtkobject.c:
(gtk_object_arg_get_info): new functions which wraps gtk_arg_get_info().
* gtk/gtkcontainer.h:
* gtk/gtkcontainer.c:
(gtk_container_child_arg_get_info): new function which wraps
gtk_arg_get_info().
Fri Jul 10 13:29:53 1998 Tim Janik <timj@gtk.org>
* gtk/gtkcontainer.c:
(gtk_container_arg_get):
(gtk_container_arg_set):
* gtk/gtkobject.c:
(gtk_object_arg_set):
(gtk_object_arg_get):
strictly check for the associated get/set arg functions. if an
arg is readable or writable, the associated class functions *must*
be provided.
Fri Jul 10 09:37:50 1998 Tim Janik <timj@gtk.org>
* gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): only take the
padding into account if there is an accelerator.
Fri Jul 10 05:51:44 1998 Tim Janik <timj@gtk.org>
* gtk/gtkcontainer.c:
(gtk_container_add_with_args): collect the arguments with
gtk_container_child_args_collect, not through gtk_object_args_collect.
(gtk_container_child_set): likewise.
(cut 'n paste strikes back)
Fri Jul 10 04:20:35 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.h:
* gtk/gtktypeutils.c: added a new internal type GTK_TYPE_IDENTIFIER
which is derived from GTK_TYPE_STRING.
* gtk/gtkbindings.c: reworked the argument type handling.
Thu Jul 9 21:03:19 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
* gtk/gtkpreview.c: add in just enough support for 1 or 4 bits
so that it seems to allow normal operation in those modes,
although you will only see black. 1 bit untested
Thu Jul 9 20:20:04 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
* gdk/gdkvisuals.c: 4 bit support, increased available_depths
array, which was too low (?)
Fri Jul 10 00:02:04 1998 Tim Janik <timj@gtk.org>
* gtk/gtkcontainer.h:
* gtk/gtkcontainer.c: deleted most of the argument handling code, since
that is now implemented in gtkarg.c. similar to gtk_object_args_collect,
we now export a new function gtk_container_child_args_collect().
for consistency with the object arguments, a few functions got renamed:
gtk_container_child_arg_get -> gtk_container_child_get,
gtk_container_child_arg_set -> gtk_container_child_set,
gtk_container_child_arg_getv -> gtk_container_child_getv,
gtk_container_child_arg_setv -> gtk_container_child_setv,
gtk_container_add_with_argv -> gtk_container_addv.
note, gtk_container_add_with_args() remained, because its equivalent
would be gtk_container_add(,, ...) which would break all existing code.
(gtk_container_add_child_arg_type): similar to gtk_object_add_arg_type,
we expect the `arg_name' argument to be a const static string now.
(gtk_container_get_child_arg_type): function removed.
Thu Jul 9 07:03:04 1998 Tim Janik <timj@gtk.org>
* gtk/gtkargcollector.c: new file which holds gtk_arg_collect_value().
this is a static inline function that collects command line arguments
from a va_list. this file can just be included in all places that
need this functionality.
* gtk/gtkarg.h:
* gtk/gtkarg.c: new files which implement most of the argument
handling stuff from gtkobject.c. also collected a few more
gtk_arg_* utility functions from else places.
* gtk/gtkobject.h:
* gtk/gtkobject.c: moved most of the argument handling code into
gtkarg.c. we now export gtk_object_args_collect() as a non-public
method with a blind va_list pointer.
(gtk_object_add_arg_type): the `arg_name' argument is required to be a
const static string now.
(gtk_object_get_arg_type): function got removed.
* gtk/gtkwidget.c:
(gtk_widget_set):
(gtk_widget_new): adaptions for gtk_object_args_collect().
* gtk/gtktypeutils.c (gtk_type_init_builtin_types): changed the internal
fundamental type name so as to have a valid prefix, e.g. "bool"->
"gboolean", "string"->"GtkString" and somesuch, left "void" as is,
though that should probably be something like GtkNone since the
type itself is called GTK_TYPE_NONE.
even the internal type names need to avoid name clashes and must live
in their own namespace, several code portions rely on that.
we should relly have typedefs such as typedef gchar* GtkString; so the
fundamental type names can be used for code dumpers just like with all
the Gtk/Gdk types.
Wed Jul 8 15:31:28 1998 Tim Janik <timj@gtk.org>
* gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
(GTK_RELIEF_HALF).
(gtk_button_paint): set the background for prelighted buttons with
GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
(gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
the shadow type (otherwise we get strange shadows for coloured buttons).
(gtk_button_set_relief): queue a redraw after changing
the relief.
(gtk_button_class_init):
(gtk_button_set_arg):
(gtk_button_get_arg): added object argument "GtkButton::relief".
* gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
Mon Jul 6 18:30:48 1998 Tim Janik <timj@gtk.org>
* gtk/gtkbutton.h:
* gtk/gtkbutton.c: GtkButtons are now derived from GtkBin. we mirror
GTK_BIN (button)->child to button->child to keep source compatibility.
* gtk/gtkoptionmenu.c:
* gtk/gtkclist.c:
* gtkcheckbutton.c: don't refer to button->child, but
GTK_BIN (button)->child instead.
Sat Jul 4 13:16:24 1998 Tim Janik <timj@gtk.org>
* gtk/*.c: changed reversed_[12] to reserved_[12] in gtk_*_get_type
functions.
* gdk/gdkwindow.c:
* gdk/gdkvisual.c: check for some pointer values to be != NULL, prior
to XFree() calls.
1998-07-03 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkfeatures.h.in: Added GDK_HAVE_FULL_CROSSING_EVENT, since
I seem to have erroneously added it to gtkfeatures.h (not .h.in).
Wed Jul 1 20:58:46 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.h:
* gtk/gtkwidget.c: temporary implementation of action signal "debug_msg"
* gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixed an off-by-one
error that prevented signal to entry addition for signals with
parameters.
Tue Jun 30 14:30:37 1998 Tim Janik <timj@gtk.org>
* gtk/gtkrc.c: fixed lookup order for rc styles. the latest defined
rc set pattern is favoured, this is needed for overriding of style
patterns with subsequently parsed rc files.
but nearly no widget really cares to set GDK_KEY_RELEASE_MASK,
which needs to be enabled in order for release bindings to work.
Tue Jun 30 09:24:40 1998 Tim Janik <timj@gtk.org>
* gtk/gtkaccelgroup.c (gtk_accelerator_parse): parse "<Release>"
modifier as well.
(gtk_accelerator_name): add "<Release>" to the accelerator name if
neccessary.
* gtk/gtkbindings.c (BINDING_MOD_MASK): take BINDING_MOD_MASK into
account.
* gtk/gtkwidget.c (gtk_widget_real_key_release_event): implemented
default handler for key-release events, which checks for activation
of GDK_RELEASE_MASK key bindings.
* gdk/gdktypes.h (enum): added GDK_RELEASE_MASK to GdkModifierType.
Tue Jun 30 09:24:40 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_real_key_release_event): implemented
default handler for key-release events, which checks for activation
of GDK_RELEASE_MASK key bindings.
* gdk/gdktypes.h (enum): added GDK_RELEASE_MASK to GdkModifierType.
Sun Jun 28 04:29:10 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.c (gtk_type_class_init): call the base class init
fucntions from all parent types upon class initialization.
* gtk/gtkcontainer.c:
(gtk_container_get_type): announce gtk_container_base_class_init to
the type system.
(gtk_container_base_class_init): new function to feature base class
initialization.
(gtk_container_get_child_arg):
(gtk_container_set_child_arg): call the GtkContainerClass get_child_arg
and set_child_arg methods of the class indicated through the argument
name.
* gtk/gtkobject.c:
(gtk_object_base_class_init): new function to feature base class
initialization.
(gtk_object_init_type): announce gtk_object_base_class_init to the type
system.
(gtk_object_class_init): setup the get_arg and set_arg pointers for
GtkObjectClass.
(gtk_object_setv):
(gtk_object_getv): call the GtkObjectClass get_arg and set_arg methods,
instead of bothering the type system with this.
* gtk/gtkaccellabel.c:
* gtk/gtkbutton.c:
* gtk/gtkradiobutton.c:
* gtk/gtktable.c:
* gtk/gtktogglebutton.c:
* gtk/gtktipsquery.c:
* gtk/gtkbox.c:
* gtk/gtkpacker.c:
* gtk/gtkwidget.c:
* gtk/gtkwindow.c:
* gtk/gtkframe.c:
* gtk/gtkmisc.c:
* gtk/gtklabel.c: set the object_class->{g|s}et_arg pointers to the
corresponding gtk_*_{g|s]et_arg functions and updated the gtk_*_get_type
functions wrt GtkTypeInfo initialization. changed a lot of the set/get
arg functions to take a GtkObject argument.
gtk/gtkadjustment.c:
gtk/gtkalignment.c:
gtk/gtkarrow.c:
gtk/gtkaspectframe.c:
gtk/gtkbbox.c:
gtk/gtkbin.c:
gtk/gtkcheckbutton.c:
gtk/gtkcheckmenuitem.c:
gtk/gtkclist.c:
gtk/gtkcolorsel.c:
gtk/gtkcombo.c:
gtk/gtkctree.c:
gtk/gtkcurve.c:
gtk/gtkdata.c:
gtk/gtkdialog.c:
gtk/gtkdrawingarea.c:
gtk/gtkeditable.c:
gtk/gtkentry.c:
gtk/gtkeventbox.c:
gtk/gtkfilesel.c:
gtk/gtkfixed.c:
gtk/gtkfontsel.c:
gtk/gtkgamma.c:
gtk/gtkhandlebox.c:
gtk/gtkhbbox.c:
gtk/gtkhbox.c:
gtk/gtkhpaned.c:
gtk/gtkhruler.c:
gtk/gtkhscale.c:
gtk/gtkhscrollbar.c:
gtk/gtkhseparator.c:
gtk/gtkimage.c:
gtk/gtkinputdialog.c:
gtk/gtkitem.c:
gtk/gtkitemfactory.c:
gtk/gtklist.c:
gtk/gtklistitem.c:
gtk/gtkmenu.c:
gtk/gtkmenubar.c:
gtk/gtkmenuitem.c:
gtk/gtkmenushell.c:
gtk/gtknotebook.c:
gtk/gtkoptionmenu.c:
gtk/gtkpaned.c:
gtk/gtkpixmap.c:
gtk/gtkpreview.c:
gtk/gtkprogressbar.c:
gtk/gtkradiomenuitem.c:
gtk/gtkrange.c:
gtk/gtkruler.c:
gtk/gtkscale.c:
gtk/gtkscrollbar.c:
gtk/gtkscrolledwindow.c:
gtk/gtkseparator.c:
gtk/gtkspinbutton.c:
gtk/gtkstatusbar.c:
gtk/gtktext.c:
gtk/gtktoolbar.c:
gtk/gtktooltips.c:
gtk/gtktree.c:
gtk/gtktreeitem.c:
gtk/gtkvbbox.c:
gtk/gtkvbox.c:
gtk/gtkviewport.c:
gtk/gtkvpaned.c:
gtk/gtkvruler.c:
gtk/gtkvscale.c:
gtk/gtkvscrollbar.c:
gtk/gtkvseparator.c: updated the GtkTypeInfo initialization code to
match the modified GtkTypeInfo structure.
Sat Jun 27 15:44:46 1998 Tim Janik <timj@gtk.org>
* gdk/gdk.c (gdkx_XConvertCase): compatibility function to provide
XConvertCase() functionality from X11R6 on X11R5 systems.
Thu Jun 25 10:50:34 1998 Stefan Jeske <stefan@gtk.org>
* gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
gdk_string_height, gdk_char_height to retrieve the exact
height of a text.
Thu Jun 25 07:53:51 BST 1998 Tony Gale <gale@gtk.org>
* docs/gtk_tut.sgml: add section on GtkCList widget, contributed by Stefan Mars <mars@lysator.liu.se>
* examples/clist/clist.c examples/clist/Makefile: example code
for GtkCList widget from the Tutorial
Wed Jun 24 16:38:02 1998 Tim Janik <timj@gtk.org>
* gtk/gtkbin.c (gtk_bin_remove): do not avoid to queue for a resize
if the container is not visible, we might be a toplevel! this holds
for all other base container implementations as well, that are
candidates to derive toplevels from. in general the resizing code will
care about visibility itself.
* gtk/gtkmenushell.c (gtk_menu_shell_remove): likewise.
* gtk/gtkbox.c (gtk_box_remove): likewise.
* gtk/gtkwindow.c (gtk_window_move_resize): save ->use_uposition around
gtk_window_set_hints(), since we haven't calculated the new position
yet.
* gdk/gdkwindow.c (gdk_window_get_pointer): take care that *x, *y and
*mask are alway initialized in a sane way, regardless of the return
value.
* gtk/gtkspinbutton.c (gtk_spin_button_spin): Added compatibility
code for 1.0.x-like parameters. Changed internal interface of
gtk_spin_button_real_spin. Several fixes to avoid emission of
"value_changed" where possible.
Wed Jun 24 07:47:29 1998 Tim Janik <timj@gtk.org>
* gtk/testgtk.c (create_idle_test): added a frame with radio buttons
to select the resize_mode for the idle-labels container.
* gtk/gtkframe.h:
* gtk/gtkframe.c: GtkType and macro corrections.
* gtk/gtkradiobutton.c (gtk_radio_button_set_arg): new function to
support radio grouping.
Tue Jun 23 08:01:09 1998 Tim Janik <timj@gtk.org>
* gtk/gtkcontainer.c (gtk_container_set_resize_mode): queue a resize
unconditionally if resize_mode has changed.
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_init): set
GTK_RESIZE_QUEUE on the scrolled window.
(gtk_scrolled_window_construct): set GTK_RESIZE_PARENT for the vieport.
Tue Jun 23 04:20:30 1998 Tim Janik <timj@gtk.org>
* gtk/gtkcontainer.h:
* gtk/gtkcontainer.c:
(GTK_IS_RESIZE_CONTAINER): new macro to find out if
a given gtkobject is a container with resize_mode==GTK_RESIZE_PARENT.
(gtk_container_queue_resize): new function to queue a container for
a *size* reallocation (doesn't affect its position, and thus its
parent is left untouched usually).
(gtk_container_get_resize_container): new function to retrive the next
most resize container which is not itself queued for a resize.
(gtk_container_idle_sizer): new function to carefully process the
container_resize_queue since it can change during invokation of
gtk_container_check_resize().
(gtk_container_resize_children): total rework of this function to
properly handle resize containers. makes a lot of assumptions whitch
are stated in the comments.
* gtk/gtkcontainer.c:
(gtk_container_real_check_resize): only requeue ourselves if we are not
a resize container.
(gtk_container_clear_resize_widgets): care for automatic deletion of our
resize_widgets list on size_allocate through a handler connection.
* gtk/gtkwindow.c (gtk_window_shutdown): new functionm to reset the
focus and default widget of a window, so to take the burden from
gtk_widget_unparent.
* gtk/gtkviewport.c: removed gtk_viewport_check_resize, which tried
to be clever, but actually messed up the resize_children logic and
caused unneccessary allocations on its whole branch. besides this,
it messed up the display by not invoking a redraw after the allocation.
* gtk/gtktable.c (gtk_table_set_child_arg): reverted recent change, so
that it is the child again that is queued for a resize.
(gtk_table_attach): likewise.
(gtk_table_remove): likewise.
1998-06-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gtk/gtkentry.h, gtk/gtkentry.c: Export the
gtk_entry_adjust_scroll. Required if you change the cursor
position and want to sync it up with your code (Midnight Commander
gtk front end needs this).
* gtk/gtktable.c: Deal with tables that have size 0, 0.
Tue Jun 23 12:12:19 BST 1998 Tony Gale <gale@gtk.org>
* examples/README.1ST: new file to explain how the
code examples should be extracted from the tutorial.
1998-06-21 Raja R Harinath <harinath@cs.umn.edu>
* gtk/Makefile.am (gtk.defs,gtktypebuiltins*): Remove $(srcdir)
from, and clean up, the dependencies. Generate to intermediate
files to prevent problems with Ctrl-C.
* gtk/genmarshal.pl: Generate `gtkmarshal.[ch]' in $srcdir.
Also commit readable/indented gtkmarshal.[ch].
* gtk/gtkspinbutton.h gtk/gtkspinbutton.c gtk/testgtk.c:
- Bug fix for precision problem causing occasional double emission
of "value_changed" signal (hopefully works now).
- API change (should be binary compatible) :
new enum GtkSpinType; modified gtk_spin_button_spin to use it.
Modified cursor example appropriately.
To spin by something other than step_/page_increment, use
gtk_spin_button_spin (spin, GTK_SPIN_USER_DEFINED, increment).
- Made GTK_SHADOW_NONE the default. ;)
- Fixed casting of GtkAdjustment* to GtkWidget* in
gtk_spin_button_value_changed.
Fri Jun 19 06:18:19 1998 Tim Janik <timj@gtk.org>
* gtk/gtkcontainer.c (gtk_container_set_resize_mode): fail silently
for toplevels. if resize_mode changes to GTK_RESIZE_PARENT, clear the
resize widget list before queuing the container for a new reize.
(gtk_container_need_resize): changed return value to FALSE, since this
used to indicate that no further resizes are needed.
(gtk_container_set_arg):
(gtk_container_get_arg):
(gtk_container_class_init): implemented GtkContainer::resize_mode
argument.
(gtk_container_resize_children): when we walk up the tree of a resize
widget we need to stop if we are the current parent.
* gtk/gtkwidget.c (gtk_widget_queue_resize): flag the resize child with
GTK_RESIZE_NEEDED for container->resize_mode==GTK_RESIZE_IMMEDIATE.
(gtk_widget_hide_all): retrive the toplevel widget from via
gtk_widget_get_resize_container().
Thu Jun 18 23:08:36 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtklist.c (gtk_list_button_press): Only respond
to selection with button 1. This allows context-sensitive
menus to work correctly.
Fri Jun 19 03:29:04 1998 Tim Janik <timj@gtk.org>
* gtk/gtkaccelgroup.c:
* gtk/gtkbindings.c:
* gtk/gtkcontainer.c:
* gtk/gtkitemfactory.c:
* gtk/gtkobject.c:
* gtk/gtksignal.c:
* gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
g_quark_from_static_string calls to save memory.
* gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
function _after_ the new data has been setup.
minor changes to object data functions to feature the GQuark type.
Thu Jun 18 21:13:54 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
from argv.
Thu Jun 18 20:22:28 1998 Owen Taylor <otaylor@gtk.org>
* gtk/genmarshal.pl: Modified to be more idiomatic Perl,
to be more readable perl, to spit out stuff that looks
more like readable C, and to pipe output through indent
so output looks a lot like readable C. No functional
changes.
Thu Jun 18 17:43:31 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkpixmap.[ch] (gtk_pixmap_set): Clear the background if
necessary when switching to a masked pixmap. (Based on a patch
from Ullrich Hafner <hafner@informatik.uni-wuerzburg.de>)
Thu Jun 18 16:18:10 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkeditable.[ch]: Added action signals for keyboard
bindings. (move_cursor, kill_word, etc, etc, etc).
removed the time argument from
gtk_editable_cut/copy/paste_clipboard (source but not
binary incompatible...) Instead get time from
gtk_get_current_event ().
* gtk/gtktext.c gtk/gtkentry.c: Support the new editable
signals.
Thu Jun 18 02:52:09 1998 Owen Taylor <otaylor@gtk.org>
Patches from Damon Chaplin <DAChaplin@email.msn.com>:
gtk/gtkfontsel.h: Fixed GtkFontSelectionClass - I forgot to change
parent class to GtkNotebookClass when splitting the widget in
two. Also updated some comments.
gtk/gtkfontsel.c: Fixed bug when toggling 'Allow scaled bitmaps'
button without a font selected.
Fixed bug in set_font_name - I hadn't updated the code to
search for the style in the font_style clist - it was
still assuming the style row was equal to its index,
but it isn't any more.
Changed 'Reset' button on filter page to 'Clear Filter'.
Deleted old code relating to the old 'Filter Fonts' toggle
Updated some comments.
Cleared 'Actual Fontname' if no font is set.
gtk/testgtk.c: Fixed problem when 'OK' button is pressed - it was
destroying the GtkFontSelection instead of the
GtkFontSelectionDialog.
Thu Jun 18 02:15:31 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkmain.c (gtk_init): Added --g-fatal-warnings
flag to make all warnings fatal errors.
* gtk/testthreads.c: moved <pthreads.h> include inside
#ifdef USE_PTHREADS
Thu Jun 18 01:37:31 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkenums.h gtk/gtkcontainer.[ch] gtk/gtkwidget.c
gtk/gtkmenu.c gtk/gtkviewport.c gtk/gtkwindow.c:
- Added new function gtk_container_set_resize_mode() for
fine-grained control of where resize-queueing is done.
- Removed GtkContainer::need_resize and GtkWindow::move_resize
- Added GtkContainer::check_resize to replace need_resize.
- Added function gtk_container_check_resize() to trigger
queued resizes, and gtk_container_resize_children() to
Figure which children need to be size-allocated. (logic
moved from gtkwindow.c)
- Reorganized code in gtkwindow.c
- Set the resize-mode for viewports so that resizes within
a viewport don't propagate out of it.
1998-06-18 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkfontsel.c: Use pointer<->int conversion macros to avoid warnings.
* gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): Use
g_return_val_if_fail, because the function *does* return a value.
yeppers, accelerator changes to fix the gimp.
commit message dedicated to sopwith ;)
Thu Jun 18 03:30:06 1998 Tim Janik <timj@gtk.org>
* gtk/gtkaccellabel.h:
* gtk/gtkaccellabel.c: new function gtk_accel_label_accelerator_width to
request the size of the accelerator portion of an accel label.
(gtk_accel_label_size_request): don't request for the accelerators size.
(gtk_accel_label_expose_event): only draw the accelerator if we got
enough extra space.
* gtk/gtkmenuitem.c (gtk_menu_item_size_request): request accelerator
width from children.
* gtk/gtkmenu.c (gtk_menu_key_press): when adding an accelerator to an
object (after removal has been requested) check if there is still an
accelerator remaining to avoid adding two accelerators on an object.
this can happen for locked accelerators (or accelerator-frozen widgets).
(gtk_menu_size_request): feature childrens accelerator width in size
requests.
* gtk/gtknotebook.c (gtk_notebook_menu_item_create): use
gtk_widget_freeze_accelerators() for dynamically created menu items.
* gtk/gtksignal.h:
* gtk/gtksignal.c: new function gtk_signal_handler_pending_by_func()
which will return a handler_id > 0 if the specified function is pending
for `signal_id'.
* gtk/gtkwidget.h:
* gtk/gtkwidget.c: remove gtk_widget_stop_accelerator, which was just
a signal handler function to stop accelerator addition.
added gtk_widget_freeze_accelerators and gtk_widget_thaw_accelerators
which will prevent (undo) any accelerators from being added to or
removed from a widget.
Wed Jun 17 03:47:40 1998 Tim Janik <timj@gtk.org>
* gdk/gdk.h:
* gdk/gdkwindow.c: new function gdk_window_at_pointer() to retrive
the current GdkWindow the pointer is on if there is any.
* gtk/gtktable.c (gtk_table_init): preallocate a table with one row
and one column, so we don't construction logic at all. changed a few
(x < y - 1) to (x + 1 < y), to avoid failing evaluations due to
unsigned int wraps.
* gtk/gtkwidget.c (gtk_widget_set_parent): removed left over code
portion, added an additional check for parent != widget.
* more GtkType and macro fixups.
1998-06-16 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkhandlebox.c (draw_textured_frame): Now accepts an extra
"clip" parameter, which is the clipping rectangle to use. This
eliminates the extremely annoying flicker when exposing parts of
the handlebox.
Mon Jun 15 23:39:44 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkfontsel.[ch] (gtk_font_selection_dialog_init): Moved font
lists from the klass structure to a static structure
in gtkfontsel.c; cleans up global the namespace.
Mon Jun 15 22:16:10 1998 Owen Taylor <otaylor@gtk.org>
* gtk/makeenums.pl (parse_entries): Fix (untriggered)
bug with /*< skip >*/ and remove warning.
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.
Sat Jun 13 11:48:26 1998 Owen Taylor <otaylor@gtk.org>
* gdk/gdkpixmap.c (gdk_pixmap_extract_color):
Patch from Tom Bech <tomb@ii.uib.no>, to handle color
specs of the form c #abcdef [ more keys ] properly.
Fri Jun 12 21:20:42 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkoptionmenu.c (gtk_option_menu_expose): Removed
code for drawing the child in two places at once. Unfortunately,
not only does it not work anymore (because reparenting has
been fixed), but it also triggers reparent/expose loops
in some cases.
* gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Removed
an unecessary unrealize.
Fri Jun 12 09:24:47 1998 Tim Janik <timj@gtk.org>
* gtk/gtkpacker.h:
* gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
and GtkSideType, to be consistent with the rest of Gtk's enum
definitions. wrapped the enum definitions with the G_ eunm wrappers.
spelled out the GTK_ANCHOR_* enum values, since single letters don't
work out corectly as nick-names (left the old values as aliases).
some signdness corrections (border-width, spacing), could stand more.
* configure.in (fd_set): Explain check better.
* acinclude.m4: New file. Contains `libtool.m4' from libtool-1.2,
the version from which gtk+'s libtool forked. Needed for people
who use post-1.2 alphas of libtool.
Wed Jun 10 19:36:35 1998 Owen Taylor <otaylor@gtk.org>
* glib/* Moved to glib module
* INSTALL Makefile.am acconfig.h autogen.sh configure.in
gtk-config.in gtk.m4 gdk/Makefile.am gtk/Makefile.am
configuration changes for the above:
- Use AM_PATH_GLIB by default to find glib; also accept
a --with-glib option for using an uninstalled glib.
- Put --enable-debug information into config.h so
that we rebuild when it changes. (was in glibconfig.h)
Wed Jun 10 06:25:17 1998 Tim Janik <timj@gtk.org>
* gdk/gdk.c (gdk_init): prevent gdk_init() from segfaulting when
invoked with (NULL, NULL); (this worked sometime ago).
* gtk/gtktypeutils.h:
* gtk/gtktypeutils.c: enum and flags type creation can now be done
through gtk_type_register_enum() and gtk_type_register_flags(),
which allow to specify the enum value arrays directly.
the NULL terminated value arrays can be retrived through
gtk_type_enum_get_values() and gtk_type_flags_get_values();
(gtk_type_children_types): new function to query derived types.
Wed Jun 10 06:25:17 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.h:
* gtk/gtktypeutils.c: enum and flags type creation can now be done
through gtk_type_register_enum() and gtk_type_register_flags(),
which allow to specify the enum value arrays directly.
the NULL terminated value arrays can be retrived through
gtk_type_enum_get_values() and gtk_type_flags_get_values();
1998-06-09 Raja R Harinath <harinath@cs.umn.edu>
* gtk/Makefile.am (gtk.defs,gtktypebuiltins*): Add $(srcdir)
where needed (in the rule), and removed it where not needed
(in the dependencies).
1998-06-09 Raja R Harinath <harinath@cs.umn.edu>
* gtk/Makefile.am (gtkmarshal.c gtkmarshal.h): Pass $srcdir in
environment to genmarshal.pl.
* gtk/genmarshal.pl: Look for `gtkmarshal.list' in $srcdir.
Tue Jun 9 18:44:57 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkobject.c: Removed g_object_pointer_hash, which
was just g_direct_hash.
Mon May 25 19:54:20 1998 Owen Taylor <otaylor@gtk.org>
* configure.in: x_libs=, not $x_libs=. Enough said.
(Case only hit for --disable-xshm)
Mon May 25 12:08:14 1998 Owen Taylor <otaylor@gtk.org>
* configure.in (LDFLAGS): Add to $CFLAGS and $LDFLAGS
when testing for X libraries, don't replace them. Because
the user might have specified the path to the X libraries
themself before running configure.
* examples/**.c: Changed all gpointer * to gpointer
Sat May 23 21:54:05 1998 Owen Taylor <otaylor@gtk.org>
* configure.in (LDFLAGS): Bomb out with a moderately
helpful message if detection of X libraries fails.
Sat May 23 18:57:06 1998 Owen Taylor <otaylor@gtk.org>
[ Combination of:
gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
* gdk/gdk.h gdk/gdkcc.c gdk/gdkfont.c gtk/gtkmain.c
gtk/gtksignal.c gtk/gtktext.c:
Fixups for warnings from adding const to type of GHashFunc,
GCompareFunc
* gtk/gtkcombo.c (gtk_combo_entry_key_press): Minor style/
ansi-warnings fixups.
Tue Jun 9 17:47:33 1998 Owen Taylor <otaylor@gtk.org>
* glib.h: Remove #error - HP/UX.
Sat May 23 19:00:01 1998 Owen Taylor <otaylor@gtk.org>
[ Combination of:
gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
* glib.h ghash.c gstring.c gdataset.c gutils.c:
- Added new typedef g_const_pointer; expunged all incorrect
uses of 'const gpointer'.
- Fixed up warnings that that created,
- Changed GHashFunc and GCompareFunc to take g_const_pointer
arguments. (Necessary, but will cause warnings in existing
code until fixed)
- Added other new const in harmless positions.
1998-06-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkhandlebox.h (struct _GtkHandleBox): Removed the
fleur_cursor field. Now the cursor is created/destroyed on demand
by the routines that need it.
* gtk/gtkhandlebox.c (gtk_handle_box_button_changed):
(gtk_handle_box_motion): The fleur cursor is created and destroyed
only when needed.
Tue Jun 9 09:57:09 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.h:
* gtk/gtktypeutils.c: renamed the newly created gtk_enum_get_values and
gtk_enum_set_values to gtk_type_enum_get_values and
gtk_type_enum_set_values respectively, since they are actually type
system features.
* gtk/gtktypebuiltins_evals.c: oops, screwed the NULL termination with
my last commit. ;)
Tue Jun 9 01:57:23 1998 Tim Janik <timj@gtk.org>
* gtk/gtkselection.h:
* gtk/gtkselection.c: new functions gtk_selection_data_copy and
gtk_selection_data_free.
* gtk/gtkwidget.c (gtk_widget_class_init): fixed gtk_signal_new() call
for "selection_received", which was completely bogus.
* other fixups to gtk_signal_new() calls all over the place.
* gtk/gtktypebuiltins.h: types as variables (formerly macros).
* gtk/gtktypebuiltins_vars.c: type variable implementations.
* gtk/gtktypebuiltins_ids.c: array entries for builtin type
declarations.
* gtk/gtktypebuiltins_evals.c: enum value arrays.
* gtk/gtk-boxed.defs: gtk and gdk structure definitions, used to build
gtk.defs.
* gtk/gtk.defs: generated file with scheme syntax for type definitions
of gtk and gdk structures and enums.
* gtk/gtktypeutils.h:
* gtk/gtktypeutils.c: reworked type ids, so they are variables not
macros anymore (this fixes binary incompatibility with new enum
definitions).
* gtk/gtkwidget.c (gtk_widget_real_key_press_event): proccess possible
key bindings for this widget.
* gtk/gtkwindow.c (gtk_window_key_press_event): chain parent class'
handler.
* gtk/gtkobject.h:
* gtk/gtkobject.c: removed gtk_object_class_new_user_signal_no_recurse()
again. new functions gtk_object_class_user_signal_new () and
gtk_object_class_user_signal_newv (), to feature the GtkSignalRunType
flag on the signal creation.
Mon Jun 8 20:52:21 1998 Tim Janik <timj@gtk.org>
* gtk/gtkcontainer.h: new signal GtkContainer::set_focus_child.
Sun Jun 7 14:34:31 1998 Tim Janik <timj@gtk.org>
* gtk/gtkitemfactory.c (gtk_item_factory_create_menu_entries): feature
check menu items in the compatibility code (this required me to remove
the "<check>" part from the menu item name, grrr).
Sun Jun 7 10:53:02 1998 Tim Janik <timj@gtk.org>
* gtk/gtkitemfactory.h:
* gtk/gtkitemfactory.c: further additions to fit the gimp's code.
additions to the dumping code to feature GtkPatternSpec.
even found a bug to fix in the original code ;)
Sun Jun 7 09:36:04 1998 Tim Janik <timj@gtk.org>
* gtk/gtkitemfactory.h:
* gtk/gtkitemfactory.c: support different types of callbacks, to
maintain existing code.
... changes to the item factory to ease support of the gimp's code...
Sat Jun 6 06:01:24 1998 Tim Janik <timj@gtk.org>
* gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.
* gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
this should eventually be done by gentypeinfo.el somewhen.
* gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.
* gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
enum values of an enum type.
* gtk/gtk.defs:
* gtk/gtkcurve.h:
* gtk/gtkobject.h:
* gtk/gtkprivate.h:
* gtk/gtkwidget.h:
* gtk/gtkenums.h:
brought enum/flags definitions in sync, added a few more enum
definitions for bindings and pattern matching.
* some more macro and GtkType fixups in various places.
* gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
as a key-release modifier for the binding system.
Fri Jun 5 06:06:06 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
was a stale list pointer that is already present in GtkMenuShell.
* gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
GtkMenuShell::selection_done which is emitted after the menu shell
poped down again and all possible menu items have been activated.
Thu Jun 4 02:20:42 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
before activation of the menuitem, so the menu is actually taken off the
screen prior to any menu item activation.
* gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
for NULL nodes.
* gtk/gtkwidget.h:
* gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
the emission of the "add-accelerator" signal on a widget. this is
usefull to prevent accelerator installation on certain widgets.
* gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
labels left justified, by setting their alignment. stop accelerator
installation for the menu items, since we use dynamic menus.
Wed Jun 3 06:41:22 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
should *really* use GtkItemFactory. this is only for preserving source
compatibility where possible, use of GtkMenuFactory is deprecated as of
now.
* gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
missed this possibility when i added gtk_object_class_add_user_signal
in late january.
* gtk/gtkmain.c (gtk_init): ignore subsequent function calls.
Sun May 31 07:31:09 1998 Tim Janik <timj@gtk.org>
* gtk/gtkaccelgroup.h:
* gtk/gtkaccelgroup.c: new implementation of the accelerator concept.
* gtk/gtkaccellabel.h:
* gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
display of the accelerators associated with a certain widget.
* gtk/gtkitemfactory.h:
* gtk/gtkitemfactory.c: new widget, item factory with automatic rc
parsing and accelerator handling.
* gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
positioning a menu.
(gtk_menu_map): removed the allocation code.
(gtk_menu_size_allocate): care for redrawing of children and resize
our widget->window correctly.
(gtk_menu_key_press): feature the new accelerator groups.
* gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
submenu if neccessary.
* gtk/gtkmenuitem.c:
* gtk/gtkcheckmenuitem.c:
* gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
function variants.
* gdk/gdk.c:
(gdk_keyval_from_name):
(gdk_keyval_name): new functions for keyval<->key-name associations.
(gdk_keyval_to_upper):
(gdk_keyval_to_lower):
(gdk_keyval_is_upper):
(gdk_keyval_is_lower): new functions to check/translate keyvalues with
regards to their cases.
Wed May 27 00:48:10 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
widget's class path.
(gtk_widget_path): new function to calculate a widget's name path.
* gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
pattern matching, features reversed pattern matches.
Thu Jun 4 12:12:11 BST 1998 Tony Gale <gale@gtk.org>
* examples/extract.sh, examples/extract.awk:
New files to automagically extract code examples from the
tutorial.
Mon Jun 1 12:47:56 BST 1998 Tony Gale <gale@gtk.org>
* docs/gtk_tut_it.sgml: Update of Italian Tutorial
to Tutorial of 24th May, from Daniele Canazza <dcanazz@tin.it>
Fri May 29 13:53:57 BST 1998 Tony Gale <gale@gtk.org>
* docs/gtk_tut.sgml:
- new section on Events
- change all delete_event callbacks to include
a GdkEvent parameter
- clean up the formatting
* examples - helloworld.c, helloworld2.c, notebook.c,
packbox.c, pixmap.c, progressbar.c, radiobuttons.c,
rulers.c, table.c, wheelbarrow.c: change all delete_event
callbacks to include a GdkEvent parameter.
1998-05-26 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdk/gdktypes.h (GdkCrossingMode): New enumeration for the "mode"
field of crossing events.
(struct _GdkEventCrossing): Added the following fields: time, x,
y, x_root, y_root, mode, focus, state.
* gdk/gdk.c (gdk_event_translate): Fill in the new fields of the
crossing event structure.
* gtk/gtkfeatures.h (GDK_HAVE_FULL_CROSSING_EVENT): Annotate
changes to the crossing event structure.
Sun May 24 12:11:38 BST 1998 Tony Gale <gale@gtk.org>
* docs/gtk_tut.sgml:
- GtkTooltips, update to current API
- change all 'gpointer *data' to 'gpointer data'
- other minor changes
Sat May 23 21:54:05 1998 Owen Taylor <otaylor@gtk.org>
* configure.in (LDFLAGS): Bombo out with a moderately
helpful message if detection of X libraries fails.
Sat May 23 17:48:58 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkeventbox.c (gtk_event_box_size_allocate):
Locate child at (border_width,border_width), not
(2*border_width,2*border_width). [ The border is _outside_
widget->window ]
* gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
Tue May 19 23:41:04 1998 Owen Taylor <otaylor@gtk.org>
* configure.in: Use pthread_attr_init() as a test function,
since most of the rest of -lpthread is macros on DU4.
Mon May 18 22:14:39 1998 Owen Taylor <otaylor@gtk.org>
(Yasuhiro SHIRASAKI <joke@awa.tohoku.ac.jp> : gtk-joke-980517-0.patch)
* gutils.c: Restored a missing prototype for g_vsprintf.
Mon May 18 04:01:41 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
"drop-data-available-event", "drop-enter-event" and "drop-leave-event"
to be of runtype GTK_RUN_LAST.
* gtk/gtkcontainer.c (gtk_container_class_init): likewise for
"need-resize".
* gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
"widget-selected".
Sat May 16 09:04:32 1998 Tim Janik <timj@gtk.org>
* gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
text retrived from GtkEntry. only intercept the Tab key if there
was some text to complete.
Fri May 15 21:16:54 1998 Owen Taylor <otaylor@gtk.org>
Basic thread-awareness:
* acconfig.h configure.in: New option --with-threads=[yes/posix/no]
* gdk/Makefile.am gdk/gdkthreads.c: Added new functions
gdk_threads_[init/enter/leave] for applications, plus
gdk_threads_wake to wake the mainloop thread out of
the select().
* gtk/Makefile.am: gtk/testthreads.c: Test program for threads
Fri May 15 12:08:48 1998 Owen Taylor <otaylor@gtk.org>
* gtk/testgtk.c (list_clear): Account for the fact
that gtk_list_clear_items is not inclusive. (Clears
[start, end))
[binray incompatibility]
Fri May 15 00:56:59 1998 Tim Janik <timj@gtk.org>
* glib.h: further support for gcc function attributes: G_GNUC_FORMAT,
G_GNUC_NORETURN and G_GNUC_CONST.
* gscanner.c (g_scanner_stat_mode): changed stat() to lstat().
(g_scanner_msg_handler): "\n" at end of line!
(g_scanner_foreach_symbol): new function to iterate over the symbol
table (GScanner does value-wrapping).
Fri May 15 09:44:10 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
the visibility_notify_event method and changed method order.
Thu May 14 04:14:12 1998 Tim Janik <timj@gtk.org>
* glib.h: typedef gint gboolean;
this is needed to provide portability with big-endian platforms (e.g.
try sizeof(bool) for c++ on big-endians - it's 4).
this is also needed to maintain some_union.d_gint==some_union.d_gboolean.
plus, gint to gboolean casts and vice versa need to be possible without
loss.
Thu May 14 03:04:43 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.c (gtk_type_free): new function to take care about
freeing types.
(gtk_type_set_chunk_alloc): new function to allow allocation of new
types from a mem_chunk of certain size (n_chunks==0 indicates allocation
thorugh g_malloc).
* gtk/gtkobject.c (gtk_object_finalize): free an object through
gtk_type_free().
* gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
GtkButtons to 16.
* gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
* gtk/gtklabel.c (gtk_label_get_type): likewise (32).
Wed May 13 00:53:52 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtktypeutils.c gtk/gtksignal.c: A few more
GPOINTER_TO_UINT fixes.
* gtk/gtksignal.c: Include <string.h> for memset.
Tue May 12 23:10:53 1998 Owen Taylor <otaylor@gtk.org>
(Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)
* gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h:
Cleanups, comments and the ability to have rulers with
a reversed direction.
Tue May 12 19:37:55 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
that Sopwith missed when changing stat => lstat.
Tue May 12 19:19:29 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
* gdk/gdk.c: Print sizeof() results
as g_print("%ld", (glong)sizeof(foo)), to deal with
sizeof() being long on Alpha's.
* gtk/testgtk.c: include <string.h> for strlen
Tue May 12 19:22:58 1998 Owen Taylor <otaylor@gtk.org>
* glib/glib.h: Added macros G[U]INT_TO_POINTER() and
GPOINTER_TO_[U]INT for storing small integers integers
inside pointers.
* glib/testglib.c: Print sizeof() results
as g_print("%ld", (glong)sizeof(foo)), to deal with
size_t being long on Alpha's.
Tue May 12 16:54:15 1998 Owen Taylor <otaylor@gtk.org>
(James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
* glib.h gstring.c gmessages.c: Added some missing
const to arguments.
* gutils.c (g_strsignal.c): Added missing return statements.
Tue May 12 16:56:35 1998 Owen Taylor <otaylor@gtk.org>
(James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
* gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>
* gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass
Tue May 12 15:16:10 1998 Owen Taylor <otaylor@gtk.org>
(From: Christopher James Lahey <clahey@umich.edu>)
* gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
gtk/testgtk.c:
Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
(old style), or GTK_RELIEF_NONE - no relief in the NORMAL
state. Added gtk_toolbar_{set,get}_button_relief, which set/get
the default relief for the toolbars buttons. Added an
toggle for the toolbar test in testgtk.c.
Tue May 12 00:24:59 1998 Owen Taylor <otaylor@gtk.org>
* docs/gtk-config.1: Rewritten and hopefully improved.
Mon May 11 20:26:39 PDT 1998 Manish Singh <yosh@gimp.org>
* docs/Makefile.am
* docs/gtk-config.1: added man page for gtk-config by Ben Gertzfield
1998-05-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkpreview.c (gtk_preview_realize): Create the window using
GtkPreview's visual and colormap, otherwise things can BadMatch.
* gtk/testgtk.c (create_color_preview):
(create_gray_preview): Removed pushing/popping of visual/colormap
now that GtkPreview does things correctly.
* gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame):
(gtk_color_selection_draw_wheel): Pick the style from the correct
place (the colorsel->wheel_area widget) so that the GCs will match
with where we are going to paint to.
* gtk/testgtk.c (create_color_selection): Removed pushing/popping
of visual/colormap now that GtkColorSelection does things the
right way.
Tue May 12 02:31:57 1998 Tim Janik <timj@gtk.org>
[security audit by Alan Cox]
* gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
exceed maximum assumed size.
* gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
not exceed maximum assumed size.
(gtk_menu_factory_remove): likewise.
(gtk_menu_factory_find_recurse): likewise.
Tue May 12 00:21:33 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
redrawn if that is still neccessary. don't allow queueing of already
destructed objects.
(gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
widgets which are in the queue can be destroyed savely, handle
requeueing properly.
(gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
widgets which are in the queue can be destroyed/unrealized savely.
Mon May 11 09:56:45 1998 Tim Janik <timj@gtk.org>
* configure.in (cflags_set): preserve automake CFLAGS.
* Makefile.am: fully rename the created libraries to libgtk-1.1.la
and libgdk-1.1.la. this means we need to change certain portions of
the Makefile.am on major/minor version bumps.
* ltmain.sh: the -release option is not required anymore.
* gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
of the first argument to be of type GtkObject. unconditionally compile
this function. removed __GNUC__ dependancy of the gtk_object_ref and
gtk_object_unref macro wrappers for this function.
Mon May 11 09:53:43 1998 Tim Janik <timj@gtk.org>
* configure.in: preserve automake CFLAGS.
* Makefile.am: fully rename the created library to libglib-1.1.la.
this means we need to change certain portions of the Makefile.am on
major/minor version bumps.
* ltmain.sh: the -release option is not required anymore.
* glib.h: provide G_GNUC_FUNCTION and G_GNUC_PRETTY_FUNCTION to
avoid conditionals. unconditionally define NULL, TRUE, FALSE, MAX,
MIN, ABS and CLAMP, these macros might be screwed from other headers.
Mon May 11 01:44:10 1998 Tim Janik <timj@gtk.org>
* gdataset.c: new file, gdatasets implement the object data
mechanism from GtkObject. a generic data pointer is associated with
a certain location and a key id.
Mon May 11 02:31:19 1998 Tim Janik <timj@gtk.org>
* gtk/gtkobject.h:
* gtk/gtkobject.c:
(gtk_object_data_try_key):
(gtk_object_data_force_id): these are now macros substituting the old
functions. we just use the corresponding g_dataset_* functions for
key->id associations. (this is to assure unique key<->id associations).
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.
Sat May 9 16:30:33 BST 1998 Tony Gale <gale@gtk.org>
* docs/gtk_tut_it.sgml: update of Italian tutorial
translation from Daniele Canazza <dcanazz@tin.it>
Sat May 9 02:34:41 1998 Tim Janik <timj@gtk.org>
* gtk/gtkfeatures.h.in: new file used as template for
* gtk/gtkfeatures.h: new file to define macros indicating newly
introduced features, such as GTK_HAVE_SIGNAL_INIT.
* gtk/gtksignal.c:
(gtk_signal_emitv_by_name):
(gtk_signal_emitv):
new functions to emit signals with an already provided parameter set.
(provided by Kenneth Albanowski <kjahds@kjahds.com>).
(gtk_signal_real_emit): prototype changes, so this functions always
gets its parameters and signal structure as arguments.
(gtk_signal_emit): provide the signal structure and parameter list for
gtk_signal_real_emit.
(gtk_signal_emit_by_name): likewise.
Sat May 9 00:03:12 1998 Tim Janik <timj@gtk.org>
* gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
signal connections through unsetting GTK_CONNECTED.
(gtk_signal_handler_insert): reflect the presence of signal connections
through setting GTK_CONNECTED.
(gtk_signal_real_emit): only check for handler emissions if the object
has the GTK_CONNECTED flag set.
(gtk_signal_handler_pending): don't check for pending handlers if the
GTK_CONNECTED flag is not set for this object.
* gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
a GtkObject has signal handler connections.
* gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
set for this object call gtk_signal_handlers_destroy().
* gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
multiple processing of macro args.
* gtk/gtktypeutils.c:
* gtk/gtkobject.c:
* gtk/gtkwidget.c:
* gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
Thu May 7 12:52:45 1998 Tim Janik <timj@gtk.org>
* gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
data chunks through a global object data structure list. unlink
object data before invoking its destroy function.
(gtk_object_finalize): slight modification to allow usage of object
data during object finalization.
this one is actually noticable on widget destruction.
Thu May 7 10:29:24 1998 Tim Janik <timj@gtk.org>
* gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
signal names, e.g. "signal-name" is now an alias for "signal_name".
(gtk_signal_handler_new): allocate handlers through a global handler
structure list, that's faster than memchunks.
(gtk_emission_new): allocate emissions through a global emission
structure list, that's faster than memchunks.
Thu May 7 05:14:19 1998 Tim Janik <timj@gtk.org>
* gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
* ltmain.sh: added a new commandline flag -postfix similar to -release,
but will immediately change the library name.
* gdk/Makefile.am:
* gtk/Makefile.am: specify -postfix and -version-info
* configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
GTK_BINARY_AGE. calculate LT_* variables for libtool.
Wed May 6 02:16:34 1998 Tim Janik <timj@gtk.org>
* gtk/gtksignal.c: reimplemented the signal storage system to use a
linear array rather than a hash table.
be carefull *not* to keep any GtkSignal pointers across invokations
of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
general code cleanups, made all allocations through memchunks.
(gtk_signal_lookup): we now do the lookup of signals through a key_id
for the signal names to avoid multiple hashing of the signal name on
lookups for the several hirarchy levels of an object.
Tue May 5 15:33:27 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
checking for signal initialization in gtksignal.c.
* gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
a long debugging period ;)
Mon May 4 00:30:11 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
gtk_type_is_a().
* gtk/gtktypeutils.c: reimplemented the type storage system to use a
linear array rather than a hash table. it actually speeded up testgtk
for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
pointers across invokations of gtk_type_node_next_and_invalidate() and
therefore gtk_type_unique()!
* gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
inheritance of a class pointer.
(GTK_OBJECT): modifications for speedups.
(GTK_IS_OBJECT): likewise.
(GTK_OBJECT_CLASS): likewise.
(suggested by owen).
* gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
* gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
* gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
since its derivation changed 4 month ago ;(. showed up with the unique
type name checking code in gtk_type_unique().
* random guint->GtkType and macro fixups.
1998-05-04 Federico Mena Quintero <federico@nuclecu.unam.mx>
* configure.in: Added $x_libs in the other_libraries field in the
check for XShapeCombineMask.
Sun May 3 14:55:34 1998 Owen Taylor <otaylor@gtk.org>
* docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
"glibconfig.h" and another about writing another IRC
client.
Sat May 2 00:14:05 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
parameters to log are doubles. Digital Unix apparently
is missing the argument in its prototype.
Sun May 3 19:04:46 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtklabel.c (gtk_label_state_changed): Don't
force a clear until the widget is actually on
screen.
Hopefully nothing else though CVS think there are a whole
bunch more changed files.
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 May 3 19:45:09 1998 Tim Janik <timj@gtk.org>
* gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
to set the adjustments value without causing a current emission of
"value_changed" to be restarted.
* gtk/gtksignal.c: added new functions to retrive the number of
existing emissions for a certain signal.
(gtk_signal_n_emissions): new function.
(gtk_signal_n_emissions_by_name): new function.