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_t
Stack_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

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

libetonyek::IWORKStyleStack::IWORKStyleStack ( )

Construct an empty context.

libetonyek::IWORKStyleStack::~IWORKStyleStack ( )

Member Function Documentation

template<class Property >
const IWORKPropertyInfo<Property>::ValueType& libetonyek::IWORKStyleStack::get ( const bool  lookInParent = true) const
inline
template<class Property >
bool libetonyek::IWORKStyleStack::has ( const bool  lookInParent = true) const
inline
void libetonyek::IWORKStyleStack::pop ( )
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.

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

Member Data Documentation

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