The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

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

VERSION

version 0.001

EXTENDS

CONSUMES

ATTRIBUTES

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.

CLASS METHODS

FOREIGNBUILDARGS

  classmethod FOREIGNBUILDARGS(@)

Builds the Gtk3::Revealer super-class.

CALLBACKS

on_tree_view_row_activate_cb

  fun 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.