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.