Author image Zakariyya Mughal
and 4 contributors

NAME

Renard::Curie::Component::Outline - Component that provides a list of headings for navigating

VERSION

version 0.005

EXTENDS

ATTRIBUTES

view_manager

The view manager model for this application.

tree_view

The Gtk3::TreeView component that displays the interactive tree.

model

The Gtk3::TreeStore that holds tree data of heading text and page numbers.

When set, triggers an update to the model for "tree_view".

METHODS

BUILD

Constructor that sets up the view and model.

This class is a subclass of Gtk3::Revealer which allows the visible state to be toggled.

update

  method update( $doc )

Updates the outline's model to correspond to the outline of the currently displayed document.

_trigger_model

  method _trigger_model($new_model)

Trigger that updates the model for the underlying tree_view attribute.

reveal

  method reveal( $should_reveal )

Wrapper around the Gtk3::Revealer::set_reveal_child method that sets the hexpand property for this widget at the same time so that the parent container gives an appropriate amount of width to the widget.

Without this, the revealer widget may still expand to take up some space when the child is not visible.

CALLBACKS

on_tree_view_row_activate_cb

  callback on_tree_view_row_activate_cb( $tree_view, $path, $column, $self )

Callback that navigates the current document to the position that corresponds to a row of the tree that has been clicked.

AUTHOR

Project Renard

COPYRIGHT AND LICENSE

This software is copyright (c) 2016 by Project Renard.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.