Commit Graph

56 Commits

Author SHA1 Message Date
47c282f8c1 gal/e-text/e-text.[ch] : break EFont dependency
2003-04-08  Mike Kestner  <mkestner@ximian.com>

	gal/e-text/e-text.[ch] : break EFont dependency

svn path=/trunk/; revision=20763
2003-04-08 17:09:10 +00:00
708189441c set handle_popup to TRUE on the EText.
2003-04-03  Chris Toshok  <toshok@ximian.com>

	* gal/e-text/e-entry.c (e_entry_init): set handle_popup to TRUE on
	the EText.

	* gal/e-text/e-text.c (e_text_set_property): add setter for
	handle_popup.
	(e_text_get_property): add getter for handle_popup.
	(e_text_event): only do our special popup handling if handle_popup
	is true.  otherwise, pass the event along.
	(e_text_class_init): install the handle_popup property.
	(e_text_init): init handle_popup to FALSE, so we get default
	behavior in most cases.

	* gal/e-text/e-text.h: add "handle_popup" field, so the user of an
	EText can decide whether to handle popups themselves.

svn path=/trunk/; revision=20664
2003-04-03 23:31:22 +00:00
edc0d3e040 only connect the signals if !im_context_signals_registered. (e_text_init):
2003-04-02  Chris Toshok  <toshok@ximian.com>

	* gal/e-text/e-text.c (e_text_event): only connect the signals if
	!im_context_signals_registered.
	(e_text_init): init im_context_signals_registered = FALSE.

	* gal/e-text/e-text.c (struct _EText): add
	im_context_signals_registered.

