aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/text/e-completion.c
Commit message (Collapse)AuthorAgeFilesLines
* Changed the license announcement at the top of these files.Christopher James Lahey2001-10-271-21/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* add E_OBJECT_CLASS_ADD_SIGNALS and E_OBJECT_CLASS_TYPE to ease migrationMichael Meeks2001-10-051-9/+10
| | | | | | | | | | | | | | | 2001-10-05 Michael Meeks <michael@ximian.com> * gal/util/e-util.h: add E_OBJECT_CLASS_ADD_SIGNALS and E_OBJECT_CLASS_TYPE to ease migration to Gnome 2.0 from a single source base. * All C files: s/object_class->type,/E_OBJECT_CLASS_TYPE (object_class),/g; s/gtk_object_class_add_signals([^\(]*)\(([^,]*),([^,]*),([^\)]*)/ E_OBJECT_CLASS_ADD_SIGNALS\1(\2,\3,\4/; svn path=/trunk/; revision=13428
* Patch to fix few 64bit issuesGeorge Lebl2001-08-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | Tue Aug 28 18:29:28 2001 George Lebl <jirka@5z.com> Patch to fix few 64bit issues * gal/e-table/e-table-header-item.c (ethi_draw) (ethi_start_drag) gal/widgets/e-categories.c (e_categories_value_at) (e_categories_value_to_string): Use GINT_TO_POINTER and GPOINTER_TO_INT to cast between pointers and ints to fix 64bit issues connected with that. * gal/e-table/e-table-sorting-utils.c (e_table_sorting_utils_tree_check_position) gal/util/e-sorter-array.c (e_sorter_array_append): Use size_t for size not ints to fix crashes * gal/e-text/e-completion-match.c, gal/e-text/e-completion.c: Include <string.h> svn path=/trunk/; revision=12507
* Added "hit_count" to ECompletionMatch. Used by searchJon Trowbridge2001-08-171-7/+204
| | | | | | | | | | | | | | | | | | | | | | 2001-08-16 Jon Trowbridge <trow@ximian.com> * gal/e-text/e-completion-match.h: Added "hit_count" to ECompletionMatch. Used by search refinement/unrefinement. * gal/e-text/e-completion.c (e_completion_refine_search): Added. Handle automatic search refinements. (e_completion_unrefine_search): Added. Handle automatic search "unrefinements", or reversions. (e_completion_begin_search): Check if the refinement or unrefinement operations can be used to handle the search. Emit "request_search" at the end of the call. (e_completion_class_init): Added a new signal "request_search". "begin_search" is now purely informational, telling views that a series of matches and an "end_search" are forthcoming. * configure.in: Increment version of 0.10.99.3. svn path=/trunk/; revision=12116
* bumped up to 0.10.99.3jacob berkman2001-08-101-55/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-09 jacob berkman <jacob@ximian.com> * configure.in: bumped up to 0.10.99.3 * gal/e-text/e-completion-view.c (e_completion_view_init): init matches array (e_completion_view_destroy): free matches array (e_completion_view_disconnect): disconnect from the clear and lost_match signals (e_completion_view_clear_choices): fixup for ptr array (e_completion_view_set_cursor_row): ditto (e_completion_view_select): ditto (e_completion_view_key_press_handler): ditto (clear_completion_cb): handle the clear signal (lost_completion_cb): remove a row from the model (table_row_count): fixup for ptr array (table_value_at): ditto (e_completion_view_construct): connect to clear and lost completion signals (e_completion_view_set_width): ptr array fixup again * gal/e-text/e-completion.c (e_completion_class_init): add new clean / lost completion signals (e_completion_init): initialize the matches array (e_completion_destroy): free the matches array (e_completion_add_match): fixup for matches being a GPtrArray (e_completion_clear_matches): ditto (e_completion_clear): new function to clear the list of matches (e_completion_foreach_match): fixup for ptrarray (e_completion_restart): ditto (e_completion_found_match): if we are at the limit return first, rather than adding and then unreffing. there very well could be some weird crashes this caused but it is kind of unlikely. (e_completion_lost_match): new function to forget about a match (e_completion_end_search): add a comment on why this is broken * gal/e-text/e-entry.c (e_entry_text_keypress): only start a delayed completion if our completion timeout is >= 0. this provides a way for the completion starting / stopping to be controlled by something other than the EEntry (ie, file-sel) svn path=/trunk/; revision=11843
* Turned off alternating row colors in our ETable specification.Jon Trowbridge2001-06-091-1/+0
| | | | | | | | | | | | | | 2001-06-08 Jon Trowbridge <trow@ximian.com> * gal/e-text/e-completion-view.c: Turned off alternating row colors in our ETable specification. * gal/e-text/e-completion-match.c (e_completion_match_compare_alpha): Fix the sort routine to properly use the major & minor keys for sorting grouped elements with the same match text. I had this all wrong. svn path=/trunk/; revision=10159
* Oops. Forgot to remove some debugging code before committing.Jon Trowbridge2001-06-061-16/+0
| | | | svn path=/trunk/; revision=10119
* Small changes throughout to use ECompletionMatch.Jon Trowbridge2001-06-061-105/+44
| | | | | | | | | | | | | | | | | | | | 2001-06-05 Jon Trowbridge <trow@gnu.org> * gal/e-text/e-entry.c: Small changes throughout to use ECompletionMatch. * gal/e-text/e-completion-view.c: Small changes throughout to use ECompletionMatch. * gal/e-text/e-completion.c: Small changes throughout to use ECompletionMatch. * gal/e-text/e-completion-match.h: * gal/e-text/e-completion-match.c: Added. A struct to contain completion matches. This lets us more easily pass around information between the various bits of completion machinery. svn path=/trunk/; revision=10118
* Comment out text after #endif. Add #include <string.h> for strcmp().Kjartan Maraas2001-03-161-0/+1
| | | | | | | | | 2001-03-16 Kjartan Maraas <kmaraas@gnome.org> * gal/widgets/widget-pixmap-combo.h: Comment out text after #endif. * gal/e-text/e-completion.c: Add #include <string.h> for strcmp(). svn path=/trunk/; revision=8758
* Boost version number to 0.5.99.3.Jon Trowbridge2001-03-021-49/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-01 Jon Trowbridge <trow@ximian.com> * configure.in: Boost version number to 0.5.99.3. * gal/e-text/e-entry.c (e_entry_show_popup): Grab pointer when the popup is visible, and then hide the popup if any button press events occur outside of the popup. This lets up avoid most of the worst "floating popup" cases that would occur if windows are moved, desktops changed, etc. with the mouse. (Doing things like changing desktop w/ keybindings can still cause a "floating popup", but that is also true of Gtk's own combo box.) Change popup positioning to slightly offset it from the entry, rather than just plopping it down directly below. (button_press_cb): Determine if a button press occured outside of the popup when the pointer was grabbed, and unbrowse accordingly. * gal/e-text/e-completion-view.c (e_completion_view_key_press_handler): Improve keystroke handling. Allow Tabs to pass through (after hiding the pop-up) in order to allow focus change requests to work properly. (e_completion_view_construct): Disable horizontal scrollbars. * gal/e-text/e-completion-test.c (main): Reworked to use signals instead of explicit callbacks. * gal/e-text/e-completion.h: * gal/e-text/e-completion.c: Fix the awkward mix of signals and explicitly-specified callbacks by taking out the explicit callbacks. This approach is more gtk-ish, after all. svn path=/trunk/; revision=8458
* Added. Allows you to attach an ECompletion to an EEntry, and have thatJon Trowbridge2001-02-201-0/+511
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