libetonyek::IWORKStyleStack Class Reference

Representation of a dynamic inheritance of styles. More...

#include <IWORKStyleStack.h>

Public Member Functions

 IWORKStyleStack ()
 Construct an empty context.
 
 ~IWORKStyleStack ()
 
void push ()
 Push a style onto the active styles stack.
 
void push (const IWORKStylePtr_t &style)
 Push a style onto the active styles stack.
 
void pop ()
 Pop a style from the active styles stack.
 
void set (const IWORKStylePtr_t &style)
 
template<class Property>
bool has (const bool lookInParent=true) const
 
template<class Property>
const IWORKPropertyInfo< Property >::ValueType & get (const bool lookInParent=true) const
 

Private Types

typedef std::deque< IWORKStylePtr_tStack_t
 The internal type of style stack.
 

Private Attributes

Stack_t m_stack
 

Detailed Description

Representation of a dynamic inheritance of styles.

A static inheritance of styles is represented by the "parent" relation of styles. A dynamic inheritance is defined by the way styles are applied on elements. One or more styles may be active at any given moment (e.g., a character style of a text span and a paragraph style of the paragraph) and a property can be inherited from the enclosing style.

The property getters in specific implementations of IWORKStyle should take a pointer to a IWORKStyleStack.

Member Typedef Documentation

◆ Stack_t

The internal type of style stack.

std::deque is used instead of std::stack because std::stack does not allow iteration through the elements.

Constructor & Destructor Documentation

◆ IWORKStyleStack()

libetonyek::IWORKStyleStack::IWORKStyleStack ( )

Construct an empty context.

◆ ~IWORKStyleStack()

libetonyek::IWORKStyleStack::~IWORKStyleStack ( )

Member Function Documentation

◆ get()

template<class Property>
const IWORKPropertyInfo< Property >::ValueType & libetonyek::IWORKStyleStack::get ( const bool lookInParent = true) const
inline

◆ has()

template<class Property>
bool libetonyek::IWORKStyleStack::has ( const bool lookInParent = true) const
inline

◆ pop()

void libetonyek::IWORKStyleStack::pop ( )

Pop a style from the active styles stack.

◆ push() [1/2]

void libetonyek::IWORKStyleStack::push ( )

Push a style onto the active styles stack.

The previous top style becomes a dynamic parent style.

Referenced by libetonyek::IWORKTable::draw(), libetonyek::IWORKText::handleListLevelChange(), libetonyek::IWORKTable::insertCell(), and libetonyek::IWORKText::needsSection().

◆ push() [2/2]

void libetonyek::IWORKStyleStack::push ( const IWORKStylePtr_t & style)

Push a style onto the active styles stack.

The previous top style becomes a dynamic parent style.

◆ set()

void libetonyek::IWORKStyleStack::set ( const IWORKStylePtr_t & style)

Member Data Documentation

◆ m_stack

Stack_t libetonyek::IWORKStyleStack::m_stack
private

Referenced by get(), has(), IWORKStyleStack(), pop(), push(), push(), and set().


The documentation for this class was generated from the following files:

Generated for libetonyek by doxygen 1.13.2