Commit Graph

1184 Commits

Author SHA1 Message Date
John-Mark Bell 405fa12f8d Fix handling of inline stylesheets with @import 2013-02-26 09:14:32 +00:00
Michael Drake bba74b7a0b Handle readonly attribute for text inputs and textareas. 2013-02-23 17:44:20 +00:00
Michael Drake ffe3ce2615 Don't need initial caret pos now. 2013-02-22 22:26:03 +00:00
Michael Drake c034fb87ad No point in setting caret there. 2013-02-22 22:16:26 +00:00
John-Mark Bell 9303fc56dc Remove redundant code. 2013-02-22 20:51:56 +00:00
Michael Drake 48bd5e1f10 Always set caret. 2013-02-22 16:41:35 +00:00
Michael Drake 04ca082416 Shove allocation step size into #define. 2013-02-22 16:16:10 +00:00
Michael Drake 00eb142661 Increase allocation increment step size. 2013-02-22 16:12:48 +00:00
Michael Drake d48f3e3f49 Textarea tweaks for caret placement after selection removal. 2013-02-22 16:04:31 +00:00
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