# khtml Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Source Files

# khtml::CSSStyleSelector Class Reference

the StyleSelector implementation for CSS. More...

`#include <cssstyleselector.h>`

Inheritance diagram for khtml::CSSStyleSelector:

[legend]
Collaboration diagram for khtml::CSSStyleSelector:

[legend]
List of all members.

## Public Types

enum | SelectorState { Unknown = 0, Applies, AppliesPseudo, Invalid }
enum | SelectorMedia { MediaAural = 1, MediaBraille, MediaEmboss, MediaHandheld, MediaPrint, MediaProjection, MediaScreen, MediaTTY, MediaTV }

## Public Member Functions

| CSSStyleSelector (DOM::DocumentImpl *doc, QString userStyleSheet, DOM::StyleSheetListImpl *styleSheets, const KURL &url, bool _strictParsing)
| creates a new StyleSelector for a Document.
| CSSStyleSelector (DOM::CSSStyleSheetImpl *sheet)
| same as above but for a single stylesheet.
void | addSheet (DOM::CSSStyleSheetImpl *sheet)
RenderStyle * | styleForElement (DOM::ElementImpl *e, int state=None)
QValueList< int > | fontSizes () const
void | computeFontSizes (QPaintDeviceMetrics *paintDeviceMetrics, int zoomFactor)

## Static Public Member Functions

void | loadDefaultStyle (const KHTMLSettings *s=0)
void | clear ()

## Public Attributes

bool | strictParsing
khtml::CSSStyleSelector::Encodedurl | encodedurl

## Protected Member Functions

void | checkSelector (int selector, DOM::ElementImpl *e)
bool | checkOneSelector (DOM::CSSSelector *selector, DOM::ElementImpl *e)
void | buildLists ()
void | clearLists ()
unsigned int | addInlineDeclarations (DOM::CSSStyleDeclarationImpl *decl, unsigned int numProps)
void | applyRule (DOM::CSSProperty *prop)

## Protected Attributes

CSSStyleSelectorList * | authorStyle
CSSStyleSelectorList * | userStyle
DOM::CSSStyleSheetImpl * | userSheet
unsigned int | selectors_size
DOM::CSSSelector ** | selectors
SelectorCache * | selectorCache
unsigned int | properties_size
CSSOrderedProperty ** | properties
QMemArray< CSSOrderedProperty > | inlineProps
QString | m_medium
CSSOrderedProperty ** | propsToApply
CSSOrderedProperty ** | pseudoProps
unsigned int | propsToApplySize
unsigned int | pseudoPropsSize
int | dynamicState
RenderStyle::PseudoId | dynamicPseudo
int | usedDynamicStates
int | selectorDynamicState
RenderStyle * | style
RenderStyle * | parentStyle
DOM::ElementImpl * | element
DOM::NodeImpl * | parentNode
KHTMLView * | view
KHTMLPart * | part
const KHTMLSettings * | settings
QPaintDeviceMetrics * | paintDeviceMetrics
QValueList< int > | m_fontSizes
bool | fontDirty

## Static Protected Attributes

DOM::CSSStyleSheetImpl * | defaultSheet = 0
CSSStyleSelectorList * | defaultStyle = 0
CSSStyleSelectorList * | defaultPrintStyle = 0

## Detailed Description

the StyleSelector implementation for CSS.

Definition at line 102 of file cssstyleselector.h.

## Constructor & Destructor Documentation

CSSStyleSelector::CSSStyleSelector | ( | DOM::DocumentImpl * | doc,
|  | QString | userStyleSheet,
|  | DOM::StyleSheetListImpl * | styleSheets,
|  | const KURL & | url,
|  | bool | _strictParsing
| ) |

creates a new StyleSelector for a Document.

goes through all StyleSheets defined in the document and creates a list of rules it needs to apply to objects

Also takes into account special cases for HTML documents, including the defaultStyle (which is html only)

Definition at line 75 of file cssstyleselector.cpp.

References QPtrListIterator::current(), QString::isEmpty(), KHTMLView::mediaType(), KHTMLView::part(), KURL::setPath(), KURL::setQuery(), KURL::setRef(), KHTMLPart::settings(), KURL::url(), and KHTMLPart::zoomFactor().

CSSStyleSelector::CSSStyleSelector | ( | DOM::CSSStyleSheetImpl * | sheet | ) |

| same as above but for a single stylesheet. Definition at line 138 of file cssstyleselector.cpp.

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

- cssstyleselector.h
- cssstyleselector.cpp

This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 13:40:00 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001