libetonyek::IWORKStyleStack Class Reference

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

#include <IWORKStyleStack.h>

Public Member Functions

 IWORKStyleStack ()
 Construct an empty context. More...
 
 ~IWORKStyleStack ()
 
void push ()
 Push a style onto the active styles stack. More...
 
void push (const IWORKStylePtr_t &style)
 Push a style onto the active styles stack. More...
 
void pop ()
 Pop a style from the active styles stack. More...
 
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. More...
 

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 ( )

◆ push() [1/2]

◆ 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(), pop(), push(), and set().


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

Generated for libetonyek by doxygen 1.8.13