aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/text/e-text.c
Commit message (Collapse)AuthorAgeFilesLines
* Validate utf8 to avoid lock-ups. (_get_position): Validate utf8 to avoidJon Trowbridge2001-05-151-6/+8
| | | | | | | | | | 2001-05-14 Jon Trowbridge <trow@ximian.com> * gal/e-text/e-text.c (calc_line_widths): Validate utf8 to avoid lock-ups. (_get_position): Validate utf8 to avoid lock-ups. svn path=/trunk/; revision=9797
* Request an update if just our line widths needed recalculation. This fixesFederico Mena Quintero2001-05-081-0/+2
| | | | | | | | | | | 2001-05-07 Federico Mena Quintero <federico@ximian.com> * gal/e-text/e-text.c (e_text_reflow): Request an update if just our line widths needed recalculation. This fixes the bug where the text item would not repaint itself if the canvas lost the focus. svn path=/trunk/; revision=9705
* Made fewer calls to functions like split_into_lines to save time whenChristopher James Lahey2001-04-301-86/+53
| | | | | | | | | 2001-04-29 Christopher James Lahey <clahey@ximian.com> * gal/e-text/e-text.c: Made fewer calls to functions like split_into_lines to save time when possible. svn path=/trunk/; revision=9629
* Remove UNICODE_CFLAGS (e_text_test_LDADD, e_entry_test_LDADD,Dan Winship2001-04-241-43/+42
| | | | | | | | | | * gal/e-text/Makefile.am (INCLUDES): Remove UNICODE_CFLAGS (e_text_test_LDADD, e_entry_test_LDADD, e_text_model_test_LDADD, e_completion_test_LDADD): remove -lunicode, add libunicode.la * gal/e-text/e-text.c: Remove <unicode.h>, use gunicode functions. svn path=/trunk/; revision=9516
* Limit total matches, for better performance on slow machines. It isJon Trowbridge2001-04-201-10/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-04-20 Jon Trowbridge <trow@ximian.com> * gal/e-text/e-completion-test.c: Limit total matches, for better performance on slow machines. It is supposed to be a test, so correctness of the completion operations isn't really a priority... * gal/e-text/e-completion-view.c (e_completion_view_construct): Set GTK_CAN_FOCUS flag. * gal/e-text/e-entry.c (e_entry_show_popup): Evil! Evil! Unclean! Unclean! Manually check if the pointer is in the area where the popup is going to appear, and if it is, warp the pointer out of the way. After days of fucking around, this horrible hack is the only way that I've been able to figure out to keep the focus from being taken away from the entry and ending up somewhere strange when the popup pops up. (The main problem is with the case of focus-follows-cursor --- click-to-focus works fine. Sawfish idiocincracies may also be causing problems, but I don't want to unjustly accuse the WM of anything, as tempting and appealing as that can be.) (key_press_cb): Proxy for forwarding the popup's key press events to the entry. (key_release_cb): Proxy for forwarding the popup's key release events to the entry. These proxies should be enough to take care of my focus problems. Unfortunately, they aren't, and the pointer-warping-focus-horror is required for reasons that I don't fully understand. * gal/e-text/e-text.c (_get_xy_from_position): Made _get_xy_from_position return a boolean. It returns TRUE if the computation was successful (and if valid data is now in *xp and *yp), FALSE otherwise. Make sure that text->lines is not NULL, and return FALSE if it is. (_get_position): Test that _get_xy_from_position returns TRUE before using the values in x and y. (_get_position): Test that _get_xy_from_position returns TRUE before using the values in x and y. Garbage values being returned in passed-in pointers created a race condition where you could hang an EText if you deleted the entire contents of the buffer really quickly. svn path=/trunk/; revision=9468
* Propagate the event after sending it to the base EText.Christopher James Lahey2001-04-171-0/+3
| | | | | | | | | 2001-04-16 Christopher James Lahey <clahey@ximian.com> * gal/e-text/e-text.c (tooltip_event): Propagate the event after sending it to the base EText. svn path=/trunk/; revision=9379
* Made setting the rgba color work even if you're using the non-aa canvasChristopher James Lahey2001-04-161-8/+7
| | | | | | | | | 2001-04-15 Christopher James Lahey <clahey@ximian.com> * gal/e-text/e-text.c: Made setting the rgba color work even if you're using the non-aa canvas (except for the a.) svn path=/trunk/; revision=9337
* Added strikeout argument.Christopher James Lahey2001-04-161-3/+33
| | | | | | | | | 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
* Use e_canvas_hide_tooltip and e_canvas_popup_tooltip. Set bold on theChristopher James Lahey2001-04-151-20/+16
| | | | | | | | | | | | 2001-04-15 Christopher James Lahey <clahey@ximian.com> * gal/e-text/e-text.c (tooltip_event): Use e_canvas_hide_tooltip and e_canvas_popup_tooltip. Set bold on the tooltip. * gal/widgets/e-canvas.c, gal/widgets/e-canvas.h: Added e_canvas_popup_tooltip and e_canvas_hide_tooltip. svn path=/trunk/; revision=9323
* Added "bold" argument.Christopher James Lahey2001-04-151-28/+43
| | | | | | | | 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
* add a missing \Dan Winship2001-04-081-0/+1
| | | | | | | | | * tests/test-tree-3.c (INITIAL_SPEC): add a missing \ * gal/e-text/e-text.c (_get_position_from_xy): Add a "break;" to an otherwise-empty default case to make it ANSI. svn path=/trunk/; revision=9201
* Some small header cleanups & fixes, and fix to translate all popup menusGediminas Paulauskas2001-04-051-2/+2
| | | | | | | | | | | | (woohoo!): 2001-04-05 Gediminas Paulauskas <menesis@delfi.lt> * gal/widgets/e-popup-menu.c: Copied gnome_app_helper_gettext function here, and use it for translating menu names (they are passed from app as well as from gal in arrays with N_(), and domains differ). svn path=/trunk/; revision=9190
* Fixed headers. Moved the .h associated with each .c to the top of the listChristopher James Lahey2001-04-041-2/+4
| | | | | | | | | | | | | | | | | | | | | | 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
* Fix headers. Ditto. Ditto. Ditto. Ditto. Ditto. Ditto. Same. Ditto. SameKjartan Maraas2001-04-041-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Make this take an extra argument saying whether or not to grab theDan Winship2001-03-161-2/+2
| | | | | | | | | | | * gal/widgets/e-canvas.c (e_canvas_item_grab_focus): Make this take an extra argument saying whether or not to grab the widget-level focus. * gal/e-text/e-text.c (e_text_event): Update arguments to e_canvas_item_grab_focus. svn path=/trunk/; revision=8745
* Added. This is part of a change of sematics that makes things much nicerJon Trowbridge2001-03-061-14/+14
| | | | | | | | | | | | | | | | | | | | | | | 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
* Set version number to 0.5.99.5Jon Trowbridge2001-03-061-5/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Upped the version number to 0.5.99.4.Christopher James Lahey2001-03-061-0/+1
| | | | | | | | | | 2001-03-05 Christopher James Lahey <clahey@ximian.com> * configure.in: Upped the version number to 0.5.99.4. * gal/e-text/e-text.c (e_text_draw): Fixed a crash here. svn path=/trunk/; revision=8556
* Changed the version number to 0.5.99.1.Christopher James Lahey2001-02-201-1/+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
* Added. Allows you to attach an ECompletion to an EEntry, and have thatJon Trowbridge2001-02-201-256/+314
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Store the whole GdkColor instead of just the pixel.Christopher James Lahey2001-02-081-12/+8
| | | | | | | | | 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
* Fixed allocation and placement of text window.Christopher James Lahey2001-01-311-16/+26
| | | | | | | | | | | 2001-01-30 Christopher James Lahey <clahey@ximian.com> * gal/e-text/e-entry.c (canvas_size_allocate, et_set_arg): Fixed allocation and placement of text window. * gal/e-text/e-text.c (e_text_draw): Fixed display of the text. svn path=/trunk/; revision=7920
* Reverted the latest change to EText since we're in feature freeze.Christopher James Lahey2001-01-301-91/+6
| | | | | | | | 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
* Connect to the model's "position" signal. (e_text_init): Set default valueJon Trowbridge2001-01-301-6/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Added; a new test program that demonstrates objects in ETexts.Jon Trowbridge2001-01-271-105/+347
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-26 Jon Trowbridge <trow@gnu.org> * gal/e-text/e-text-model-test.c: Added; a new test program that demonstrates objects in ETexts. * gal/e-text/e-text-model-uri.c: Added; a text model that converts URIs in the text into objects that are passed off to the GNOME URI handler when activated. This is actually still extremely broken; I got it just working enough to test out my EText changes. * gal/e-text/e-text.c: A whole lot of changes, designed to make ETextModel objects render properly. The basic idea of the changes is pretty simple, though. (text_width_with_objects): First of all, this function is an alternative to e_font_utf8_text_width that takes into the account the embedded \1s in the text string and properly accounts for the width of the object strings. (unicode_strlen_with_objects): Next, this function finds the proper strlen of a string, expanding the \1s. (text_draw_with_objects): Finally, this is just a replacement for e_font_draw_utf8_text that does the right thing for objects. I've gone through all of e-text.c and replace calls by those original functions with my new object-enabled alternatives. (split_into_lines): Some tweaking to get line breaking to work properly. Made \1 into a "break character", so that we can break lines between multiple adjacent objects. (Which seemed like the right thing to do, but there may be cases where that is undesireable.) (_get_position_from_xy): Fixed to properly handle embedded objects, and to get the right selection semantics for objects. (Or at least semantics that feel right to me.) Also fixed a bug that caused selection, etc. to not work properly if the text was anchored anywhere other than with GTK_ANCHOR_NORTH*. (_get_position): Hacked to cause objects to activate when they are double-clicked. There is probably a better way to do this. * gal/e-text/e-text-model.c (e_text_model_real_object_count): Provide a default implementation of an object counter. Derived classes might want to override this for efficiency reasons. (e_text_model_strdup_expanded_text): Added. Allocates and returns a string contains the model's text with the objects "expanded" within. * gal/e-text/e-text-model.h: Added obj_count, get_nth_obj, and activate_nth_obj virtual methods to ETextModelClass. svn path=/trunk/; revision=7842
* Make tooltip appear properly even if anchor is set.Christopher James Lahey2001-01-181-1/+1
| | | | | | | | | 2001-01-18 Christopher James Lahey <clahey@helixcode.com> * gal/e-text/e-text.c (_do_tooltip): Make tooltip appear properly even if anchor is set. svn path=/trunk/; revision=7620
* Emit a "changed" signal to the EText after we gtk_object_set a "model" argJason Leach2001-01-161-0/+1
| | | | | | | | | | 2001-01-16 Jason Leach <jasonleach@usa.net> * gal/e-text/e-text.c (e_text_set_arg): Emit a "changed" signal to the EText after we gtk_object_set a "model" arg and fill the EText with text from the model, which obviously changes the text. svn path=/trunk/; revision=7530
* Fixed the border bug. Borders draw properly now.Christopher James Lahey2001-01-051-2/+2
| | | | | | | | | 2001-01-04 Christopher James Lahey <clahey@helixcode.com> * gal/e-text/e-text.c (e_text_draw): Fixed the border bug. Borders draw properly now. svn path=/trunk/; revision=7263
* Add support here for "cursor_pos". (et_get_arg): Handle ARG_CURSOR_POS.Miguel de Icaza2000-12-291-1/+19
| | | | | | | | | | | | | | | 2000-12-29 Miguel de Icaza <miguel@helixcode.com> * gal/e-text/e-entry.c: Add support here for "cursor_pos". (et_get_arg): Handle ARG_CURSOR_POS. (et_set_arg): ditto. * gal/e-text/e-text.c: Add new argument: "cursor_pos". (e_text_get_arg): Handle ARG_CURSOR_POS. (e_text_set_arg): Handle ARG_CURSOR_POS. (e_text_class_init): Add. svn path=/trunk/; revision=7192
* Added a "draw_background" argument. Set the default for theChristopher James Lahey2000-12-271-1/+1
| | | | | | | | | | | | | 2000-12-26 Christopher James Lahey <clahey@helixcode.com> * gal/e-text/e-entry.c: Added a "draw_background" argument. Set the default for the "draw_background" argument to the contained EText to TRUE. * gal/e-text/e-text.c: Changed the default for the "draw_background" argument to FALSE. svn path=/trunk/; revision=7176
* Always have some text. Fixes crash.Miguel de Icaza2000-12-261-3/+5
| | | | | | | | 2000-12-25 Miguel de Icaza <miguel@helixcode.com> * gal/e-text/e-text.c (e_text_init): Always have some text. Fixes crash. svn path=/trunk/; revision=7171
* Made the code CanvasItem correct: the code should not draw at arbitraryMiguel de Icaza2000-12-251-6/+16
| | | | | | | | | | | | | | | 2000-12-25 Miguel de Icaza <miguel@helixcode.com> * gal/e-text/e-text.c (e_text_draw): Made the code CanvasItem correct: the code should not draw at arbitrary positions in the GdkWindow, it should instead draw from item->x1, item->y1 to item->y1, item->y2 (Chris, we need to talk about this, I think my current fix is passable, but might not be fully correct. Specially the interpretation of the width, height arguments). (e_text_class_init): Fix name. (e_text_set_arg): Use correct name. svn path=/trunk/; revision=7163
* Handle draw background. (e_text_draw): Support both border drawing andMiguel de Icaza2000-12-251-13/+34
| | | | | | | | | | | | | 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
* Changed the color from yellow to light gray.Christopher James Lahey2000-12-141-1/+1
| | | | | | | | | | | | | 2000-12-13 Christopher James Lahey <clahey@helixcode.com> * gal/e-text/e-text.c (_do_tooltip): Changed the color from yellow to light gray. * gal/widgets/e-canvas-vbox.c (e_canvas_vbox_event): Made it so that e-canvas-vbox doesn't eat all the keyboard events. This means widget navigation keys work properly. svn path=/trunk/; revision=6989
* Added an "allow_newlines" argument.Christopher James Lahey2000-10-271-1/+23
| | | | | | | | | | | | | 2000-10-27 Christopher James Lahey <clahey@helixcode.com> * gal/e-text/e-entry.c, 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.c, gal/e-text/e-text-event-processor.h, gal/e-text/e-text.c: Added an "allow_newlines" argument. svn path=/trunk/; revision=6226
* remove timeouts on destroy so they don't try to write to freed dataDan Winship2000-10-201-0/+10
| | | | svn path=/trunk/; revision=6032
* Fixed gdk-font refcountingIain Holmes2000-10-131-17/+30
| | | | | | | Added font_e argument to e-text Fixed the header-item drawing the pixmap incorrectly svn path=/trunk/; revision=5894
* set cursors to NULL after destroying them, to avoid any possibility ofDamon Chaplin2000-10-081-0/+5
| | | | | | | | | | 2000-10-07 Damon Chaplin <damon@helixcode.com> * gal/e-text/e-text.c (e_text_unrealize): set cursors to NULL after destroying them, to avoid any possibility of BadCursor. (e_text_event): just return if the EText item is destroyed. svn path=/trunk/; revision=5780
* Moved files, fixed header files and paths - FedericoFederico Mena Quintero2000-09-201-6/+6
| | | | svn path=/trunk/; revision=5513
* Changed #include lines to get e-text to compile.Chris Lahey2000-09-181-3/+3
| | | | svn path=/trunk/; revision=5481
* Some UTF-8 fixes and experimental 16-bit unicode font supportLauris Kaplinski2000-09-091-5/+5
| | | | svn path=/trunk/; revision=5279
* Unicode in addressbook basically works, including simple searchingLauris Kaplinski2000-08-241-1/+1
| | | | svn path=/trunk/; revision=4997
* UTF-8 in contact editor + some fixes for dealing with illegal stringsLauris Kaplinski2000-08-231-1/+4
| | | | svn path=/trunk/; revision=4976
* Handle iso-8859-1 keys nicely in e-text and e-table. Other encodings toLauris Kaplinski2000-08-231-2/+19
| | | | | | come... svn path=/trunk/; revision=4972
* Use byte, not character based UTF-8 syntax in e-textLauris Kaplinski2000-08-221-121/+125
| | | | svn path=/trunk/; revision=4963
* Fixed a warning.Christopher James Lahey2000-08-201-0/+2
| | | | | | | | 2000-08-20 Christopher James Lahey <clahey@helixcode.com> * widgets/e-text/e-text.c: Fixed a warning. svn path=/trunk/; revision=4889
* Moved e-text to UTF-8Lauris Kaplinski2000-08-201-222/+280
| | | | svn path=/trunk/; revision=4886
* Made clicking choose the right character even if show_borders is on.Christopher James Lahey2000-08-031-1/+7
| | | | | | | | | 2000-08-02 Christopher James Lahey <clahey@helixcode.com> * widgets/e-text/e-text.c: Made clicking choose the right character even if show_borders is on. svn path=/trunk/; revision=4492
* Made focus in not change your selection position.Christopher James Lahey2000-07-221-2/+0
| | | | | | | | | 2000-07-21 Christopher James Lahey <clahey@helixcode.com> * widgets/e-text/e-text.c: Made focus in not change your selection position. svn path=/trunk/; revision=4268
* Don't draw quite as large a "flat_box". If draw_borders is TRUE, cause theChristopher James Lahey2000-07-091-8/+8
| | | | | | | | | | 2000-07-09 Christopher James Lahey <clahey@helixcode.com> * widgets/e-text/e-text.c: Don't draw quite as large a "flat_box". If draw_borders is TRUE, cause the cursor to change even if not editing. svn path=/trunk/; revision=4017
* Removed some border padding and set the "draw_borders" argument of theChristopher James Lahey2000-07-091-20/+115
| | | | | | | | | | | | | 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
* Set "anchor" and "fill_clip_rectangle" arguments.Christopher James Lahey2000-07-081-0/+41
| | | | | | | | | | | | | 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
* Added e-entry.c and e-entry.h.Christopher James Lahey2000-07-041-1/+1
| | | | | | | | | | | | | 2000-07-03 Christopher James Lahey <clahey@helixcode.com> * widgets/e-text/Makefile.am: Added e-entry.c and e-entry.h. * widgets/e-text/e-entry.c, widgets/e-text/e-entry.h: New files to be a widget containing a text item. * widgets/e-text/e-text.c: Fixed some spacing. svn path=/trunk/; revision=3874
* Calculate height including if clip_height is set to -1.Christopher James Lahey2000-06-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * widgets/e-text/e-text.c: Calculate height including if clip_height is set to -1. From addressbook/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * contact-editor/e-contact-editor-categories.c, addressbook/gui/component/e-cardlist-model.c: Added value_to_string handlers. * demo/addressbook-widget.c, demo/demo.c: Removed usage of "x" and "y" arguments. * addressbook/gui/component/addressbook.c: Activated Click To Add and set the click to add message. * addressbook/gui/component/e-addressbook-model.c: Added value_to_string and append_row handlers. * addressbook/gui/component/e-select-names.c: Added a column. From calendar/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * gui/calendar-model.c: Added an #ifdefed value_to_string handler assignment. From camel/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * providers/mbox/camel-mbox-summary.c: Added debugging information. From composer/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added e-msg-composer-select-file.h for make distcheck. From e-util/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added e-canvas-vbox.c and e-canvas-vbox.h. * e-canvas-vbox.c, e-canvas-vbox.h: New canvas object to act like a vbox using the reflow system. From mail/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Added a value_to_string handler. From shell/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * glade/Makefile.am: Added EXTRA_DIST for make distcheck. From widgets/e-table/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added e-table-click-to-add.c, e-table-click-to-add.h, e-table-one.c, and e-table-one.h. * e-table-click-to-add.c, e-table-click-to-add.h: A new canvas item that represents a single row that sometimes exists. It's for adding new rows to your table. * e-table-example-1.c, e-table-example-2.c, e-table-size-test.c, test-check.c, test-cols.c, test-table.c: Added value_to_string handlers. * e-table-group-container.c: Use value_to_string to make grouping not crash for non string columns. Made some changes to work properly in an ECanvasVbox. * e-table-group-leaf.c, e-table-item.c: Made some changes to work properly in an ECanvasVbox. * e-table-model.c, e-table-model.h: Added append_row and value_to_string methods. * e-table-one.c, e-table-one.h: Given a source ETableModel, this provides a single row model that uses the initialize_value, duplicate_value, free_value, and value_is_empty methods of the original source to implement set_value and value_at (and proxies most of the other methods.) This is used for ETableClickToAdd. * e-table-simple.c, e-table-simple.h: Added append_row and value_to_string handlers. append_row uses a GtkArg instead of a parameter to e_table_simple_new. * e-table-subset.c: Added append_row and value_to_string handlers. * e-table.c, e-table.h: Use a vbox containing an ETableClickToAdd and an ETableItem instead of an ETableItem directly. Only show the ETableClickToAdd if the top level of the xml SPEC has the attribute click-to-add set to some non-zero integer. (click-to-add="1"). Add a "click_to_add_message" argument. * e-tree-model.c: Add a commented out value_to_string handler. From widgets/meeting-time-sel/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added the include path to top_srcdir. svn path=/trunk/; revision=3744
* Fixed some vertical scroll bugs.Christopher James Lahey2000-06-211-8/+8
| | | | | | | | 2000-06-21 Christopher James Lahey <clahey@helixcode.com> * widgets/e-text/e-text.c: Fixed some vertical scroll bugs. svn path=/trunk/; revision=3673
* Fix a bug with intial vertical scroll.Christopher James Lahey2000-06-211-0/+1
| | | | | | | | 2000-06-21 Christopher James Lahey <clahey@helixcode.com> * widgets/e-text/e-text.c: Fix a bug with intial vertical scroll. svn path=/trunk/; revision=3672
* Removed the usage of "x" and "y" arguments to EText.Christopher James Lahey2000-06-211-44/+68
| | | | | | | | | | | | | 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
* Made EText use the font from the canvas's style if one isn't set.Christopher James Lahey2000-06-171-0/+4
| | | | | | | | | 2000-06-17 Christopher James Lahey <clahey@helixcode.com> * widgets/e-text/e-text.c: Made EText use the font from the canvas's style if one isn't set. svn path=/trunk/; revision=3607
* Remove the tooltip callback when destroyed.Christopher James Lahey2000-05-101-0/+5
| | | | | | | | | 2000-05-09 Christopher James Lahey <clahey@helixcode.com> * widgets/e-text/e-text.c: Remove the tooltip callback when destroyed. svn path=/trunk/; revision=2952
* Added an activate signal.Christopher James Lahey2000-05-081-0/+11
| | | | | | | | | 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
* Added a "changed" signal that gets sent whenever the text changes.Christopher James Lahey2000-05-071-5/+6
| | | | | | | | | 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
* + * widgets/e-text/e-text.c (e_text_destroy): Kill text->timer andMatthew Loper2000-04-271-0/+11
| | | | | | | | | | | + text->timeout on destroy. + + * e-shell-view.c (bonobo_widget_is_dead): Helper function to see + whether a bonobo widget is a zombie (ie the remote bonobo control + died). + (e_shell_view_set_view): Try to respawn dead bonobo widgets. svn path=/trunk/; revision=2638
* Made the tooltip show up in the correct place and configuration when usingChristopher James Lahey2000-04-241-24/+173
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Moved some logic a bit. Minor changes.Christopher James Lahey2000-04-121-8/+1
| | | | | | | | 2000-04-11 Christopher James Lahey <clahey@helixcode.com> * widgets/e-text/e-text.c: Moved some logic a bit. Minor changes. svn path=/trunk/; revision=2396
* e-text.c: Recalc bounds when changing the width/clip_widthiholmes2000-04-121-3/+24
| | | | | | | | forward clicks on the tooltip to the pareent item tooltip obeys parents line_wrap and max_lines e_text_point returns 0 when pointer is on the item svn path=/trunk/; revision=2394
* pixmap_DATA isn't defined so don't use it as a variable.Christopher James Lahey2000-04-091-10/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-04-08 Christopher James Lahey <clahey@helixcode.com> * art/Makefile.am: pixmap_DATA isn't defined so don't use it as a variable. * addressbook/gui/component/, addressbook/gui/component/.cvsignore, addressbook/gui/Makefile.am, addressbook/gui/component/addressbook-factory.c, addressbook/gui/component/addressbook.c, addressbook/gui/component/addressbook.gnorba, addressbook/gui/component/addressbook.h: New directory to proivde the component for contact management. Simply uses an e-minicard-view. * addressbook/gui/minicard/e-minicard-view.c, addressbook/gui/minicard/e-minicard-view.h: New subclass of e-reflow-sorted that takes an EBook and uses it to compute the card data to display. * addressbook/gui/minicard/e-minicard.c, addressbook/gui/minicard/e-minicard.h: This now backends to a ECard instead of a ETableModel. * addressbook/gui/minicard/e-reflow.c, addressbook/gui/minicard/e-reflow.h: This now has a virtualized add method. * addressbook/gui/minicard/e-reflow-sorted.c, addressbook/gui/minicard/e-reflow-sorted.h: New subclass of e-reflow that allows the data to be sorted on the fly. * addressbook/gui/minicard/test-minicard-view.c: New test to test the new minicard view. * addressbook/gui/minicard/test-reflow.c: Uses the new ECard backend of the e-minicard. * addressbook/gui/minicard/.cvsignore, addressbook/gui/minicard/Makefile.am: Added new test. Fixed dependencies. Added new files. * addressbook/gui/, addressbook/gui/Makefile.am, addressbook/gui/.cvsignore: New directory for addressbook gui bits. Added subdirectories. Created an initial .cvsignore. * addressbook/Makefile.am (SUBDIRS): Removed demo and added gui. * addressbook/backend/pas/pas-backend-file.c: Added code to do notification on bookviews when changes in the backend are made. * addressbook/backend/pas/pas-book-view.c, addressbook/backend/pas/pas-book-view.h: Added helper functions to notify the view about the addition or modification of a single card. Fixed a mistaken extra free. * addressbook/backend/ebook/e-card-list-iterator.h: Fixed incorrect parent class. * addressbook/backend/ebook/test-client.c: Made this accept an optional parameter that specifies the vcard to add. * configure.in: Replaced widgets/e-minicard/Makefile and addressbook/demo/Makefile with addressbook/gui/minicard/Makefile and addressbook/gui/component/Makefile respectively. * widgets/Makefile.am: Removed e-minicard since it's being moved to addressbook/gui/minicard. * widgets/e-text/e-text.c: Fixed the border width around tooltips and made the main tooltip area yellow. From camel/ChangeLog: 2000-04-08 Christopher James Lahey <clahey@helixcode.com> * providers/smtp/.cvsignore: Added a .cvsignore file. From calendar/ChangeLog: 2000-04-08 Christopher James Lahey <clahey@helixcode.com> * gui/Makefile.am: Removed linking with libetable and libeminicard since they weren't being used. svn path=/trunk/; revision=2343
* Made text tooltips appear in place. Iain figured out that to get them toChristopher James Lahey2000-04-081-28/+54
| | | | | | | | | | | | 2000-04-07 Christopher James Lahey <clahey@helixcode.com> * widgets/e-text/e-text.c: Made text tooltips appear in place. Iain figured out that to get them to not appear, we hide the tooltip when the mouse leaves the tooltip window, not the canvas item (this works because the tooltip window always covers the canvas item completely.) svn path=/trunk/; revision=2328
* Removed an unnecessary get_bounds call.Christopher James Lahey2000-04-051-20/+62
| | | | | | | | | | | | | 2000-04-04 Christopher James Lahey <clahey@helixcode.com> * widgets/e-text/e-text.c: Removed an unnecessary get_bounds call. (From a patch by Iain Holmes <ih@csd.abdn.ac.uk>) * widgets/e-text/e-text.c: Made tooltips look more like the underlying text. Made tooltips show up more consistently. svn path=/trunk/; revision=2290
* Changed gnome_canvas_item_grab_focus to e_canvas_item_grab_focus.Christopher James Lahey2000-03-221-2/+2
| | | | | | | | | 2000-03-21 Christopher James Lahey <clahey@helixcode.com> * widgets/e-text/e-text.c: Changed gnome_canvas_item_grab_focus to e_canvas_item_grab_focus. svn path=/trunk/; revision=2138
* Added the ability to access the text event processor.Christopher James Lahey2000-03-211-16/+36
| | | | | | | | | | | | | | | 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
* Rearranged SUBDIRS for dependencies.Christopher James Lahey2000-03-121-37/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Designed a new system for doing hierarchical displays in the canvas. AddsChristopher James Lahey2000-03-111-51/+160
| | | | | | | | | | | | | | | | | 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
* Added a "break_characters" argument. It lets you define a set ofChristopher James Lahey2000-03-081-42/+147
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Don't show the tooltip if the text is being editted or isn't clipped.Iain Holmes2000-03-011-3/+18
| | | | | | | | | | | 2000-02-29 Iain Holmes <ih@csd.abdn.ac.uk> * widgets/e-text/e-text.c: Don't show the tooltip if the text is being editted or isn't clipped. Remove the tooltip when editting starts. * widgets/e-text/Makefile.am: Build the test program svn path=/trunk/; revision=1994
* Compilation error.Chris Lahey2000-02-281-9/+8
| | | | | | | | 2000-02-28 Chris Lahey <clahey@umich.edu> * widgets/e-text/e-text.c: Compilation error. svn path=/trunk/; revision=1973
* Updated these to use the canvas ::update system properly.Chris Lahey2000-02-281-64/+67
| | | | | | | | | 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
* This were moved to widgets/e-text/ a while ago but never removed. TheyChristopher James Lahey2000-02-241-52/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Show the text of the item, in a tooltip style. (e_text_event): Add aIain Holmes2000-02-211-1/+50
| | | | | | | | | | | | | 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
* Made a click on a text widget set the cursor properly.Christopher James Lahey2000-02-121-3/+18
| | | | | | | | | 2000-02-11 Christopher James Lahey <clahey@helixcode.com> * widgets/e-text/e-text.c (e_text_event): Made a click on a text widget set the cursor properly. svn path=/trunk/; revision=1740
* Added line wrap and a max number of lines (max number of lines is onlyChristopher James Lahey2000-02-081-126/+261
| | | | | | | | | | 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
* Handle the grab and ungrab command instead of doing focus by hand. ThisChristopher James Lahey2000-01-281-13/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-01-28 Christopher James Lahey <clahey@helixcode.com> * widgets/e-text.c (e_text_command): Handle the grab and ungrab command instead of doing focus by hand. This fixes a problem related to the scroll wheel. (e_text_command): Reset the blink timer in many more command situations so that the cursor blinks less when you're interacting with it. * widgets/e-text-event-processor-emacs-like.c: Send the grab focus command when starting a selection and the ungrab focus command when ending it. * widgets/e-text-event-processor-types.h: Added grab command type so that the event processor can tell the widget to grab the focus. * widgets/e-reflow.c: Redefined all sizes using #defines so that they can be tweaked later. Added scroll wheel handling and set up adjustment increments so that the scroll bars will work correctly. * widgets/e-minicard.h: Added minicard focus type enum. This doesn't mean anything yet, but it will later be used to say which direction the focus is coming from (below for shift-tab, above for tab.) svn path=/trunk/; revision=1650
* Added an arrow cursor for the draggable columns. Made the clickable columnChristopher James Lahey2000-01-261-0/+45
| | | | | | | | | | | | | | | | 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
* Finishing previous commit.Chris Lahey2000-01-171-77/+62
| | | | svn path=/trunk/; revision=1582
* Added selection and clipboard support. Added up and down arrow keys. FixedChris Lahey2000-01-141-13/+258
| | | | | | | | | | | | | | | | * widgets/e-text-event-processor-types.h, widgets/e-text-event-processor-emacs-like.c, widgets/e-text.c, widgets/e-text.h: Added selection and clipboard support. Added up and down arrow keys. Fixed choice of font colors for the selection to be based on the current style. * widgets/e-minicard.c: Caused a click to grab the focus. Changed the fake information added. * widgets/e-minicard-label.c: Forward mouse events to the field EText item. svn path=/trunk/; revision=1568
* e_canvas_item_move_absolute is just a helper function not supplied by theChris Lahey2000-01-141-8/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * widgets/e-canvas-utils.c, widgets/e-canvas-utils.h: e_canvas_item_move_absolute is just a helper function not supplied by the gnome_canvas.[ch] I put it here so that multiple items can use it. * widgets/e-reflow.c, widgets/e-reflow.h: This item contains a number of other items and places them into multiple columns. The items contained must support a number of arguments and signals to allow the reflow to interact with them. * widgets/test-reflow.c: This is a test program for e-reflow. * widgets/e-text.c, widgets/e-text.h: Added properly drawn selected text. Added some preliminary code for X selection handling and cut & paste. * widgets/e-minicard.c, widgets/e-minicard.h: Added ARG_HAS_FOCUS handling. Made label display random for more interesting tests of multiple cards. Tweaked sizing information for better display. * widgets/e-minicard-label.c, widgets/e-minicard-label.h: Added ARG_HAS_FOCUS handling. * widgets/Makefile.am: Added the reflow test and reflow files. svn path=/trunk/; revision=1566
* Added a resize signal for when the card changes height. Made it so thatChris Lahey2000-01-121-8/+77
| | | | | | | | | | | | | | | | * widgets/e-minicard.c, widgets/e-minicard.h: Added a resize signal for when the card changes height. Made it so that when you press tab inside of a field, it goes to the next field. * widgets/e-minicard-label.c, widgets/e-minicard-label.h: Added a resize signal for when the label changes height. * widgets/e-text.c, widgets/e-text.h: Added a resize signal for multiple lines. Added scrolling based on cursor position. * widgets/Makefile.am: Removed an extraneous build target. svn path=/trunk/; revision=1562
* Blocked the tab key from getting inserted into the buffer since theChris Lahey2000-01-121-2/+113
| | | | | | | | | | | * widgets/e-text-event-processor-emacs-like.c: Blocked the tab key from getting inserted into the buffer since the renderer doesn't know what a tab is. * widgets/e-text.c, widgets/e-text.h: Fixed a memory leak. Added a blinking cursor and scrolling for the text item. svn path=/trunk/; revision=1554
* Removed some code which got in the way of testing properly.Chris Lahey2000-01-111-27/+437
| | | | | | | | | | | | | | | | | | | | | | | * widgets/test-minicard.c: Removed some code which got in the way of testing properly. * widgets/e-minicard-label.c (e_minicard_label_realize): Made the field text item editable. * widgets/Makefile.am: Added e-text-event-process*.[ch]. * widgets/e-text.c, widgets/e-text.h: Changed these to support editing. * widgets/e-text-event-processor.c, widgets/e-text-event-processor.h, widgets/e-text-event-processor-types.h, widgets/e-text-event-processor-emacs-like.c, widgets/e-text-event-processor-emacs-like.h: These are a new pair of classes which handle all events from the text item and convert them into commands. svn path=/trunk/; revision=1553
* Added minicard and text stuff.Chris Lahey2000-01-101-0/+1411
* widgets/Makefile.am: Added minicard and text stuff. * widgets/e-minicard.c, widgets/e-minicard.h, widgets/e-minicard-label.c, widgets/e-minicard-label.h: Added canvas items for the minicard view in the contact manager. * widgets/test-minicard.c, widgets/test-minicard-label.c: Tests for the minicard items. * widgets/e-text.h, widgets/e-text.c: New canvas item. Based on GnomeCanvasText. Adds ellipsis capabilities. Used in e-minicard*.[ch]. * widgets/.cvsignore: Added minicard-test and minicard-label-test. svn path=/trunk/; revision=1552