css_ruleimpl.h
来自「konqueror3 embedded版本, KDE环境下的当家浏览器的嵌入式版」· C头文件 代码 · 共 238 行
H
238 行
/* * This file is part of the DOM implementation for KDE. * * (C) 1999-2003 Lars Knoll (knoll@kde.org) * (C) 2002-2003 Dirk Mueller (mueller@kde.org) * Copyright (C) 2002 Apple Computer, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. * */#ifndef _CSS_css_ruleimpl_h_#define _CSS_css_ruleimpl_h_#include "dom/dom_string.h"#include "dom/css_rule.h"#include "css/css_base.h"#include "misc/loader_client.h"#include "misc/shared.h"namespace khtml { class CachedCSSStyleSheet;}namespace DOM {class CSSRule;class CSSStyleSheet;class CSSStyleSheetImpl;class CSSStyleDeclarationImpl;class MediaListImpl;class CSSRuleImpl : public StyleBaseImpl{public: CSSRuleImpl(StyleBaseImpl *parent) : StyleBaseImpl(parent), m_type(CSSRule::UNKNOWN_RULE) {} virtual bool isRule() const { return true; } unsigned short type() const { return m_type; } CSSStyleSheetImpl *parentStyleSheet() const; CSSRuleImpl *parentRule() const; DOM::DOMString cssText() const; void setCssText(DOM::DOMString str); virtual void init() {}protected: CSSRule::RuleType m_type;};class CSSCharsetRuleImpl : public CSSRuleImpl{public: CSSCharsetRuleImpl(StyleBaseImpl *parent) : CSSRuleImpl(parent) { m_type = CSSRule::CHARSET_RULE; } virtual bool isCharsetRule() const { return true; } DOMString encoding() const { return m_encoding; } void setEncoding(DOMString _encoding) { m_encoding = _encoding; }protected: DOMString m_encoding;};class CSSFontFaceRuleImpl : public CSSRuleImpl{public: CSSFontFaceRuleImpl(StyleBaseImpl *parent); virtual ~CSSFontFaceRuleImpl(); CSSStyleDeclarationImpl *style() const { return m_style; } virtual bool isFontFaceRule() const { return true; }protected: CSSStyleDeclarationImpl *m_style;};class CSSImportRuleImpl : public khtml::CachedObjectClient, public CSSRuleImpl{public: CSSImportRuleImpl( StyleBaseImpl *parent, const DOM::DOMString &href, const DOM::DOMString &media ); CSSImportRuleImpl( StyleBaseImpl *parent, const DOM::DOMString &href, MediaListImpl *media ); virtual ~CSSImportRuleImpl(); DOM::DOMString href() const { return m_strHref; } MediaListImpl *media() const { return m_lstMedia; } CSSStyleSheetImpl *styleSheet() const { return m_styleSheet; } virtual bool isImportRule() const { return true; } // from CachedObjectClient virtual void setStyleSheet(const DOM::DOMString &url, const DOM::DOMString &sheet); virtual void error(int err, const QString &text); bool isLoading(); virtual void init();protected: DOMString m_strHref; MediaListImpl *m_lstMedia; CSSStyleSheetImpl *m_styleSheet; khtml::CachedCSSStyleSheet *m_cachedSheet; bool m_loading; bool m_done;};class MediaList;class CSSRuleListImpl : public khtml::Shared<CSSRuleListImpl>{public: CSSRuleListImpl() {} ~CSSRuleListImpl(); unsigned long length() const { return m_lstCSSRules.count(); } CSSRuleImpl *item ( unsigned long index ) { return m_lstCSSRules.at( index ); } /* not part of the DOM */ unsigned long insertRule ( CSSRuleImpl *rule, unsigned long index ); void deleteRule ( unsigned long index ); void append( CSSRuleImpl *rule ) { m_lstCSSRules.append( rule ); }protected: QPtrList<CSSRuleImpl> m_lstCSSRules;};class CSSMediaRuleImpl : public CSSRuleImpl{public: CSSMediaRuleImpl( StyleBaseImpl *parent ); CSSMediaRuleImpl( StyleBaseImpl *parent, const DOM::DOMString &media ); CSSMediaRuleImpl( StyleBaseImpl *parent, MediaListImpl *mediaList, CSSRuleListImpl *ruleList ); virtual ~CSSMediaRuleImpl(); MediaListImpl *media() const { return m_lstMedia; } CSSRuleListImpl *cssRules() { return m_lstCSSRules; } unsigned long insertRule ( const DOM::DOMString &rule, unsigned long index ); void deleteRule ( unsigned long index ) { m_lstCSSRules->deleteRule( index ); } virtual bool isMediaRule() const { return true; } /* Not part of the DOM */ unsigned long append( CSSRuleImpl *rule );protected: MediaListImpl *m_lstMedia; CSSRuleListImpl *m_lstCSSRules;};class CSSPageRuleImpl : public CSSRuleImpl{public: CSSPageRuleImpl(StyleBaseImpl *parent); virtual ~CSSPageRuleImpl(); CSSStyleDeclarationImpl *style() const { return m_style; } virtual bool isPageRule() const { return true; } DOM::DOMString selectorText() const; void setSelectorText(DOM::DOMString str);protected: CSSStyleDeclarationImpl *m_style;};class CSSStyleRuleImpl : public CSSRuleImpl{public: CSSStyleRuleImpl(StyleBaseImpl *parent); virtual ~CSSStyleRuleImpl(); CSSStyleDeclarationImpl *style() const { return m_style; } virtual bool isStyleRule() const { return true; } DOM::DOMString selectorText() const; void setSelectorText(DOM::DOMString str); virtual bool parseString( const DOMString &string, bool = false ); void setSelector( QPtrList<CSSSelector> *selector) { m_selector = selector; } void setDeclaration( CSSStyleDeclarationImpl *style); QPtrList<CSSSelector> *selector() { return m_selector; } CSSStyleDeclarationImpl *declaration() { return m_style; } void setNonCSSHints();protected: CSSStyleDeclarationImpl *m_style; QPtrList<CSSSelector> *m_selector;};class CSSUnknownRuleImpl : public CSSRuleImpl{public: CSSUnknownRuleImpl(StyleBaseImpl *parent) : CSSRuleImpl(parent) {} virtual bool isUnknownRule() const { return true; }};} // namespace#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?