219 Commits

Author SHA1 Message Date
Michael Drake
5cddb4ff3c Assert that root node is non-NULL. 2013-10-23 11:40:22 +01:00
Michael Drake
df4975b8d4 Remove unnecessary check. 2013-10-23 11:36:42 +01:00
Michael Drake
e5823beb61 Fix deref before NULL check. 2013-10-23 11:25:40 +01:00
Michael Drake
441e0dcbed Assert target node is non-NULL. 2013-10-22 15:22:42 +01:00
Michael Drake
4cc0d9c233 LOG init/fini messages. 2013-10-11 22:41:09 +01:00
Michael Drake
cd9971293d Set unused channel to 0xff, so that rendering isn't broken in front ends that don't heed the OPACITY flag. 2013-10-05 11:44:15 +01:00
Michael Drake
1e4c733fc0 Appease gtk front end's broken bitmap behaviour. 2013-10-03 11:45:55 +01:00
Michael Drake
a2b4c63fcc Init unused alpha channel to 0, even though we set the bitmaps as opaque. 2013-10-03 11:39:28 +01:00
Michael Drake
69e3963dae Avoid NULL deref when deleting a node, causing empty ancestor nodes to be deleted. 2013-10-03 00:13:18 +01:00
Michael Drake
2a4fb9ecd1 Generate anti-aliased triangles in bitmaps and plot via bitmap plotter. (Without anti-aliasing was too ugly to be endured.) 2013-10-02 23:34:34 +01:00
Michael Drake
f19e827983 Use polygon plotter for treeview furniture (node expansion/contraction triangles), instead of triangle text glyphs. 2013-10-02 13:34:51 +01:00
Michael Drake
b96222d857 We return client data, not node. 2013-09-14 23:22:13 +01: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
b10252e325 Protect against attempt to initialise twice. 2013-09-09 13:00:24 +01:00
Michael Drake
172551870b Squash warning from older GCC. 2013-09-08 19:34:43 +01:00
Michael Drake
33c383357d Express logic to avoid confusing static analyser. 2013-09-05 11:39:44 +01:00
Michael Drake
8007027f84 Express logic so that the static analyser can understand and not report NULL deref. 2013-09-05 11:34:38 +01:00
Michael Drake
e94528518d Remove a couple of dead stores. 2013-09-05 11:27:33 +01:00
Michael Drake
decb4d40f3 Ensure correct field is edited when more than one hidden field is editable. 2013-09-05 11:26:05 +01:00
Michael Drake
b9e3f7ae3d Ensure tree height is provided when treeview building is complete. 2013-09-03 14:38:01 +01:00
Michael Drake
42afcf918f Make externally induced node expand/contract cause redraw. 2013-09-03 14:08:44 +01:00
Michael Drake
1569e9e2a8 Change recursife node collapse behaviour slightly. 2013-09-03 13:32:46 +01:00
Michael Drake
11b784a167 Node collapsing needs to happen when leaving nodes. 2013-09-03 12:36:29 +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
e2fbd3a266 Avoid copying rectangle for redraw_request calls. 2013-08-30 11:38:02 +01:00
Michael Drake
b4a3c94cf0 Various redraw improvements. 2013-08-29 20:43:25 +01:00
Michael Drake
67cbc779be Make client-requested node deletions issue a redraw request. 2013-08-29 19:58:43 +01:00
Michael Drake
db2f47ab27 Use treeview height instead of REDRAW_MAX for rectangle's y1. 2013-08-29 19:12:49 +01:00
Michael Drake
8cc6ac8980 Redraw on node creation, unless suppressed. 2013-08-29 19:05:04 +01:00
Michael Drake
7a25b6aaee Fix one px missmatch between click and drag handling of node selection. 2013-08-28 15:59:00 +01:00
Michael Drake
bc14d492d2 Add height getter. 2013-08-28 14:12:30 +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
1e27299cf1 Inform when textarea drag is happening. 2013-08-21 13:54:00 +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
a9e92e335c Fix node insertion ancestor height updating having cumulative effect. 2013-08-20 15:02:09 +01:00
Michael Drake
9f3a83da66 Tidy edit start click behaviour, with existing selections. 2013-08-19 14:41:12 +01:00
Michael Drake
385af23fbe Start of treeview node edit support. Internal treeview part is mostly done. It now needs to inform the client (only hotlist allows edit), of the change. And the hotlist needs to handle the change request message and update the node. 2013-08-19 14:23:44 +01:00
Michael Drake
fd961c6dfa Ensure ctrl modifier is handled, by dealing with it before no-modifiers case. 2013-08-18 13:22:57 +01:00
Michael Drake
5aa5eb9d6f Ensure nodes within contracted nodes are unselected. 2013-08-17 23:52:48 +01:00
Michael Drake
5f32ac1858 Fix clang warning. 2013-08-17 20:20:49 +01:00
Michael Drake
4ab7ad6bd2 Implement node moving drags. 2013-08-17 19:39:17 +01:00
Michael Drake
e5a4c3d4c9 Find the top y value of selections for indicator pos. 2013-08-17 14:37:24 +01:00
Michael Drake
d1cd950327 Improve keyboard nav slightly. 2013-08-17 13:40:05 +01:00