📄 html_inlineimpl.h
字号:
/*
* This file is part of the DOM implementation for KDE.
*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann <hausmann@kde.org>
*
* 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., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
*/
#ifndef HTML_INLINEIMPL_H
#define HTML_INLINEIMPL_H
#include "html_elementimpl.h"
#include "qstringlist.h"
#if NOKIA_CHANGES
#include "KWQSoundstartWidget.h"
// Soundstart helper class to save memory. This struct is only created when
// the anchor tag contains a soundstart attribute. It is NULL otherwise and
// only uses the four bytes for a pointer.
class SoundstartData
{
public: // Methods
// Constructor
SoundstartData()
{
hasSoundstartAttr = false;
hasSrcAttr = false;
onFocus = false;
onSelect = false;
qWidget = NULL;
// Set default loop value here, in case missing from html
overrideDefaultLoop = true;
QString loopName("loop");
QString loopValue("1");
attributeNameList.append(loopName);
attributeValueList.append(loopValue);
};
// Destructor
~SoundstartData()
{
// Delete the KWQSoundstartWidget
if (qWidget) { delete qWidget; }
// Clear the attribute lists
attributeNameList.clear();
attributeNameList.clear();
};
public: // Data
QString srcUrl;
QStringList attributeNameList;
QStringList attributeValueList;
KWQSoundstartWidget* qWidget;
bool hasSoundstartAttr : 1;
bool onFocus : 1;
bool onSelect : 1;
bool hasSrcAttr : 1;
bool overrideDefaultLoop : 1;
};
#endif
namespace DOM {
class DOMString;
class HTMLAnchorElementImpl : public HTMLElementImpl
{
public:
HTMLAnchorElementImpl(DocumentPtr *doc);
~HTMLAnchorElementImpl();
#if APPLE_CHANGES
virtual bool isMouseFocusable() const;
virtual bool isKeyboardFocusable() const;
#endif
virtual bool isFocusable() const;
virtual Id id() const;
virtual void parseHTMLAttribute(HTMLAttributeImpl *attr);
virtual void defaultEventHandler(EventImpl *evt);
virtual void accessKeyAction(bool fullAction);
virtual bool isURLAttribute(AttributeImpl *attr) const;
#if NOKIA_CHANGES
// From NodeImpl
virtual bool rendererIsNeeded(khtml::RenderStyle *);
// New methods for soundstart
void addSoundstartAttribute(QString attributeName, QString attributeValue);
void createSoundstart();
// New struct for soundstart, only 4 bytes used if no soundstart needed
SoundstartData* m_soundstart;
#endif
protected:
bool m_hasTarget : 1;
};
// -------------------------------------------------------------------------
//typedef enum { BRNone=0, BRLeft, BRRight, BRAll} BRClear;
class HTMLBRElementImpl : public HTMLElementImpl
{
public:
HTMLBRElementImpl(DocumentPtr *doc);
~HTMLBRElementImpl();
virtual Id id() const;
virtual bool mapToEntry(NodeImpl::Id attr, MappedAttributeEntry& result) const;
virtual void parseHTMLAttribute(HTMLAttributeImpl *attr);
virtual khtml::RenderObject *createRenderer(RenderArena *, khtml::RenderStyle *);
};
// -------------------------------------------------------------------------
class HTMLFontElementImpl : public HTMLElementImpl
{
public:
HTMLFontElementImpl(DocumentPtr *doc);
~HTMLFontElementImpl();
virtual Id id() const;
virtual bool mapToEntry(NodeImpl::Id attr, MappedAttributeEntry& result) const;
virtual void parseHTMLAttribute(HTMLAttributeImpl *attr);
};
}; //namespace
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -