SetaPDF_Core_Document_OutlinesItem Class representing an outline item

File: /SetaPDF v2/Core/Document/OutlinesItem.php

Class hierarchy

Implements

Summary

Constants

ACTION

const string SetaPDF_Core_Document_OutlinesItem::ACTION = 'action'

Configuration key

APPEND_MODE_COPY

const string SetaPDF_Core_Document_OutlinesItem::APPEND_MODE_COPY = 'copy'

Append mode value

APPEND_MODE_MOVE

const string SetaPDF_Core_Document_OutlinesItem::APPEND_MODE_MOVE = 'move'

Append mode value

APPEND_MODE_NONE

const null SetaPDF_Core_Document_OutlinesItem::APPEND_MODE_NONE = NULL

Append mode value

BOLD

const string SetaPDF_Core_Document_OutlinesItem::BOLD = 'bold'

Configuration key

COLOR

const string SetaPDF_Core_Document_OutlinesItem::COLOR = 'color'

Configuration key

DEST

const string SetaPDF_Core_Document_OutlinesItem::DEST = 'destination'

Configuration key

ITALIC

const string SetaPDF_Core_Document_OutlinesItem::ITALIC = 'italic'

Configuration key

MOVE_MODE_APPEND

const string SetaPDF_Core_Document_OutlinesItem::MOVE_MODE_APPEND = 'append'

Move mode value

MOVE_MODE_APPEND_CHILD

const string SetaPDF_Core_Document_OutlinesItem::MOVE_MODE_APPEND_CHILD = 'appendChild'

Move mode value

MOVE_MODE_PREPEND

const string SetaPDF_Core_Document_OutlinesItem::MOVE_MODE_PREPEND = 'prepend'

Move mode value

TITLE

const string SetaPDF_Core_Document_OutlinesItem::TITLE = 'title'

Configuration key


Properties

$_current

protected SetaPDF_Core_Document_OutlinesItem SetaPDF_Core_Document_OutlinesItem::$_current

The current iterator item

$_dictionary

protected SetaPDF_Core_Type_Dictionary SetaPDF_Core_Document_OutlinesItem::$_dictionary

The item dictionary

$_indirectReference

protected SetaPDF_Core_Type_IndirectObjectInterface SetaPDF_Core_Document_OutlinesItem::$_indirectReference

The indirect reference for this item (if available)

$_key

protected integer SetaPDF_Core_Document_OutlinesItem::$_key = 0

Current iterator key


Static Methods

_getHash()

private static SetaPDF_Core_Document_OutlinesItem::_getHash (
self $item
): string

Get a hash of an outline item.

Used for checking cyclic references.

Parameters
$item : self
 
See

copyItem()

Copies an item.

This method internally removes all relations to its parents or neighboring items.

Parameters
$document : SetaPDF_Core_Document

The document instance in which context the item will be copied

$item : SetaPDF_Core_Document_OutlinesItem

The item to copy

create()

public static SetaPDF_Core_Document_OutlinesItem::create (
SetaPDF_Core_Document $document, string|array $titleOrConfig [, array $config = array ( ) ]
): SetaPDF_Core_Document_OutlinesItem

Creates an outline item.

The configuration array could hold keyed values:

$config = array(
    SetaPDF_Core_Document_OutlinesItem::TITLE => string,
    SetaPDF_Core_Document_OutlinesItem::DEST => SetaPDF_Core_Document_Destination|SetaPDF_Core_Type_Array|string,
    SetaPDF_Core_Document_OutlinesItem::ACTION => SetaPDF_Core_Document_Action|SetaPDF_Core_Type_Dictionary,
    SetaPDF_Core_Document_OutlinesItem::COLOR => SetaPDF_Core_DataStructure_Color_Rgb|array
    SetaPDF_Core_Document_OutlinesItem::BOLD => boolean,
    SetaPDF_Core_Document_OutlinesItem::ITALIC => boolean,
);
Parameters
$document : SetaPDF_Core_Document

The document instance in which context the item will be used

$titleOrConfig : string|array

The title or a configuration array

$config : array

A configuration array


Methods

__clone()

Omit cloning.

Exceptions

Throws BadMethodCallException

append()

Append another item to this item.

The $mode parameter can be used to specify the way the item will be appended: moved or copied.

Parameters
$item : SetaPDF_Core_Document_OutlinesItem

The item to append

$document : SetaPDF_Core_Document

The document instance in which context the item will be used

$mode : string

The append mode. See SetaPDF_Core_Document_OutlinesItem::APPEND_MODE_XXX constants for details.

Return Values

Returns the SetaPDF_Core_Document_OutlinesItem object for method chaining.

Exceptions

Throws LogicException

Throws InvalidArgumentException

appendChild()

public SetaPDF_Core_Document_OutlinesItem::appendChild (
self $item [, SetaPDF_Core_Document $document = null [, string $mode = null ]]
): SetaPDF_Core_Document_OutlinesItem

Append another item as a child of this item.

The $mode parameter can be used to specify the way the item will be appended: moved or copied.

Parameters
$item : self

The item to append

$document : SetaPDF_Core_Document

The document instance in which context the item will be used

$mode : string

The append mode. See SetaPDF_Core_Document_OutlinesItem::APPEND_MODE_XXX constants for details.

Return Values

Returns the SetaPDF_Core_Document_OutlinesItem object for method chaining.

Exceptions

Throws InvalidArgumentException

appendChildCopy()

Appends a copy of another item or outline as a child to this item.

Parameters
$originalItem : SetaPDF_Core_Document_Catalog_Outlines|SetaPDF_Core_Document_OutlinesItem

The original item or root outlines dictionary

$document : SetaPDF_Core_Document

The document instance in which context the item will be used

appendCopy()

Appends a copy of another item to this item.

Parameters
$originalItem : SetaPDF_Core_Document_OutlinesItem

The original item

$document : SetaPDF_Core_Document

The document instance in which context the item will be used

Return Values

Returns the SetaPDF_Core_Document_OutlinesItem object for method chaining.

close()

Close the item.

Alias for SetaPDF_Core_Document_OutlinesItem::setOpen() with false as its argument.

Return Values

Returns the SetaPDF_Core_Document_OutlinesItem object for method chaining.

contains()

public SetaPDF_Core_Document_OutlinesItem::contains (
SetaPDF_Core_Document_OutlinesItem $item [, boolean $checkAgainstThis = true ]
): boolean

Checks if an item is specified in any descendants of this item.

Parameters
$item : SetaPDF_Core_Document_OutlinesItem

The item to check for

$checkAgainstThis : boolean

True to check this instance against the item

Return Values

Whether the item is specified in any descendants of this item.

getAction()

Get the action of the item.

Return Values

The action instance or false if no action is defined.

getChildren()

getColor()

Get the color of the item.

Return Values

A color object or false if no color is defined.

getCount()

Get the number of visible outline items (value of the Count key).

Total number of visible outline items at all levels of the outline.

getDestination()

Get the destination of the item.

Parameters
$document : SetaPDF_Core_Document

The main document is needed to automatically resolve the destination

Return Values

A destination instance or false if none was defined.

Exceptions

Throws BadMethodCallException

getDictionary()

getFirstItem()

Get an item instance of the item referenced in the First key.

getLastItem()

Get an item instance of the item referenced in the 'Last' key.

getNext()

Get an item instance of the item referenced in the Next key.

getParent()

Get an item instance of the item referenced in the Parent key.

getPrevious()

Get an item instance of the item referenced in the Prev key.

getTitle()

public SetaPDF_Core_Document_OutlinesItem::getTitle (
[ string $encoding = 'UTF-8' ]
): string

Get the item title.

Parameters
$encoding : string

The output encoding

hasChildren()

Checks if this item has descendants.

See

hasFirstItem()

Checks if this item has a 'First' value set.

The first item is the first item structured under this item. With this method you can check if the item has child items.

Return Values

True if a child item exists - false otherwise.

isBold()

public SetaPDF_Core_Document_OutlinesItem::isBold (
void
): boolean

Checks if the item should be displayed bold.

isItalic()

Checks if the item should be displayed italic.

isOpen()

public SetaPDF_Core_Document_OutlinesItem::isOpen (
void
): null|boolean

Checks whether the item is open or not or if the item does not holds any descendants.

Return Values

Returns true if the item is open, false if it is closed or null if the item does not holds any descendants.

key()

public SetaPDF_Core_Document_OutlinesItem::key (
void
): integer

Get the iterator key.

See

move()

Move this item to another item or root outline.

The $mode parameter can be used to specify how the item will be moved.

Parameters
$target : SetaPDF_Core_Document_Catalog_Outlines|SetaPDF_Core_Document_OutlinesItem

The target item

$document : SetaPDF_Core_Document

The document instance in which context the item will be used

$mode : string

The move mode. See SetaPDF_Core_Document_OutlinesItem::MOVE_MODE_XXX constants for details.

Return Values

Returns the SetaPDF_Core_Document_OutlinesItem object for method chaining.

Exceptions

