⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 render_form.h

📁 monqueror一个很具有参考价值的源玛
💻 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 Dirk A. Mueller (mueller@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. * * $Id: render_form.h,v 1.1.1.1 2002/01/16 10:39:56 ymwei Exp $ */#ifndef RENDER_FORM_H#define RENDER_FORM_H// TODO://// ### we need a generic event handling mechanism for elements replaced by widgets// ### this is just a hack and does only work for onclick :-(//// ### tabbing order// ### return == submit in some cases#include "render_replaced.h"#include "render_image.h"class QWidget;class QMultiLineEdit;class MGHTMLView;class QLineEdit;class QListboxItem;namespace DOM {    class HTMLFormElementImpl;    class HTMLInputElementImpl;    class HTMLSelectElementImpl;};namespace khtml {class DocLoader;// -------------------------------------------------------------------------class RenderFormElement : public khtml::RenderWidget{public:    RenderFormElement(MGHTMLView *view, HTMLGenericFormElementImpl *element);    virtual ~RenderFormElement();    virtual const char *renderName() const { return "RenderForm"; }    virtual bool isRendered() const  { return true; }    virtual void calcMinMaxWidth();    HTMLGenericFormElementImpl *element() { return m_element; }    virtual void blur();    virtual void focus();public slots:    virtual void slotBlurred();    virtual void slotFocused();    virtual void slotSelected();    virtual void slotClicked();protected:    void applyLayout(int iWidth, int iHeight);    HTMLGenericFormElementImpl *m_element;};// -------------------------------------------------------------------------// generic class for all buttonsclass RenderButton : public RenderFormElement{public:    RenderButton(MGHTMLView *view, HTMLGenericFormElementImpl *element);    virtual const char *renderName() const { return "RenderButton"; }    virtual void layout();};// -------------------------------------------------------------------------hiddenclass RenderHiddenButton : public RenderButton{public:    RenderHiddenButton(MGHTMLView *view, HTMLInputElementImpl *element);    virtual const char *renderName() const { return "RenderHiddenButton"; }};// -------------------------------------------------------------------------class RenderCheckBox : public RenderButton{public:    RenderCheckBox(MGHTMLView *view, HTMLInputElementImpl *element);    virtual const char *renderName() const { return "RenderCheckBox"; }    virtual void layout( );public slots:    virtual void slotStateChanged(int state);};#if 0// -------------------------------------------------------------------------class CheckBoxWidget : public QCheckBox{public:    CheckBoxWidget(QWidget *parent);protected:    virtual void focusInEvent(QFocusEvent *);    virtual void focusOutEvent(QFocusEvent *);signals:    void focused();    void blurred();};#endif// -------------------------------------------------------------------------radioclass RenderRadioButton : public RenderButton{public:    RenderRadioButton(MGHTMLView *view, HTMLInputElementImpl *element);    virtual const char *renderName() const { return "RenderRadioButton"; }    virtual void setChecked(bool);    virtual void layout(); public slots:    void slotClicked();};// -------------------------------------------------------------------------submitclass RenderSubmitButton : public RenderButton{public:    RenderSubmitButton(MGHTMLView *view, HTMLInputElementImpl *element);    virtual ~RenderSubmitButton();    virtual QString defaultLabel();    virtual void layout();    bool clicked() { return m_clicked; }    void setClicked(bool _clicked) { m_clicked = _clicked; }protected:public:    virtual void slotClicked();    bool m_clicked;};// -------------------------------------------------------------------------Resetclass RenderResetButton : public RenderSubmitButton{public:    RenderResetButton(MGHTMLView *view, HTMLInputElementImpl *element);    virtual ~RenderResetButton();    virtual QString defaultLabel();    virtual void slotClicked();};// -------------------------------------------------------------------------LineEditclass RenderLineEdit : public RenderFormElement{public:    RenderLineEdit(MGHTMLView *view, HTMLInputElementImpl *element);    virtual void layout();    virtual const char *renderName() const { return "RenderLineEdit"; }    void select();public slots:    void slotReturnPressed();    void slotTextChanged(const QString &string);};// -------------------------------------------------------------------------pushbutton// these define <Input type=button>, and can only work with scriptsclass RenderPushButton : public RenderSubmitButton{public:    RenderPushButton(MGHTMLView *view, HTMLInputElementImpl *element);    virtual ~RenderPushButton();    virtual QString defaultLabel();    virtual void slotClicked();};// -------------------------------------------------------------------------FileButtonclass RenderFileButton : public RenderFormElement{public:    RenderFileButton(MGHTMLView *view, HTMLInputElementImpl *element);    virtual ~RenderFileButton();    virtual const char *renderName() const { return "RenderFileButton"; }    virtual void layout();    void select();public slots:    virtual void slotClicked();    virtual void slotReturnPressed();    virtual void slotTextChanged(const QString &string);    virtual void slotBlurred();    virtual void slotFocused();protected:    bool m_clicked;    bool m_haveFocus;    MGWidgetEdit   *m_edit;    MGWidgetButton *m_button;};// ------------------------------------------------------------------------------------------------------Selectclass RenderSelect : public RenderFormElement{public:    RenderSelect(MGHTMLView *view, HTMLSelectElementImpl *element);    virtual const char *renderName() const { return "RenderSelect"; }    virtual void layout();    virtual void close( );    virtual QString state();    virtual void restoreState(const QString &);    void setOptionsChanged(bool _optionsChanged);    bool selectionChanged() { return m_selectionChanged; }    void setSelectionChanged(bool _selectionChanged) { m_selectionChanged = _selectionChanged; }    void updateSelection();protected:    unsigned  m_size;    bool m_multiple;    bool m_listBox;    bool m_selectionChanged;    bool m_ignoreSelectEvents;public:    void slotActivated(int index);};//-------------------------------------------------------------------------------------------------------RenderTextAreaclass RenderTextArea : public RenderFormElement{public:    RenderTextArea(MGHTMLView *view, HTMLTextAreaElementImpl *element);    virtual const char *renderName() const { return "RenderTextArea"; }    virtual void layout();    virtual void close ( );    QString text(); // ### remove    void select();    void slotTextChanged();};// -------------------------------------------------------------------------class RenderImageButton : public RenderImage{public:    RenderImageButton(HTMLInputElementImpl *element);    virtual ~RenderImageButton();    virtual const char *renderName() const { return "RenderImageButton"; }    HTMLInputElementImpl *m_element;};}; //namespace#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -