Commit Graph

381 Commits

Author SHA1 Message Date
Owen Taylor
6bbdea92f7 #80023, Yao Zhang, TOKUNAGA Hiroyuki
Thu Jun  5 16:12:54 2003  Owen Taylor  <otaylor@redhat.com>

        #80023, Yao Zhang, TOKUNAGA Hiroyuki

        * gtk/gtktextlayout.c (gtk_text_layout_get_cursor_locations):
        Account for the preedit cursor offset if the iter passed
        in is at the same place as the insertion cursor.

        * gtk/gtktextview.c (gtk_text_view_get_cursor_location):
        Encapsulate getting the insertion cursor location.

        * gtk/gtktextview.c (gtk_text_view_update_im_spot_location):
        Pass the real y/height to the IM context. Take
        text_view->x/yoffset into account.
2003-06-05 23:04:49 +00:00
Owen Taylor
4d5b395f2c Never scroll on focus in (#81893, Patch from Paolo Maggi)
Thu Jun  5 16:52:54 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktextview.[ch]: Never scroll on focus in
        (#81893, Patch from Paolo Maggi)

        * gtk/gtktextview.c (gtk_text_view_scroll_[h]pages):
        Scroll to the current cursor location before handling
        the action, in case the user just tabbed in
        and the cursor is offscreen.
2003-06-05 22:59:35 +00:00
Matthias Clasen
fc82265675 Fix for #84668, reported by Torbjörn Andersson:
2003-06-05  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktextview.c: Fix for #84668, reported by Torbjörn Andersson:
	(gtk_text_view_grab_notify):
	(gtk_text_view_state_changed): Implement these
	to unobscure cursor when grab shadowed or insensitised.
	(gtk_text_view_unobscure_mouse_cursor): New function to undo the
	effect of gtk_text_view_obscure_mouse_cursor(). Code lifted from
	gtk_text_view_motion_event().
	(gtk_text_view_motion_event): Use gtk_text_view_obscure_mouse_cursor().
2003-06-05 19:34:03 +00:00
Matthias Clasen
4c7356281f New keybinding signal for (un)selecting the whole buffer. Bound to
2003-06-05  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktextview.c (select_all): New keybinding signal for
	(un)selecting the whole buffer. Bound to C-a/C-\.  (see #107889)
2003-06-05 19:23:31 +00:00
Matthias Clasen
75a41e91eb Add a "buffer" property. (#108353)
2003-03-15  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktextview.c: Add a "buffer" property.  (#108353)
2003-03-14 23:11:42 +00:00
Manish Singh
dd74be94c6 demos/gtk-demo/main.c demos/gtk-demo/tree_store.c gdk/x11/gdkscreen-x11.c
Thu Feb 27 17:44:24 2003  Manish Singh  <yosh@gimp.org>

        * demos/gtk-demo/main.c
        * demos/gtk-demo/tree_store.c
        * gdk/x11/gdkscreen-x11.c
        * gtk/gtkcellrenderertoggle.c
        * gtk/gtkcolorsel.c
        * gtk/gtkdnd.c
        * gtk/gtkeditable.c
        * gtk/gtkentry.c
        * gtk/gtkmenu.c
        * gtk/gtkmenubar.c
        * gtk/gtkmenuitem.c
        * gtk/gtkmenushell.c
        * gtk/gtkrc.c
        * gtk/gtksettings.c
        * gtk/gtkstyle.c
        * gtk/gtktextbuffer.c
        * gtk/gtktextview.c
        * gtk/gtktreeviewcolumn.c
        * tests/testgtk.c
        * tests/testtext.c
        * tests/testtreeedit.c
        * tests/testtreefocus.c
        * tests/testtreeview.c: remove unnecessary G_OBJECT() casts.
2003-02-28 01:45:51 +00:00
Matthias Clasen
452de5d6a4 Check if line_ancestor_parent is NULL. (#102711, Manuel Clos)
2003-02-20  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktextbtree.c (_gtk_text_line_previous_could_contain_tag):
	Check if line_ancestor_parent is NULL.  (#102711, Manuel Clos)

	* gtk/gtktextview.c (gtk_text_view_scroll_to_iter):
	(gtk_text_view_update_adjustments): Make sure cursor stays visible
	during horizontal scrolling.  (#75270)
2003-02-20 19:42:05 +00:00
Matthias Clasen
49ad2496df Remove bogus casts.
2003-02-14  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktextview.c (popup_targets_received): Remove bogus casts.
2003-02-14 16:37:23 +00:00
Matthias Clasen
4b9e72c756 Fix for #82734 and #78216:
2003-02-12  Matthias Clasen  <maclas@gmx.de>

	Fix for #82734 and #78216:

	* gtk/gtktextview.c (delete_cb):
	(select_all_cb): New callbacks for context menu items.
	(popup_targets_received): Add "Delete" and "Select All" to context
	menu, mnemonics and title caps for all items.

	* gtk/gtkentry.c (gtk_entry_delete_cb): New callback for "Delete"
	context menu item.
	(popup_targets_received): Add "Delete" to context menu, mnemonics
	and title caps for all items.
2003-02-11 23:31:00 +00:00
Matthias Clasen
b414adc897 Replace uses of gtk_timeout_* and gtk_idle_* by their non-deprecated
GLib counterparts. Fully deprecate gtk_timeout_* and gtk_idle_*.
2003-02-05 23:48:11 +00:00
Matthias Clasen
e40cc69331 Replace PAGE_HORIZONTALLY_HACK_VALUE by GTK_MOVEMENT_HORIZONTAL_PAGES.
2003-01-30  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktextview.c: Replace PAGE_HORIZONTALLY_HACK_VALUE by
	GTK_MOVEMENT_HORIZONTAL_PAGES.  (#68947)

	* gtk/gtkenums.h: Add GTK_MOVEMENT_HORIZONTAL_PAGES to GtkMovementStep.
2003-01-30 21:29:28 +00:00
Matthias Clasen
2294c892e7 Adjust the vadjustment value after changing its bounds. (fixes #101963 and
2003-01-21  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktextview.c (gtk_text_view_size_allocate): Adjust the
	vadjustment value after changing its bounds.  (fixes #101963 and
	#73562)
2003-01-21 22:31:29 +00:00
Matthias Clasen
740f871a15 Skip invisible chars for GTK_MOVEMENT_LOGICAL_POSITIONS and
* gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Skip
	invisible chars for GTK_MOVEMENT_LOGICAL_POSITIONS and
	GTK_MOVEMENT_WORDS.

	* gtk/gtktextiter.c,
	gtk/gtktextiter.h: Add some variant movement functions which
	skip invisible chars, and do some cleanups.

	* gtk/gtk-sections.txt: Add new GtkTextIter functions.
2003-01-14 01:07:58 +00:00
Matthias Clasen
b596f511e3 Bind C-/ and C-\ to "select all" and "unselect all". (#102065)
2003-01-07  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktextview.c (gtk_text_view_class_init): Bind C-/ and C-\
	to "select all" and "unselect all".  (#102065)
2003-01-07 00:25:10 +00:00
Matthias Clasen
f50f45bc86 Add a comment that the just_selected_element is unused.
2003-01-07  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktextview.h (struct _GtkTextView): Add a comment that
	the just_selected_element is unused.

	* gtk/gtktextview.c (extend_selection): New helper function to
	find the range that should be added to the selection.
	(selection_motion_event_handler):
	(gtk_text_view_start_selection_drag):
	(gtk_text_view_end_selection_drag):
	(selection_motion_event_handler):
	(selection_scan_timeout): Support select-by-words/lines.
	(gtk_text_view_button_press_event): Start a selection drag on
	double/triple clicks.  (#78599)
2003-01-06 23:07:06 +00:00
Matthias Clasen
315edfcce4 Make C-Down step through the sequence of paragraph ends (old behaviour
2003-01-05  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Make
	C-Down step through the sequence of paragraph ends (old behaviour
	included paragraph starts).  (#80340, patch by Narayana Pattipati)

	* gtk/gtktextiter.c (_gtk_text_btree_get_iter_at_first_toggle):
 	Check for a tag toggle at the start iterator before calling
 	gtk_text_iter_forward_to_tag_toggle().  (#102090, patch by Daniel
	Elstner)
2003-01-04 23:28:06 +00:00
Matthias Clasen
69ff8606df Fix the fix for #75694. 2002-12-27 12:19:13 +00:00
Matthias Clasen
0ff9554fc3 Place the cursor at drop point. (#72384) (gtk_text_view_size_allocate):
2002-12-27  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktextview.c (gtk_text_view_drag_data_received): Place the
	cursor at drop point.  (#72384)
	(gtk_text_view_size_allocate): Update the horizontal adjustment
	value.  (#75694)
2002-12-27 02:04:01 +00:00
Matthias Clasen
657c65ed4b Fix highlighting of selection wrt. to empty lines. (#90435, #90582)
2002-12-25  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix highlighting of
	selection wrt. to empty lines.  (#90435, #90582)

	* gtk/gtktextview.c (gtk_text_view_preedit_changed_handler):
	Keep the cursor on screen.  (#96929)
2002-12-25 21:02:25 +00:00
Matthias Clasen
9dd764386e Forgotten commit, already ChangeLogged. 2002-12-25 00:39:51 +00:00
Matthias Clasen
e42ddac33f New static function to set the background of all windows.
* gtk/gtktextview.c (gtk_text_view_set_background): New static
	function to set the background of all windows.
	(gtk_text_view_style_set): Use gtk_text_view_set_background().
	(gtk_text_view_state_changed): New function; change background
	according to state.  (#88126)
2002-12-21 22:49:28 +00:00
Havoc Pennington
535c4b5203 fix the documentation
2002-12-21  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktextview.c (gtk_text_view_move_visually): fix the documentation
2002-12-21 15:51:38 +00:00
Soeren Sandmann
ab74ab521a return TRUE when button 3 is pressed, fixes #78324.
Thu Dec 12 18:25:17 2002  Soeren Sandmann  <sandmann@daimi.au.dk>

        * gtk/gtktextview.c (gtk_text_view_button_press_event):
        return TRUE when button 3 is pressed, fixes #78324.
2002-12-12 18:01:06 +00:00
Owen Taylor
437de1aa07 Turn off DEBUG_VALIDATION_AND_SCROLLING that got turned on in an
Thu Dec 12 10:12:39 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktextview.c: Turn off DEBUG_VALIDATION_AND_SCROLLING
        that got turned on in an accidental commit.
2002-12-12 15:14:32 +00:00
Matthias Clasen
14ee65b66a Data constness fixes. (#75754) 2002-12-10 21:39:53 +00:00
Matthias Clasen
2d1ce5a4fb Put into #ifdef DO_BLINK to avoid an unused static function. (#97965)
* tests/testtext.c (blink_timeout): Put into #ifdef DO_BLINK to
	avoid an unused static function.  (#97965)

	* gtk/gtktextiter.c (backward_line_leaving_caches_unmodified):
	* gtk/gtkstyle.c (radio_aa_bits):
	(draw_spin_entry_shadow): #if-0-out unused static functions and
	variables.  (#97965)

	* gtk/gtktextview.c (text_window_get_allocation):
	* gtk/gtkcolorsel.c (gtk_color_selection_get_palette_size):
	(gtk_color_selection_get_palette_color):
	(gtk_color_selection_unset_palette_color): Remove unused static
	functions.  (#97965)

	* gtk/gtkcolorsel.c
	(gtk_color_selection_set_change_palette_with_screen_hook): Fix doc
	comment.
2002-11-08 22:34:38 +00:00
Manish Singh
ac77076507 Deprecation cleanup
Thu Oct 10 14:41:05 2002  Manish Singh  <yosh@gimp.org>

        * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextdisplay.c
        gtk/gtktextlayout.c gtk/gtktextmark.c gtk/gtktexttag.[ch]
        gtk/gtktexttagtable.c gtk/gtktextutil.c gtk/gtktextview.[ch]:
        Deprecation cleanup
2002-10-10 21:45:41 +00:00
Owen Taylor
4d7d94f633 Make gtk_menu_shell_select_first() public. (#70374)
Mon Sep 23 17:50:23 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkmenushell.[ch] gtk/gtkentry.c gtk/gtkmenubar.c
        gtk/gtkmenuitem.c gtk/gtktextview.c: Make
        gtk_menu_shell_select_first() public. (#70374)
2002-09-23 21:53:20 +00:00
Shivram U
9cce8c8c13 If the end iter is also a part of the selection, then we are in the
Mon Sep  9 16:16:25 2002  Shivram U  <shivaram.upadhyayula@wipro.com>

	* gtk/gtktextview.c (gtk_text_view_drag_motion): If the end iter
	is also a part of the selection, then we are in the selection.
	(#92768)
2002-09-09 10:32:58 +00:00
Padraig O'Briain
e874a29c8a Move focus to children, if they exist, after GtkTextView is focused.
* gtk/gtktextview.c (gtk_text_view_focus): Move focus to
children, if they exist, after GtkTextView is focused. (#63844)
2002-08-14 08:05:30 +00:00
Havoc Pennington
394ae506ba Apply patch from Gustavo Giraldez for bug #78513
2002-07-24  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktextview.c: Apply patch from Gustavo
	Giraldez for bug #78513
2002-07-25 02:52:44 +00:00
Owen Taylor
367cacdf1b Add an extra parameter to _gtk_menu_item_select_first() to allow us to
Fri Jul  5 20:18:23 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkmenushell.[ch] gtk/gtkmenubar.c gtk/gtkmenuitem.c
        gtk/gtkentry.c gtk/gtktextview.c: Add an extra parameter
        to _gtk_menu_item_select_first() to allow us to choose
        whether we want to select the first item predictably
        or to select the first sensitive item. Fixes problem
        with insensitive menu items and keynav. (#85796,
        reported by Bill Haneman and others.)
2002-07-06 00:21:43 +00:00
Owen Taylor
621fb7466a Replace gdk_cursor_new_for_screen() with gdk_cursor_new_for_display().
Tue Jun 18 14:41:48 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkcursor.[ch] gdk/x11/gdkcursor-x11.c
        gdk/x11/gdkprivate-x11.h gdk/win32/gdkcursor-win32.c: Replace
        gdk_cursor_new_for_screen() with gdk_cursor_new_for_display().
        (#85671)

        * gtk/gtkclist.c gtk/gtkcombo.c gtk/gtkcurve.c gtk/gtkdnd.c
        gtk/gtkentry.c gtk/gtkhandlebox.c gtk/gtkhsv.c gtk/gtklabel.c
        gtk/gtkpaned.c gtk/gtktext.c gtk/gtktextview.c
        gtk/gtktipsquery.c gtk/gtktreeviewcolumn.c:
        Adapt to above change.
2002-06-18 20:59:44 +00:00
Owen Taylor
816769394d Add the obsolete CUA cut/copy/paste bindings. (#79078)
Thu Jun 13 17:50:36 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktextview.c gtk/gtkentry.c: Add the obsolete
        CUA cut/copy/paste bindings. (#79078)

        * gtk/gtktextview.c gtk/gtkentry.c: Make <Shift>BackSpace
        a synonym for for Backspace. (#80302, Jeff Waugh)
2002-06-13 22:06:06 +00:00
Matthias Clasen
a68df0b2e4 New function, split off from gtk_tree_view_column_clear_attributes.
* gtk/gtktreeviewcolumn.c
	(gtk_tree_view_column_clear_attributes_by_info): New function,
	split off from gtk_tree_view_column_clear_attributes.
	(gtk_tree_view_column_clear_attributes):
	(gtk_tree_view_column_finalize):  Call the new function, avoid
	recalculating the info from the renderer.  (#84413)

	* gtk/gtktextview.c (text_view_child_new_anchored): Initialize
	vc->type in order to avoid a later UMR.  (#84415)
2002-06-07 22:02:23 +00:00
Owen Taylor
d44ba97ff0 Don't redraw when the area is completely above the visible area.
Thu May 23 15:44:30 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktextview.c (changed_handler): Don't redraw
        when the area is completely above the visible area.
2002-06-06 15:41:57 +00:00
Havoc Pennington
eccf6735c9 use gtk_text_layout_invalidate_cache instead of cut-and-paste
2002-04-30  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextlayout.c (gtk_text_layout_real_free_line_data): use
	gtk_text_layout_invalidate_cache instead of cut-and-paste
	(gtk_text_layout_real_invalidate): always invalidate cache, even
	if the line has no stored line data. #78573

	* gtk/gtktextview.c (gtk_text_view_get_iter_location): add call to
	gtk_text_view_ensure_layout, #77388
	(gtk_text_view_get_iter_at_location): ditto
	(gtk_text_view_get_line_yrange): ditto
	(gtk_text_view_get_line_at_y): ditto
2002-04-30 20:51:35 +00:00
Alex Larsson
4632fb81c7 Integrate Erwann Chenede's multihead changes for the gtk/ directory.
Mon Apr 29 18:28:00 2002  Owen Taylor  <otaylor@redhat.com>

	Integrate Erwann Chenede's multihead changes for the gtk/ directory.

	* gtk/gtkclipboard.[ch]: Add gtk_clipboard_get_for_display(),
	make internals multihead aware.

	* gtk/gtkcolorsel.[ch]: Add
	gtk_color_selection_set_change_palette_with_screen_hook () [ugh!]
	make up for non-multihead safety of
	gtk_color_selection_set_change_palette_hook()

	* gtk/gtkinvisible.[ch] gtk/gtkmenu.[ch] gtkwindow.[ch]: Add
	gtk_{invisible,menu,window}_set_screen(); add "screen" properties
	for GtkWindow and GtkMenu.

	* gtk/gtkplug.[ch]: Add gtk_plug_construct_for_display(),
	gtk_plug_new_for_display(). Multihead fixes.

	* gtk/gtkselection.[ch]: Add gtk_selection_owner_set_for_display(),
	make internals multihead aware.

	* gtk/gtksettings.[ch]: Add gtk_settings_get_for_screen(), get
	rid of now-useless gtk_settings_constructor().

	* gtk/gtkstyle.[ch]: Add gtk_style_get_font_for_display(), fix
	check/radio button indicators bitmap handling to be multihead
	safe.

	* gtk/gtkwidget.[ch]: Add gtk_widget_get_screen(), gtk_widget_has_screen(),
	gtk_widget_get_display(), gtk_widget_get_clipboard(),
	gtk_widget_get_root_window().

	* gtk/gtkbindings.c gtk/gtkbutton.c gtk/gtkclist.c gtk/gtkcombo.c
	gtk/gtkctree.c gtk/gtkdnd.c gtk/gtkfilesel.c gtk/gtkgamma.c
	gtk/gtkhandlebox.c gtk/gtkhsv.c gtk/gtkimcontext.c gtk/gtklabel.c
	gtk/gtklist.c gtk/gtkmain.c gtk/gtkmenuitem.c gtk/gtkmenushell.c
	gtk/gtknotebook.c gtk/gtkoldeditable.c gtk/gtkoptionmenu.c
	gtk/gtkpaned.c gtk/gtkpreview.c gtk/gtksocket.c gtk/gtktext.c
	gtk/gtktextbuffer.c gtk/gtktextview.c gtk/gtktipsquery.c
	gtk/gtktooltips.c gtk/gtktreeview.c gtk/gtktreeviewcolumn.c:
	misc mechanical multihead-safety fixes.

	* gtk/gtkclipboard.c: Use a GtkImage rather than a pixmap for
	the dropper, look up the color palette only at realization time,
	other multihead fixes.

	* gtk/gtkcombo.c (gtk_combo_unrealize): Popdown the list when
	unrealizing.

	* gtk/gtkentry.c: Only claim ownership of the primary selection
	when realized, misc multihead fixes.

	* gtk/gtkfontsel.c: Only fill in fonts when attached to a screen,
	fix gtk_font_selection_get_font() for multihead.

	* gtk/gtkgc.c: make the depth => drawable hash per-screen.

	* gtk/gtkinvisible.c: Add a constructor that realizes the
	widget, so we get a realized widget with g_object_new() as
	well gtk_invisible_new() as before.

	* gtk/gtkmain.c: Get rid of unused gtk_visual/gtk_colormap
	variables.

	* gtk/gtktextdisplay.c: Add warnings if stipple bitmaps
	are used on the wrong screen.

	* gtk/gtktoolbar.c: Make handling of GtkSettings-based layout
	read properties and connect to settings when the screen is changed,
	rather than on init/finalize.

	* gtk/gtkwindow.c: Fix icon handing to be multihead safe ...
	default icon pixmaps/mask are only shared between windows on the
	same screen. Misc multihead fixes.

Sat Apr 27 13:49:53 2002  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkclipboard.c (gtk_clipboard_get_for_display):
	Update docs to reference GDK_SELECTION_CLIPBOARD rather GDK_NONE.

2002-04-29  Alex Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkproperty-fb.c (gdk_property_get):
	Fix silly bug, noticed by Sven Neumann.

Sun Apr 28 22:43:55 2002  Jonathan Blandford  <jrb@gnome.org>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_sort_func): Fix
	so that you can set a new sort func.
2002-04-29 22:53:45 +00:00
Matthias Clasen
7bb0ea6241 Improve docs. (#62359)
* gtk/gtktextview.c (gtk_text_view_buffer_to_window_coords):
	(gtk_text_view_window_to_buffer_coords): Improve docs.  (#62359)

	* gdk-pixbuf/tmpl/gdk-pixbuf-loader.sgml: Updates.  (#79001)

	* gtk/tmpl/gtksocket.sgml: Add link to XEmbed draft.  (#67818)

	* gtk/tmpl/gtkdrawingarea.sgml: Fix a typo.

	* gtk/text_widget.sgml: Complete the fix for #79080.
2002-04-23 22:22:44 +00:00
Havoc Pennington
ee8fd425f3 end any selection in progress, patch from db@zigo.dhs.org, #74620
2002-03-23  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktextview.c (gtk_text_view_do_popup): end any selection in
	progress, patch from db@zigo.dhs.org, #74620
2002-03-23 18:08:52 +00:00
Havoc Pennington
0c45c57f6e extend selection for pageup/pagedown and ctrl+pageup/pagedown if shift is
2002-03-23  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktextview.c (gtk_text_view_move_cursor_internal): extend
	selection for pageup/pagedown and ctrl+pageup/pagedown if
	shift is held. more of #53934
2002-03-23 17:54:16 +00:00
Havoc Pennington
e00f842a5b disconnect layout handlers earlier in the function, to avoid possible
2002-03-23  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktextview.c (gtk_text_view_destroy_layout): disconnect
	layout handlers earlier in the function, to avoid possible
	reentrancy screwups
	(gtk_text_view_invalidate): Don't install idle handlers if
	layout == NULL, otherwise we get problems during finalization
	since clearing the buffer invalidates and puts the idle handlers
	back after we destroy the layout. #74660
	(gtk_text_view_ensure_layout): Install the validation handlers
	right after creating the layout.

	* gtk/gtktexttagtable.c (foreach_unref): call
	_gtk_text_buffer_notify_will_remove_tag(), #75126
2002-03-23 17:35:09 +00:00
Havoc Pennington
8d3df4d9a1 add more explanatory text to the error message about missing charsets, and
2002-03-22  Havoc Pennington  <hp@pobox.com>

	* gdk/x11/gdkfont-x11.c (gdk_fontset_load): add more explanatory
	text to the error message about missing charsets, and use
	g_printerr() not g_warning() since this is typically not a
	programming error (we do not export any API to ask whether
	a font set will have missing charsets so apps realistically can't
	do anything other than try the gdk_fontset_load())

	* gtk/gtktextview.c (gtk_text_view_key_press_event): return FALSE
	if the text view isn't editable and the user presses Return,
	so default buttons and such can be activated, #74937

	* gtk/gtktextbuffer.c (paste_from_buffer): don't insert
	if the insertion point is not editable and the paste
	is interactive, #74125

	* gtk/gtkwindow.c (gtk_window_move_resize): enhance the #if 0
	debug spew

	* gtk/gtktextbuffer.c (cut_or_copy): only remove the previous
	cut/copied data right before replacing it, when we know we are
	going to replace it. Fixes #74049
2002-03-23 04:37:53 +00:00
Owen Taylor
771e2d573c ri Mar 22 10:12:10 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktextview.c (gtk_text_view_paint): Change
        G_BREAKPOINT() to g_assert_not_reached ().
	(#75865, Ashok Venkiteswaran)
2002-03-22 15:23:08 +00:00
Owen Taylor
8acfd1e9de Patch from Erwann Chenede, #73900 fixing a lot of warnings with Forte CC,
Wed Mar 20 16:36:08 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/*.c: Patch from Erwann Chenede, #73900 fixing
        a lot of warnings with Forte CC, mostly implicit
        casts between void * and function pointers.

        * gdk/gdkevents.c (gdk_event_get_state): GdkEventVisibility's
        state field is not a GdkModifierType. (Also #73900)
2002-03-20 21:47:01 +00:00
Havoc Pennington
049771c5f6 don't assign yoffset here, just let it get updated in response to the
2002-03-05  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_size_allocate): don't assign
	yoffset here, just let it get updated in response to the
	value_changed. Fixes #72479
2002-03-05 20:31:54 +00:00
Owen Taylor
c848fbbcfe Centralize lookup and caching of cursor GC's here.
Sun Mar  3 14:26:33 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkstyle.[ch] (_gtk_get_insertion_cursor_gc):
        Centralize lookup and caching of cursor GC's here.

        * gtk/gtkentry.[ch] gtk/gtktextview.[ch] gtk/gtktextdisplay.c
        gtk/gtklabel.c: Move to using _gtk_get_insertion_cursor_gc().

        * gtk/gtkentry.c (gtk_entry_expose): Draw cursors
        under the text, not over the text.

        * gtk/gtkwidget.c (gtk_widget_class_init): add
        a secondary-cursor-color property.

        * gtk/gtkwidget.c (gtk_widget_class_init): Decrease
        the default aspect ratio to 1/25 (0.04).

        * tests/testgtkrc (bell_duration): Comment out
        cursor color setting.
2002-03-03 19:59:29 +00:00
Owen Taylor
206119c9c1 Don't delete forward across line boundaries when in overwrite mode.
Fri Mar  1 14:49:35 2002  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_commit_text): Don't delete
	forward across line boundaries when in overwrite mode.
	(#73145, reported by Ettore Perazzoli)
2002-03-01 19:50:43 +00:00
Havoc Pennington
8836674aec free the tab array for custom tabs, reported by Paolo Maggi #72980
2002-02-28  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktextview.c (gtk_text_view_finalize): free the tab array
	for custom tabs, reported by Paolo Maggi #72980
2002-03-01 04:39:00 +00:00
Havoc Pennington
f9debe2f69 add dx/dy to child allocation, don't subtract them. Also, copy code from
2002-02-24  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktextview.c (gtk_text_view_value_changed): add dx/dy to
	child allocation, don't subtract them. Also, copy code from CList
	to recursively adjust the child allocation, instead of just
	adjusting immediate children. #69115
2002-02-25 04:55:56 +00:00
Havoc Pennington
0ca2aa50c6 parent_class variable was GtkObjectClass instead of GObjectClass
2002-02-24  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktextbuffer.c (parent_class): parent_class variable was
	GtkObjectClass instead of GObjectClass

	* gtk/gtktextview.c (widget_to_buffer): fix this the way
	buffer_to_widget was fixed, to avoid duplicating
	the code that computes text_window->allocation.x/y
2002-02-25 02:47:19 +00:00
Owen Taylor
60c1630edc Take border width into account.
Sun Feb 24 14:15:45 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktextview.c (widget_to_buffer): Take border
        width into account.

        * gtk/gtklabel.c (get_label_wrap_width): Don't use GdkFont
        to compute wrap width ... GdkFont will pull in X11 core
        fonts.
2002-02-24 19:56:14 +00:00
Owen Taylor
53171867b5 Patch from Matthias Clasen (#54488)
Fri Feb 22 19:17:46 2002  Owen Taylor  <otaylor@redhat.com>

        Patch from Matthias Clasen (#54488)

        * gtk/gtkwindow.c: Set/unset HAS_FOCUS flags here,
        and do ::has-focus notifications.

        * gtk/gtkclist.c gtk/gtkentry.c gtk/gtksocket.c
        gtk/gtktext.c gtk/gtktextview.c gtk/gtkwidget.c:
        Remove unecessary focus_in/out handles and unecessary
        flag setting.

        * gtk/gtkwidget.c: Adda missing notification on ::parent.
2002-02-23 00:36:49 +00:00
Havoc Pennington
5109ff0262 implement more cleanly by using text_window->allocation.x/y instead of
2002-02-22  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (buffer_to_widget): implement more cleanly by
	using text_window->allocation.x/y instead of recomputing it.
	Fixes a bug caused by leaving out the border width here.
2002-02-22 16:12:13 +00:00
Havoc Pennington
a07ef43710 call gtk_size_group_queue_resize to avoid invalidating the widget every
2002-02-22  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (changed_handler): call
	gtk_size_group_queue_resize to avoid invalidating the widget every
	time its requisition changes. Instead we use the btree invalid
	lines to know what to redraw. Fixes #71429
2002-02-22 15:55:14 +00:00
Owen Taylor
708e1a9574 Implement "fuzzy" key binding lookups; allow matches on key and level but
Wed Feb 20 14:26:47 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkkeyhash.[ch]: Implement "fuzzy" key binding lookups;
        allow matches on key and level but not group. Also, implement
        ignoring "consumed modifiers correctly."

        * gtk/gtkaccelgroup.c gtk/gtkbindings.c: Convert to using
        GtkKeyHash.

        * gtk/gtkdebug.h gtk/gtkmain.c: Support GTK_DEBUG=keybindings

        * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fill in
        the group for key release events as well as key press events.

        * gdk/gdkkeys.h gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
        Rename unused_modifiers to consumed_modifiers, make the docs and
        non-Xkb implementation match the Xkb implementation.

        * gdk/linux-fb/gdkkeyboard-fb.c gdk/win32/gdkkeys-win32.c: Propagate
        doc and parameter name changes.

        * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
        XkbTranslateKeyCode doesn't handle LockMask, we need to handle
        it ourselves.

        * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Force
        <Shift>Tab to give GDK_ISO_Left_Tab, since we need consistency
        to allow dealing with ISO_Left_Tab.

        * gtk/gtkwindow.c gtk/gtktextview.c gtk/gtkscrolledwindow.c
        gtk/gtkpaned.c gtk/gtkcombo.c  gtk/gtknotebook.c:
        Remove inappropriate uses of GDK_ISO_Left_Tab. (GDK_ISO_Left_Tab
        or <Shift>Tab both are equivalent as a binding specifier.)

        * gtk/gtkbutton.c (gtk_button_class_init): Make ::activate
        GTK_RUN_ACTION, so you can bind an accelerator to it.

        * gtk/gtklabel.c (gtk_label_set_uline_text_internal): Call
        gdk_unicode_to_keyval on the mnemonic character.

        * tests/testgtk.c: Add a test for the new fuzzy key binding matching.
2002-02-21 17:14:10 +00:00
Owen Taylor
7ea9e8046f Remove support for the poorly defined text/plain type for now. (#55117)
Mon Feb 18 17:34:43 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkentry.c gtk/gtktextview.c: Remove support for
        the poorly defined text/plain type for now. (#55117)
2002-02-18 22:36:04 +00:00
Owen Taylor
b2b29ea184 gtk/gtkclist.c (adjust_adjustments) gtk/gtklayout.c
Mon Feb 18 14:17:59 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkclist.c (adjust_adjustments)
        * gtk/gtklayout.c (gtk_layout_size_allocate)
        * gtk/gtktextview.c (gtk_text_view_size_allocate)
        * gtk/gtktreeview.c (gtk_tree_view_size_allocate)
        * gtk/gtkviewport.c (gtk_viewport_size_allocate):
        Standardize on a page increment of page minus 1 line
        rather than half a page (#51027, Eric Fischer)

        * gtk/gtkviewport.c (gtk_viewport_size_allocate):
        Change step increment to be 0.1 * page_size height rather than
        a fixed 10 pixels.
2002-02-18 19:20:31 +00:00
Owen Taylor
8f5c2c7625 Patch from Bill Haneman and Padraig O'Briain to add cursor_aspect_ratio
Thu Feb 14 16:46:48 2002  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c gtk/gtktextdisplay.c gtk/gtklabel.c
	gtk/gtkstyle.[ch] gtk/gtkwidget.c: Patch from Bill
	Haneman and Padraig O'Briain to add cursor_aspect_ratio
	style property to GtkWidget to allow theming the aspect
	ratio of the cursor.

	* gtk/gtkentry.c gtk/gtktextview.c gtk/gtklabel.c
	gtk/gtkwidget.c tests/testgtkrc: Move cursor-color style property
	to GtkWidget.
2002-02-14 21:49:02 +00:00
Havoc Pennington
07002791f7 validate a larger area, proportional to widget size, to fix #71427
2002-02-13  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_flush_scroll): validate a
	larger area, proportional to widget size, to fix
	#71427 reported by Dennis Bjorklund
2002-02-14 00:06:13 +00:00
Havoc Pennington
a760ad804e just go ahead and flush all the first validate stuff if it hasn't been
2002-02-13  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_paint): just go ahead and flush
	all the first validate stuff if it hasn't been done, presumably
	someone called process_updates at a weird time.

	* tests/testtext.c (do_apply_colors): terminate on >= end, not >
	end, avoids infinite loop when end is at the end of the buffer.

	* gtk/gtktextbtree.c (_gtk_text_btree_delete): when creating a
	line data, we were adding it to the wrong line ("line" instead of
	"start_line")
2002-02-13 23:44:03 +00:00
Owen Taylor
7b79dfbef8 Add a function to delete all bindings add by gtk_binding_parse_binding()
Fri Feb  8 18:46:13 2002  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkbindings.[ch] (_gtk_binding_reset_parsed): Add
	a function to delete all bindings add by
	gtk_binding_parse_binding() when rereading RC files.

	* gtk/gtkrc.c (gtk_rc_reparse_all_for_settings): Reset
	binding set content as well as RC content.

	* gtk/gtkbindings.c (binding_compose_params): Fix
	various GValue handling problems.

	* gtk/gtkentry.c (gtk_entry_class_init): Remove bindings
	for C-b, C-f, M-b, M-f, C-a, C-e, C-w, C-y, M-space, C-u,
	C-k, M-\, M-d, C-d.

	* gtk/gtktextview.c (gtk_text_view_class_init): Remove
	same bindings as GtkEntry, plus C-n, C-p, C-space

        * gtk/gtkrc.key.default gtk/gtkrc.key.emacs gtk/Makefile.am:
	Add Emacs and Default key themes.
2002-02-09 00:19:29 +00:00
Laszlo Peter
54ddc51ec3 s/__FUNCTION__/G_GNUC_FUNCTION/ ditto
2002-02-08  Laszlo Peter  <laca@ireland.sun.com>

	* gtk/gtktextchild.c: s/__FUNCTION__/G_GNUC_FUNCTION/
	* gtk/gtktextview.c: ditto
2002-02-08 16:23:05 +00:00
Owen Taylor
23c6be552c Add ::move-focus-out signal to handle Control[-Shift]-Tab and
Thu Feb  7 19:52:00 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtknotebook.[ch]: Add ::move-focus-out signal
	to handle Control[-Shift]-Tab and Control-arrow
	bindings and implement bindings as per #53612.

	* gtk/gtktextview.c (gtk_text_view_move_focus): Fix
	fetching the toplevel for plug-socket.

	* gtk/gtknotebook.c (gtk_notebook_class_init): Remove
	bindings for Return/Enter to select the page.

	* gtk/gtknotebook.c (gtk_notebook_change_current_page):
	Beep at ends.

	* gtk/gtknotebook.c (focus_tabs_move): Don't wrap around
	and beep at ends.

	* gtk/gtknotebook.c (gtk_notebook_focus): When focusing into
	the page with the arrow keys, focus the first widget,
	not the directionally closest widget.
2002-02-08 01:10:25 +00:00
Padraig O'Briain
5bc235001a Change popup_menu signal to return gboolean instead of void. This allows
* gtk/gtkwidget.[ch]:
Change popup_menu signal to return gboolean instead of void. This
allows the keypress which invokes the signal to be propagated to the
focus widgets ancestors if not handled by the focus widget.

* gtk/gtkcolorsel.c gtk/gtkentry.c gtk/gtktextview.c:
Change signature of popup_menu signal handler to return gboolean
instead of void and return TRUE in the signal handler
2002-02-07 09:39:21 +00:00
Havoc Pennington
e58c6eca32 remove unused variable (gtk_text_view_get_window): add warning about how
2002-02-06  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_scroll_hpages): remove unused variable
	(gtk_text_view_get_window): add warning about how you
	can't get the private window. #70683, and avoid default: in the
	switch so we get "enum value unhandled" warnings
2002-02-06 22:22:37 +00:00
Owen Taylor
ae7521bd9d Non-exported _gtk_menu_select_first() function that selects the first item
Sat Feb  2 20:16:04 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkmenushell.c (_gtk_menu_shell_select_first):
        Non-exported _gtk_menu_select_first() function that
        selects the first item of the menu in a standard
        way. (Skipping tearoffs.)

        * gtk/gtkmenushell.c gtk/gtkentry.c gtk/gtktextview.c
        gtkmenuitem.c: Use _gtk_menu_shell_select_first().

        * gtk/gtkmenuitem.c (gtk_real_menu_item_select): Remember
        if we are starting the timeout from a keypress so
        we can set menushell->ignore_enter properly.

        * gtk/gtknotebook.c (focus_child_in): Return something
        meaningful if there are no children.

        * gtk/gtkmenu.c (gtk_menu_key_press): Fix precendence
        problem.
2002-02-03 01:25:32 +00:00
Owen Taylor
67ad02989f Remove the "select first item if popped up from keypress" hack -- was
Sat Feb  2 11:37:21 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkmenu.c (gtk_menu_popup): Remove the
        "select first item if popped up from keypress" hack --
        was causing more problems than it was worth
        (#53191, #68483)

        * gtk/gtktextview.c (popup_targets_received):
         gtk/gtkentry.c (popup_targets_received): If activated
        from keyboard, select first item of popup menu.
2002-02-02 17:52:01 +00:00
Owen Taylor
f40f1d91a5 Fix wrong usage of g_value_set/get_object for PROP_TABS and memory leak in
Tue Jan 29 19:32:47 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktextview.c (gtk_text_view_get/set_property):
        Fix wrong usage of g_value_set/get_object for PROP_TABS
        and memory leak in getter for PROP_TABS. (Jeff Franks)
2002-01-30 00:35:51 +00:00
Matthias Clasen
e2b730ac43 General property notification cleanup. 2002-01-28 18:52:49 +00:00
Anders Carlsson
8290dc99dc add mouse_cursor_obscured.
2002-01-27  Anders Carlsson  <andersca@gnu.org>

	* gtk/gtktextview.h (struct _GtkTextView): add mouse_cursor_obscured.

	* gtk/gtkentry.h (struct _GtkEntry): Add mouse_cursor_obscured.

	* gtk/gtktextview.c (set_invisible_cursor): New function.
	(gtk_text_view_obscure_mouse_cursor): Likewise.
	(gtk_text_view_key_press_event): Call obscure_cursor if text
	has been inserted.
	(gtk_text_view_motion_event): Restore the mouse cursor.

	* gtk/gtkentry.c (gtk_entry_realize): Add GDK_POINTER_MOTION_MASK.
	(set_invisible_cursor): New function.
	(gtk_entry_obscure_mouse_cursor): Likewise.
	(gtk_entry_key_press): call obscure_cursor if text has been inserted.
	(gtk_entry_motion_notify): Restore the mouse cursor.
2002-01-27 18:39:22 +00:00
Havoc Pennington
c6a3df0474 change GTK_MOVEMENT_PARAGRAPHS to go to start/end of paragraph before it
2002-01-17  Havoc Pennington  <hp@redhat.com>
	* gtk/gtktextview.c (gtk_text_view_move_cursor_internal): change
	GTK_MOVEMENT_PARAGRAPHS to go to start/end of paragraph before it
	starts to go up/down paragraphs. This makes Ctrl+Up/Ctrl+Down work
	as in the keynav spec, though it makes the interpretation of
	GTK_MOVEMENT_PARAGRAPHS different from the interpretation of some
	of the other GTK_MOVEMENT_ thingies, maybe, as if that enum makes
	any sense anyhow.
2002-01-18 00:45:50 +00:00
Havoc Pennington
9e404f2a1e new function (which I then decided not to use but I think it's needed to
2002-01-17  Havoc Pennington  <hp@redhat.com>
	* gtk/gtktextlayout.c (_gtk_text_layout_get_line_xrange): new
	function (which I then decided not to use but I think it's needed
	to fix #68963
	* gtk/gtktextview.c: add page_horizontally action signal and
	implement Ctrl+PgUp, Ctrl+PgDown based on patch from Padraig,
	hackily modified to avoid adding GTK_MOVEMENT_ API. Part of
	#53934
	* gtk/gtkmarshalers.list: add NONE:INT,BOOL
2002-01-17 22:38:18 +00:00
Havoc Pennington
fe622071f6 update cursor_y_pos with clamped delta rather than theoretical delta
2002-01-16  Havoc Pennington  <hp@redhat.com>
	* gtk/gtktextview.c (gtk_text_view_scroll_pages): update
	cursor_y_pos with clamped delta rather than theoretical delta
	(#68788). Also, if we can't page up/down further then jump
	to top/bottom of the document.
2002-01-17 01:08:59 +00:00
Anders Carlsson
39900836ca When tab is pressed and the text view isn't editable, move the focus
2002-01-03  Anders Carlsson  <andersca@gnu.org>

	* gtk/gtktextview.c (gtk_text_view_key_press_event): When
	tab is pressed and the text view isn't editable,
	move the focus instead.
2002-01-03 18:27:16 +00:00
Havoc Pennington
290e4efdfe propagate exposes to no window children not in the buffer window.
2002-01-01  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktextview.c (gtk_text_view_expose_event): propagate
	exposes to no window children not in the buffer window.
	(gtk_text_view_class_init): add move_focus bindings for Ctrl-Tab
	- is this the right way to do it?
	(gtk_text_view_focus): add focus method, just chains up for now,
	I'm not sure why the GtkContainer implementation doesn't work

	* gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): fill
	in the text line for the child anchor segment

	* tests/testtext.c (do_add_focus_children): add another test
	example (to put focusable buttons into the widget)
2002-01-02 03:49:09 +00:00
Havoc Pennington
e7153de001 move README.linux-fb in here
2002-01-01  Havoc Pennington  <hp@pobox.com>

	* gtk/framebuffer.sgml: move README.linux-fb in here

	* gtk/tmpl/gtkpreview.sgml: explain what to use instead

	* gtk/tmpl/gtkseparator.sgml: typo fix

	* gtk/tmpl/gtkstock.sgml: add some overview docs

	* gtk/Makefile.am (content_files): add new files

	* gtk/changes-1.2.sgml: move Changes-1.2.txt in here

	* gtk/changes-2.0.sgml: move Changes-2.0.txt in here

	* gdk/tmpl/threads.sgml: mention gdk_threads_init() in the
	overview docs, copy in the examples from the FAQ

	* gtk/gtk-docs.sgml: change DTD to 3.1, and add
	question_index.sgml and changes-1.2, changes-2.0

	* gtk/tmpl/gtkdrawingarea.sgml: fixups to reflect 2.0 changes

	* gtk/question_index.sgml: new section with question-based
	index of the manual

	* gtk/text_widget.sgml: fix some cross-references

2002-01-01  Havoc Pennington  <hp@pobox.com>

	* docs/README.linux-fb: note that this file is obsolete

	* docs/Changes-2.0.txt, docs/Changes-1.2.txt: Add notes to these
	files that they should not be edited and look in the reference
	manual instead. Probably these files should just be replaced by
	the note, and their main contents deleted.

	* gtk/gtktextview.c: docs

	* gtk/gtktextmark.c: docs

	* gtk/gtktextchild.c: docs

	* gtk/gtktextbuffer.c: docs stuff

	* gtk/gtkclipboard.c (gtk_clipboard_get): fool with docs to maybe
	give people more leads in sorting out PRIMARY vs. CLIPBOARD
2002-01-01 23:51:00 +00:00
Havoc Pennington
77b8bac91d doc fix
2002-01-01  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktextview.c (gtk_text_view_get_default_attributes): doc
	fix

2002-01-01  Havoc Pennington  <hp@pobox.com>

	* gtk/tmpl/gtktexttag.sgml: docs updates, mention that invisible
	property isn't implemented

	* gtk/text_widget.sgml: small tweaks
2002-01-01 17:44:46 +00:00
Havoc Pennington
6ee899e592 Replace call to gtk_widget_size_request() that expected to actually
2002-01-01  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktextview.c (changed_handler): Replace call to
	gtk_widget_size_request() that expected to actually compute the
	request with a direct use of widget_class->size_request, so we get
	our size request right; fixes remaining part of #63065 reported by
	Matthias Clasen
2002-01-01 17:17:22 +00:00
Havoc Pennington
64891890fb extend selection if shift is down, bug #50939
2001-12-31  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktextview.c (gtk_text_view_start_selection_drag): extend
	selection if shift is down, bug #50939
	(gtk_text_view_button_press_event): add double/triple click
	selection to the current selection if shift is down
2001-12-31 17:58:04 +00:00
Owen Taylor
cd6070461e 1.3.12, interface, binary age 0.
Sat Dec 22 12:38:03 2001  Owen Taylor  <otaylor@redhat.com>

        * configure.in: 1.3.12, interface, binary age 0.

        * configure.in: Require new versions of Glib, Pango, ATK.

        * NEWS: Updated.

        * configure.in: Make explicit what libtool we are executing.
        (Tomas Ogren)

        * gdk/gdkcolor.c gdk/gdkgc.c gdk/gdkwindow.c: Doc fixes.

        * gtk/gtkwidget.c (gtk_widget_[class]path) gtkrc.h : Fix
        parameter names for docs.

Sat Dec 22 22:35:29 2001  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkwindow.c (gtk_window_realize)
          gtk/gtkplug.c (gtk_plug_realize): Include GDK_KEY_RELEASE_MASK.

        * gtk/gtkentry.c (gtk_entry_key_release)
          gtk/gtktextview.c (gtk_text_view_key_release_event): Pass
        key release events to the input method.

        * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress):
        Handle release of Control/Shift to end hex sequence.

        * modules/input/gtkimcontextxim.c (gtk_im_context_xim_filter_keypress):         Handle key releases as well as presses.
2001-12-23 22:59:30 +00:00
Havoc Pennington
8a44bc0455 Add Unicode control char menu, based on patch from Dov. Bug #63495
2001-12-06  Havoc Pennington  <hp@redhat.com>

        Add Unicode control char menu, based on patch from Dov.
        Bug #63495

        * gtk/gtkentry.c (gtk_entry_commit_cb): share code via
        gtk_entry_enter_text
        (gtk_entry_enter_text): function to do "typing in text"
        (popup_targets_received): add the Unicode menu items

        * gtk/gtktextview.c (popup_targets_received): add missing mnemonic
        on Input Methods item, and add the unicode menu items.

        * gtk/gtktextutil.h, gtk/gtktextutil.c: private utilities to be
        used in GtkEntry and GtkTextView - may become public later.
2001-12-17 16:46:08 +00:00
Owen Taylor
7537825b34 Patch from Bill Haneman (with many modifications) to make the focus color
Mon Dec  3 16:39:17 2001  Owen Taylor  <otaylor@redhat.com>

	Patch from Bill Haneman (with many modifications) to make
	the focus color work on dark themes and to make the
	focus line width configurable. (#61079, #63074)

        * gtk/gtkwidget.c: Add style properties,
	::focus-widget, ::focus-line-width, and ::focus-padding.

	* gtk/gtkstyle.[ch]: Make gtk_paint_focus() take a
	state argument as well so we can use fg[STATE] to
	draw instead of always drawing with black.
	Cange paint_focus() to respect GtkWidget::focus-width
	and GtkWidget::focus-line-pattern. Fix continuity
	problem where the default 1-1 stipple had a blob
	in one corner and a gap in the other. Change the
	interpretation of x/y/width/height to be the bounding
	box of the focus rect instead of the rectangle
	passed to gdk_draw_rectangle.

	* gtk/gtkcheckbutton.c gtk/gtklistitem.c gtk/gtknotebook.c
	gtk/gtkoptionmenu.c gtk/gtkradiobutton.c gtk/gtkspinbutton.c
	gtk/gtktextview.c gtk/gtktreeview.c: Handle ::focus-width
	and ::focus-line-padding.

	* gtk/gtkentry.c: Handle :;focus-width property; cleanup
	and remove duplicated code; fix drawing of focus rectangle
	when interior-focus = FALSE. (#63072, #63073)

	* gtk/gtkrange.c gtk/gtktext.c gtk/gtktreeitem.c
	gtk/gtktreeviewcolumn.c: Basic fixups to make compile;
	Range and TreeViewColumn will need more extensive fixing.

	* gtk/gtkcolorsel.c: Honor focus line attributes when
	drawing the focus on the color swatches. (#63071)

	* gtk/gtkhsv.c: Honor focus line attributes when
	drawing the focus for the ring and triangle.

	* docs/widget_geometry.txt: Start at documenting how
	various widgets are drawn.

	* gtk/gtkbutton.c (_gtk_button_paint): Export
	_gtk_button_paint() librarywide, so we don't have
	duplicate a bunch of code in gtktogglebutton.c.

	* gtk/gtktogglebutton.c: Use _gtk_button_paint().
2001-12-04 03:27:30 +00:00
Alex Larsson
c7cd3421f7 Return FALSE from expose handlers.
2001-12-03  Alex Larsson  <alexl@redhat.com>

	* gtk/gtkaccellabel.c:
	* gtk/gtkarrow.c:
	* gtk/gtkcolorsel.c:
	* gtk/gtkcontainer.c:
	* gtk/gtklabel.c:
	* gtk/gtktextview.c:
	* gtk/gtktogglebutton.c:
	* gtk/gtktreeview.c:
	* gtk/gtkwindow.c:
	Return FALSE from expose handlers.
2001-12-03 22:11:40 +00:00
Havoc Pennington
35fcacbf8c Hmm, setter functions normally assign the new value to the object field.
2001-12-03  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktextview.c (set_window_height):
	(set_window_width): Hmm, setter functions normally assign the new
	value to the object field. Reported by Chris Phelps.
2001-12-03 05:21:53 +00:00
Havoc Pennington
53da925c9b put the warning explaining the validation error in front of the
2001-11-28  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_paint): put the warning
	explaining the validation error in front of the G_BREAKPOINT

	* gtk/gtkrange.c (gtk_range_adjustment_value_changed): call
	process updates with include_children = FALSE instead of TRUE, so
	we redraw the range only, not the whole darn window.  Making
	GtkRange a NO_WINDOW widget had weirdly caused the text widget
	Trace/breakpoint trap bug to become much easier to trigger.
2001-11-28 20:42:15 +00:00
Owen Taylor
a036c6e59f Make gtkmarshal.list/gtkmarshal.h only for compatibility with GTK+-1.2;
Sat Nov 17 18:26:45 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/Makefile.am gtk/gtkmarshal.list gtk/gtkmarshalers.list
	gtk/*.c gtk/gtksignal.h: Make gtkmarshal.list/gtkmarshal.h
	only for compatibility with GTK+-1.2; and deprecate it;
	put all marshalers we actually use into gtkmarshalers.list
	and use the _gtk_marshal_ prefix for these marshalers.
2001-11-17 23:28:51 +00:00
Havoc Pennington
a433d5c5c1 fix Control-E so it doesn't move to a new line each time you press it
2001-11-14  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_move_cursor): fix Control-E so
	it doesn't move to a new line each time you press it

	* gtk/gtktextiter.c (gtk_text_iter_forward_to_line_end): fix
	return value, #62987
2001-11-14 19:05:21 +00:00
Havoc Pennington
7fcf41b444 docs including reference to bugzilla bug about how we should have a better
2001-11-13  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_add_child_in_window): docs
	including reference to bugzilla bug about how we should have
	a better way of positioning children

	* gtk/gtktextview.h (struct _GtkTextViewClass): add some padding

	* gtk/gtktextview.c (gtk_text_view_size_allocate): assign zero
	size to side rects if they don't exist, #63438
2001-11-14 00:26:14 +00:00
Havoc Pennington
8befd2f822 fix to properly replace selection with Return or Tab
2001-11-13  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_key_press_event): fix to
	properly replace selection with Return or Tab

	* gtk/gtktextdisplay.c (gtk_text_layout_draw): fix broken code
	that didn't locate the end of the line correctly, should fix #63800
2001-11-13 23:56:11 +00:00
Havoc Pennington
10b3db0836 add border width to requisition, request non-anchored children
2001-11-13  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_size_request): add border width
	to requisition, request non-anchored children
	(gtk_text_view_size_allocate): handle border width, allocate
	non-anchored children
	(text_view_child_new_window): set the child as object data
	(gtk_text_view_move_child): allow children at negative
	coordinates, no reason why not
	(gtk_text_view_forall): make it copy the list of children before
	walking it, to avoid reentrancy issues
	(gtk_text_view_move_child): short-circuit if position is unchanged
	(changed_handler): only queue_resize if requisition has changed
	(gtk_text_view_init): don't redraw_on_allocate, since we can do
	a better job of invalidation ourselves

	* tests/testtext.c: add tests for the fixed-position children
2001-11-13 23:36:18 +00:00
Hans Breuer
be3809f0ba use g_strcasecmp(), some poor platforms don't have strcasecmp()
2001-10-28  Hans Breuer  <hans@breuer.org>

	* gtk/gtkfontsel.c : use g_strcasecmp(), some poor platforms
	don't have strcasecmp()

	* gtk/gtktextview.c : to fix crashing on e.g. TextView::find need
	to remove the idle funcs in gtk_text_view_destroy (). To reduce
	code duplication wrap it in its own function and use it in
	gtk_text_view_unrealize () and gtk_text_view_destroy_layout ()

	* gdk/win32/gdkdrawable-win32.c : implement the finalize
	method like the X11 version does, allow to set_colormap NULL
	* gdk/win32/gdkwindow-win32.c : adapt GdkWindowImplWin32::
	set_colormap, also some adaption to X11 version :
	(gdk_window_hide) call _gdk_window_clear_update_area
	(gdk_window_reparent) call _gdk_window_init_position

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints) :
	call gdk_window_resize() after all hints are set, because the
	window resizing process (WM_GETMINMAXINFO) takes all of them into
	account

	* gdk/win32/gdkfont-win32.c : make gdk_font_equal return a gboolean

	* gdk/win32/gdkvisual-win32.c : register GdkVisual with
	sizeof (GdkVisualPrivate)

	* gdk/gdk.def gtk/gtk.def : upated externals

	* gdk/makefile.msc gdk/win32/makefile.msc gdk-pixbuf/makefile.msc
	  gdk-pixbuf/pixops/makefile.msc gtk/makefile.msc.in tests/makefile.msc :
	from now on use make.msc from $(TOP)/glib/build/win32

	* gtk/stock-icons/makefile.msc : add stock_missing_image
2001-11-09 21:52:52 +00:00
Havoc Pennington
604eebd380 expose the child widgets in here (gtk_text_view_realize): set parent
2001-11-05  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_paint): expose the child
	widgets in here
	(gtk_text_view_realize): set parent window of child widgets
	(gtk_text_view_size_request): use child req to decide whether
	to invalidate layout, not widget->requisition

	* gtk/gtktextdisplay.c (render_layout_line): set
	shaped_width_pixels for NULL shape objects, so that we properly
	draw the "missing pixbuf/widget" thing
	(render_layout_line): don't draw the widget here
	(gtk_text_layout_draw): pass out a list of widgets that need exposing

	* demos/gtk-demo/textview.c (insert_text): add demo of child
	widgets

	* gtk/gtktextlayout.c (add_child_attrs): remove debug spew

	* gtk/gtktextdisplay.c (render_layout_line): remove debug spew

	* gtk/gtktextview.c (gtk_text_view_update_child_allocation): add
	scroll offsets
	(gtk_text_view_value_changed): poke new X and Y into child allocations
2001-11-06 00:54:24 +00:00
Owen Taylor
a1fe2ac180 Add: - A ::retrieve_surrounding signal that asks the widget for context
Thu Nov  1 16:20:56 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkimcontext.[ch]: Add:
	  - A ::retrieve_surrounding signal that asks the widget for
	    context around the insertion point.
	  - A ::delete_surrounding signal that asks the widget to
	    delete context aroudn the insertion point.
	  - gtk_im_context_set_context() for widgets to set context
	    around the insertion point in response to ::retrieve_context.
	  - gtk_im_context_get_context() for context to get context
	    around the insertion point

	* gtkmarshal.list: Add BOOL:INT,INT

	* gtk/gtkimmulticontext.c: Proxy the get_surrounding() /
	set_surrounding() methods, and the ::retrieve_surrounding /
	::delete_surrounding signals.

	* gtk/gtkentry.c gtk/gtktreeview.c: Hook up to the
	GtkIMContext::retrieve_surrounding / ::delete_surrounding
	signals.
2001-11-01 21:50:58 +00:00
Owen Taylor
2145a4ef10 Add a "menu" property and notify on it. (#62798, Padraig O'Briain)
Wed Oct 31 18:23:47 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkoptionmenu.c (gtk_option_menu_detacher):
	Add a "menu" property and notify on it. (#62798,
	Padraig O'Briain)

	* gtk/gtkselection.[ch] gtk/{gtkentry.c, gtkfilesel.c,
	gtkoldeditable.c, gtktextbuffer.c, gtktextview.c}:
	Fix set_text to take a gchar, not a guchar, and to have
	a len argument.
2001-10-31 23:49:09 +00:00
Havoc Pennington
cc910abb42 Update the IM spot location here, if text was invalidated in the visible
2001-10-30  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktextview.c (changed_handler): Update the IM spot location
	here, if text was invalidated in the visible area, because the
	scroll offset doesn't normally change in that case, and the mark
	isn't set, just implicitly moved over as text is added/removed
2001-10-30 14:15:01 +00:00
Havoc Pennington
f2a0104c19 Call update_im_spot_location here explicitly
2001-10-26  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktextview.c (gtk_text_view_mark_set_handler): Call
	update_im_spot_location here explicitly
	(gtk_text_view_reset_im_context): don't update the spot location
	here
2001-10-27 02:41:24 +00:00
Hans Breuer
e2e6940366 to simplify parsing for exported functions: - made implementation
2001-10-27  Hans Breuer  <hans@breuer.org>

	* gtk/gtkbbox.c gtk/gtkctree.c gtk/gtkhbbox.c
	  gtk/gtkimmulticontext.c gtk/gtklabel.c gtk/gtkliststore.c
	  gtk/gtkmenu.c gtk/gtkpaned.c gtk/gtkrc.c gtk/gtkscale.c
	  gtk/gtkstyle.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
	  gtk/gtktexttag.c gtk/gtktexttagtable.c gtk/gtktextview.c
	  gtk/gtktreestore.c gtk/gtkvbbox.c :
	to simplify parsing for exported functions:
	- made implementation signature static, when the local
	  prototype already was
	- put the functions return value on it's own line
	- added as space between the function name and the
	  opening bracket

	* gtk/gtk.def : added the remaining exported functions
2001-10-27 00:41:12 +00:00
Matt Wilson
bbd503bc6c call gtk_text_view_destroy_layout after gtk_text_view_set_buffer (which
2001-10-25  Matt Wilson  <msw@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_destroy): call
	gtk_text_view_destroy_layout after gtk_text_view_set_buffer (which
	now invalidates) so that we remove our idle functions.
	(gtk_text_view_destroy_layout): remove the first_validate_idle as
	well.
2001-10-25 17:05:35 +00:00
Havoc Pennington
4e8cbdca6b don't create layout if we didn't have one (gtk_text_view_set_buffer):
2001-10-24  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_update_adjustments): don't
	create layout if we didn't have one
	(gtk_text_view_set_buffer): invalidate so we get the idle handlers
	as appropriate, avoids blanking the screen
	(gtk_text_view_invalidate): new function to do invalidation,
	containing old guts of invalidated_handler
2001-10-24 16:11:41 +00:00
Havoc Pennington
fa4e7a31fd only sensitize Cut if selection contains some editable text, #60975
2001-10-23  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (popup_targets_received): only sensitize Cut
	if selection contains some editable text, #60975
	(gtk_text_view_scroll_to_iter): remove warning about scrolling
	prior to map; it should actually be OK to do so in many cases,
	it would be nice to warn about scrolling when many lines have
	height 0, but I don't know what to do about that. Perhaps
	move part of flush_scroll into this function? comment added
	to consider this.
2001-10-23 23:35:00 +00:00
Havoc Pennington
60bec4dcaf oops, didn't quite compile. 2001-10-23 23:21:27 +00:00
Havoc Pennington
14cc0e8f77 Correctly keep the same text on the top of the screen, considering that
2001-10-23  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (changed_handler): Correctly keep the same
	text on the top of the screen, considering that the changed region
	may have overlapped the first paragraph. Should fix msw's "text
	widget scrolled to wrong place on map" bug, and probably some
	other scrolling cases as well.
	(gtk_text_view_set_scroll_adjustments): start adjustments at 0.0,
	instead of some random value

	* gtk/gtktextview.c (gtk_text_view_class_init): actually override
	grab_focus, so #59708 is really fixed
2001-10-23 23:06:14 +00:00
Anders Carlsson
fd3196d9ed Use an image menu item here (popup_targets_received): Call
2001-10-24  Anders Carlsson  <andersca@gnu.org>

	* gtk/gtkentry.c: (append_action_signal): Use an image menu item here
	(popup_targets_received): Call append_action_signal with stock items

	* gtk/gtklabel.c: (append_action_signal): Use an image menu item here
	(gtk_label_do_popup): Call append_action_signal with stock items

	* gtk/gtktextview.c: (append_action_signal): Use an image menu item here
	(popup_targets_received): Call append_action_signal with stock items
2001-10-23 22:43:01 +00:00
Havoc Pennington
b6ba7a5f04 queue a resize here; will temporarily slow down the widget a lot, until we
2001-10-23  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (changed_handler): queue a resize here; will
	temporarily slow down the widget a lot, until we figure out how to
	optimize to avoid full redraw everytime we queue a resize
2001-10-23 20:13:44 +00:00
Havoc Pennington
cfcf83664b Update IM spot location at appropriate times, #50626
2001-10-23  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_update_im_spot_location):
	Update IM spot location at appropriate times, #50626
2001-10-23 17:26:13 +00:00
Havoc Pennington
13a24b1b36 scroll to cursor on grab focus, unless it's caused by button click, #59708
2001-10-23  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_grab_focus): scroll to cursor
	on grab focus, unless it's caused by button click, #59708
2001-10-23 16:07:05 +00:00
Havoc Pennington
6446484667 add a #error unless you define GTK_TEXT_USE_INTERNAL_UNSUPPORTED_API, so
2001-10-22  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextlayout.h: add a #error unless you define
	GTK_TEXT_USE_INTERNAL_UNSUPPORTED_API, so people don't use this accidentally

        * gtk/gtktext*.c: #define GTK_TEXT_USE_INTERNAL_UNSUPPORTED_API as appropriate.
2001-10-22 21:52:47 +00:00
Havoc Pennington
a959d3daf8 fix #62365
2001-10-22  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_get_border_window_size): fix
	#62365
2001-10-22 21:28:08 +00:00
Havoc Pennington
347da0ea5f fix #62436
2001-10-22  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_get_window_type): fix
	#62436
2001-10-22 21:06:55 +00:00
Havoc Pennington
c33d17189f Fix #62366
2001-10-22  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_set_border_window_size): Fix
	#62366
2001-10-22 21:05:28 +00:00
Owen Taylor
92d2dc0ba6 Fixing popup menus to have "Paste" sensitized correctly. Original patches
Mon Oct 22 16:25:12 2001  Owen Taylor  <otaylor@redhat.com>

	Fixing popup menus to have "Paste" sensitized correctly. Original
	patches from Damian Ivereigh, much mangled.

	* gtk/gtkselection.c: Add functions gtk_selection_data_get_targets(),
	gtk_selection_data_targets_include_text(). (#60854)

	* gtk/gtkclipboard.c: Add a simple do-it-all non-async "check if
	the clipboard has text" function gtk_clipboard_wait_is_text_available.
	(#60854)

	* gtk/gtkentry.c: Only enable the paste item if the clipboard
	contains text. (#60973)

	* gtk/gtktextview.c: Only enable the paste item if the clipboard
	contains text. (#60975)
2001-10-22 20:47:01 +00:00
Havoc Pennington
8fe966936c rip out "height_lines" and "width_columns" properties, it doesn't make
2001-10-22  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_class_init): rip out
	"height_lines" and "width_columns" properties, it doesn't make
	sense to set the size request on a text view really. #62103
2001-10-22 19:26:16 +00:00
Owen Taylor
0c6a8f530b Deprecate gtk_entry_set_editable. (#58768, Vitaly Tishkov)
Sat Oct 20 18:58:25 2001  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkentry.h: Deprecate gtk_entry_set_editable.
        (#58768, Vitaly Tishkov)

        * gtk/gtkobject.h: Deprecate with abandon.
        (#61942, Vitaly Tishkov, Matthias Clasen)

        * gtk/gtksignal.h: Deprecate everything.

        * gtk/gtkmain.h (GTK_PRIORITY_INTERNAL): Deprecate
        all GTK_PRIORITY_* defines other than GKT_PRIORITY_RESIZE>
        (#61942, Matthias Clasen)

        * gtk/gtkstyle.h: Deprecate gtk_draw_*. (#61140,
        Havoc Pennington)

        * gtk/gtkitemfactory.h: Deprecate compat functions
        for GtkMenuFactory code. (#62071)

        * gdk/gdkdrawable.h: Deprecate gdk_draw_string,
        gdk_draw_text,gdk_draw_text_wc. (#62071)

        * gtk/{gtkentry.c,gtklabel.c,gtkoldeditable.c,gtktextview.c}:
        Use GDK_SELECTION_CLIPBOARD instead of GDK_NONE in calls
        to gtk_clipboard_get().
2001-10-22 14:31:06 +00:00
Manish Singh
3690112009 since GtkIMContext derives directly from GObject now, we have to use the
Fri Oct 19 18:35:22 2001  Manish Singh  <yosh@gimp.org>

        * gtk/{gtkentry.c,gtktextview.c}: since GtkIMContext derives directly
        from GObject now, we have to use the g_object_* functions, not
        gtk_object_*.
2001-10-20 01:39:17 +00:00
Owen Taylor
a8d54496fb Allow NUOL for @target_list to mean, use gtk_drag_dest_get_target_list
Wed Oct  3 10:42:54 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_dest_find_target): Allow
	NUOL for @target_list to mean, use
	gtk_drag_dest_get_target_list (widget).

	* gtk/gtkdnd.c (gtk_drag_finish): Fix problem where
	drop could hang when calling gtk_drag_finish with
	success == FALSE and del == TRUE.

	* gtk/gtkdnd.c (gtk_drag_dest_drop): Fix problem where
	drops without a matching target found would propagate
	to the parent widget rather than being rejected.

	* gtk/gtktextview.c (gtk_text_view_drag_data_received):
	Use text_view->dnd_mark instead of mark name to be
	consistent with the rest of the code.

	* gtk/gtktextview.c (gtk_text_view_drag_motion): Make
	pendantically correct for a drop-only-in-some-places
	widget. (Check whether you can insert in drag_drop,
	not just in drag_motion ... matters in theory, and
	for Motif drag and drop in practice.)

	* gtk/gtkentry.c (gtk_entry_drag_drop): Patch from
	Damian Ivereigh to not allow drops on non-editable
	entries. (#61124)

	* gtk/gtkentry.c (gtk_entry_motion_notify): Don't allow
	text to be moved from a non-editable entry.
2001-10-03 15:08:10 +00:00
Havoc Pennington
1773d81558 add demo of passing non-stock label in to gtk_dialog_new_with_buttons
2001-09-26  Havoc Pennington  <hp@redhat.com>

	* demos/gtk-demo/dialog.c (interactive_dialog_clicked): add demo
	of passing non-stock label in to gtk_dialog_new_with_buttons

	* gtk/gtktextview.c (cursor_blinks): disable cursor blink when
	debugging updates

	* gtk/gtktextiter.h: comment about how GtkTextIter struct contents
	are private

	* gtk/gtkbutton.c (gtk_button_new_from_stock): if stock ID doesn't
	exist, fall back to mnemonic label, not plain label, bug #61184
2001-09-27 00:11:23 +00:00
Havoc Pennington
be6ae47ad2 fix for #50317
2001-09-25  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c: fix for #50317
2001-09-25 23:35:06 +00:00
Havoc Pennington
1a26412db8 use gtk_text_iter_can_insert
2001-09-25  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_key_press_event): use
	gtk_text_iter_can_insert

	* gtk/gtktextbuffer.c: use gtk_text_iter_can_insert

	* gtk/gtktextiter.c (find_line_log_attrs): fixes, #57611, #57613
	 (gtk_text_iter_can_insert): new function to fix #60282, should
	also fix msw's "can paste into empty buffer" bug.

	* gtk/gtktexttag.c (gtk_text_tag_event): change type check for
	"event object,"  #59091

	* gtk/gtktextbtree.c: indentation fixes

	* gtk/gtktextiter.c (find_by_log_attrs): fixes
2001-09-25 22:51:26 +00:00
Owen Taylor
0c3be55498 ue Sep 25 12:41:17 2001 Owen Taylor <otaylor@redhat.com>
* configure.in: Version 1.3.9, interface age 0, binary age 0.

	* configure.in: Require GLib-1.39, Pango 0.20, Atk 0.5.

	* NEWS: Updates.

Mon Sep 24 11:59:09 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkstyle.[ch] (_gtk_draw_insertion_cursor): Shared
	function for drawing cursors between gtkentry/gtklabel/gtktextview.
	Should this be public? It has a bit of an odd interface, but
	custom editing widgets probably should be using it.
	Function will draw with wider width for taller cursors, and
	draws a little indicator arrow to indicate directoin for split
	cursors.

	* gtk/gtktextview.c: Add a "cursor_color" property.

	* gtk/gtktextdisplay.[ch]: Add a cursor_gc parameter to
	gtk_text_layout_draw().

	* gtk/gtkentry.c gtk/gtklabel.c gtk/gtktextdisplay.c: Use
	_gtk_draw_insertion_cursor().

Tue Sep 25 11:22:23 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcellrenderertext.c gtk/gtktexttag.c: Restore
	the behavior where you could turn family_set (etc) back on
	and get back the values you had before.

	* demos/gtk-demo/stock_browser.c (id_to_macro): Use
	g_string_ascii_up() rather than looping through the
	string ourself.
2001-09-25 20:40:20 +00:00
Havoc Pennington
bb209e1ef8 don't pass key press to IM context if cursor isn't in an editable
2001-09-21  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_key_press_event): don't pass
	key press to IM context if cursor isn't in an editable location;
	bug #58425, patch from Hidetoshi Tajima
2001-09-22 00:08:18 +00:00
Owen Taylor
a15d5c36f6 Fix up for changes to PangoFontDescription.
Wed Sep 12 11:21:14 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcellrenderertext.[ch] gtk/gtktexttag.[ch]
	  gtk/gtktextview.c tests/testgtk.c: Fix up for changes to
	PangoFontDescription.

	* gtk/gtkentry.c gtk/gtkclist.c gtk/gtkcellrenderertext.c
	gtk/gtkspinbutton.c: Fix up for change to PangoMetrics
	structure.

	* gtk/gtkfontsel.c: Fix up for new Pango font listing API.

	* gtk/gtkstyle.[ch]: Add gtk_style_get_font/set_font to replace
  	direct access to style->font. Deprecate gtk_style_ref/unref.

 	* gtk/gtkclist.c gtk/gtkctree.c gtk/gtkstyle.c gtk/gtkwidget.c:
  	Remove gtk_style_ref/unref with g_object_ref/unref.

  	* gtk/gtkcalendar.c: Remove leftover macros accessing
  	style->font.

  	* gtk/gtkhruler.c (gtk_hruler_draw_ticks): Remove unused
  	variable.

  	* gtk/gtktext.c gtk/gtklabel.c: Use gtk_style_get_font() instead of
	style->font.
2001-09-18 20:06:48 +00:00
Padraig O'Briain
15a544def8 gtk/gtktextview.c Add support for Ctrl+Up/Down arrow to move cursor to
* gtk/gtktextview.c
Add support for Ctrl+Up/Down arrow to move cursor to beginning
of previous/next paragraph. If within a paragraph cursor moves to
beginning of that paragraph.
2001-09-12 15:34:09 +00:00
Joshua N Pritikin
4eece537a3 minor fixes 2001-09-11 04:27:53 +00:00
Havoc Pennington
f1427cd9bb update adjustments after validating destination yrange; fixes #53918 (This
2001-09-07  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_flush_scroll): update
	adjustments after validating destination yrange; fixes #53918
	(This may cause other issues, but I hope it won't)

2001-09-05  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextbtree.c (_gtk_text_btree_delete): when merging end
	line into start line, update the character counts in parent nodes;
	caused a bug when end and start line had different parent nodes.

2001-08-30  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktexttag.c (_gtk_text_attributes_fill_from_tags): add
	assertion that tag is in a table
2001-09-07 21:39:18 +00:00
Owen Taylor
b97a0a452f Instead of always mirroring the selection to a single PRIMARY selection,
Wed Aug 29 20:40:58 2001  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktextbuffer.[ch] (gtk_text_buffer_add/remove_selection_clipboard):
        Instead of always mirroring the selection to a single PRIMARY
        selection, allow it to be mirrored to any number of clipboards.

        * gtk/gtktextbuffer.[ch] (gtk_text_buffer_paste_primary): Remove,
        just use gtk_text_buffer_paste_clipboard with the appropriate clipboard.

        * gtk/gtktextbuffer.[ch] (gtk_text_buffer_cut/copy/paste_clipboard): Add a
        GtkClipboard argument, and for paste_clipboard, the
        @override_location argument from @paste_primary.

        * gtk/gtktextview.c: Adapt to above change.
2001-08-31 01:33:11 +00:00
Havoc Pennington
1f32643ad0 put validate idle at resize - 2 just for flexibility
2001-08-30  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (invalidated_handler): put validate idle at
	resize - 2 just for flexibility
2001-08-30 22:01:04 +00:00
Havoc Pennington
181cacbfea apply fix to #58420 from Hidetoshi Tajima and Matthias Clasen
2001-08-30  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_check_cursor_blink): apply fix
	to #58420 from Hidetoshi Tajima and Matthias Clasen
2001-08-30 16:32:34 +00:00
Owen Taylor
aa49527fa7 Enforce the widget/child realization/mapping invariants.
Sat Jul  7 02:50:14 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_set_parent): Enforce
	the widget/child realization/mapping invariants.

	* gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add functions
	gtk_widget_[get/set]_child_visible() to control
	whether visible children of a mapped window are
	mapped.

	* docs/widget_system.txt: Updated for changes in
	container contract, and addition of GTK_CHILD_VISIBLE.

	* gtk/gtkcontainer.c: Add generic map()/unmap()
	functions that work for almost all containers.

	* gtk/gtknotebook.c gtk/gtkpacker.c: Use
	gtk_widget_set_child_visible() where necessary.

	* gtk/*.c: Remove excess map(), unmap(), and
	realization/mapping invariant enforcing code
	from many containers.
2001-07-19 14:57:15 +00:00
Owen Taylor
8f2bf7976d Get the foreground color from 'text', nor 'base'. (#57568)
Wed Jul 18 19:51:45 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_set_attributes_from_style):
	Get the foreground color from 'text', nor 'base'. (#57568)
2001-07-18 23:54:06 +00:00
Owen Taylor
4e2b60ac4d Patch from Matthias Clasen to remove remove all instances of
Wed Jul 18 19:28:46 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/*.c: Patch from Matthias Clasen to remove remove
	all instances of g_return_if_fail (foo != NULL); that are
	immediately before a g_return_if_fail (GTK_IS_FOO (foo));
	since the second check catches the NULL anyways.
2001-07-18 23:39:26 +00:00
Owen Taylor
b613a74cb2 Fix idles and timeouts to be properly surrounded by
Wed Jul 18 18:23:05 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkbutton.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtktextview.c
	gtktreeview.c: Fix idles and timeouts to be properly surrounded by
	GDK_THREADS_ENTER()/LEAVE() pairs.

	* gtk/gtkdialog.c gtk/gtkclipboard.c: Surround calls
	to g_main_loop_run() with GDK_THREADS_LEAVE()/ENTER()
	pairs. (Problem found by M. Meeks)
2001-07-18 22:43:41 +00:00
Owen Taylor
79d45ab85d Formatting fixes from multihead brnach. [ mostly foo(bar) => foo (bar) ]
Thu Jul 12 13:43:27 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkclist.c gtk/gtkcolorsel.c gtk/gtkcombo.c
	  gtk/gtkctree.c gtk/gtkcurve.c gtk/gtkentry.c
	  gtk/gtkfontsel.c gtk/gtkhandlebox.c
	  gtk/gtkimcontextsimple.c gtk/gtkmain.c gtk/gtkmenu.c
	  gtk/gtkmenuitem.c gtk/gtkoptionmenu.c gtk/gtkpixmap.c
	  gtk/gtkselection.c gtk/gtktextdisplay.c gtk/gtktextview.c
	  gtk/gtktooltips.c gtk/gtkwidget.c gtk/gtkwindow.c:
	Formatting fixes from multihead brnach. [ mostly foo(bar) => foo (bar) ]
2001-07-12 17:50:14 +00:00
James Henstridge
84191d675f same here for PANGO_TYPE_TAB_ARRAY.
2001-07-02  James Henstridge  <james@daa.com.au>

	* gtk/gtktextview.c (gtk_text_view_class_init): same here for
	PANGO_TYPE_TAB_ARRAY.

	* gtk/gtktexttag.c (gtk_text_tag_class_init): same here, but also
	for PANGO_TYPE_TAB_ARRAY.

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init):
	s/GTK_TYPE_PANGO_FONT_DESCRIPTION/PANGO_TYPE_FONT_DESCRIPTION/

	* gtk/gtk-boxed.defs: move all the boxed definitions to the top of
	the file.  Remove Pango types from defs -- they are now defined in
	libpango.
2001-07-02 14:25:20 +00:00
Owen Taylor
fbfc305174 Allow %NULL for style to mean "revert to default style"
Tue Jun 26 19:39:03 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_set_style): Allow %NULL
	for style to mean "revert to default style"

	* gtk/gtkwidget.[ch] (gtk_widget_set_rc_style,
	  gtk_widget_restore_default_style): Make this functions
	deprecated aliases for gtk_widget_set_style (widget, NULL).

	* gtk/gtkwidget.[ch]: Remove:
	   gtk_widget_set_default_style ()
	   gtk_widget_push_style ()
	   gtk_widget_pop_style ()
	These functions interact are overriden by RC files, and
	thus virtually useless, and complicated.

Fri Jun 22 18:49:48 2001  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkrc.c: Add a GtkRcContext structure to hold
	most of the previous global variables in gtkrc.c. This is
	in preparation for multi-head, since each screen can
	have different GtkSettings and RC information.

	* gtk/gtkrc.[ch]:

	* gtk/gtkrc.h (struct _GtkRcStyleClass): Add a
	GtkSettings parameter to GtkRcStyle::parse.

	* gdk/x11/gdkevents-x11.c gtk/gtksettings.c gtk/gtkrc.c:
	Add two new settings gtk-theme-name, gtk-key-theme-name,
	for RC files that are loaded by name after reading
	the default RC files.

	* gtk/gtkrc.c: Allow priorities for styles, as wll as
	bindings.

	* gtk/gtkenums.h gtk/gtkrc.c: Add GTK_PATH_PRIO_THEME,
	and use it by default for RC files loaded via
	gtk-theme-name, gtk-key-theme-name.

	* gtk/gtkiconfactory.c (gtk_icon_source_set_filename)
        gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string)
	tests/testgtkrc: Require pathnames to be absolute.

	* gtk/gtkrc.c gtk/gtkiconfactory.c: Look up the full filename for
	the source when parsing, since the operation of looking up a
	pixmap from an RC file depends on the parsing context.

	* gtk/gtkrc.c (gtk_rc_context_reparse_all): Automatically
	reset RC styles on all widgets when files are reparsed.

	* tests/testgtk.c (create_rc_file)
	  gtk/gtkwindow.c (gtk_window_read_rcfiles):
	Simplify, now that gtk_rc_reparse_all() resets styles on
	all widgets itself.

	* gtk/gtkmain.c (gtk_get_default_language): Fix broken
	return value.

	* gtk/gtksettings.[ch] (gtk_settings_install_property[_ch]): Remove
	GtkSettings argument.

	* gtk/gtksettings.[ch] (gtk_settings_get_default): Rename from
	gtk_settings_get_global().

	* gtk/gtkwidget.[ch]: Add a function gtk_widget_Get_settings()
	to get the appropriate GtkSettings for a widget. (For now,
	just gets the default GtkSetttings.)

	* gtk/gtkcolorsel.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtkmenubar.c
	  gtk/gtktextview.c gtk/gtktoolbar.c: Fixes for GtkSettings
        changes.

	* gtk/gtkrc.[ch]: Add gtk_rc_get_style_by_paths() to allow
	getting a style for a path without actually having a widget.
	(Allows using a style for a subpart of a widget, for
	example.)

	* gtk/gtkrc.[ch]: Add gtk_rc_reparse_all_for_setting() to allow forcing
	the RC files to be reloaded for just one GtkSettings
	(not sure how useful this really is.)

	* gtk/gtkrc.h: Deprecate
	gtk_rc_add_widget_name/widget_class/class_style
2001-06-30 16:08:25 +00:00
Havoc Pennington
49c1e6dc89 fixes to compile with G_DISABLE_COMPAT
2001-06-29  Havoc Pennington  <hp@redhat.com>

       * Throughout: fixes to compile with G_DISABLE_COMPAT
	(s/g_signal_connectc/g_signal_connect/,
	s/g_signal_newc/g_signal_new/,
	s/g_signal_disconnect_by_func/g_signal_handlers_disconnect_by_func/)
2001-06-29 16:30:25 +00:00
Havoc Pennington
0bee26c7ba Clip the retrieved image data to the screen, using a server grab to avoid
2001-06-28  Havoc Pennington  <hp@pobox.com>

	* gdk/x11/gdkimage-x11.c (_gdk_x11_get_image): Clip the retrieved
	image data to the screen, using a server grab to avoid race
	conditions.

	* gtk/gtkitemfactory.c (gtk_item_factory_create_item): remove
	check for NULL return from gtk_image_new_from_stock(), it never
	returns NULL.
	(gtk_item_factory_create_item): fix bug where we parsed the stock
	ID as an inline pixbuf

	* gtk/gtktext.c (gtk_text_key_press): numeric keypad support

	* gtk/gtkspinbutton.c (gtk_spin_button_key_press): numeric keypad
	support (should be using binding set here)

	* gtk/gtkoptionmenu.c (gtk_option_menu_key_press): numeric keypad
	support (should be using binding set here)

	* gtk/gtkmenushell.c (gtk_menu_shell_class_init): numeric keypad
	support

	* gtk/gtkmenu.c (gtk_menu_class_init): numeric keypad support

	* gtk/gtkmenubar.c (gtk_menu_bar_class_init): numeric keypad

	* gtk/gtklistitem.c (gtk_list_item_class_init): numeric keypad

	* gtk/gtkimcontextsimple.c
	(gtk_im_context_simple_filter_keypress): keypad

	* gtk/gtkfilesel.c (gtk_file_selection_key_press): keypad

	* gtk/gtkentry.c (gtk_entry_class_init): numeric keypad fixes

	* gtk/gtkctree.c (gtk_ctree_class_init): numeric keypad support

	* gtk/gtkcolorsel.c (palette_activate): keypad support (of course,
	should be binding-setted)

	* gtk/gtkwindow.c (gtk_window_class_init): numeric keypad fixes

	* gtk/gtkclist.c (gtk_clist_class_init): numeric keypad fixes

	* gtk/gtkcalendar.c: numeric keypad fixes

	* gtk/gtktextview.c (gtk_text_view_class_init): numeric keypad
	support

	* gdk/gdkwindow.c (gdk_window_get_clip_region): fix infinite loop
	screwup

	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
	clip the render area to the drawable's clip region in advance,
	so we don't get data from the server that we don't need.

	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
	check return value of gdk_pixbuf_get_from_drawable(), fall back
	to bilevel alpha if we can't get the pixbuf to composite against.

	* gdk/gdkdraw.c (gdk_drawable_get_image): set the image colormap

	* gdk/gdkimage.c (gdk_image_get_colormap): add
	gdk_image_set_colormap, gdk_image_get_colormap

	* gdk/gdkpixbuf-drawable.c (rgbconvert): Change all converters to
	take a region of the image, instead of converting the entire
	image.

	* gtk/gtkwidget.h (struct _GtkWidgetClass): add show_help
	keybinding signal. Add default bindings for it. Add default
	handler for show_help that shows the tooltip for the widget.

	* gtk/gtkdialog.c (gtk_dialog_class_init): add binding set and
	"close" keybinding signal, remove key press handler.

	* gtk/gtktooltips.c (gtk_tooltips_set_colors): Just remove this,
	it's not our usual practice to leave a deprecated function around
	with a runtime warning, plus we don't want it to appear in docs,
	plus if we make them yellow no one will want to change them
	anyhow.
2001-06-29 01:59:02 +00:00
Tim Janik
10f047cf4c up version to 1.3.7, interface age 0, binary age 0. depend on glib 1.3.7.
Thu Jun 28 17:18:41 2001  Tim Janik  <timj@gtk.org>

	* configure.in (GTK_MICRO_VERSION): up version to 1.3.7, interface
	age 0, binary age 0. depend on glib 1.3.7.

	* gtk/gtkcontainer.c: remove g_signal_handlers_disconnect_by_func() hack.

	* gtk/gtkmenubar.c: same here.

	* gtk/gtkcontainer.c (gtk_container_focus_tab): fix param-spec retrival.

	* gtk/gtkcolorsel.c (gtk_color_selection_init): fix connect_data() usage.

	* gtk/gtkentry.c (gtk_entry_focus_in): same here.

	* gtk/gtkmenubar.c (add_to_window): likewise.

	* gtk/gtktextbtree.c: and here...

	* gtk/gtktextview.c (gtk_text_view_ensure_layout): same thing.

	* gtk/gtktoolbar.c (gtk_toolbar_init): once more.

	* gtk/gtktreemodel.c (connect_ref_callbacks): and another time.

	* gtk/gtktreeviewcolumn.c:
	(_gtk_tree_view_column_set_tree_view): yet again.

	* demos/gtk-demo/images.c (progressive_timeout): demonstrate
	signal connections without g_signal_connect_data().

	* demos/gtk-demo/stock_browser.c (do_stock_browser): second
	demo of the matter.

	* demos/testpixbuf.c (main): running out of equality phrases for the
	ChangeLog, but had to adapt connections here as well.

	* demos/testanimation.c (progressive_timeout): and for the fun of it,
	tackled this the same way.

	* tests/testtext.c (create_view): ok, it's becoming a pain at this
	point, but had enough enery for one more fix.

	* tests/testtreecolumns.c (main): stand up man, do your work!

	* tests/testtreeview.c (set_columns_type): ok, this is the last file i
	fix, either that's been all of it or CVS gtk is broken yet again.
2001-06-28 17:12:40 +00:00
Owen Taylor
24a325c67a Removed - didn't work and not particularly useful anyways if it did.
Sun Jun 24 12:06:47 2001  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktextview.[ch] (gtk_text_view_set_text_window_size):
        Removed - didn't work and not particularly useful anyways
	if it did.
2001-06-24 16:08:15 +00:00
Owen Taylor
cc223eeff6 Fix stupid error introduced last night that was making things decidedly
Sun Jun 24 11:29:35 2001  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkimage-x11.c (gdk_image_new): Fix stupid error
	introduced last night that was making things decidedly not work.

	* gtk/*.[ch]: Patch from Kristian Rietveld adding 80 getters
	so that we have getter/setter pairing everywhere it makes
	sense. (#55767)

	* gtk/gtkradiobutton.[ch] gtk/gtktoolbar.c tests/testgtk.:
	Rename gtk_radio_button_group to gtk_radio_button_get_group, add a
	deprecated compat macro. (#55516)

	* gtk/gtklabel.[ch]: Add functions
	gtk_label_set/get_use_underline(), gtk_label_set/get_use_markup(),
	gtk_label_set_label(), which mirror the property API for GtkLabel.
	Make gtk_label_get_attributes() only reflect the attributes
	set by gtk_label_set_attributes.

	* gtk/gtknotebook.c (gtk_notebook_set_current_page) gtk/gtkcompat.h: Rename
	from gtk_notebook_set_page().
2001-06-24 15:34:48 +00:00
Havoc Pennington
7009511a22 added this function
2001-06-08  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextbuffer.c (gtk_text_buffer_get_start_iter): added this
	function

	* gtk/gtktextview.c (gtk_text_view_get_default_attributes): added
	this function
2001-06-08 19:03:23 +00:00
Owen Taylor
da562f4dc8 Add a direction-changed signal, and gdk_keymap_get_current_direction().
Fri Jun  8 12:03:07 2001  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkkeys.[ch]: Add a direction-changed signal,
	and gdk_keymap_get_current_direction().

	* gdk/x11/gdkevents-x11.c gdk/x11/gdkkeys-x11.c
	  gdk/x11/gdkmain-x11.c gdk/x11/gdkprivate-x11.h: Track
	the current locked group, use it to set the keymap
	direction.

	* gtk/gtksettings.c: Add a new gtk-split-cursor setting
	to determine whether we draw a split cursor or use
	a jumping cursor based on the current direction.

	* gtk/gtkentry.c gtk/gtktextview.c gtk/gtktextlayout.[ch]:
	Obey the split cursor setting.

Fri Jun  8 11:57:50 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkimmulticontext.c (activate_cb): Only activate
	when toggling on, not when toggling off... (#55906)

Wed Jun  6 10:37:07 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_set_double_buffered):
	s/gdk_window_begin_paint/gdk_window_begin_paint_region/
	in docs. (#55812, Vitaly Tishkov)
2001-06-08 16:07:00 +00:00
Havoc Pennington
2cf4b8ad72 handle case where text_view->layout == NULL by assuming its size is 0,
2001-06-04  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_size_request): handle case
	where text_view->layout == NULL by assuming its size is 0,
	i.e. same as if we haven't done any reflow. Reported by
	Hidetoshi Tajima #55448
2001-06-04 23:53:43 +00:00
Havoc Pennington
1b3c921437 Handle case where we need to parse the xsetting as if it were an RC file
2001-05-10  Havoc Pennington  <hp@redhat.com>

	* gtk/gtksettings.c (gtk_settings_get_property): Handle case where
	we need to parse the xsetting as if it were an RC file string.

	* gtk/gtkcolorsel.c (gtk_color_selection_class_init): load initial
	value of palette from settings, not from static variable

	* gdk/x11/gdkevents-x11.c: add color palette, toolbar mode to
	xsettings translation table

	* gtk/gtktoolbar.c (gtk_toolbar_new): Remove arguments, because
	hardcoding the toolbar style conflicts with new customizable
	toolbar style philosophy
	(gtk_toolbar_class_init): add settings for default toolbar style;
	these are used unless the app specifically forces a toolbar style

	* gtk/gtksettings.c (settings_install_property_parser): only
	return at the start if we warn and parser == NULL

	* gtk/gtkcolorsel.c (gtk_color_selection_finalize): disconnect the
	palette changed handler so we don't notify dead color selections

	* gtk/gtkstyle.c (gtk_default_draw_shadow): handle
	xthickness/ythickness of 0 or 1 properly
	(gtk_default_draw_resize_grip): clear the background behind the
	resize grips, and align to bottom right if we square the
	area to be drawn.

	* gtk/gtkstatusbar.c (gtk_statusbar_init): set horizontal usize on
	statusbar label to 1, so it doesn't make toplevels resize oddly
	(gtk_statusbar_size_request): add grip size to request
	(gtk_statusbar_size_allocate): hack so the hbox still works with
	the grip size in the request

	* gtk/gtktoolbar.c (gtk_toolbar_show_all): override to fix
	bug where showing all on a toplevel makes the toolbar
	button text appear despite the toolbar mode

	* gtk/gtkmenubar.c: add internal padding style property

	* gtk/gtktoolbar.c: Add internal padding style property; add
	shadow type style property

	* gtk/gtkmenubar.c (gtk_menu_bar_paint): paint box with widget
	state; and put Container::border_width outside the frame

	* gtk/gtktextview.c: don't draw focus rectangle if we're in
	interior focus mode, we just use blinking cursor
2001-06-04 23:15:51 +00:00
Havoc Pennington
fe3e516aa1 implement overwrite mode
2001-06-01  Havoc Pennington  <hp@redhat.com>

	* gtk/gtkentry.c (gtk_entry_commit_cb): implement overwrite mode

	* gtk/gtktextview.c (gtk_text_view_commit_handler): don't
	overwrite in overwrite mode if we already deleted the selection
	and replaced it with new text.

	* gtk/gtklabel.c (gtk_label_select_region_index): if you set the
	selection to an empty range, clear the clipboard if we owned it.
	(gtk_label_set_selectable): give up selection if we become
	unselectable.
	(gtk_label_state_changed): override state changed to unselect text
	when insensitive
	(get_text_callback): add paranoia check that indexes aren't
	outside of label->text
	(gtk_label_select_region): make -1 for start_offset mean "end of
	label," for consistency with GtkEditable

	* gtk/gtkmessagedialog.c (gtk_message_dialog_new): honor
	GTK_DIALOG_NO_SEPARATOR flag
2001-06-01 19:26:01 +00:00
Owen Taylor
27bf39f924 Validate value from GDK settings against parameter spec.
Wed May 30 15:56:30 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtksettings.c (gtk_settings_get_property): Validate
	value from GDK settings against parameter spec.

	* gdk/x11/gdkevents-x11.c (gdk_setting_get): Add assignments
	to temporary values and use g_value_transform(), since
	thinking that GValue was going to be easy or efficient
	to use was, of course, a mistake.

        * gtk/gtksettings.c: Add cursor blink setting.

	* gdk/x11/gdkevents-x11.c: Add cursor blink X settings.

	* gtk/gtkentry.c: Add cursor blinking.

	* gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Use
	cursor blink global settings.

	* gtk/gtkentry.c (gtk_entry_button_press): Add notification
	for :text_position in places where it is missing.
2001-05-30 20:40:28 +00:00
Havoc Pennington
87684f9549 get sizes an icon set can render without falling back to missing image
2001-05-25  Havoc Pennington  <hp@redhat.com>

	* gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon
	set can render without falling back to missing image icon

	* gtk/gtktextview.c (gtk_text_view_size_request): request full
	size of text, instead of random values

	* gtk/gtktreeview.c (gtk_tree_view_size_request): request full
	size of tree view, instead of random values

	* gtk/gtkiconfactory.c (gtk_icon_set_render_icon): render fallback
	image in an appropriate size

        * gtk/gtkstock.h: Rename the stock items including _BUTTON_,
	etc. not to include that. i.e. s/GTK_STOCK_BUTTON_OK/GTK_STOCK_OK/

        Throughout: fix GTK_STOCK_BUTTON_ instances

	* gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
	gtk/gtkiconfactory.c, gtk/stock-icons/Makefile.am:
	Add a bunch of new stock items/icons

	* gtk/gtktreeview.c (gtk_tree_view_insert_column_with_data_func):
	new function, convenience for inserting columns with a data func

	* gtk/gtkiconfactory.c: keep a list of all existing icon factories
	(_gtk_icon_factory_list_ids): use list of all factories to
	generate a list of all known IDs

	* gtk/gtkstock.c (gtk_stock_list_ids): replace
	gtk_stock_list_items() with a function that returns all IDs known
	including those for GtkIconFactory.
2001-05-25 20:41:46 +00:00
Alexander Larsson
811543ce37 Added properties. Based on patch by Lee Mallabone.
2001-05-21  Alexander Larsson  <alexl@redhat.com>

	* gtk/gtkfontsel.c:
	Added properties. Based on patch by Lee Mallabone.

	* gtk/gtkruler.c:
	* gtk/gtkhruler.c:
	* gtk/gtkvruler.c:
	* gtk/gtktext.c:
	* gtk/gtktextview.c:
	Converted GtkArg to GParam. Based on patches by John Margaglione.

	* tests/Makefile.am:
	* tests/testtext.c:
	Add a property editor to testtext.
2001-05-22 00:11:10 +00:00
Owen Taylor
aa4a41face Reset style attributes even if the widget isn't realized.
Fri May 18 15:26:26 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_style_set): Reset
	style attributes even if the widget isn't realized.

	* demos/gtk-demo/main.c: Use a slightly smaller font.
2001-05-18 20:56:55 +00:00
Havoc Pennington
b4e4a0ed9d fix some shell typos
2001-05-04  Havoc Pennington  <hp@redhat.com>

	* configure.in: fix some shell typos

	* gtk/gtkcolorsel.c (gtk_color_selection_destroy): warning fix

	* gtk/gtkimage.c: handle animations

	* gtk/gtkcheckbutton.c (gtk_check_button_size_request): request
	border_width * 2, not just border_width

	* gtk/gtkscale.c: add "format_value" signal to allow people
	to override the way values are drawn.
	(gtk_scale_get_value_size): fix width/height mistake,
	and compute size from actual displayed text, not
	from made-up text.

	* gtk/gtktexttag.c (gtk_text_tag_class_init): fix return type in
	signal registration

	* tests/testtext.c: Add "Remove all tags" menu item for testing

	* gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): implement

	* demos/gtk-demo/main.c (main): add hack so we can find modules
	without installing gtk

	* demos/gtk-demo/textview.c (insert_text): demo font scaling

	* gtk/gtkcellrenderertext.c: Add "scale" property (font scaling
	factor)
	(gtk_cell_renderer_text_set_property): remove some bogus
	g_object_notify

	* gtk/gtktexttag.c: add "scale" property which is a font scaling
	factor

	* gtk/gtktextlayout.c (add_text_attrs): add font scale attribute
	to layout

	* gtk/gtktextiter.c (gtk_text_iter_is_start): rename from
	gtk_text_iter_is_first

2001-05-04  Havoc Pennington  <hp@redhat.com>

	* pixops/pixops.c (pixops_process): merge fix from stable: Patch
	 from hoshem@mel.comcen.com.au to fix nonzero X offsets.  Fixes
	 bug #50371.

        * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): merge
	from stable: Patch from OKADA Mitsuru <m-okada@fjb.co.jp> to fix
	confusion of using "src" instead of "p".
        (pixops_composite_color_nearest): Use a more accurate (and
	correct, to begin with) compositing method.  This cures checks
	showing through on images with no alpha.

	* gdk-pixbuf.c (gdk_pixbuf_fill): fix bug that left some trailing
	bytes unfilled.

	* gdk-pixbuf-io.h: fix UpdatedNotifyFunc to use signed ints

	* gdk-pixbuf-loader.h (struct _GdkPixbufLoaderClass): Change
	area_updated signal to use signed ints.  Removed animation-related
	signals.

	* io-gif.c, io-gif-animation.h, io-gif-animation.c: Massive
	rewrite action

	* gdk-pixbuf-animation.c: Add GdkPixbufAnimationIter to abstract
	all the pesky details. Remove old frame-based API. Make
	GdkPixbufAnimation an abstract base class, derived by the loaders.
2001-05-07 15:58:47 +00:00
Owen Taylor
7e9df6443b Patch from Juan Pablo Mendoza Mendoza to fix things so clicking inside
Thu May  3 07:00:09 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextview.c: Patch from Juan Pablo Mendoza Mendoza
	to fix things so clicking inside selection leaves cursor
	at point where clicked. (#50324)

	* gtk/gtksettings.c (gtk_settings_class_init): Restore
	sane value for default double click time.

	* tests/testtext.c (test_init): Really path to input modules.
2001-05-03 11:15:26 +00:00
Havoc Pennington
7ad3641353 voc Pennington <hp@redhat.com>
* gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line):
	(gtk_text_layout_move_iter_to_next_line): fix these two for
	invisible text, lots of other stuff still hosed.

	* gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
	new function, replaces the get/set palette stuff. This function
	is intended for use by libgnomeui which should set the hook to a
	thing which sets the palette in GConf, and we need the
	GConf-to-xsettings proxy which will result in the change being
	propagated back to the GTK app.

	* gtk/gtkaccelgroup.c (gtk_accel_group_add): add note to warning
	about unusable signals that it may be because the signal has
	parameters.

	* gtk/gtkwidget.c (gtk_widget_modify_style): always copy the
	style, otherwise gtkrc.c won't know to create a new GtkStyle for
	it.
	(gtk_widget_modify_color_component): call
	gtk_widget_modify_style() so the rc style will get copied.
	(gtk_widget_modify_font): ditto

	* gtk/gtkrc.c: make a couple variables static

	* gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): hide
	help button by default, since it does nothing

	* gtk/gtkcolorsel.c: add tooltips, work on key navigation, fool
	around with UI

	* gtk/gtkentry.c (gtk_entry_realize): request enter/leave notify
	so we can have tooltips

	* gtk/gtkhsv.c (gtk_hsv_realize): request enter/leave notify so we
	can have tooltips

	* gdk/gdkimage.h: mark gdk_image_new_bitmap with
	GDK_ENABLE_BROKEN, because its memory behavior is completely
	hosed.

	* gtk/gtknotebook.c: remove key press handler, replace with
	binding set, add numeric keypad support

	* gtk/gtktextview.c (gtk_text_view_class_init): accept KP_Delete

	* gtk/gtktext.c (gtk_text_key_press): add a bunch of KP keysyms

	* gtk/gtkentry.c (gtk_entry_class_init): accept GDK_KP_Delete in
	addition to plain Delete

	* gtk/gtktextview.c (gtk_text_view_key_press_event): accept
	GDK_KP_Enter in addition to GDK_Return

	* gtk/gtkfontsel.c (gtk_font_selection_size_key_press): connect to
	activate on entry instead of key press
	(gtk_font_selection_on_clist_key_press): get
	rid of this signal handler, not needed with new font sel.

	* gtk/gtkfilesel.c (gtk_file_selection_key_press): remove a
	no-longer-needed emit_stop_by_name(), just return TRUE

	* gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.c: remove keybindings
	cruft, this widget is no longer focusable.

	* gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkvscale.c,
	gtk/gtkhscale.c: Get rid of trough_keys virtual function, add
	move_slider action signal, add binding set for vscale/hscale, in
	the process support numeric keypad

	* gtk/gtkentry.c (gtk_entry_class_init): Add keypad bindings;
	make GDK_Return and GDK_KP_Enter activate the entry via
	binding set, instead of hardcoded.
2001-04-28 20:18:29 +00:00
Havoc Pennington
60b6a010e9 fix to properly queue resizes when the image is set
2001-04-18  Havoc Pennington  <hp@redhat.com>

	* gtk/gtkimage.c: fix to properly queue resizes when the image is
	set

	* gtk/gtktextview.c (gtk_text_view_do_popup): desensitize Paste
	if the insertion point isn't editable

	* demos/gtk-demo/images.c: Added a GtkImage demo

	* demos/gtk-demo/drawingarea.c: drawing area demo

	* demos/gtk-demo/menus.c (create_menu): cleanups

2001-04-18  Havoc Pennington  <hp@redhat.com>

	* gdk-pixbuf.c (gdk_pixbuf_fill): Function to fill pixbuf with a
	given color.
2001-04-18 18:09:18 +00:00
Owen Taylor
45a37d0235 Released 1.3.4
Tue Apr 17 18:05:34 2001  Owen Taylor  <otaylor@redhat.com>

	* Released 1.3.4

	* NEWS: Updated

	* gtk/gtktextview.c (gtk_text_view_class_init): Fix to not
	use GTK_TYPE_ENUM.
2001-04-17 23:21:18 +00:00
Jonathan Blandford
31210813cb fix a fixme.
Sun Apr  8 05:36:06 2001  Jonathan Blandford  <jrb@webwynk.net>

        * gtk/gtktextview.c (gtk_text_view_class_init): fix a fixme.

        * gtk/gtkcellrendertoggle.c: change GTK_TYPE_POINTER to
        GTK_TYPE_STRING.

        * gtk/gtktreeview.c: New functions to allow initial column
        dragging work.

        * gtk/gtktreeviewcolumn.c: Initial column dragging support.

        * tests/testtreefocus.c: give dave some love.

        * tests/testtreesort.c: Modify test to check really long samples.
2001-04-12 16:11:54 +00:00
Owen Taylor
1586ade9c5 Add missing NULL on valist.
Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/testtext.c (create_buffer): Add missing NULL on
	valist.

	* gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
	c-n-p problem with INCONSISTENT property.

        [ Patch from Havoc Pennington  <hp@redhat.com> ]

	* gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
	hook.

	* gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
	signal as a hook for extending the default popup menu

	* gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
	use radio menu items for the input method menuitems

	* gtk/gtkimcontextsimple.c (check_hex): do better validation of
	inserted unicode from Ctrl-Shift-hex input method

	* gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
	validatation here, already done at GtkTextBuffer level.

	* gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
	popup_menu run action signal and Shift+F10 and Menu keybindings.

	* gtk/gtkentry.c: implement a default handler for popup_menu

	* gtk/gtktextview.c: implement a default handler for popup_menu

	* gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
	from a key event

	* gtk/gtklabel.c: remove "trailer" cruft
2001-03-29 00:24:58 +00:00
Havoc Pennington
207e3bb977 make this somewhat key-navigable
2001-03-23  Havoc Pennington  <hp@pobox.com>

	* gtk/gtkhsv.c: make this somewhat key-navigable

	* gtk/gtkfontsel.c: mnemonics

	* gtk/gtkgamma.c: mnemonics

	* gtk/gtkcolorsel.c: add mnemonics to labels

2001-03-22  Havoc Pennington  <hp@pobox.com>

	Applied big patch from Seth Lytle to fix event handler return
	values, slightly modified.

	* gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
	handled.
	(gtk_calendar_key_press): return TRUE for GDK_space triggers
	select_day

	* gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
	(gtk_clist_button_release): return TRUE if handled

	* gtk/gtkcolorsel.c (mouse_release):
	(palette_activate):
	(palette_press):
	(palette_new):
	(mouse_press):
	(get_screen_color):
	fixed return type (void to gboolean), return TRUE,
	added GTK_SIGNAL_FUNC cast

	* gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
	(void to gboolean), and return TRUE
	(gtk_combo_button_release): changed return value to TRUE after
	gtk_grab_add on combo->popwin

	* gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
	collapse or expand

	* gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
	button/motion

	* gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
	press/release and motion that trigger act

	* gtk/gtkentry.c (gtk_entry_button_release): return TRUE

	* gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
	for GDK_Return

	* gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
	(gtk_list_button_release): return TRUE if selection

	* gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
	press

	* gtk/gtkmenushell.c (gtk_menu_shell_button_press):
	(gtk_menu_shell_button_release): chain parent_menu_shell retval

	* gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
	nothing triggered
	(gtk_notebook_button_release): return TRUE if we do anything

	* gtk/gtkspinbutton.c (gtk_spin_button_button_press):
	(gtk_spin_button_button_release): return TRUE or chained retval

	* gtk/gtktext.c (gtk_text_button_press):
	(gtk_text_button_release): return TRUE
	(gtk_text_key_press): remove redundant retval code

	* gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
	and sensitive
	(gtk_tree_item_subtree_button_click): changed type to gint, and return
	TRUE if sensitive

	* gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies
	return TRUE
2001-03-24 06:10:40 +00:00
Havoc Pennington
b6b4e13fd8 fix warnings
2001-03-23  Havoc Pennington  <hp@redhat.com>

	* gtk/testgtk.c: fix warnings

	* gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value

	* gtk/gtktextview.c: fix warnings

	* gtk/gtktext.c (find_cursor_at_line): fix warning

	* gtk/gtkselection.c (gtk_selection_notify): fix warning

	* gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
	of this function

	* gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
	fix warning

	* gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning

	* gtk/gtkfontsel.c: fix warning

	* gtk/gtkcolorsel.c: fix warnings
2001-03-24 00:07:16 +00:00
Owen Taylor
489c376bf4 Handle quoting of / with \; properly handle __ in paths, quote " and \n in
Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
	handle __ in paths, quote " and \n in gtk_item_factory_dump_items().

	* gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c
	  gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
	  gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
	  gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
	Change float to double everywhere with the exception of 0<->1.0 alignment
	and GtkCurve.
2001-03-19 21:06:38 +00:00
Havoc Pennington
1cdba88340 use PRIORITY_VALIDATE
2001-03-07  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE

	* gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
	here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
	of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
	validation and the redraw which is higher priority than the
	validation.
2001-03-07 21:55:02 +00:00
Tim Janik
35af5c4eba marshaller fixes.
Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>

        * gtk/*.c: marshaller fixes.

        * gtk/gtkmarshal.list: extreme cleanup.

        * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
        param spec for now.

        * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
        where appliable.

        * gtk/gtktypeutils.[hc]: updates to GLib API changes.
        special cased autogenerated boxed types from gtktypebuiltins_ids.c
        which are not reference counted:
        GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
        PangoFontDescription, GtkTreeIter and GtkTreePath.

Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>

        * gtk/gtktreeselection.h:
        * gtk/gtktreemodel.c:
        * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
        file should be included directly, and gobject/gmarshal.h
        as well as gtk/gtkmarshal.h even can't be included directly.

        * Makefile.am: grr, install gtk-config-2.0.

        * gtk/testgtk.c:
        * gtk/simple.c:
        * gtk/gtkmenu.c:
        * gtk/gtkitemfactory.c: use g_object_connect() instead of
        passing "*signal*::*" args to gtk_widget_set().

        * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.

        * gtk/*.c: removed trailer arg from property setters and getters.
        macro fixups.

Thu Mar  1 04:01:57 2001  Tim Janik  <timj@gtk.org>

        * test-gdk-pixbuf.c: fixed includes.
2001-03-07 14:49:21 +00:00
CET Mikael Hermansson
e896731f3e fixed bug #51097 about setting gtk_text_view_set_border_window_size() if
Sun Mar 04  07:30:03 2001 CET Mikael Hermansson<mikeh@bahnhof.se>

	* gtk/gtktextview.c: fixed bug #51097 about setting gtk_text_view_set_border_window_size()
	if the widget is already realized.
2001-03-04 05:36:34 +00:00
Havoc Pennington
56a2f2c628 Remove draw_focus and draw_default (gtk_widget_draw_focus): remove this
2001-02-28  Havoc Pennington  <hp@redhat.com>

	* gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
	draw_default
	(gtk_widget_draw_focus): remove this function; we could instead
	make it just gtk_widget_draw(), but in most cases I think the
	result would be broken user code, so think it's better to have
	that code not compile and get fixed
	(gtk_widget_draw_default): ditto

	* gtk/gtkwidget.c: Add default handlers for focus_in_event and
	focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw

	* gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
	widgets lose/get the default, instead of calling draw_default

	* docs/Changes-2.0.txt: note about all this

	Then fixed every widget in GTK, I won't list all the filenames.
2001-02-28 19:07:46 +00:00
Alexander Larsson
e1e093fa44 Added new menu separator item. The drawing and size handling is still done
2001-02-21  Alexander Larsson  <alexl@redhat.com>

        * gtk/gtkseparatormenuitem.[ch]:
	Added new menu separator item. The drawing and size handling
	is still done in GtkMenuItem, but the API is a bit more sane.

	* gtk/Makefile.am:
	Add gtkseparatormenuitem.[ch].

	* gtk/gtk.h:
	Add gtkseparatormenuitem.h.

	* gtk/gtkentry.c:
	* gtk/gtkmenufactory.c:
	* gtk/gtktextview.c:
	Use the new API for menu separators.

	* demos/gtk-demo/menus.c (create_menu):
	Add some GtkSeparatorMenuItem demo code.
2001-02-21 09:29:01 +00:00
Havoc Pennington
08add3cd50 convert the X coordinates so they're with respect to the line, rather than
2001-02-15  Havoc Pennington  <hp@redhat.com>

	* gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
	the X coordinates so they're with respect to the line, rather than
	with respect to the layout.

	* gtk/gtkalignment.c: Convert to new property API, patch from Lee
	Mallabone

	* gtk/testgtk.c (create_range_controls): add vscale tests,
	and inverted test

	* gtk/gtkrange.c (gtk_range_set_inverted): new function to fix
	#50806

	* gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN

	* gtk/gtktextiter.h (gtk_text_iter_is_last): rename
	gtk_text_iter_is_end

	* gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
	rename gtk_text_buffer_get_end_iter

	* gtk/testgtk.c (create_labels): Add test for selectable

	* gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
	the selection stuff. This code is kind of broken since it doesn't
	use the theme engine.

	* gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region):
	fix infinite loop and y offset problem
	(gdk_draw_layout_line_with_colors): fix foreground color handling

        * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag
	that makes the label selectable.

	* gtk/gtklabel.c (gtk_label_style_set): recreate the label's
	layout when the style is set, since fonts etc. could have changed.
2001-02-17 00:11:03 +00:00
Havoc Pennington
4a3c8a367a remove validation idle
2001-02-08  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
	validation idle

	* demos/gtk-demo/main.c (create_tree): adjust to changes in text
	cell renderer

	* demos/pixbuf-demo.c (timeout): remove deprecated
	gtk_widget_draw

	* demos/testpixbuf-save.c (main): remove deprecated
	gtk_drawing_area_size

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
	buttons even if the model isn't setup. gtk_tree_view_check_dirty()
	at the start of the allocation.
	(gtk_tree_view_check_dirty): handle column->button == NULL, handle
	unsetup or NULL model.

	* gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the
	even/odd/sorted cells in the tree view.

	* gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
	bugfixes

	* gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
	backgrounds with draw_flat_box using different detail for even/odd
	rows.

	* gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
	row, so we can draw the alternating colors thing

	* gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
	property from a synonym property, notify for the synonym.
	Also, nuke the background_gdk_set and foreground_gdk_set synonyms
	(gtk_text_tag_get_property): Always return the font, even if
	all its fields aren't set

	* gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
	store the attr list; it leaves us with no way to change attributes
	in _render according to the render flags, and no way to implement
	get_property. Instead store all the specific text attributes.
	Separate whether an attribute is enabled from its value. Sync all
	properties with GtkTextTag, make them all consistent, etc.

	* gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
	renderers can highlight the sort row/column

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
	accessor functions to get values; this has the side effect of
	showing up which accessor functions were missing. Added those.

	* gtk/gtktreeviewcolumn.h: Replace set_justification with
	set_alignment, to be consistent with GtkLabel, GtkMisc

	* gtk/gtktreeviewcolumn.c: Added code to display sort indicator
	arrow.

	* gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h

	* gtk/gtktreesortable.h: updates in here
2001-02-08 23:36:53 +00:00
Havoc Pennington
f7d593c99d bracket in #ifdef GTK_ENABLE_BROKEN.
2001-01-30  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in
	#ifdef GTK_ENABLE_BROKEN.

	* gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
	GTK_ENABLE_BROKEN just before including the broken headers.

	* gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
	deprecated types registered.

	* gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
	we have to test the broken stuff.

        * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN

2001-01-30  Havoc Pennington  <hp@pobox.com>

        Also committed a bunch of automatic changes made by gtk-doc,
	after reviewing for correctness.

	* gtk/tmpl/gtktext.sgml: add warning about deprecation and note
	about what to use instead

	* gtk/tmpl/gtktree.sgml: ditto

	* gtk/Makefile.am (scan): pass --deprecated-guards option to
	gtk-doc; requires new version of gtk-doc from CVS

	* gtk/gtk-docs.sgml: move GtkText to the deprecated section
	instead of the GtkTextView section. Oops.
2001-01-31 03:51:14 +00:00
Havoc Pennington
ef4356b567 adapt to handle PangoColor
2001-01-26  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor

	* gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
	not offset by TREE_VIEW_HEADER_HEIGHT
	(gtk_tree_view_tree_to_widget_coords): fix to not offset by
	TREE_VIEW_HEADER_HEIGHT

	* configure.in (included_loaders): for me, --with-included-loaders
	generates the error "the specified loader yes does not exist",
	i.e. the arg defaults to "yes", so change test for value ""
	to test for value "yes", and include all loaders in that case.

	* gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function

	* gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
	handle TREE_VIEW_VERTICAL_SEPARATOR
	(gtk_tree_view_bin_expose): fix to consider the row offset as
	pointing halfway into vertical separator.
	(gtk_tree_view_draw_node_focus_rect): ditto

	* gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
	--gtk-debug=updates, which causes gdk_window_set_debug_updates
	(TRUE) to be called.

	* gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
	debug mode where the invalid region is colored in on invalidate,
	so you can see the flicker and know whether your redraw code is
	doing a good job.

	* gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in
	tree window coordinates (clip rect is in tree window coords)

	* gtk/Makefile.am: add gtktreednd.[hc]

	* gtk/gtkliststore.c: implement gtktreednd interfaces.

	* gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
	drag-and-drop data operations on a model (so we can set up tree
	drag-and-drop automatically)

	* gtk/testgtk.c: Add a window to change sensitivity in the
	GtkLabel test; add a way to change the entry frame in GtkEntry
	test

	* gtk/gtkentry.c (gtk_entry_set_has_frame):
	(gtk_entry_get_has_frame): new functions to remove the frame
	around an entry
	(gtk_entry_size_request): shrink requisition if no frame
	(gtk_entry_draw_focus): don't draw frame if no frame

	* gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
	checks inside a cell renderer
	(gtk_default_draw_option): ditto for options

	* gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
	children from the alignment, not the button
	(gtk_tree_view_column_init): ref/sink the column, to emulate
	GObject refcounting.

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink

	* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
	Use theme functions to draw the toggles

	* gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors

	* gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
	GdkPangoAttrEmbossed to use in rendering insensitive text

	* gdk/gdkpango.c (gdk_draw_layout_line): render new properties

	* gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
	using new GDK features
2001-01-26 21:12:05 +00:00
Havoc Pennington
18742b1dc3 rename member fields from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems
2001-01-20  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
	from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to
	me, matches Pango
2001-01-23 06:09:49 +00:00
Havoc Pennington
e0fee22e78 Add built marshaller files to support GdkPixbufLoader signals
2001-01-22  Havoc Pennington  <hp@redhat.com>

	* Makefile.am: Add built marshaller files to support
	GdkPixbufLoader signals

	* gdk-pixbuf-io.c (gdk_pixbuf_load_module): have
	GDK_PIXBUF_MODULEDIR unconditionally replace the compiled-in
	module location, rather than acting as a fallback, because we are
	using GDK_PIXBUF_MODULEDIR to use gdk-pixbuf before installing it.

	* gdk-pixbuf.h: include gdk-pixbuf-loader.h

        * gdk-pixbuf-loader.h, gdk-pixbuf-loader.c: Move back over here
	from gtk, and add error to close(), because stop_load may do
	parsing of the image.

	* pixops/have_mmx.S (_pixops_have_mmx): add newline at end of file

        * io-*.c: make individual operations static, and add fill_vtable
	functions which are exported. Fix the collection of type warnings
	that surfaced, including a number of functions that didn't
	properly take a GError and some that weren't
	const-correct. Involved adding error handling for a few loaders.

	* gdk-pixbuf-io.h: Add error reporting to stop_load function

	* gdk-pixbuf-io.c (gdk_pixbuf_load_module): change to just look up
	a function that fills in the GdkPixbufModule vtable, instead of
	looking up all the image functions individually; this means we
	can get type safety within modules for the loader functions.
	Also it means you don't have to keep the statically compiled and
	GModule versions in sync.

	* test-gdk-pixbuf.c (main): remove gdk_pixbuf_init()

	* make-inline-pixbuf.c (main): remove call to gdk_pixbuf_init()

	* gdk-pixbuf.h: nuke gdk_pixbuf_init()

	* gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_type): g_type_init
	() here

	* gdk-pixbuf.c (gdk_pixbuf_get_type): g_type_init () here

	* gdk-pixbuf-animation.c (gdk_pixbuf_animation_get_type):
	g_type_init() here


2001-01-22  Havoc Pennington  <hp@redhat.com>

	* demos/testanimation.c: fix to reflect gdk-pixbuf changes

	* demos/testpixbuf.c: fix to reflect gdk-pixbuf changes

	* gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h:
	Remove, move back to gdk-pixbuf

	* gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
	to all the word functions

	* gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
	before doing anything on NULL layout or if we don't have the focus

	* gtk/testtext.c (fill_example_buffer): "justification"

	* gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
	to be called "justification" not "justify"

	* demos/gtk-demo/textview.c (create_tags): "justification"

	* gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
2001-01-22 23:09:48 +00:00
Havoc Pennington
e248e4e79e sync to tree changes
2001-01-19  Havoc Pennington  <hp@redhat.com>

	* demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes

	* gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
	function

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
	implement

	* gtk/gtktreeview.c (gtk_tree_view_move_to): rename
	scroll_to_cell, matches TextView scroll functions better
	(gtk_tree_view_tree_to_widget_coords): new function
	(gtk_tree_view_widget_to_tree_coords): new function
	(gtk_tree_view_get_visible_rect): new function
	(gtk_tree_view_get_path_at_pos): accept negative coordinates
	(gtk_tree_view_draw_node_focus_rect): new function moved from
	draw_focus, also, use width of bin_window as width of the focus
	rect
	(gtk_tree_view_expand_row): fix bug where it didn't recognize
	already-expanded rows
	(gtk_tree_view_get_cell_rect): new function
	(gtk_tree_view_get_path_at_pos): return the click position
	relative to the passed-in cell
	(gtk_tree_view_set_expander_column): new function

	* configure.in: remove gtk-config-2.0 chmod

	* gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
	and properly handle drags with targets we don't understand
	(gtk_text_view_drag_end): don't stop scrolling, the source isn't
	scrolling anyway
	(gtk_text_view_drag_drop): stop scrolling here though, and set the
	mark invisible

	* gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
	function
	(gtk_drag_dest_get_target_list): new function
	(gtk_drag_dest_set_target_list): new function

	* gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation

	* gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
	related to drag-and-drop
2001-01-19 22:39:19 +00:00
Owen Taylor
2a1e8b06b4 Remove unused variable.
Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkdnd-x11.c: Remove unused variable.

	* gtk/gtkdnd.c: Encapsulate storing and retrieving info
	structures in functions. Fixes bug where gtk_dataset_*
	was accidentally still being used in one place, causing
        every dest side event to be treated independently.

	* gtk/gtkdnd.c: Remove last vestages of handling
	::draw (fixes warning)

	* gtk/gtkentry.[ch]: Add drag and drop support.

	* gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
	new function gtk_check_drag_threshhold() for checking
	to check if (dx,dy) has exceeded the threshhold for starting
	a drag and use it everywhere.
2001-01-17 20:05:08 +00:00
Havoc Pennington
f4b31ff5e6 offset the current invalid region, fixes redraw bug while scrolling the
2001-01-12  Havoc Pennington  <hp@redhat.com>

	* gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the
	current invalid region, fixes redraw bug while scrolling the
	text widget

	* gtk/gtktextview.c, gtk/gtktextview.h:
	Rearrange the scrolling/validation/etc. code in a major way,
	so it seems to make sense to me. Probably isn't genuinely that
	much better, but...

	* gtk/gtktexttag.c (set_fg_color): fix name of property used for
	notifies

	* gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
2001-01-12 23:23:40 +00:00
Havoc Pennington
5c37906778 hack on this a bit
2001-01-05  Havoc Pennington  <hp@redhat.com>

	* tests/testtreeview.c: hack on this a bit

	* gtk/gtktextlayout.c (gtk_text_layout_class_init):
	s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST

	* gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS):
	was spelled incorrectly
	(GTK_IS_TREE_MODEL_SIMPLE): ditto

	* gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
	from gtk_tree_view_set_headers_active

	* gtk/gtktexttag.c:
	(gtk_text_tag_get_property): handle PROP_DIRECTION
	(gtk_text_tag_set_property): g_object_notify when we toggle the _set
	properties, bug 40235

	* gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
	forward_to_line_end
2001-01-06 01:31:58 +00:00
Havoc Pennington
c7826b5f63 Adapt to uscore-ification of gtktextiterprivate
2001-01-03  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate

	* gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use
	of private functions; remove inclusion of private headers.

	* gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this
	function, so we don't need private functions in gtktextdisplay.c

	* gtk/gtktextiterprivate.h: underscore-ification

	* gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
	to instead say "only useful to implement widgets"

	* gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
	GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
	GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.

	* gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
	This function was completely broken

	* gtk/testtext.c (line_numbers_expose): use gtk_paint_layout

	* gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout

	* gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout

	* gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout

	* gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout

	* gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
	gtk_paint_layout

	* gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
	gtk_paint_layout

	* gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
	Progress on bug 40103. Add draw_layout to draw a PangoLayout.
	(struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
	which were not implemented.

	* gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
	insert_pixbuf signal. Rename delete_text to delete_range since it
	also deletes pixbufs and child anchors. This almost closes bug
	40245 (still need to deal with child anchors)

	* gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
	insert_pixbuf, change signal names as appropriate, change types of
	signals taking marks/tags to have the specific type, not just
	G_TYPE_OBJECT

	* gtk/gtkmain.c (gtk_get_current_event_state): Add this function;
	closes bug 40051

	* gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
	unnecessary remove_contents() call
	(gtk_option_menu_class_init): add a "changed" signal, closes
	bug 40039
	(gtk_option_menu_update_contents): emit "changed" if the
	active menu item changes

	* gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
	cast to GtkObject, reported by Jonas Borgstrom
	(gdk_pixbuf_loader_finalize): don't close the loader on finalize;
	we can't do stuff with side effects in finalize. Instead, spew a
	warning if the loader isn't closed.

	* gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
	colormap in here, non-X ports probably need to sync to this change

	* gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove
	assertion that colormap != NULL, you can set the colormap to NULL
	if you like.

	* Makefile.am: remove gtk-config-2.0

	* configure.in: Use pkg-config to locate GLib. Remove
	separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
	and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
	Use pkg-config to locate Pango. Output correct Pango libs to
	gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).

	* Makefile.am (pkgconfig_DATA): install only target-specific pc
	files
	(install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
	X11 pc files

	* gtk+-2.0.pc.in (Requires): require the GDK for the current target
	unref from here
2001-01-04 17:48:43 +00:00
Havoc Pennington
7a958797e2 Rearrange all the scroll-while-dragging-or-selecting code to be different,
2000-12-31  Havoc Pennington  <hp@pobox.com>

* gtk/gtktextview.c: Rearrange all the
scroll-while-dragging-or-selecting code to be different, not
necessarily better. ;-)
(gtk_text_view_scroll_to_mark): Change this
function to take within_margin as a fraction instead of a pixel
value, and to take alignment arguments (indicating where to align
the mark inside the visible area)

* gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
to GtkObject

* gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
behavior so that offsets past the end of the line are not
allowed, and an offset equal to the line length moves the iterator
to the next line
(gtk_text_iter_set_line_index): make parallel change
(gtk_text_iter_get_bytes_in_line): add this function

* gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
of byte indexes off the end of the line; byte index at the end of
the line now returns FALSE and doesn't fill in the requested
values, byte index past the end of the line is an error.  Also,
don't allow -1 offset anymore, since its meaning is unclear.

This change exposes some bug in visual cursor motion, where we
end up with a huge invalid byte index; needs fixing. Symptom of
bug is a crash when you hit up arrow.

(_gtk_text_line_char_locate): match the change to byte_locate

* gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
from start of line properly. fixes bug reported by Mikael
Hermansson where backspace would delete all text before the
cursor.
2000-12-31 23:28:57 +00:00
Havoc Pennington
00a6a1b219 do begin/end user action where appropriate (gtk_text_view_commit_handler):
2000-12-18  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
	begin/end user action where appropriate
	(gtk_text_view_commit_handler): add begin/end user action

	* gtk/gtktextbuffer.c: add begin/end user action signals, and
	bracket interactive operations with begin/end user action pair.

	* gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
	"interactive" arg from insert_text and delete_text signals.
	Add begin_user_action, end_user_action signals
	(gtk_text_buffer_begin_user_action):
	(gtk_text_buffer_end_user_action): New functions to delimit
	a user-visible action

	* gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
	signals.
2000-12-18 21:01:17 +00:00
Havoc Pennington
e405f75c2b General cleanup of the log attr iteration stuff. This should make e.g. the
2000-12-16  Havoc Pennington  <hp@pobox.com>

* gtk/gtktextiter.c: General cleanup of the log attr iteration
stuff. This should make e.g. the delete key work again in the
text widget...
(gtk_text_iter_forward_cursor_positions): handle negative count
(gtk_text_iter_backward_cursor_positions): handle negative count
(gtk_text_iter_forward_word_ends): handle negative count
(gtk_text_iter_backward_word_starts): handle negative count

* gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c,
gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to
GObject. No doubt will cause breakage.

* demos/gtk-demo/textview.c: remove hacks around
non-GObject-ification of the text objects

* demos/gtk-demo/main.c (main): use g_object_set() to manipulate
the text tag
2000-12-16 07:01:48 +00:00
Havoc Pennington
94ec8cff93 remove unused call to get_last_line()
2000-12-14  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
	unused call to get_last_line()

	* gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
	here until boxed is working (and maybe after that - we should
	really not gratuitously break old code)

	* gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
	specific types for font_desc and tabs args, move them to
	GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get
	fixed. Move GdkColor args to GTK_TYPE_POINTER also.

	* gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
	use GTK_TYPE_POINTER for signal signatures as a hack-around

	* gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
	PangoTabArray

	* gtk/gtktextlayout.c (line_display_iter_to_index):
	make static
	(line_display_index_to_iter): make static

	* gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
	to marshal a string not a boxed

	* gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text

	* gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
	since the UTF-8 isn't validated yet

	* gtk/gtktextsegment.c (char_segment_check_func): don't require
	lines to end in '\n'

	* gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
	forward_to_delimiters, and grapheme boundaries
	(gtk_text_view_delete_from_cursor): properly handle non-newline
	delimiters, and grapheme boundaries

	* gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
	to gtk_text_iter_forward_to_delimiters, and make it work properly
	if empty lines end with a character other than '\n'

	* gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
	position
2000-12-14 23:26:59 +00:00
Tim Janik
2c9eb3a572 doh, this was broken beyond believe.
Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>

	* gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.

	* gtk/gtkbox.c: change property types from (u)long to (u)int for
	::position and ::padding.

	* gtk/gtkcontainer.c: make ::border_width an INT property.

	* gtk/gtkpacker.c: make ::position an INT property.

	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
	guard against NULL h/v scrollbars, since this is used at construction
	time.

	* gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
	internal gtk_clist_constructor().

	* gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
	gtk_ctree_constructor().

	* gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
	::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.

	* docs/reference/Makefile.am: fun stuff, disabled docs generation
	again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.

	* gtk/gtkwidget.[hc]:
	removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
	and gtk_widget_get().
	(gtk_widget_new): use g_object_new_valist().
	(gtk_widget_set): use g_object_set_valist().

	* gtk/gtkobject.[hc]:
	removed gtk_object_arg_get_info(), gtk_object_getv(),
	gtk_object_query_args(), gtk_object_newv(),
	gtk_object_class_add_signals(),
	gtk_object_class_user_signal_new(),
	gtk_object_class_user_signal_newv(),
	gtk_object_arg_set(), gtk_object_arg_get(),
	gtk_object_args_collect(),
	gtk_object_default_construct(),
	gtk_object_constructed(),
	GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
	removed nsignals, signals and n_args members from GtkObjectClass.
	(gtk_object_new): use g_object_new_valist().
	(gtk_object_set): use g_object_set_valist().
	(gtk_object_get): use g_object_get_valist().

	* gtk/gtkcompat.h: define gtk_object_default_construct().

	* gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
	g_object_new().

	* gtk/*.c: removed gtk_object_class_add_signals() from class_init()
	fucntions, cleaned up method assignments (make sure your structures
	are setup properly before calling out). removed all GTK_CONSTRUCTED
	hacks ;)
2000-12-13 01:34:41 +00:00
Havoc Pennington
310a0d4fcc Handle chopping off \r\n and 0x2029 in addition to \n before passing to
2000-12-11  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
	Handle chopping off \r\n and 0x2029 in addition to \n before
	passing to PangoLayout

	* gtk/gtkimcontextsimple.c
	(gtk_im_context_simple_get_preedit_string):
	return an empty string if no match is pending

	* gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
	assertion that the returned preedit string was sane

	* gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
	s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
	s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
2000-12-11 15:51:20 +00:00
8
ad3f7d9653 make need_im_reset flag effective to avoid reset_ic operation being done
2000-12-08    <tajima@eng.sun.com>

        * gtk/gtktextview.c (gtk_text_view_reset_im_context):
        * gtk/gtkentry.c (gtk_entry_reset_im_context):
          make need_im_reset flag effective to avoid reset_ic operation
          being done repeatedly.
2000-12-09 01:04:54 +00:00
Havoc Pennington
5995baabef Remove "draw" virtual method and signal
2000-12-02  Havoc Pennington  <hp@pobox.com>

* gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
method and signal

* gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
calls gdk_window_process_updates() to push the exposes through
(gtk_widget_class_init): No more draw signal, no
gtk_widget_real_draw()

* gtk/gtkbin.c (gtk_bin_draw): remove

* gtk/gtkbox.c (gtk_box_draw): remove

* gtk/gtkbutton.c (gtk_button_draw): remove

* gtk/gtkcalendar.c (gtk_calendar_draw): remove

* gtk/gtkcheckbutton.c (gtk_check_button_draw): remove

* gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove

* gtk/gtkclist.c (gtk_clist_draw): remove

* gtk/gtkentry.c (gtk_entry_draw): remove

* gtk/gtkeventbox.c (gtk_event_box_draw): remove

* gtk/gtkfixed.c (gtk_fixed_draw): remove

* gtk/gtkframe.c (gtk_frame_draw): remove

* gtk/gtkhandlebox.c (gtk_handle_box_draw): remove

* gtk/gtkhpaned.c (gtk_hpaned_draw): remove

* gtk/gtklayout.c (gtk_layout_draw): remove

* gtk/gtklist.c (gtk_list_draw): remove

* gtk/gtklistitem.c (gtk_list_item_draw): remove

* gtk/gtkmenu.c (gtk_menu_draw): remove

* gtk/gtkmenubar.c (gtk_menu_bar_draw): remove

* gtk/gtkmenuitem.c (gtk_menu_item_draw): remove

* gtk/gtknotebook.c (gtk_notebook_draw): remove

* gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove

* gtk/gtkpacker.c (gtk_packer_draw): remove

* gtk/gtkrange.c (gtk_range_draw): remove

* gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove

* gtk/gtkspinbutton.c (gtk_spin_button_draw): remove

* gtk/gtktable.c (gtk_table_draw): remove

* gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove

* gtk/gtktext.c (gtk_text_draw): remove

* gtk/gtktextview.c (gtk_text_view_draw): remove

* gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove

* gtk/gtktoolbar.c (gtk_toolbar_draw): remove

* gtk/gtktree.c (gtk_tree_draw): remove

* gtk/gtktreeitem.c (gtk_tree_item_draw): remove

* gtk/gtktreeview.c (gtk_tree_view_draw): remove

* gtk/gtkviewport.c (gtk_viewport_draw): remove

* gtk/gtkvpaned.c (gtk_vpaned_draw): remove

* gtk/gtkvscale.c (gtk_vscale_draw): remove

* gtk/gtkwindow.c (gtk_window_draw): remove
2000-12-04 01:15:37 +00:00
Havoc Pennington
35876710dc don't create dangling pointers to the appearance attributes from the line
2000-11-30  Havoc Pennington  <hp@pobox.com>

* gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
dangling pointers to the appearance attributes from the
line display

* gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
width/height to mean "full width/height of drawable"

* gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
click to select word/line

* gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters
when getting log attrs. Get a slice, so that pixmaps and stuff
are properly handled.

* gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
paste into the selection (replaces selection now, previously
crashed or added to selection). Reveals longstanding btree bug -
select multiple lines, middle-click on the selection, boom. This
isn't related to my changes though.

* gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
PangoLogAttrs changes
(gtk_entry_move_backward_word): ditto

        * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
	functions return bool whether the iter moved onto a
	dereferenceable position.

	 * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
	 functions for motion in terms of display lines.

	 * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
	 get the buffer a mark is inside
2000-12-02 07:51:37 +00:00
Tor Lillqvist
68ae419bfb Changes by Hans Breuer:
2000-11-30  Tor Lillqvist  <tml@iki.fi>

	Changes by Hans Breuer:

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
	Dont't use negative width and height as max_hints. This fixes
	Owen's recent testgtk changes for win32.

	* gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
	gdk_win32_hdc_release): These are exported and may be called with
	other drawable types than our GdkDrawableImplWin32 (?).

	* gdk/gdkwindow.c: Backing store appears to work on Windows now,
	so always #define USE_BACKING_STORE.

	* gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
	of printf for debugging output.

	* gtk/gtktextlayout.c (allocate_child_widgets): Ditto.

	* gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.

	* gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
	declaration.

	* gtk/gtktexttypes.h: Ditto.

	* gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
	(GDK_VoidSymbol) also if in case of arg check failure.

	* gtk/gtkimcontextsimple.c
	(gtk_im_context_simple_get_preedit_string): Don't assign cursor
	position to the pointer, but to the variable it points to.

	* gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.

	* gtk/gtk.def: Updates.
2000-11-30 23:39:50 +00:00
Havoc Pennington
6f7dd53b80 Semi-finish widget embedding. Need guffaw scrolling to be implemented in
2000-11-20  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
	gtk/testtext.c: Semi-finish widget embedding. Need guffaw
	scrolling to be implemented in GDK to finish. Also, right now
	we just size_allocate all children on every layout change,
	which is pretty lame. Test commented out of testtext.c,
	until it works better.
2000-11-20 23:51:51 +00:00
Havoc Pennington
74df6fc0a5 Apply patch from Mikael Hermansson to temporarily stop blinking while the
2000-11-15  Havoc Pennington  <hp@pobox.com>

* gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
patch from Mikael Hermansson to temporarily stop blinking while
the user is using the keyboard to type or navigate.

Also, when blinking, stay on for longer than we stay off. Also,
return from start_cursor_blink if !cursor_visible, to save
checking that flag all over the place before we call
start_cursor_blink.
2000-11-16 05:45:42 +00:00
Havoc Pennington
306db7d03d Invalidate the side windows when we invalidate the main window.
2000-11-15  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (changed_handler): Invalidate the side windows
	when we invalidate the main window.

	* gtk/testtext.c (create_view): Get rid of text_changed_callback,
	GtkTextView will now invalidate the side windows for us when text
	changes.
2000-11-15 21:22:52 +00:00
Owen Taylor
de49f2ce05 ed Nov 15 16:02:20 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
	unconditionally, since we may need to update the horizontal
	scrollbars even if the height didn't change.

	* gtk/gtktextlayout.c (add_preedit_attrs): Always get
	the extra attrs, since some of them affect size.

	* gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
	x_offset correctly.
2000-11-15 21:12:58 +00:00
Havoc Pennington
5bd2297932 offset redraw rect by xoffset in addition to yoffset, so horizontal
2000-11-15  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (changed_handler): offset redraw rect by
	xoffset in addition to yoffset, so horizontal scrolling doesn't
	break redraws
2000-11-15 17:49:07 +00:00
Havoc Pennington
6da9e17a1e Fix drag-and-drop to default to GDK_ACTION_MOVE if the drag is within a
2000-11-14  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
	to default to GDK_ACTION_MOVE if the drag is within a single
	widget. Defaults to GDK_ACTION_COPY between widgets.
2000-11-14 21:07:11 +00:00
Havoc Pennington
961e59fb2e spiff up the demo a bit; reveals still more bugs.
2000-11-13  Havoc Pennington  <hp@pobox.com>

* demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
still more bugs.

* gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
scroll the GdkWindows before realization.
2000-11-14 04:57:33 +00:00
Havoc Pennington
73a00eeb44 fix bug where GC didn't always get updated properly
2000-11-13  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug
	where GC didn't always get updated properly

	* demos/gtk-demo/textview.c (create_tags): Use subattributes
	of fonts instead of setting the entire font

	* gtk/testtext.c (fill_example_buffer): Use "size" instead of
	setting entire font

	* gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings

	* gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into
	a bunch of individually-settable font attributes. You can still
	use the "font" and "font_desc" args, they just set all the font
	attributes at once.
2000-11-14 01:08:28 +00:00
Havoc Pennington
15e0004b10 Free the filename of the module file.
2000-11-13  Havoc Pennington  <hp@redhat.com>

	* gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of
	the module file.

	* gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
	dest->language

	* gtk/testtext.c: Test pixels above/below/inside paragraphs
	settings

	* gtk/gtktextview.c: Implement object args and setters/getters for
	all the aspects of the GtkTextAttributes that are not set from
	GtkWidget attributes. This is spacing, justification, margins,
	etc.

	(gtk_text_view_set_arg)
	(gtk_text_view_get_arg): implement get/set for editable, wrap mode
	args
	(gtk_text_view_class_init): Add args for justify, left_margin,
	right_margin, indent, and tabs


	* gtk/gtktextlayout.c (set_para_values): fix to display indent
	attribute properly

	* gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute,
	replace with indent attribute

	* gtk/gtktextlayout.c (set_para_values): multiply indent by
	PANGO_SCALE

	* gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
	rearranging code to do that
	(gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
	i.e. don't subtract the top_margin first, just to keep
	all margin-futzing in one place.

	* gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter

	* gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
	special case of last line, Pango now handles this itself.
	(gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the
	Y coordinate
	(gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
	(find_display_line_above): wasn't moving the byte index as it
	iterated over lines, so always returned byte 0. Also, port to use
	PangoLayoutIter.
	(find_display_line_below): same problem as
	find_display_line_above. Also, port to use PangoLayoutIter.
2000-11-13 18:49:52 +00:00
Havoc Pennington
9adcd8a4b8 change demo install dir to datadir/gtk+-2.0/demo
2000-11-12  Havoc Pennington  <hp@pobox.com>

* demos/gtk-demo/Makefile.am (democodedir): change demo install
dir to datadir/gtk+-2.0/demo

* demos/gtk-demo/textview.c: Text widget demo; reveals all
sorts of text widget and Pango font bugs. Urgh.

* demos/gtk-demo/Makefile.am (demos): Add textview.c

* demos/gtk-demo/main.c (create_tree): Add instructions at top of
tree that you should double click to see the demo. Fix
types of variables to reflect changed return values from
GtkTreeStore and GtkTreeViewColumn constructors.

* gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
newly-created buffer to prepare for GObject semantics

* gtk/testtext.c: don't leak the buffer with GObject semantics

* gtk/testtextbuffer.c: ditto
2000-11-13 06:08:17 +00:00
Owen Taylor
dfba226908 Make parent_class static.
Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcellrenderertextpixbuf.c: Make parent_class
	static.

Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
	gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c:
	Add support for positioning the cursor within the preedit string.

Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextview.c: Check for bindings after passing
	events to im context filter.

Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextlayout.c (add_preedit_attrs): Handle
	empty attribute lists properly.

Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/queryimmodules.c (main): Return non-zero exit
	status if errors were encountered querying any
	modules.

Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
	don't include gtkthemes.h.

	* gtk/testgtk.c gtk/testtext.c: Set environment variables
	to point

	* gtk/Makefile.am: Add new .c and .h files, build
	gtk-query-immodules and use it to create a gtk.immodules
	file for use of test programs.

	* gtk/gtkpreview.c: remove extra blank line.

Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table):
	Add the ability to add extra tables beyond the default
	one, and also the ability to have compose sequences
	that are prefixes of other compose sequences.

	* gtk/gtkimcontextsimple.c: Export a preedit string which
	consists of possible candidates for keystrokes that have
	been entered but not yet committed.

	* gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
	gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()

	* gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems):
	Add a function to add input-method switching menu items
	to a menu.

	* gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
	when switching input methods.

	* gtk/gtkimcontextsimple.[ch]: Change the format of
	the compose table to allow compose tables of different
	lengths / sequence.

Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkimmodule.[ch]: Support routines for loading
	GtkIMContext implementations dynamically at runtime.

	* gtk/queryimmodules.c: Program to query the available
	input modules and write the results into a file.

	* gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
	extra config options "im_module_file" (cache file for
	input method modules), and "im_module_path" - path
	to look for modules when generating cache file.

	This doesn't scale.

Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the
	generic	code from gtkthemes into a new abstraction
	GtkModule which has the logic for implementing
	a loadable module which implements a number of
	GObject types.

Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkeditable.[ch]: Convert GtkEditable from
	a class into an interface

	* gtk/gtkoldeditable.[ch]: Move the old editable
	implementation into here, so legacy widgets can
	still rely on the implemenation. GtkOldEditable
	exports GtkEditable. Make selection handling
	code use new text conversion functions (and
	handle UTF-8 as a side-effect). Use GtkClipboard
	for CLIPBOARD.

	* gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
	Adopt to match above changes.

	* gtk/gtkentry.[ch]: Implement GtkEditable directly,
	avoid GtkOldEditable implementation. Restructure
        to reduce number of places that modify state directly.
	Move to GtkBindingSet. Display the preedit string.
	Queue recomputation of PangoLayout and scroll position
	to improve effiency of doing complex changes naively.
	Add a menu with cut/copy/paste and input method selection.

Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
	to set preedit string and attributes; display preedit string by
	inserting string and attributes at cursor when creating the
	GtkTextLineDisplay.

	* gtk/gtktextlayout.c: Move all conversions between byte
	positions in PangoLayout and GtkTextIter into new functions
	line_display_iter_to_index/index_to_iter that properly
	handle the preedit string.

	* gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
	it to return const char * (eventually will end up
	as GCONST char *, most likely.)

	* gtk/gtktextview.[ch]: Handle the preedit string, call
	gtk_im_context_reset() as necessary, add a menu to switch
	input methods.

	* gtk/gtktextlayout.[ch]: Remove useless
	gtk_text_layout_get_log_attrs() function.
2000-11-12 03:43:24 +00:00
Havoc Pennington
bbabca88a3 Make DND copy pixbufs and tags when source and target share a tag table.
2000-11-08  Havoc Pennington  <hp@pobox.com>

        Make DND copy pixbufs and tags when source and target share a
	tag table.

	* gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
	in-process GTK_TEXT_BUFFER_CONTENTS target
	(gtk_text_view_drag_data_received): Paste from
	GTK_TEXT_BUFFER_CONTENTS if we receive it.
2000-11-09 04:03:19 +00:00
Havoc Pennington
d3c9910ad2 Half-ass somewhat fix this function, so that scrolling to the insertion
2000-11-07  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
	Half-ass somewhat fix this function, so that scrolling to the
	insertion point works. Pango hacking is in the future to really
	fix it.

	* gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
	length of data, no longer used.

	* gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
	method contents in here, get rid of destroy method
	(gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
	that were backward. Remove debug spew.
	(cut_or_copy): Make the clipboard work with insert_range to
	preserve tags and pixbufs, not just the primary selection.
2000-11-07 23:05:19 +00:00
Havoc Pennington
f1de9df051 rename to gtk_text_mark_get_visible
2000-11-07  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextmark.c (gtk_text_mark_is_visible): rename
	to gtk_text_mark_get_visible

	* gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
	bug that was generating an invalid iterator

	* gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
	ensure_char_offsets() in front of code placing the iter in an
	invalid state.

	* gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
	make override_location arg const
	(paste): Replace the selection if we paste into the
	current selection

	* gtk/gtkselection.h: Remove "GtkSelectioData"
	(struct _GtkSelectionData): move the definition here.

	* gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
	Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies

	* gtk/gtktextiter.c (gtk_text_iter_get_tags): New function

	* gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
	(gtk_text_buffer_insert_range_interactive): implement
	(gtk_text_buffer_get_tags): Remove, replaced by
	gtk_text_iter_get_tags()

	* gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
	limit parameter, to avoid infinite linear scan.
	(gtk_text_iter_backward_search): Add search limit
	(gtk_text_iter_forward_find_char): Add search limit
	(gtk_text_iter_backward_find_char): Add search limit
2000-11-07 21:01:02 +00:00
Havoc Pennington
69f42512fa Derive from GtkDialog, and use stock buttons. Should be 100% source
2000-11-02  Havoc Pennington  <hp@redhat.com>

	* gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
	use stock buttons. Should be 100% source compatible, appropriate
	filesel fields now point to dialog->vbox and dialog->action_area.
	On the bizarre side, dialog->action_area and filesel->action_area
	are not the same widget.
	(gtk_file_selection_init): Put some padding around the selection
	entry, so it isn't touching the GtkDialog separator.

	* gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog,
	use stock buttons, etc. Should also be source compatible.
	Set the dialog default title in _init not _new().

	* gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init):
	Use stock buttons; don't put a button box inside the existing
	dialog button box. Don't bother with push/pop colormap anymore.

	* gtk/gtkdialog.h (GtkResponseType): Add a bunch of more
	specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
	for message dialog, and necessary for the font selection and color
	selection with help and apply buttons.

	* gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer
	to the created button widget. Set GTK_CAN_DEFAULT on the button.
	(gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
	between buttons, put less padding around the action area.
	(gtk_dialog_run): Exit on unmap rather than on destroy.
	This will also exit the loop if the widget is hidden.
	(gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
	instead of GTK_RESPONSE_NONE; since we're already adding a bunch
	of GTK_RESPONSE_* stuff, this seems cleaner, and lets you
	special-case delete event.

	* gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
	formatting
2000-11-06 16:44:01 +00:00