Ideas for better text entry



As requested by Alan, here's the rundown on my ideas for better text entry:

Current text entry is really bad.  Each object can only enter one thing
in-diagram, any other text must be edited in the properties dialog.  The
text entry itself is a hack, rather than using standard Gtk text entry
widgets.  It's also hard to tell when you're entering text, and the
keyboard accelerators are mixed up with text entry, disallowing single-key
accelerators.

What I want to do instead is allow objects with text to be selected without
editing text.  When the user clicks on a text on a selected object, we
embed a GtkTextView in the diagram on top of the text, with a little grey
border around it -- kinda like what most file managers do.  

Additionally, it should be possible to use TAB to move between text fields
on the object, or even on all selected objects.  If a text field wants to
use TAB directly (very few would, I imagine), they could have a flag that
allows that, but I'd want to see the need for it first.

This should not only solve the problems with the current text entry, but
also make it a lot easier to edit multi-text objects.  I believe that'd
reduce the need to pop up the properties dialog quite a bit.

I've tried implementing this already in a separate checkout, but there's a
few things I haven't sorted out well enough yet:  The distance between
lines seems to be bigger on the GtkTextView than in the diagram, I'd have
to subclass GtkTextView to fix that.  More importantly, I need a better
system for when to stop editing -- currently it just looks for focus-out,
which is not the right thing.

-Lars

-- 
Lars Clausen (http://shasta.cs.uiuc.edu/~lrclause)| HÃrdgrim of Numenor
"I do not agree with a word that you say, but I   |----------------------------
will defend to the death your right to say it."   | Where are we going, and
    --Evelyn Beatrice Hall paraphrasing Voltaire  | what's with the handbasket?



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]