svn path=/trunk/; revision=20656
2003-04-03 06:44:40 +00:00
d2af55db1a [ either fixes #39702 or comes damn, damn close. also, fixes EText to not
2003-04-02  Chris Toshok  <toshok@ximian.com>

	[ either fixes #39702 or comes damn, damn close.  also, fixes EText
	to not suck *nearly* as much. ]
	* gal/util/e-marshal.list: add NONE:POINTER,INT,OBJECT.

	* gal/e-text/e-entry.h: (struct _EEntryClass): popup ->
	populate_popup.

	* gal/e-text/e-entry.c (proxy_changed): rename, the old name was
	too damn long.
	(proxy_activate): same.
	(proxy_populate_popup): same, and change from popup to
	populate_popup.
	(e_entry_init): track change to cb names, and populate_popup.
	also, pass the ECanvas's im_context to the EText.
	(e_entry_class_init): POPUP -> POPULATE_POPUP.

	* gal/e-text/e-text.h (struct _EText): remove the old selection
	stuff, and add im_context/reset_im_context fields.
	(struct _ETextClass): popup -> populate_popup.

	* gal/e-text/e-text.c (e_text_dispose): remove all the
	GtkInvisible based selection stuff, and disconnect from/unref the
	im_context.
	(e_text_set_property): add "im_context" handling.
	(e_text_get_property): same.
	(e_text_event): connect/disconnect from the IM context's signals
	in the FOCUS_CHANGE handler.  in the KEY_PRESS/RELEASE handler,
	use gtk_im_context_filter_keypress if we have an im_context.
	also, use e_text_do_popup now instead of just emitting the "popup"
	signal.
	(e_text_copy_clipboard): new function.
	(e_text_delete_selection): new function.
	(e_text_cut_clipboard): new function.
	(e_text_paste_clipboard): new function.
	(e_text_select_all): new function.
	(primary_get_cb): new function, handle requests for the primary
	selection when we're the owner.
	(primary_clear_cb): new function, unfinished.
	(e_text_update_primary_selection): new function.
	(paste_received): new function, insert pasted text.
	(e_text_paste): new function,
	(popup_menu_detach): new function, not needed really.
	(popup_targets_received): new function, pop up the popup once we
	have the selection information necessary to sensitize the c/c/p
	buttons.
	(e_text_do_popup): new function, request the selection.
	(e_text_reset_im_context): new function.
	(e_text_command): for E_TEP_SELECT, call
	e_text_update_primary_selection.  for E_TEP_DELETE/INSERT,
	_delete_selection -> e_text_delete_selection.  for E_TEP_COPY,
	call e_text_copy_clipboard.  for E_TEP_PASTE/E_TEP_GET_SELECTION
	call e_text_paste.
	(e_text_class_init): change the "popup" signal to
	"populate_popup".  Also, add the "im_context" property.
	(e_text_commit_cb): new function. IM context callback.
	(e_text_retrieve_surrounding_cb): new function.  IM context
	callback.
	(e_text_delete_surrounding_cb): new function.  IM context
	callback.  unfinished.

svn path=/trunk/; revision=20653
2003-04-03 06:06:20 +00:00
84fabde6ba lots of stuff, add 2 e-text widgets, 1 readonly, the other writable (that
2002-12-08  Chris Toshok  <toshok@ximian.com>

	* tests/test-text.c: lots of stuff, add 2 e-text widgets, 1
	readonly, the other writable (that uses the uri model..)

	* gal/e-text/e-text.[ch]: lots of pango changes.  we don't do
	*anything* with gdk/e fonts now.  everything is pango.  There are
	still some issues while editting but display should more or less
	work properly now, and without all the performance problems.

	* gal/e-text/e-completion-view.c (e_completion_view_expose_event):
	use gtk_widget_send_expose instead of gtk_widget_event so we don't
	get the annoying gtk warning.

	* gal/e-text/e-entry.c (e_entry_dispose): make sure both the gdk
	and gtk grabs are removed.
	(e_entry_class_init): fill_color_gdk is a boxed type, not pointer.

	* gal/e-text/e-text-model-uri.h (E_TYPE_TEXT_MODEL_URI): oops,
	this should be e_text_model_uri_get_type, not
	e_text_model_get_type.

svn path=/trunk/; revision=19054
2002-12-08 21:44:08 +00:00
f5b3a0e2e5 commit clahey's original pango work.
2002-11-19  Chris Toshok  <toshok@ximian.com>

	* gal/e-text/e-text.[ch]: commit clahey's original pango work.

svn path=/trunk/; revision=18850
2002-11-19 23:59:20 +00:00
d8e4ebebc3 Lots of GObject work.
2002-11-16  Chris Toshok  <toshok@ximian.com>

	* gal/e-text/e-completion-test.c: Lots of GObject work.

	* gal/e-text/e-completion-view.[ch]: same.

	* gal/e-text/e-completion.[ch]: same.

	* gal/e-text/e-entry.[ch]: same.

	* gal/e-text/e-table-text-model.[ch]: same.

	* gal/e-text/e-text-model-uri.[ch]: same.

	* gal/e-text/e-text-model.[ch]: same.

	* gal/e-text/e-text-test.c: same.

	* gal/e-text/e-text.[ch]: same.

svn path=/trunk/; revision=18800
2002-11-16 23:49:31 +00:00
613453b109 merging the gal-2 branch back to the trunk.
merging the gal-2 branch back to the trunk.

svn path=/trunk/; revision=18471
2002-10-31 21:30:57 +00:00
1e3dc5a343 Reflow and redraw when the style gets set.
2002-06-03  Christopher James Lahey  <clahey@ximian.com>

	* gal/e-text/e-text.c, gal/e-text/e-text.h (e_text_style_set):
	Reflow and redraw when the style gets set.

svn path=/trunk/; revision=17086
2002-06-03 21:04:43 +00:00
784886d534 Added #include <libgnome/gnome-defs.h>.
2002-01-16  Christopher James Lahey  <clahey@ximian.com>

	* gal/e-text/e-entry.h, gal/e-text/e-table-text-model.h,
	gal/e-text/e-text-model-uri.h, gal/e-text/e-text.h,
	gal/util/e-i18n.h, gal/widgets/e-canvas-utils.h,
	gal/widgets/e-gui-utils.h, gal/widgets/e-printable.h,
	gal/widgets/gtk-combo-stack.h: Added #include
	<libgnome/gnome-defs.h>.

svn path=/trunk/; revision=15340
2002-01-16 17:21:25 +00:00
f2feef8356 Bumped version number here to 0.15.99.7.
2001-10-29  Christopher James Lahey  <clahey@ximian.com>

	* configure.in: Bumped version number here to 0.15.99.7.

	* gal/e-text/e-text.c, gal/e-text/e-text.h (e_text_stop_editing):
	Exported this function.
	(e_text_cancel_editing): New function.  Allows you to revert
	edits.

svn path=/trunk/; revision=14332
2001-10-29 11:52:22 +00:00
dc8927136a Changed the license announcement at the top of these files.
2001-10-26  Christopher James Lahey  <clahey@ximian.com>

	* gal/e-paned/e-hpaned.c, gal/e-paned/e-hpaned.h,
	gal/e-paned/e-paned.c, gal/e-paned/e-paned.h,
	gal/e-paned/e-vpaned.c, gal/e-paned/e-vpaned.h,
	gal/e-text/e-completion-match.c, gal/e-text/e-completion-match.h,
	gal/e-text/e-completion-test.c, gal/e-text/e-completion-view.c,
	gal/e-text/e-completion-view.h, gal/e-text/e-completion.c,
	gal/e-text/e-completion.h, gal/e-text/e-entry-test.c,
	gal/e-text/e-entry.c, gal/e-text/e-entry.h,
	gal/e-text/e-table-text-model.c, gal/e-text/e-table-text-model.h,
	gal/e-text/e-text-model-repos.c, gal/e-text/e-text-model-repos.h,
	gal/e-text/e-text-model-test.c, gal/e-text/e-text-model-uri.c,
	gal/e-text/e-text-model-uri.h, gal/e-text/e-text-model.c,
	gal/e-text/e-text-model.h, gal/e-text/e-text.c,
	gal/e-text/e-text.h, gal/util/e-bit-array.c,
	gal/util/e-bit-array.h, gal/util/e-cache.c, gal/util/e-cache.h,
	gal/util/e-iconv.c, gal/util/e-iconv.h, gal/util/e-sorter-array.c,
	gal/util/e-sorter-array.h, gal/util/e-sorter.c,
	gal/util/e-sorter.h, gal/util/e-text-event-processor-emacs-like.c,
	gal/util/e-text-event-processor-emacs-like.h,
	gal/util/e-text-event-processor-types.h,
	gal/util/e-text-event-processor.c,
	gal/util/e-text-event-processor.h, gal/util/e-util.c,
	gal/util/e-util.h, gal/util/e-xml-utils.c, gal/util/e-xml-utils.h,
	gal/widgets/color-group.c, gal/widgets/color-group.h,
	gal/widgets/color-palette.c, gal/widgets/color-palette.h,
	gal/widgets/e-canvas-utils.c, gal/widgets/e-canvas-utils.h,
	gal/widgets/e-canvas-vbox.c, gal/widgets/e-canvas-vbox.h,
	gal/widgets/e-canvas.c, gal/widgets/e-canvas.h,
	gal/widgets/e-categories-master-list-array.c,
	gal/widgets/e-categories-master-list-array.h,
	gal/widgets/e-categories-master-list-combo.c,
	gal/widgets/e-categories-master-list-combo.h,
	gal/widgets/e-categories-master-list-dialog-model.c,
	gal/widgets/e-categories-master-list-dialog-model.h,
	gal/widgets/e-categories-master-list-dialog.c,
	gal/widgets/e-categories-master-list-dialog.h,
	gal/widgets/e-categories-master-list.c,
	gal/widgets/e-categories-master-list.h,
	gal/widgets/e-categories.c, gal/widgets/e-categories.h,
	gal/widgets/e-colors.c, gal/widgets/e-colors.h,
	gal/widgets/e-cursors.c, gal/widgets/e-cursors.h,
	gal/widgets/e-font.c, gal/widgets/e-font.h,
	gal/widgets/e-gui-utils.c, gal/widgets/e-gui-utils.h,
	gal/widgets/e-hscrollbar.c, gal/widgets/e-hscrollbar.h,
	gal/widgets/e-popup-menu.c, gal/widgets/e-popup-menu.h,
	gal/widgets/e-printable.c, gal/widgets/e-printable.h,
	gal/widgets/e-reflow-model.c, gal/widgets/e-reflow-model.h,
	gal/widgets/e-reflow-sorted.c, gal/widgets/e-reflow-sorted.h,
	gal/widgets/e-reflow.c, gal/widgets/e-reflow.h,
	gal/widgets/e-scroll-frame.c, gal/widgets/e-scroll-frame.h,
	gal/widgets/e-selection-model-array.c,
	gal/widgets/e-selection-model-array.h,
	gal/widgets/e-selection-model-simple.c,
	gal/widgets/e-selection-model-simple.h,
	gal/widgets/e-selection-model.c, gal/widgets/e-selection-model.h,
	gal/widgets/e-unicode.c, gal/widgets/e-unicode.h,
	gal/widgets/e-vscrollbar.c, gal/widgets/e-vscrollbar.h,
	gal/widgets/gtk-combo-box.c, gal/widgets/gtk-combo-box.h,
	gal/widgets/gtk-combo-stack.c, gal/widgets/gtk-combo-stack.h,
	gal/widgets/gtk-combo-text.c, gal/widgets/gtk-combo-text.h,
	gal/widgets/test-color.c, gal/widgets/test-e-font.c,
	gal/widgets/test-e-font.h, gal/widgets/test-font-loading.c,
	gal/widgets/widget-color-combo.c,
	gal/widgets/widget-color-combo.h,
	gal/widgets/widget-pixmap-combo.c,
	gal/widgets/widget-pixmap-combo.h,
	src/e-table/e-table-sorted-variable.c, tests/test-define-views.c,
	tests/test-shortcut-bar.c, tests/test-table-1.c,
	tests/test-tree-1.c, tests/test-tree-2.c, tests/test-tree-3.c,
	tests/test-unicode.c: Changed the license announcement at the top
	of these files.

svn path=/trunk/; revision=14158
2001-10-26 18:33:33 +00:00
4720ad36fa Bumped version to 0.15.99.3 for EText's "draw_button" argument.
2001-10-23  Christopher James Lahey  <clahey@ximian.com>

	* configure.in: Bumped version to 0.15.99.3 for EText's
	"draw_button" argument.

	* gal/e-text/e-entry.c: Forward the "draw_button" argument to the
	contained EText.

	* gal/e-text/e-text.c, gal/e-text/e-text.h (e_text_draw): Added
	new "draw_button" argument.  If this is turned on and the first
	widget that's a parent of the containing canvas with GTK_NO_WINDOW
	turned off above the current one is a button, EText draws a button
	underneath itself to match the containing button.

From gal/shortcut-bar/ChangeLog:

2001-10-23  Christopher James Lahey  <clahey@ximian.com>

	* e-shortcut-bar.c (e_shortcut_bar_add_group): Turn on
	"draw_button" argument to EEntry.

svn path=/trunk/; revision=13934
2001-10-23 06:30:54 +00:00
f22daae8e6 Accept UTF8_STRING, UTF-8, and STRING targets when getting the selection.
2001-10-22  Christopher James Lahey  <clahey@ximian.com>

	* gal/e-text/e-text.c, gal/e-text/e-text.h (e_text_get_selection):
	Accept UTF8_STRING, UTF-8, and STRING targets when getting the
	selection.

svn path=/trunk/; revision=13864
2001-10-22 04:16:03 +00:00
19c5a95912 Changed some of these gbooleans to be guint : 1s.
2001-10-20  Christopher James Lahey  <clahey@ximian.com>

	* gal/e-text/e-text.h: Changed some of these gbooleans to be
	guint : 1s.

	* gal/widgets/e-canvas.c (e_canvas_item_grab_focus): Send the in
	event here to the new focused item instead of the old one.

svn path=/trunk/; revision=13824
2001-10-20 19:03:03 +00:00
20b8f6e7a7 Made it so that if allow_newlines is FALSE, pasting into ETexts doesn't
2001-09-26  Christopher James Lahey  <clahey@ximian.com>

	* gal/e-text/e-text.c, gal/e-text/e-text.h (_insert): Made it so
	that if allow_newlines is FALSE, pasting into ETexts doesn't
	insert carriage returns.  Fixes Ximian bug #5761 and Ximian bug
	#9067.

svn path=/trunk/; revision=13143
2001-09-26 10:03:25 +00:00
23bb03e993 Destroy the tooltip if we're the owner when we're destroyed. Also, keep a
2001-07-07  Christopher James Lahey  <clahey@ximian.com>

	* gal/e-text/e-text.c, gal/e-text/e-text.h (e_text_destroy):
	Destroy the tooltip if we're the owner when we're destroyed.
	Also, keep a reference to the text object in case we get a signal
	on the window after the text object is destroyed.

	* gal/widgets/e-canvas.c (e_canvas_destroy): Hide the tooltip if
	there is one when the canvas is destroyed.

svn path=/trunk/; revision=10888
2001-07-07 22:21:12 +00:00
8da0e6054f Added strikeout argument.
2001-04-15  Christopher James Lahey  <clahey@ximian.com>

	* gal/e-text/e-text.c, gal/e-text/e-text.h: Added strikeout
	argument.

svn path=/trunk/; revision=9327
2001-04-15 16:50:36 +00:00
15541de2db Added "bold" argument.
2001-04-15  Christopher James Lahey  <clahey@ximian.com>

	* gal/e-text/e-text.c, gal/e-text/e-text.h: Added "bold" argument.

svn path=/trunk/; revision=9319
2001-04-15 12:59:16 +00:00
7957a3085c Fixed headers. Moved the .h associated with each .c to the top of the list
2001-04-04  Christopher James Lahey  <clahey@ximian.com>

	* gal/e-text/e-text-model-uri.c, gal/e-text/e-text.c,
	gal/e-text/e-text.h, gal/e-text/e-text-event-processor.c,
	gal/util/e-xml-utils.c, gal/widgets/e-cursors.c,
	gal/widgets/e-cursors.h: Fixed headers.  Moved the .h associated
	with each .c to the top of the list of included files.

	* gal/util/e-util.h: Removed the bonobo-xobject.h header here.

	* gal/util/e-xml-utils.c: Replaced strcasecmp with g_strcasecmp.

	* gal/widgets/e-canvas-vbox.c: Make this work even if the item is
	destroyed after the vbox.

	* gal/widgets/e-categories.c (do_parse_categories): Made this
	translate using e_utf8_from_locale string as it should.

svn path=/trunk/; revision=9175
2001-04-04 12:25:55 +00:00
8940bcc90c Fix headers. Ditto. Ditto. Ditto. Ditto. Ditto. Ditto. Same. Ditto. Same
2001-04-04  Kjartan Maraas  <kmaraas@gnome.org>

	* gal/e-text/e-entry.c: Fix headers.
	* gal/e-text/e-table-text-model.[ch]: Ditto.
	* gal/e-text/e-table-text-model-uri.c: Ditto.
	* gal/e-text/e-text-model-uri.[ch]: Ditto.
	* gal/e-text/e-text-model.[ch]: Ditto.
	* gal/e-text/e-text.[ch]: Ditto.
	* gal/util/e-text-event-processor-emacs-like.[ch]: Ditto.
	* gal/util/e-text-event-processor.[ch]: Same.
	* gal/util/e-util.h: Ditto.
	* gal/util/e-xml-utils.[ch]: Same here.
	* gal/widgets/color-group.[ch]: Ditto.
	* gal/widgets/color-palette.[ch]: Ditto.
	* gal/widgets/e-canvas-utils.h: Ditto.
	* gal/widgets/e-canvas-vbox.[ch]: Ditto.
	* gal/widgets/e-canvas.[ch]: Ditto.
	* gal/widgets/e-categories.h: Ditto.
	* gal/widgets/e-colors.[ch]: Ditto.
	* gal/widgets/e-cursors.c: Ditto.
	* gal/widgets/e-gui-utils.c: Ditto
	* gal/widgets/e-popup-menu.[ch]: Same.
	* gal/widgets/e-reflow-sorted.c: Same.
	* gal/widgets/e-reflow.[ch]: Same.
	* gal/widgets/e-selection-model.c: Same
	* gal/widgets/e-unicode.[ch]: Same.
	* gal/widgets/gtk-combo-stack.[ch]: Same.
	* gal/widgets/widget-color-combo.[ch]: Same.
	* gal/widgets/widget-pixmap-combo.[ch]: Same.

svn path=/trunk/; revision=9168
2001-04-04 07:33:09 +00:00
10d0e730ec Added. This is part of a change of sematics that makes things much nicer
2001-03-06  Jon Trowbridge  <trow@gnu.org>

	* gal/e-text/e-entry.c (e_entry_text_keypress): Added.  This is
	part of a change of sematics that makes things much nicer for the
	user --- auto-activate the completion popup only on keypresses
	than also change the entry.
	(e_entry_proxy_changed): Record that the underlying EText has
	changed, and set up a timeout to clear the changed_since_keypress
	flag in a very short amount of time.
	(e_entry_init): Connect to the EText's "keypress" signal".
	(e_entry_destroy): If our completion_delay_tag timeout is still
	floating around out there when we are winding things down, remove
	it.

	* gal/e-text/e-text.c (e_text_class_init): Added keypress signal.
	(e_text_text_model_reposition): Removed some old cruft.
	(e_text_event): Emit our keypress signal after handling events of
	type GDK_KEY_PRESS.

svn path=/trunk/; revision=8566
2001-03-06 09:47:08 +00:00
1bdc6e147f Set version number to 0.5.99.5
2001-03-05  Jon Trowbridge  <trow@gnu.org>

        * configure.in: Set version number to 0.5.99.5

        * gal/e-text/e-entry.c (e_entry_class_init): Add a "popup" signal.
        If you have trepidations about this, see the technical argument
        below.
        (e_entry_init): Connect to the EText's popup signal.
        (e_entry_proxy_popup): Proxy emitter for popup signals from the
        EText.

        * gal/e-text/e-text.c (e_text_class_init): Added a "popup" signal.
        (e_text_event): Emit the "popup" signal on right-clicks.  Now you
        could ask yourself: "should there be a signal named 'popup' in
        EText that gets emitted on right-clicks?"  And this is a
        reasonable question, since... well, this has a funny feeling to
        it.  But the whole point of GNOME, or at least one of the original
        points of GNOME, was to impose policy in a reasonable way when it
        made sense in order to simplify the user's experience.  Convention
        dictates that popup menus are tied to right-clicks --- so rather
        than setting up some elaborate forwarding of button-press signals,
        why not just impose a little policy and set up a signal that is
        closely tied to a familiar set of semantics?  Maybe it isn't the
        best thing to do from a aesthetics-of-the-API point of view, but I
        doubt anyone could condemn it as being anything more than mostly
        harmless.

svn path=/trunk/; revision=8565
2001-03-06 00:13:23 +00:00
58eeaa0977 Changed the version number to 0.5.99.1.
2001-02-19  Christopher James Lahey  <clahey@ximian.com>

	* configure.in: Changed the version number to 0.5.99.1.

	* gal/Makefile.am (libgal_la_LIBADD): Change the directories for
	e-table-text-model.lo, e-text-event-processor.lo, and
	e-text-event-processor-emacs-like.lo.  Reordered the e-text
	directory to be after the e-table directory in build order.

	* gal/e-text/Makefile.am: Removed
	e-text-event-processor-emacs-like.c,
	e-text-event-processor-emacs-like.h,
	e-text-event-processor-types.h, e-text-event-processor.c, and
	e-text-event-processor.h.  Added e-table-text-model.c and
	e-table-text-model.h.

	* gal/e-text/e-table-text-model.c: Changed the signature of these
	mehtods to match the changed signature in ETextModel.

	* gal/e-text/e-text-event-processor-emacs-like.c,
	gal/e-text/e-text-event-processor-emacs-like.h,
	gal/e-text/e-text-event-processor-types.h,
	gal/e-text/e-text-event-processor.c,
	gal/e-text/e-text-event-processor.h: Moved these to gal/util/.

	* gal/e-text/e-text.c, gal/e-text/e-text.h: Changed the includes
	to match the moved files.

	* gal/util/Makefile.am: Added e-text-event-processor-emacs-like.c,
	e-text-event-processor-emacs-like.h,
	e-text-event-processor-types.h, e-text-event-processor.c, and
	e-text-event-processor.h.

	* gal/util/e-text-event-processor-emacs-like.h,
	gal/util/e-text-event-processor.h: Changed the includes to match
	the moved files.

2001-02-19  Christopher James Lahey  <clahey@ximian.com>

	* Makefile.am: Removed e-table-text-model.c and
	e-table-text-model.h.

	* e-table-text-model.c, e-table-text-model.h: Moved these to
	gal/e-text/.

	* e-cell-text.c: Changed the include line for
	e-text-event-processor.h and e-text-event-processor-emacs-like.h.

svn path=/trunk/; revision=8298
2001-02-20 03:25:48 +00:00
0e3e3e9914 Added. Allows you to attach an ECompletion to an EEntry, and have that
2001-02-19  Jon Trowbridge  <trow@ximian.com>

        * gal/e-text/e-entry.c (e_entry_enable_completion_full): Added.
        Allows you to attach an ECompletion to an EEntry, and have that
        ECompletion be used for (obviously enough) completions.

        * gal/e-text/e-completion-view.h, gal/e-text/e-completion-view.c:
        Added.  ECompletionView is a widget for displaying the results of
        a completion request in a format that is appropriate for a
        drop-down window.

        * gal/e-text/e-completion.h, gal/e-text/e-completion.c: Added.
        ECompletion is a "pure virtual base class" for completion-type
        operations.  It is implemented so that completions can be either
        synchronous or asynchronous.

        * gal/e-text/e-text.c: Lots of changes to accomodate the
        ETextModel changes.  First of all, we render embedded text objects
        as being underlined.  We also cause the model to emit the
        appropriate object activation signal when an embedded object is
        double-clicked.  Also, all of the code that moves the cursor in
        response to user input has been removed.  Instead, the EText now
        listens for "reposition" events from the underlying model, and
        bases all cursor motions on those.
        (get_bounds_item_relative): Fixed bug in the handling of
        differently-anchored text.  Being differently-anchored is not a
        crime or a perversion --- it is an alternative lifestyle that we
        have to respect.

        * gal/e-text/e-text-model-uri.h, gal/e-text/e-text-model-uri.c: A
        sample ETextModel that converts URIs into embedded objects that
        get opened in the browser when you double-click them.

        * gal/e-text/e-text-model-repos.h,
        gal/e-text/e-text-model-repos.c: Added.  A group of simple
        structures & functions for handling various cursor movement rules.
        These are the sorts of things that are passed as arguments to
        ETextModel "reposition" event handlers.

        * gal/e-text/e-text-model.h, gal/e-text/e-text-model.c: Privitized
        the ETextModel struct and "methodized" all of the operations, so
        that derived classes can do arbitrarily respond to get/set
        requests in arbitrarily strange ways.  Also added the concept of
        declaring regions of the text as "embedded text objects".
        Finally, caused operations that change the text to emit a
        "reposition" signal that passes information that can be used by a
        view (like an EText) to move the cursor or selection in an
        intelligent way in response to those changes.  This means that you
        can now open two ETexts that look at the same ETextModel, and have
        the cursor in one do the right thing when you edit the other.  (As
	opposed to producing a lot of potential segfaults, as it was
	before.)

svn path=/trunk/; revision=8280
2001-02-19 22:47:23 +00:00
a48def7054 Store the whole GdkColor instead of just the pixel.
2001-02-07  Christopher James Lahey  <clahey@ximian.com>

	* gal/e-text/e-text.c, gal/e-text/e-text.h (e_text_realize): Store
	the whole GdkColor instead of just the pixel.

svn path=/trunk/; revision=8063
2001-02-07 22:16:47 +00:00
2dee35819c Reverted the latest change to EText since we're in feature freeze.
2001-01-30  Christopher James Lahey  <clahey@helixcode.com>

	* Reverted the latest change to EText since we're in feature freeze.

svn path=/trunk/; revision=7912
2001-01-30 11:54:53 +00:00
b0046a3699 Connect to the model's "position" signal. (e_text_init): Set default value
2001-01-29  Jon Trowbridge  <trow@gnu.org>

	* gal/e-text/e-text.c (e_text_init): Connect to the model's
	"position" signal.
	(e_text_init): Set default value for rgba_object as blue.
	(e_text_destroy): Disconnect model position signal.
	(fix_selection): Some extra sanity checking to keep the selection
	from spilling outside of the bounds of the text string as it
	expands or contracts.  Should be obsolete due to the changes to
	objectify_uris --- but I'll leave this in here for now, in an
	attempt to avoid non-\0-terminated strings, segfaults, and all of
	that fun stuff.
	(e_text_text_model_position): Move our cursor according to the
	suggestions made by our ETextModel, via the "position" signal.
	(text_width_with_objects): Check that text is not NULL.
	(text_draw_with_objects): Accept an extra GdkGC for use in drawing
	objects.
	(e_text_set_arg): Properly handle the "position" signal when
	changing models.
	(e_text_draw): Initialize the GC for drawing objects, if
	necessary.
	(_insert): Comment out the code that adjustes text->selection_*.
	The cursor is now moved by the ETextModel directly via the
	position signal, not by the view.

	* gal/e-text/e-text-model-uri.c (objectify_uris): Add more
	sophisticated uri recognition via regular expressions.
	(objectify_uris): Changed to track position changes as model->text
	expands and contracts along with the objects.  Block the
	objectification of any chunks of text that straddle our current
	position.
	(e_text_model_uri_set_text): Added position info to objectify_uris
	call.
	(e_text_model_uri_insert): Added position info to objectify_uris
	call.
	(e_text_model_uri_insert_length): Added position info to
	objectify_uris call.
	(e_text_model_uri_delete): Added position info to objectify_uris
	call.

	* gal/e-text/e-text-model.c (e_text_model_class_init): Added a
	"position" signal that allows the ETextModel to send cursor
	positioning information back to any view.  We need this for text
	with objects, where the text string can grow and shrink in ways
	that the view doesn't expect.
	(e_text_model_real_insert): Added sanity checking of args and a
	position emission.
	(e_text_model_real_insert_length): Added sanity checking of args
	and a position emission.
	(e_text_model_real_delete): Added sanity checking of args.
	(e_text_model_suggest_position): A wrapper around the "position"
	signal emitter.

svn path=/trunk/; revision=7894
2001-01-29 20:27:38 +00:00
ac6661ee12 Handle draw background. (e_text_draw): Support both border drawing and
2000-12-24  Miguel de Icaza  <miguel@helixcode.com>

	* gal/e-text/e-text.c (e_text_set_arg): Handle draw background.
	(e_text_draw): Support both border drawing and background drawing.

	* gal/e-text/e-entry.c (et_get_arg, et_set_arg): Reduce code size by casting
	once.
	(et_set_arg, et_get_arg): Add ARG_DRAW_BORDERS handling.

svn path=/trunk/; revision=7159
2000-12-24 22:28:17 +00:00
a3de274f7c Moved files, fixed header files and paths - Federico
svn path=/trunk/; revision=5513
2000-09-19 22:57:58 +00:00
1c6bdb1bbd Changed #include lines to get e-text to compile.
svn path=/trunk/; revision=5481
2000-09-17 20:16:37 +00:00
823e4b48ee Use byte, not character based UTF-8 syntax in e-text
svn path=/trunk/; revision=4963
2000-08-22 14:12:36 +00:00
c63ea33628 Moved e-text to UTF-8
svn path=/trunk/; revision=4886
2000-08-20 03:02:05 +00:00
80206f6b32 Removed some border padding and set the "draw_borders" argument of the
2000-07-09  Christopher James Lahey  <clahey@helixcode.com>

	* widgets/e-text/e-entry.c: Removed some border padding and set
	the "draw_borders" argument of the contained GtkText.

	* widgets/e-text/e-text.c, widget/e-text/e-text.h: Added a
	"draw_borders" argument which, if set, makes the EText look more
	like a GtkEntry.

svn path=/trunk/; revision=4011
2000-07-09 12:38:16 +00:00
053cdfdbc3 Set "anchor" and "fill_clip_rectangle" arguments.
2000-07-07  Christopher James Lahey  <clahey@helixcode.com>

	* widgets/e-text/e-entry.c: Set "anchor" and "fill_clip_rectangle"
	arguments.

	* widgets/e-text/e-text.c, widgets/e-text/e-text.h: Added
	"fill_clip_rectangle" argument which describes whether to accept
	clicks throughout the clipping rectangle.

svn path=/trunk/; revision=3956
2000-07-07 18:39:43 +00:00
dad705c65c Removed the usage of "x" and "y" arguments to EText.
2000-06-21  Christopher James Lahey  <clahey@helixcode.com>

	* notes/e-note.c, widgets/meeting-time-sel/e-meeting-time-sel.c,
	widgets/shortcut-bar/e-icon-bar.c: Removed the usage of "x" and
	"y" arguments to EText.

	* widgets/e-text/e-text.c, widgets/e-text/e-text.h: Removed the
	"x" and "y" arguments to EText.   Added vertical scrolling.

svn path=/trunk/; revision=3670
2000-06-21 05:37:37 +00:00
0dabeb5908 Added an activate signal.
2000-05-08  Christopher James Lahey  <clahey@helixcode.com>

	* widget/e-text/e-text.c, widgets/e-text/e-text.h: Added an
	activate signal.

svn path=/trunk/; revision=2890
2000-05-08 00:18:20 +00:00
d8c0b9eff5 Added a "changed" signal that gets sent whenever the text changes.
2000-05-06  Christopher James Lahey  <clahey@helixcode.com>

	* widgets/e-text/e-text.c, widgets/e-text/e-text.h: Added a
	"changed" signal that gets sent whenever the text changes.

svn path=/trunk/; revision=2837
2000-05-06 21:28:21 +00:00
ef9238e9cc Made the tooltip show up in the correct place and configuration when using
2000-04-24  Christopher James Lahey  <clahey@helixcode.com>

	* widgets/e-text/e-text.c: Made the tooltip show up in the correct
	place and configuration when using the "max_lines", "anchor"
	(untested), or "justification" arguments.

From a patch by Iain Holmes <ih@csd.abdn.ac.uk>

	* widgets/e-text/e-text-event-processor-emacs-like.c,
	widget/e-text/e-text-event-processor-types.h,
	widgets/e-text/e-text.c, widgets/e-text/e-text.h: Changed C-w and
	C-y to control the X clipboard.  Added double and triple click
	events.

From widgets/e-table/:

2000-04-24  Christopher James Lahey  <clahey@helixcode.com>

	* e-table.c: Fixed some warnings.

svn path=/trunk/; revision=2581
2000-04-24 13:36:11 +00:00
f60b9107e9 Added the ability to access the text event processor.
2000-03-20  Christopher James Lahey  <clahey@helixcode.com>

        * widgets/e-text/e-text.c, widgets/e-text/e-text.h: Added the
        ability to access the text event processor.

2000-03-13  Christopher James Lahey  <clahey@helixcode.com>

        * addressbook/demo/addressbook-widget.c: Made the addressbook
        component look in the users home directory for the addressbook.xml
        file.

svn path=/trunk/; revision=2125
2000-03-21 02:53:55 +00:00
1f7ba945b1 Rearranged SUBDIRS for dependencies.
2000-03-12  Christopher James Lahey  <clahey@helixcode.com>

        * widgets/Makefile.am: Rearranged SUBDIRS for dependencies.

        * widgets/e-text/e-text-model.c, widgets/e-text-model.h: New
        object which stores a piece of text data.  All methods are
        virtual.

        * widgets/e-text/e-text.c, widgets/e-text/e-text.h: Modified this
        to use an ETextModel for its data.

        * widgets/e-text/Makefile.am: Added e-text-model.c and e-text-model.h.

        * widgets/e-minicard/test-minicard-label.c: Made this work again.

        * widgets/e-minicard/e-minicard.c,
        widgets/e-minicard/e-minicard.h: Made this use an ETableModel to
        get its data.

        * widgets/e-minicard/e-minicard-label.c,
        widgets/e-minicard/e-minicard-label.h: Added the ability to set
        the text model used for the contained text widget.

        * widgets/e-minicard/Makefile.am: Added e-table since e-minicard
        is now dependent on an e-table-model for its data.

        * e-util/e-canvas.c, e-util/e-canvas.h: Fixed some bugs here to
        speed up reflow and to make it fail less often.

        * addressbook/demo, addressbook/demo/.cvsignore,
        addressbook/demo/Makefile.am, addressbook/demo/demo.c,
        addressbook/demo/spec: A new program to test ETable and EMinicard
        integration.

        * configure.in: Added addressbook/demo/Makefile.

        * addressbook/Makefile.am: Added the demo/ subdirectory.

in widgets/e-table/:

2000-03-12  Christopher James Lahey  <clahey@helixcode.com>

        * e-table.c: Made this use an ECanvas.  Fixed a bug where
        e_table_new_from_spec_file was calling e_table_construct instead
        of e_table_construct_from_spec_file.

        * e-table-item.c, e-table-header-item.c, e-table-column-item.c:
        Switched these to use GTK_TYPE_OBJECT and GTK_VALUE_OBJECT instead
        of GTK_TYPE_POINTER and GTK_TYPE_OBJECT.

        * e-cell-text.c: Got rid of a crashing bug.

        * e-table-text-model.c, e-table-text-model.h: A new object which
        is an e-text-model which uses an e-table-model for its data.

        * Makefile.am: Added e-table-text-model.c and
        e-table-text-model.h.

        * .cvsignore: Added table-example-1 and table-example-2.

svn path=/trunk/; revision=2101
2000-03-12 07:59:42 +00:00
0a908b7fe4 Designed a new system for doing hierarchical displays in the canvas. Adds
2000-03-10  Christopher James Lahey  <clahey@helixcode.com>

        * e-util/e-canvas.c, e-util/e-canvas.h: Designed a new system for
        doing hierarchical displays in the canvas.  Adds an extra idle
        loop to the canvas system.

        * widgets/e-minicard/e-minicard.c,
        widgets/e-minicard/e-minicard-label.c,
        widgets/e-minicard/e-minicard-label.h,
        widgets/e-minicard/e-reflow.c, widgets/e-minicard/test-reflow.c,
        widgets/e-text/e-text.c, widgets/e-text/e-text.h: Adapted to use
        the new e-canvas reflow system.

svn path=/trunk/; revision=2096
2000-03-11 00:32:15 +00:00
6f357b4c2d Added a "break_characters" argument. It lets you define a set of
2000-03-07  Christopher James Lahey  <clahey@helixcode.com>

        * widgets/e-text/e-text.c, widgets/e-text/e-text.h: Added a
        "break_characters" argument.  It lets you define a set of
        characters which should cause optional linebreaks to occur.  Made
        setting the "clip_height" argument to -1 mean no height clipping.
        Moved calling the "resize" signal into an idle handler to avoid
        reentering the canvas update loop.  Made EText recalc bounds if
        the affine has changed.  Fixed up tooltip_count (this counts the
        number of ENTER and LEAVE events.)

        * widgets/e-text/e-text-test.c: Got rid of a few warnings.

        * widgets/e-minicard/e-minicard-label.h: Reindent a few lines.

        * widgets/e-minicard/e-minicard.c,
        widgets/e-minicard/e-minicard-label.c: Switch from using "x" and
        "y" to set the children's position to using
        e_canvas_item_move_absolute.

svn path=/trunk/; revision=2079
2000-03-08 01:41:47 +00:00
486e3906ec Updated these to use the canvas ::update system properly.
2000-02-28  Chris Lahey  <clahey@umich.edu>

        * widgets/e-text/e-text.c, widgets/e-text/e-text.h: Updated these
        to use the canvas ::update system properly.

svn path=/trunk/; revision=1972
2000-02-28 09:03:20 +00:00
7699b8996a This were moved to widgets/e-text/ a while ago but never removed. They
2000-02-24  Christopher James Lahey  <clahey@helixcode.com>

        * widgets/e-text.c, widgets/e-text.h, e-text-event-processor.c,
        e-text-event-processor.h, e-text-event-processor-emacs-like.c,
        e-text-event-processor-emacs-like.h,
        e-text-event-processor-types.h: This were moved to widgets/e-text/
        a while ago but never removed.  They have now been removed.

        * widgets/e-text/e-text.c, widgets/e-text/e-text.h: Removed some
        warnings from this file.  Made tooltips disappear when you're
        finished with them.

        * widgets/e-minicard/test-reflow.c,
        widgets/e-minicard/test-minicard.c,
        widgets/e-minicard/test-minicard-label.c: Commented out unused
        about_callback functions.

        * widgets/e-minicard/e-reflow.c: Made e-reflow pass an EFocus to
        its e-minicard children.

        * widgets/e-minicard/e-minicard.c: Made e-minicard take and return
        an EFocus for its "has_focus" argument.  This makes shift-tab work properly.

        * widgets/e-minicard/e-minicard-label.c: Made e-minicard-label take and return
        an EFocus for its "has_focus" argument.  Made the font that
        e-minicard-label uses only be allocated once.

        * e-util/e-canvas-utils.h: Fixed the comment at the top and added
        #ifndef __E_CANVAS_UTILS__.

        * e-util/Makefile.am: Added e-xml-utils.c and
        e-xml-utils.h.

        * e-util/e-xml-utils.h, e-util/e-xml-utils.c: Added files for some
        xml utilities.

        * e-util/e-util.h: Added type EFocus which describes which
        direction the focus will be coming from.


in mail:

2000-02-24  Christopher James Lahey  <clahey@helixcode.com>

        * message-list.c: Changed this to not use the "x" and "y"
        arguments to e-table-item.


in widgets/e-table:

2000-02-24  Christopher James Lahey  <clahey@helixcode.com>

        * e-table-subset-variable.c, e-table-subset-variable.h: A new
        model which is a subset, but you can add and remove rows.

        * test-table.c: Added a thaw method for use with the
        e-table-subset (emits model_changed.)  Adapted to the changes to
        e_table_item.  Properly parse headers.  Adapted to the changes to
        e_table, including creating example xml spec data.

        * test-cols.c, test-check.c: Added a thaw method for use with the
        e-table-subset (emits model_changed.)  Adapted to the changes to
        e_table_item.

        * e-table.c, e-table.h: Reworked e-table to use the ETable
        grouping system.  The only difference for the interface is that
        instead of passing in a column_spec and a grouping_spec, you pass
        in a single string that is an xml format that includes both pieces
        of information.

        * e-table-subset.h: Added rules for emacs to do correct
        indentation.

        * e-table-subset.c: Implemented freezing.  No signals are emitted
        while frozen and "model_changed" is emitted when thawed.

        * e-table-sorted.h: ETableSortedClass has ETableSubset as its
        parent object instead of ETableSubsetClass.  Fixed this.

        * e-table-simple.c, e-table-simple.h: Implemented the thaw method.
        Use of simple now requires an extra argument (the thaw method.)

        * e-table-model.h, e-table-model.c: Added e_table_model_freeze and
        e_table_model_thaw.

        * e-table-item.h, e-table-item.c: Reworked this a bit to make it
        provide some things the new group system needed and to make
        inter-item keyboard focus work.  Changed the external interface
        only in the list of arguments it recognizes and signals it emits.
        Instead of "x" and "y", you have to use
        e_canvas_item_move_absolute and instead of emitting a
        "height_changed" signal, it emits a "resize" signal.  There's new
        "has_focus", "width", and "height" arguments and a function to get
        the currently focused column.

        * e-table-header-item.c: Got rid of some warnings here.  Changed
        the

        * e-table-group-leaf.h, e-table-group-leaf.c,
        e-table-group-container.h, e-table-group-container.c: New types to
        make e_table_group work properly.

        * e-table-group.h, e-table-group.c: Completely reworked e-table
        grouping.  e-table-group now uses a hierarchical structure.

        * e-cell.h: Added e_cell_print.  This doesn't work yet.

        * e-cell.c: Made e_cell_realize exist.  (It was improperly named
        e_cell_view_realize in the .c.)

        * e-cell-text.c: Made the blinking cursor disappear properly.

        * check-filled.xpm, check-empty.xpm: Made these const char *[]
        instead of char *[] to avoid compiler warnings.

        * Makefile.am: Added e-table-group-container.c,
        e-table-group-container.h, e-table-group-leaf.c,
        e-table-group-leaf.h, e-table-subset-variable.c,
        e-table-subset-variable.h.

svn path=/trunk/; revision=1915
2000-02-24 06:51:23 +00:00
113c276df8 Show the text of the item, in a tooltip style. (e_text_event): Add a
2000-02-20  Iain Holmes  <ih@csd.abdn.ac.uk>

	* widgets/e-text/e-text.[ch] (_do_tooltip): Show the text of the item,
	in a tooltip style.
	(e_text_event): Add a timeout on the Enter and remove it on the Leave
	events.

	* e-text-test.c: New file to test e-text items.

svn path=/trunk/; revision=1866
2000-02-20 16:17:08 +00:00
e8fbeb4881 Removed some arguments from the .h that will never be implemented.
2000-02-11  Christopher James Lahey  <clahey@helixcode.com>

        * widgets/e-text/e-text.h: Removed some arguments from the .h that
        will never be implemented.

svn path=/trunk/; revision=1737
2000-02-11 22:49:14 +00:00
1a44ff0e97 Added line wrap and a max number of lines (max number of lines is only
2000-02-07  Christopher James Lahey  <clahey@helixcode.com>

        * widgets/e-text.h, widgets/e-text.c: Added line wrap and a max
        number of lines (max number of lines is only obeyed if text is not
        being edited).

svn path=/trunk/; revision=1691
2000-02-08 03:15:56 +00:00
bbcecaf6b7 Added an arrow cursor for the draggable columns. Made the clickable column
2000-01-27  Christopher James Lahey  <clahey@helixcode.com>

        * widgets/e-reflow.h, widgets/e-reflow.c: Added an arrow cursor
        for the draggable columns.  Made the clickable column area
        larger.

        * widgets/e-text.h, widgets/e-text.c: Added an I beam cursor for
        the text item when it is editable.

        * widgets/e-minicard-label.c: Forward enter and leave
        notifications to the contained editable text item.

svn path=/trunk/; revision=1647
2000-01-26 11:26:07 +00:00
804e7e17bf Finishing previous commit.
svn path=/trunk/; revision=1582
2000-01-17 09:13:45 +00:00