Throws InvalidArgumentException

next()

Get the next item.

See

offsetExists()

public SetaPDF_Core_Document_OutlinesItem::offsetExists (
mixed $offset
): boolean

Checks if an item exists at a specific position.

Parameters
$offset : mixed

The index being checked

See

offsetGet()

Get an item by a specific position.

Parameters
$offset : mixed

The index with the value

Return Values

The value at the specified index.

Exceptions

Throws InvalidArgumentException if no item is at the offset.

See

offsetSet()

public SetaPDF_Core_Document_OutlinesItem::offsetSet (
null|string $offset, mixed $value
): void

Set an item at a specific position.

Parameters
$offset : null|string

The index being set

$value : mixed

The new value for the index

See

offsetUnset()

Removes an item at a specific position.

Parameters
$offset : mixed

The index being unset

See

open()

Open the item.

Return Values

Returns the SetaPDF_Core_Document_OutlinesItem object for method chaining.

prepend()

Prepend another item to this item.

The $mode parameter can be used to specify the way the item will be prepended: moved or copied.

Parameters
$item : SetaPDF_Core_Document_OutlinesItem

The item to prepend

$document : SetaPDF_Core_Document

The document instance in which context the item will be used

$mode : string

The append mode. See SetaPDF_Core_Document_OutlinesItem::APPEND_MODE_XXX constants for details.

Return Values

Returns the passed item or the last node in the item structure.

Exceptions

Throws LogicException

Throws InvalidArgumentException

prependCopy()

Prepends a copy of another item to this item.

Parameters
$originalItem : SetaPDF_Core_Document_OutlinesItem

The original item

$document : SetaPDF_Core_Document

The document instance in which context the item will be used

Return Values

Returns the SetaPDF_Core_Document_OutlinesItem object for method chaining.

remove()

Remove the item from the outline.

Return Values

The removed item

rewind()

Reset the iterator.

See

setAction()

Set the action of the item.

The action could be an instance of SetaPDF_Core_Document_Action or a plain dictionary representing the action.

Parameters
$action : SetaPDF_Core_Document_Action|SetaPDF_Core_Type_Dictionary

The action to execute

Return Values

Returns the SetaPDF_Core_Document_OutlinesItem object for method chaining.

Exceptions

Throws InvalidArgumentException

setBold()

Sets whether the item should be displayed bold or not.

Parameters
$bold : boolean

True to display the item bold

Return Values

Returns the SetaPDF_Core_Document_OutlinesItem object for method chaining.

setColor()

public SetaPDF_Core_Document_OutlinesItem::setColor (
array|SetaPDF_Core_DataStructure_Color_Rgb|float $colorOrR [, float $g = null [, float $b = null ]]
): SetaPDF_Core_Document_OutlinesItem

Set the color of the item.

Parameters
$colorOrR : array|SetaPDF_Core_DataStructure_Color_Rgb|float

An array of 3 integer values representing the rgb components (between 0 and 1), an instance of SetaPDF_Core_DataStructure_Color_Rgb or the red component value (between 0 and 1).

$g : float

The green component value (between 0 and 1)

$b : float

The blue component value (between 0 and 1)

Return Values

Returns the SetaPDF_Core_Document_OutlinesItem object for method chaining.

setDestination()

Set the destination of the item.

Parameters
$destination : SetaPDF_Core_Document_Destination|SetaPDF_Core_Type_Array|SetaPDF_Core_Type_StringValue|SetaPDF_Core_Type_Name|string

The destination

Return Values

Returns the SetaPDF_Core_Document_OutlinesItem object for method chaining.

Exceptions

Throws InvalidArgumentException

setItalic()

Sets whether the item should be displayed italic or not.

Parameters
$italic : boolean

True to display the item italic

Return Values

Returns the SetaPDF_Core_Document_OutlinesItem object for method chaining.

setOpen()

Open or close the item.

Parameters
$open : boolean

A boolean value specifying if the item is opened or not

Return Values

Returns the SetaPDF_Core_Document_OutlinesItem object for method chaining.

setTitle()

public SetaPDF_Core_Document_OutlinesItem::setTitle (
string $title [, string $encoding = 'UTF-8' ]
): SetaPDF_Core_Document_OutlinesItem

Set the item title.

Parameters
$title : string

The item title

$encoding : string

The input encoding

Return Values

Returns the SetaPDF_Core_Document_OutlinesItem object for method chaining.

valid()

public SetaPDF_Core_Document_OutlinesItem::valid (
void
): boolean

Checks whether the pointer of the iterator is valid or not.

See