Vincent Sanders
e72b89ac3d
Improve treeview documentation comments
2017-02-28 23:41:48 +00:00
Vincent Sanders
6741b6e287
clean up incorrect documentation comments from plotter API rework
2017-02-14 23:06:04 +00:00
Vincent Sanders
7d660561cc
Update knockout plotter to use new API
2017-02-11 13:57:06 +00:00
Vincent Sanders
3722ff8d86
Update all core use of plotters to new API
2017-02-11 13:55:41 +00:00
Vincent Sanders
70d700b26c
rationalise use of utils/utils.h header
2017-01-19 21:15:08 +00:00
Michael Drake
ded1979fa1
Treeview: Add API for attaching and detaching from corewindows.
2016-12-29 14:43:38 +00:00
Michael Drake
7750d926ad
Treeview: Allow treeview to be created "detached".
...
This allows treeviews to be constructed before their corewindow.
2016-12-29 14:42:25 +00:00
Michael Drake
93fdbcc6de
Treeview: Don't call corewindow callbacks if not attached to a corewindow.
2016-12-29 14:40:54 +00:00
Michael Drake
b93ae2c28f
Treeview: Convert to using corewindow callback wrappers.
2016-12-29 14:39:44 +00:00
Michael Drake
fb0cdfed79
Treeview: Add wrappers for corewindow callbacks.
...
Currently unused.
2016-12-29 14:29:48 +00:00
Vincent Sanders
c8c7de976a
Fix crash when treeview widget is reinitialised
...
The treeview widget can be repeatedly finialised and initialised. The
content ready flag was not being cleard on initialisation so content
was being used in an bad state. For example this caused an assert when
content_redraw() was called on non-ready resource handles.
2016-12-28 15:25:46 +00:00
Vincent Sanders
a8a6098f68
move core window API into netsurf header path
2016-08-18 21:07:04 +01:00
Michael Drake
1457a049bb
Treeview: Add treeview_font_size
to options.
...
Default is 11pt, and RISC OS overrides to 12pt.
2016-08-11 08:15:21 +01:00
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
8066d1c8b4
move key press enums and operations to their own header
2016-07-01 14:27:04 +01:00
Vincent Sanders
0ae788752c
remove unecessary textinput header use from treeview header
2016-06-30 16:12:06 +01:00
Vincent Sanders
8861923455
Allow include directories to be added by sub makefiles
2016-06-06 14:47:27 +01:00
Vincent Sanders
76a68d7dd0
Update content to split public and internal API
2016-06-06 09:01:38 +01:00
Vincent Sanders
667605869f
move plotters header into public API
2016-05-30 21:05:57 +01:00
Vincent Sanders
9ce71876ce
move layout header into public API
2016-05-30 11:31:35 +01:00
Vincent Sanders
d240bec036
move clipboard header into public API
2016-05-30 11:04:32 +01:00
Vincent Sanders
2dab078f21
move bitmap API header to core include directory
2016-05-26 23:01:03 +01:00
Vincent Sanders
6722943b81
move the CSS content handler
2016-05-26 11:18:41 +01:00
Vincent Sanders
3224d7121a
move image content handlers to accomodate core build changes
2016-05-23 23:32:16 +01:00
Vincent Sanders
974a4a21e1
split out the layout glyph sizing and splitting API
...
This refactors the core "font" sizing API to be handled through gui
function tables similar to every other core/frontend calling API.
2016-04-23 23:32:21 +01:00
Vincent Sanders
c105738fa3
Change LOG() macro to be varadic
...
This changes the LOG macro to be varadic removing the need for all
callsites to have double bracketing and allows for future improvement
on how we use the logging macros.
The callsites were changed with coccinelle and the changes checked by
hand. Compile tested for several frontends but not all.
A formatting annotation has also been added which allows the compiler
to check the parameters and types passed to the logging.
2015-05-28 16:08:46 +01:00
Vincent Sanders
f37e52c394
Move bitmap operations into an operation table.
...
The generic bitmap handlers provided by each frontend are called back
from the core and therefore should be in an operation table. This was
one of the very few remaining interfaces stopping the core code from
being split into a library.
2015-04-13 23:19:04 +01:00
Witold Filipczyk
befa5e6ed3
To avoid namespace conflicts with ncurses add NetSurf key prefix.
...
Adds a NetSurf key code prefix of NS_ to all key codes.
2015-03-27 09:36:19 +00: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
Michael Drake
21d5d30571
Fix typo in comment.
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
1620f20c4d
make global history treeview callback return error
...
returns an error instead of directly waning the user.
2014-10-30 22:52:54 +00:00
Michael Drake
ac98c6f815
Remove trailing whitespace.
2014-10-15 09:33:54 +01:00
Vincent Sanders
17be8cf216
Put the font operations table alongside all the other core API
...
The netsurf core is driven from numerous operation tables most of
which are now set through a common netsurf_register() interface. The
font and plotting interfaces are currently separate and unlike all the
other operation tables are modified for differing contexts.
This change moves the font operations alongside all the other
operations table and remove unnecessary interaction with the renderers
font internals. Further this also removes the need for css internals
to be visible in frontends.
2014-10-13 11:56:31 +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
Vincent Sanders
3455d66921
reduce desktop/browser.h unecessary includes
2014-02-03 17:56:24 +00:00
Vincent Sanders
277bcec7c6
stop system colours being anything to do with frontends
2014-01-10 14:32:29 +00:00
François Revol
d6561e51e0
Fix for gcc2 flexible array declaration
2013-12-07 01:16:22 +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
2277fb0284
Apply plot offsets to overlays.
2013-10-26 22:39:48 +01:00
Michael Drake
3dc4ba2989
Remove unrequired NULL check.
2013-10-23 14:40:46 +01:00
Michael Drake
e37fb89f46
Remove unreachable code.
2013-10-23 14:36:46 +01:00
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
Michael Drake
e1468a78df
Fix keyboard nav redraw when treeview height decreases as a result of keypress. Reduce some variable name lengths.
2013-08-17 13:27:38 +01:00
Michael Drake
e17e56b0cc
Move drops over selection target top of selected run.
2013-08-17 13:22:40 +01:00
Michael Drake
59ea55ef3d
Propagate selection to visible descendant nodes when a move drag is started with folder selected.
2013-08-17 12:51:08 +01:00
Michael Drake
dee0cb0380
Optimise drop indicator redraw area.
2013-08-17 11:48:16 +01:00
Michael Drake
d8bf6c2216
Remove unused structure member.
2013-08-16 23:13:25 +01:00
Michael Drake
29b6185ab1
Do indicator redraw after everything else is done, to simplify things.
2013-08-16 23:08:57 +01:00
Michael Drake
b699169d0b
Group the move details, for clarity.
2013-08-16 21:40:45 +01:00
Michael Drake
304523553c
Start optimising drop indicator redraw.
2013-08-16 20:34:41 +01:00