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::Incunabula::Outline - Model that represents a document outline

VERSION

version 0.005

EXTENDS

ATTRIBUTES

items

An ArrayRef[HashRef] with a simple representation of an outline where each item of the ArrayRef represents an item in the list of headings displayed in order.

Each HashRef element is an element of the outline with the structure:

{
  # The level in the outline that the item is at. Starts at zero (0).
  level => PositiveOrZeroInt,

  # The textual description of the item.
  text  => Str,

  # The page number that the outline item points to.
  page  => LaxPageNumber,
}

A complete example is:

[
  {
    level => 0,
    text  => 'Chapter 1',
    page  => 20,
  },
  {
    level => 1,
    text  => 'Section 1.1',
    page  => 25,
  },
  {
    level => 0,
    text  => 'Chapter 2',
    page  => 30,
  },
]

which represents the outline

Chapter 1 .......... 20
  Section 1.1 ...... 25
Chapter 2 .......... 30

tree_store

The Gtk3::TreeStore representation for this outline. It holds tree data of the heading text and page numbers.

AUTHOR

Project Renard

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 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.