Commit Graph

39 Commits

Author SHA1 Message Date
Michael Drake
9aecf47408 Treeview: Rationalise initialisation and finalisation.
Previously the expected behaviour for front ends using the correct
API for hotlist, global history, cookie manager, and ssl cert
viewer was that the front end would initialise the treeview module
on startup and finalise it on application exit.

However, this meant that the front ends had to include the core
treeview header, which they didn't otherwise need.

Since the tree module provided access to the new treeview utilities
through the old tree API, and was used by front ends with no changes
for the new treeview API, the tree layer refcounted initialisations
of treeview-based widgets, and only called the underlying treeview
init/fini functions when needed.

This change moves that refcounting into the treeview module.  Now
the hotlist, global history, cookie manager, and ssl cert viewer
widgets call call treeview init/fini as part of their own
initialisation and finalisation.  This means that front ends
using the correct APIs for treeview-based widgets don't need to
know anything about the underlying treeview, and the tree module
compatibility layer has had its treeview refcounting removed.

Finally, the treeview_init function took a font size parameter.
Now it does not and lit gets font size from config.  We probably
want to add a new `treeview_font_size` option to nsoptions, and
have differnent defaults on different platforms. 12pt on RISC OS,
and 11pt elsewhere, most likely.
2016-08-10 18:57:36 +01:00
Vincent Sanders
0ae788752c remove unecessary textinput header use from treeview header 2016-06-30 16:12:06 +01:00
Vincent Sanders
8fdf262683 remove unecessary content API usage from atari frontend 2016-06-08 15:30:25 +01:00
Vincent Sanders
8711fbe47d move mouse and pointer state header into public API 2016-05-30 12:10:08 +01:00
Michael Drake
eb86217ead Add ability to copy text from marked fields in selected nodes to clipboard. 2015-01-03 00:21:31 +00:00
Vincent Sanders
05a64bfde9 fix up more doxygen errors 2014-11-08 16:49:32 +00:00
Vincent Sanders
ad343eccb1 remove unecessary utils/types.h
This cleans up this header and moves the functionality into more
useful places while reducing the include complexity but only pulling
in whats required.
2014-11-02 20:10:32 +00:00
Vincent Sanders
db01637343 remove content include from urldb header 2014-07-17 00:18:44 +01:00
Michael Drake
ce4d52e72a Fix hotlist and global_history _get_selection functions.
Broken when selection was folder, rather than entry.
  Renamed tree_node_flags lables to avoid TREE_NODE_NONE name clash.
2014-05-24 15:09:20 +01:00
Michael Drake
61b5a5e98f Visual indication of hotlist's folder for unsorted entries, with special icon. 2013-11-08 18:53:34 +00:00
Michael Drake
951ad51cd4 Add functions to get first selected hotlist/global_history node data. 2013-09-13 14:24:25 +01:00
Michael Drake
3d123d72fc Enable front end to select treeview text size. 2013-09-09 13:11:36 +01:00
Michael Drake
b56d684a31 Add a pair of recursive expand/contract functions. 2013-09-03 11:06:07 +01:00
Michael Drake
9a59103c6a Polish node deletion. 2013-08-30 13:29:19 +01:00
Michael Drake
09f5b0e95f Improve callback suppression options. Reduce unnecessary callback usage. 2013-08-30 12:51:40 +01:00
Michael Drake
afaf24378b Add flag to suppress redraw on node creation. 2013-08-29 18:31:58 +01:00
Michael Drake
28dec67c64 Remove select all and clear selection functions from public API. Clients can send KEY_SELECT_ALL and KEY_CLEAR_SELECTION to the keypress handler. 2013-08-28 13:36:15 +01:00
Michael Drake
826b392b57 Simple treeview_edit_selection implementation. 2013-08-28 12:58:41 +01:00
Michael Drake
43d1e777df Function to get releations for node entry. 2013-08-27 20:56:20 +01:00
Michael Drake
1212f1d321 Expose leaving node callback in public treeview walker interface. 2013-08-22 16:05:03 +01:00
Michael Drake
71676165c1 Add folder node update function. 2013-08-20 20:04:42 +01:00
Michael Drake
9e29ef4bdd Pass edit message to treeview client, when editing ends. 2013-08-20 15:44:24 +01:00
Michael Drake
4697d1ccc1 Expose treeview walker. 2013-07-25 16:06:34 +01:00
Michael Drake
ec9608c4de Make node delete callback msg differentiate between deletes caused by user interaction and other deletes (e.g. treeview destruction). 2013-07-15 14:34:56 +01:00
Michael Drake
5616221064 Typedefs for internal treeview and treeview_node structs. 2013-07-03 13:48:53 +01:00
Michael Drake
26befde81c Make READ_ONLY flag a combinator for NO_MOVES and NO_DELETES. Implement NO_DELETES. 2013-07-03 11:50:23 +01:00
Michael Drake
c010535fbe Add treeview behaviour flags. 2013-07-03 11:19:16 +01:00
Michael Drake
4313d4c4ec Make flags for suppress resize. 2013-07-02 17:30:52 +01:00
Michael Drake
21cd01a9b3 Add quite param to insertion calls to suppress treeview height callback. 2013-07-01 16:16:11 +01:00
Michael Drake
df1667bd58 Start keypress handling. 2013-07-01 11:47:46 +01:00
Michael Drake
beceec8c8e Say which functions are documented in the header. 2013-06-18 16:08:21 +01:00
Michael Drake
ec02cf9e4c Remove unused function. 2013-06-18 16:04:14 +01:00
Michael Drake
1f3265f2a5 Add documentation. 2013-06-18 16:02:31 +01:00
Michael Drake
23a0520b40 Enable double click to launch from treeview. 2013-06-04 15:03:07 +01:00
Michael Drake
abf5512aff Make releationship enum meanings clearer. 2013-06-04 12:24:14 +01:00
Michael Drake
8f3b8c8cfa Clean up history node deletion -- now treeview driven. Add select all, selection clear, has selection functions. Improve selection handling. Enable double click to toggle node expansion. Improve redraw behaviour. Make treeview call node callback for deletion. Fix redraw issues. 2013-06-03 17:06:47 +01:00
Michael Drake
d3b8a493af cw handle can't be const. 2013-05-31 21:02:29 +01:00
Michael Drake
ab9efd19fe Make node flags for expanded and selected. Start mouse action support. (Little more than a stub.) 2013-05-31 13:24:27 +01:00
Michael Drake
55aa7af80f Add first pass at new treeview.
Only supports creation, destruction, and redraw atm.
TODO: input handling (mouse, keyboard), editing, using the node callbacks.

Also includes new core_window.h.
2013-05-31 10:05:15 +01:00