* Add mouse grab
We now also send mouse movement events only to the interested view.
* Add deprecation messages handler
* Make various `View`s respect `on_mouse_left`
* `StatusView`
* `TitleView`
* `TreeView`
* `ToolbarView`
* Fix scrollbar in `TreeView` not updating
We were in some cases sending outdated mouse positions to the scrollbar,
which made it think that the mouse was hovering it.
This also updates the hovered item more responsively during scroll.
When the tooltip was rendered on the last item of right items the right
padding was not properly getting accounted as part of the tooltip width.
This commit also fixes:
* Passing StatusView to item.get_item() instead of StatusView.item
* Some adjustments to annotations.
* Fix "hard" indent column info on status view.
* Update tabs calculation and add "byte" number info
* Add config.show_char_byte_info
* Add show char byte toggle command.
it should be added on the commands/statusbar.lua, but there is no config module loaded before and i won't to add it.
* Update config.lua
* Update statusview.lua
* Items are now objects that can be retrieved and manipulated.
* clip rect is used for left and right panes
* initial support for items to do their own custom drawing by also
doing a clip rect for them
* a custom background color can be specified for the item.
* a command or function can be executed on item click.
* Introduced functionality to easily hide or show all or specific items.
* Better handling of deprecated get_items()
* Spacing is automatically added to items and cleaned on deprecated
items.
* Default items where separated and given the names:
doc:file, doc:position, doc:indentation, doc:lines,
doc:line-ending, core.commandview.
* Some default right or left click actions where given to the default
items.
* Started adding required bits to support dragging to left and right
panes when some items aren't visible.
Note: should work well enough already but maybe some repetitive stuff can be
cleaned out.
* Support for predicates by introducing add_item().
* Support for performing click actions on items.
* Support for optional tooltips on item hover.
* Deprecate the usage of get_item().
It make sense to not put the initial '/' in the filename as the name
is relative to the top directory it belongs to.
By removing the the initial '/' in the filename we can re-introduce the
variable
core.project_files
to stay compatible with standard Lite. The project_files variable will
always point to the files table of the first entry of
core.project_directories.