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