FXMisc / RichTextFX

Rich-text area for JavaFX
BSD 2-Clause "Simplified" License
1.21k stars 236 forks source link

View port scroll issues #110

Closed ghost closed 9 years ago

ghost commented 9 years ago

Hi Tomas, Scrolling in a text area with varying text sizes affects the size of the scrolling step, and causes a few things:

If caret is at a position in BIG text, scroll bars do not go down with mouse scrolls. It works with moving the carrot position by arrow keys. Alternatively, if I clock the scroll bar (rectangle handle grab thingy--what you call it?), it goes to the end of text as expected.

Another issue I noticed is that if the carrot is in a position, and I scroll down with mouse, if it works and reach the end of the text (now carrot position is not shown in the view port, in this case if I keep scrolling down, the view port will jump back up to a place where the carrot position is shown in the view port.

I'll do more testing to give better report.

but general, things work MUCH better, selecting and highlighting text is much faster now, I believe it is now instantaneous. best, Maher

ghost commented 9 years ago

Hi Tomas, were you able to reproduce this?

ejames2 commented 9 years ago

I am having a similar problem (involving scrolling) using CodeArea. When I have a line that is longer than the width of the control, the horizontal scroll bar appears at the bottom of the control as it should, but will not allow me to scroll. Furthermore, as I continue to type past the right end of the control, the view is not scrolled with the cursor, and the horizontal scroll bar stays in the far left position.

Note: the vertical scrollbar works as expected.

TomasMikula commented 9 years ago

Seems like two separate issues. Hopefully I will be able to get to it over the weekend.

TomasMikula commented 9 years ago

The horizontal scrolling issue (reported by @ejames2) is now fixed in the latest SNAPSHOT version.

ghost commented 9 years ago

Tomas, I noticed another thing with vertical scrolling. In the video below, making a selection and then scrolling sometimes deselects a selected range.

Video 1: View port jumping pack to the carrot position after the scroll bar (using mouse) reaches upper limit. When I do this using a scroll bar, it stays in place. But the when the mouse goes over the view port, it jumps back again. jumping back

Video 2: In this video, the selected text ranges get deselected after I scroll to the upper limit. Also, sometimes, when the mouse is not over the selected range, it gets deselected (after the scroll). This happens at the end of the video: deselection

I am not I am capturing the pattern here to reproduce the scroll (and possible related deselection). I will try to look for more reproducible steps on my end.

TomasMikula commented 9 years ago

Thank you for the videos, it is now clearer what the problem is.

TomasMikula commented 9 years ago

0.6.1 has improved scrollbar experience. Let me know if you experience any further weirdness.

ghost commented 9 years ago

Hi Tomas, I ran into three new issues.

Issue 1--Can't scroll to select text beyond what is shown in the view port:


cant scroll to text beyond view port


Issue 2: Flickering text when adding, deleting, or inserting new lines. For some reason, the flickering s not being captured by the video...It happens when you add a new text, remove, or change existing text.

Issue 3: Layout. Some lines seem to overlay.. Both in this video


flickering and layout

I am running Java U40. b23. Are you able to reproduce this?

TomasMikula commented 9 years ago

Thanks for reporting back.

  1. It is not clear to me what is not working. Are you trying to select some text and keep dragging the mouse down while the mouse button is still pressed?
  2. I can reproduce this. Can you file it as a separate issue, since it is not related to this one?
  3. I haven't experienced this myself, but it has just been reported by someone else in #114. Can you add your video there?
ghost commented 9 years ago

For number 1, yes. I select text and keep dragging the mouse down to extend my selection. I just another try and noticed that selection (add more to text) stops working once the mouse cursor is outside of the view port. I will post the other issue and video accordingly.

TomasMikula commented 9 years ago

OK, I see what you are expecting. That never was a feature in RichTextFX. It is reasonable to expect, because some editors support that. You can file a new feature request.

You may observe that it "somehow" works, when you come close enough to the edge of the text area, but don't cross it. This is not a feature, but a side effect of the following: the caret is slightly taller than the line, so it overlaps by approx. 1 pixel to the next and previous line. When the text area is automatically scrolled (e.g. down) to show the whole caret, it also shows a 1 pixel stripe from the next line. If you move the mouse over that one pixel stripe, the caret is repositioned to the next line, and area is scrolled to show the caret, which again shows a 1 pixel stripe of the following line, and so on. Not a feature, just a consequence of the caret being a little taller.

TomasMikula commented 9 years ago

What does work reliably for selecting text beyond the viewport is: start the selection, keep the mouse button pressed, and scroll down/up with the mouse wheel.

ghost commented 9 years ago

Yes. That explains it. Because it seemed like it was sort of supported. I'll file a separate enhancement issue. On Feb 23, 2015 9:43 AM, "Tomas Mikula" notifications@github.com wrote:

What does work reliably for selecting text beyond the viewport is: start the selection, keep the mouse button pressed, and scroll down/up with the mouse wheel.

— Reply to this email directly or view it on GitHub https://github.com/TomasMikula/RichTextFX/issues/110#issuecomment-75592392 .