Michael Drake
59fdbae1bc
Fix setting of empty selections.
2013-02-22 15:23:36 +00:00
Michael Drake
c2a718075a
A load of refactoring of how content selection and input work.
...
Keypresses now go via content interface.
Contents don't shove the selection object into browser windows any more.
Contents report selection existence by sending message.
HTML content keeps track of where selections in it exist.
Contents report whether they have input focus via caret setting msg.
Caret can be hidden (can still input/paste) or removed.
Consolidate textarea selection handling.
Make textarea report its selection status changes to client.
Various textarea fixes.
Changed how we decide when to clear selections, and give focus.
2013-02-22 12:19:35 +00:00
John-Mark Bell
2b0cc398bb
Fix handling of treeview launch actions.
2013-02-19 10:17:17 +00:00
Vincent Sanders
529ca251fc
rename flags for browser_window routines to be shorter
2013-02-18 11:51:42 +00:00
Vincent Sanders
b112dec78d
change browser_window_create and refactor all callsites
2013-02-18 11:23:48 +00:00
Vincent Sanders
3bfb5b96a7
browser_window_navigate refactor
2013-02-18 11:23:27 +00:00
Michael Drake
553c55b07a
Move selection clearing into a function, and expose it in the header file.
2013-02-13 13:37:46 +00:00
Michael Drake
08a229161b
Calculate and store text offsets only when they change, rather than recalculating on every redraw and caret placement. Also ensures that caret placement and redraw get the same text offset values.
2013-02-13 13:08:05 +00:00
Michael Drake
13574018d1
Fun micro-optimisations.
2013-02-12 21:16:30 +00:00
Michael Drake
2c64e89641
Implement selection modification. Clicks and drags with button 2 alter the nearest end of the selection. Button 2 when there is no selection selects from caret pos to click pos.
2013-02-12 18:20:06 +00:00
Michael Drake
eccf590616
Triple click selects paragraph in textarea widget.
2013-02-12 12:58:12 +00:00
Michael Drake
97f0a22a8b
Tidy textarea-handled mouse action.
2013-02-12 12:09:49 +00:00
Michael Drake
19f09dcc61
Init clipboard to NULL, just in case front end implementation of gui_get_clipboard fails to set it on empty clipboard.
2013-02-12 11:15:37 +00:00
Michael Drake
c39a3d7263
When reqesting redraaw to remove internal caret, make sure caret is already removed as the redraw may be serviced immediatley.
2013-02-12 10:13:55 +00:00
Michael Drake
515cef8444
Don't include '\0' in single-line nsfont_width call.
2013-02-11 18:42:51 +00:00
Michael Drake
fe7b71edbf
Selection autoscroll of scrollbarless textareas (single line).
2013-02-11 17:55:36 +00:00
Michael Drake
99cab8389a
Early detection of regions outside the visible.
2013-02-11 17:05:42 +00:00
Michael Drake
fc430dba75
Clip native caret render so it can't overwrite border. Slight simplification.
2013-02-11 16:47:11 +00:00
Michael Drake
e6bf51c3ba
Single line textareas don't have scrollbars, so they don't get the scroll redraw request from the scrollbar callback.
2013-02-11 16:31:06 +00:00
Michael Drake
3bcc79ccf0
Don't need to redraw for caret removal if using a native caret.
2013-02-11 16:10:19 +00:00
Michael Drake
fa2d5cf62c
Fix internal caret redraw bounds.
2013-02-11 14:30:26 +00:00
Michael Drake
18444f261a
Fix delete-to-line-end.
2013-02-11 13:39:56 +00:00
Michael Drake
7af0614202
Make delete line key enum value name less missleading. (Doesn't cut to clipboard.)
2013-02-11 10:34:06 +00:00
Michael Drake
99fc8d3f0d
Move html textarea's selection colour chooser to plot_style.h, as it could be used elsewhere.
2013-02-11 00:41:22 +00:00
Michael Drake
b38520da99
Implement delete line. (Ctrl+U on RISC OS.)
2013-02-10 23:22:46 +00:00
Michael Drake
10edbc45bd
If a character is replaced by a character of different width, the caret needs to move. Checking change in character index isn't enough, so move caret if redraw was required too.
2013-02-09 18:41:23 +00:00
Michael Drake
32e9602126
When updating textarea layout settings, remember scrollbar status.
2013-02-09 18:21:10 +00:00
Michael Drake
1be54d7b10
If restarting reflow for scrollbar change, need to start at line 0.
2013-02-09 16:50:30 +00:00
Michael Drake
56cfa93531
Empty textarea has one line.
2013-02-09 16:28:00 +00:00
Michael Drake
25b036418e
Stop it from using past the end of lines data allocation. (It could add up to 2 lines per pass, but assumed 1 for allocation.)
2013-02-09 15:26:20 +00:00
Michael Drake
8c3e0cf81a
[Return] will replace selection.
2013-02-09 14:43:21 +00:00
Michael Drake
b4609f41bc
Support front ends that pass CR for [return], as well as those that pass NL.
2013-02-09 14:19:38 +00:00
Michael Drake
eb1113e4c3
Fix handling of empty textarea.
2013-02-09 14:18:17 +00:00
Michael Drake
048b344a43
Take account of scrollbar-occupied regions.
2013-02-09 13:34:28 +00:00
Michael Drake
f848de3dd0
Fix use of x values when y is required.
2013-02-09 13:18:16 +00:00
Michael Drake
2bd0d13817
Take account of caret height when scrolling to show caret.
2013-02-09 11:54:13 +00:00
Michael Drake
688e1b0e4f
Slight selection auto-scroll optimisation.
2013-02-09 11:24:44 +00:00
Michael Drake
363d02b8ad
Pedantic wrap.
2013-02-08 23:39:41 +00:00
Michael Drake
50c52408f5
Fix seg fault when moving cursor up onto empty top line.
2013-02-08 23:38:05 +00:00
Michael Drake
6fee220c52
Adjust code to reduce indentation.
2013-02-08 23:35:42 +00:00
Michael Drake
0d831c4ab6
Scaled textarea rendering support. Ugly.
2013-02-08 23:25:40 +00:00
Michael Drake
586e02e915
Implement text selection auto-scroll.
2013-02-08 20:03:44 +00:00
Michael Drake
7a397d29c6
Improve scroll-to-caret behaviour.
2013-02-08 19:46:35 +00:00
Michael Drake
59d24187f7
Support dropping text file on textarea widget.
2013-02-08 16:05:44 +00:00
Michael Drake
698f391289
Add scrollwheel support to textareas.
2013-02-08 15:26:24 +00:00
Michael Drake
f57e89cc25
Add ta to documentation.
2013-02-08 15:15:27 +00:00
Michael Drake
9c20ff9592
Drag fixup. Add some documentation.
2013-02-08 15:05:07 +00:00
Michael Drake
4747bbbfb2
HTML drags now go via content msg.
2013-02-08 13:22:53 +00:00
Michael Drake
9ec663f3a9
Tweak selection rendering. Adjusting layout doesn't emit redraw request. Client must redraw when it wants it.
2013-02-08 13:16:24 +00:00
Michael Drake
76b0e59b18
Don't lose fractional part of text pt size to rounding.
2013-02-07 15:03:35 +00:00