[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [platform-text-dev] RevisionRulerColumn in textViewer
|
Hi Tom,
Thanks a lot for a very detailed response. You have a very valid
points. However I still believe that this is a very important feature
that should be supported on a platform level. Some of the tool vendors
implemented some proprietory extensions for this but I am not sure if it
had been done for specific Eclipse version, etc. See attached screenshot
to get a basic idea on what kind of UI I am looking for.
Also note that by rejecting generic API for custom rulers you shift
this situation for at least another year and that affects both users and
tool vendors. Users simply won't have the luxury of this nice UI and
tool vendors that have to workaround this or use much more limiting
icon-based annotations on the existing uler or use some hacks probably
like the one I've attached.
So, what I am suggesting is to have some sort of simplier UI that
would take care of all the canvas rendering, etc and can be extended in
the future to provide more high level API. That may even work if you
make this new RevisionRulerColumn more generic and allow it to show not
only revision info but any text that supplied by the hooked up data
provider (if I am not mistaken this is the only abstraction that is
missing at the moment to make it a generic API). What do you think?
Can you please confirm if RevisionRulerColumn would show some text and
not just colored bars as on the screenshot attached to the 113136 issue
at https://bugs.eclipse.org/bugs/show_bug.cgi?id=113136
Thanks again.
Eugene
Tom Eicher wrote:
Hi Eugene,
I guess you already captured this request in bug 85751
<https://bugs.eclipse.org/bugs/show_bug.cgi?id=85751>: add a way that
ruler columns can be contributed to any text editor - either via API
or an extension point. This request is absolutely valid and we
discussed doing so before implementing the revision info column. We
decided that creating a good API was too much work to fit in our 3.2
plan currently and just added another named column. This decision may
be revisited if the need for more columns comes up.
If we added API for contributed columns, we would probably also
provide an abstract base implementation taking care of boilerplate
code and offering some event/notification mechanism for line-events
(like "line selected", "line clicked").
One problem that would arise is that we have to stay compatible with
the existing API of CompositeRuler. CompositeRuler makes some
assumptions about the contained ruler columns (e.g. every column
consists of a single Canvas and no child controls) that we should get
rid of before adding the API. Other questions that need to be answered:
* context menu - should the ruler continue to show the same context
menu for all columns, or should a column (optionally) be able to
have its own?
* accessibility - with more and more information in the ruler, can
we offer a way to make the ruler accessible (e.g. give focus to
the ruler)?
* painting: currently all ruler columns implement their own
double-buffer painting, which may not scale well.
* column ordering - this is currently done by the editor as the
controlling instance - how would ordering work with arbitrary
columns?
* overview ruler - should there also be additional overview rulers?
probably...
* resizing - should rulers support (horizontal) resizing? this would
be interesting to "expand" the condensed information upon user
request
By the way, I wonder what are the plans to add support for revision
ruler to CVS plugin?
See bugs 114333 <https://bugs.eclipse.org/bugs/show_bug.cgi?id=114333>
and 113136 <https://bugs.eclipse.org/bugs/show_bug.cgi?id=113136> for
what's going on in that area.
Thanks for your interest - I hope this answers your questions. I will
add some of this to bug 85751.
Tom
Tom Eicher
IBM Eclipse Team - Text Components
_______________________________________________
platform-text-dev mailing list
platform-text-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/platform-text-dev
