2003-02-09 Chris Toshok <toshok@ximian.com>
* tests/.cvsignore: ignore test-completion.
* tests/test-completion.c: new program, completion test.
* tests/Makefile.am (noinst_PROGRAMS): add test-completion.
* gal/e-text/Makefile.am: remove e-completion-test from the build
here, moving it to ../../tests.
* gal/e-text/e-completion.c (e_completion_class_init): we've
removed the restart, cancel, clear, and lost signals. Also, we've
renamed some so it's easier to tell from the name which it is
(virtual func or signal.)
(e_completion_dispose): remove call to clear_search_stack, as we
don't do auto-refinement anymore.
(e_completion_clear): gone.
(e_completion_push_search): gone.
(e_completion_pop_search): gone.
(e_completion_clear_search_stack): gone.
(e_completion_refine_search): gone.
(e_completion_unrefine_search): gone.
(e_completion_begin_search): substantially clear this up, since we
don't have the refinement stuff anymore. Also, the call to
request_completion is a virtual function call, not a signal.
(e_completion_match_count): always return matches->len here, never
match_count, which is gone (with the refinement stuff)
(e_completion_foreach_match): remove the hit_count stuff.
(e_completion_restart): gone.
(e_completion_lost_match): gone.
(e_completion_end_search): remove the sorting stuff from here (and
the call to restart.) the etable sorting stuff will have to take
up the slack, but for now there's no reason to restart the search
here.
* gal/e-text/e-completion.h (struct _ECompletionClass): straighten
out what's a virtual function and what's a signal, instead of
using signals for both. Also, remove the auto_refine stuff, as
it's not used.
* gal/e-text/e-completion-view.c (e_completion_view_size_request):
make the damn drop down window bigger (100 pixels, or the
requisition height, whichever is bigger.)
(e_completion_view_disconnect): remove handling for signals that
are gone.
(restart_completion_cb): gone.
(cancel_completion_cb): gone.
(clear_completion_cb): gone.
(lost_completion_cb): gone.
(e_completion_view_construct): track new names of ECompletion
signals.
* gal/e-text/e-completion-view.h (struct _ECompletionView): remove
restart_signal_id, cancel_signal_id, clear_signal_id, and
lost_signal_id.
* gal/e-text/e-entry.c (get_borders): new function, ala gtkentry.
(canvas_size_request): use get_borders instead of computing it
here.
(e_entry_init): remove duplicate assignment of
emulate_label_resize.
(e_entry_show_popup): remove some ifdef'ed crap.
(e_entry_start_completion): don't cancel the completion before
starting again. This keeps the popup from disappearing.
* gal/e-text/e-completion-match.c (e_completion_match_construct):
no more hit_count.
* gal/e-text/e-completion-match.h (struct _ECompletionMatch):
remove hit_count.
* gal/e-text/e-completion-callbacks.[ch]: new class so we can use
callbacks instead of subclassing.
svn path=/trunk/; revision=19859
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
2001-06-06 Jon Trowbridge <trow@ximian.com>
* gal/e-text/e-entry.c:
* gal/e-text/e-completion-view.c: Applied patch from Jacob Berkman
to un-offset the completion popup and add a border around it. I
tweaked it slightly to make the border two pixels thick instead of
one. (Which I like, but might annoy everyone else. We'll see.)
svn path=/trunk/; revision=10133
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
2001-02-23 Jon Trowbridge <trow@ximian.com>
* gal/e-text/e-entry.c (e_entry_set_position): Fixed.
(e_entry_select_region): Fixed.
(e_entry_show_popup): Grab/ungrab the pointer and keyboard when
the popup appears/disappears. This (mostly) solves the "floating
popup" problem.
(button_press_cb): Added. We catch button presses outside of
the popup, and hide the popup when they occur.
* gal/e-text/e-completion-view.c (e_completion_view_get_type,
e_completion_view_class_init): Changed base class to GtkEventBox.
(e_completion_view_key_press_handler): Make Escape always cause an
unbrowse, even wehen we are editting.
svn path=/trunk/; revision=8369