summaryrefslogtreecommitdiffstats
path: root/khtml/html/html_formimpl.h
diff options
context:
space:
mode:
Diffstat (limited to 'khtml/html/html_formimpl.h')
-rw-r--r--khtml/html/html_formimpl.h606
1 files changed, 0 insertions, 606 deletions
diff --git a/khtml/html/html_formimpl.h b/khtml/html/html_formimpl.h
deleted file mode 100644
index 40fefc9ee..000000000
--- a/khtml/html/html_formimpl.h
+++ /dev/null
@@ -1,606 +0,0 @@
-/*
- * 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 Mueller (mueller@kde.org)
- * (C) 2004, 2005, 2006 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 HTML_FORMIMPL_H
-#define HTML_FORMIMPL_H
-
-#include "html/html_elementimpl.h"
-#include "html/html_imageimpl.h"
-#include "dom/html_element.h"
-
-#include <tqvaluelist.h>
-#include <tqptrlist.h>
-#include <tqcstring.h>
-#include <tqmemarray.h>
-
-class KHTMLView;
-class TQTextCodec;
-
-namespace khtml
-{
- class RenderFormElement;
- class RenderTextArea;
- class RenderSelect;
- class RenderLineEdit;
- class RenderRadioButton;
- class RenderFileButton;
-
- typedef TQValueList<TQCString> encodingList;
-}
-
-namespace KWallet {
- class Wallet;
-}
-
-namespace DOM {
-
-class HTMLFormElement;
-class DOMString;
-class HTMLGenericFormElementImpl;
-class HTMLOptionElementImpl;
-
-// -------------------------------------------------------------------------
-
-class HTMLFormElementImpl : public HTMLElementImpl
-{
-public:
- HTMLFormElementImpl(DocumentImpl *doc, bool implicit);
- virtual ~HTMLFormElementImpl();
-
- virtual Id id() const;
-
- virtual void insertedIntoDocument();
- virtual void removedFromDocument();
- virtual void addId(const TQString& id);
- virtual void removeId(const TQString& id);
-
-
- long length() const;
-
- TQByteArray formData(bool& ok);
-
- DOMString enctype() const { return m_enctype; }
- void setEnctype( const DOMString & );
-
- bool autoComplete() const { return m_autocomplete; }
- void doAutoFill();
- void walletOpened(KWallet::Wallet *w);
-
- virtual void parseAttribute(AttributeImpl *attr);
-
- void radioClicked( HTMLGenericFormElementImpl *caller );
-
- void registerFormElement(HTMLGenericFormElementImpl *);
- void removeFormElement(HTMLGenericFormElementImpl *);
- void registerImgElement(HTMLImageElementImpl *);
- void removeImgElement(HTMLImageElementImpl *);
-
- void submitFromKeyboard();
- bool prepareSubmit();
- void submit();
- void reset();
-
- void setMalformed(bool malformed) { m_malformed = malformed; }
- bool isMalformed() const { return m_malformed; }
-
- friend class HTMLFormElement;
- friend class HTMLFormCollectionImpl;
-
-private:
- void gatherWalletData();
- TQPtrList<HTMLGenericFormElementImpl> formElements;
- TQPtrList<HTMLImageElementImpl> imgElements;
- DOMString m_target;
- DOMString m_enctype;
- TQString m_boundary;
- DOMString m_acceptcharset;
- TQString m_encCharset;
- bool m_post : 1;
- bool m_multipart : 1;
- bool m_autocomplete : 1;
- bool m_insubmit : 1;
- bool m_doingsubmit : 1;
- bool m_inreset : 1;
- bool m_malformed : 1;
- bool m_haveTextarea : 1; // for wallet storage
- bool m_havePassword : 1; // for wallet storage
- DOMString m_name; // our name
- TQMap<TQString, TQString> m_walletMap; // for wallet storage
-};
-
-// -------------------------------------------------------------------------
-
-class HTMLGenericFormElementImpl : public HTMLElementImpl
-{
- friend class HTMLFormElementImpl;
- friend class khtml::RenderFormElement;
-
-public:
- HTMLGenericFormElementImpl(DocumentImpl *doc, HTMLFormElementImpl *f = 0);
- virtual ~HTMLGenericFormElementImpl();
-
- HTMLFormElementImpl *form() { return m_form; }
-
- virtual void parseAttribute(AttributeImpl *attr);
- virtual void attach();
- virtual void reset() {}
-
- virtual void insertedIntoDocument();
- virtual void removedFromDocument();
-
- void onSelect();
- void onChange();
-
- bool disabled() const { return m_disabled; }
- void setDisabled(bool _disabled);
-
- virtual bool isFocusable() const;
- virtual bool isEnumeratable() const { return false; }
-
- bool readOnly() const { return m_readOnly; }
- void setReadOnly(bool _readOnly) { m_readOnly = _readOnly; }
-
- DOMString name() const;
- void setName(const DOMString& name);
-
- virtual bool isGenericFormElement() const { return true; }
-
- /*
- * override in derived classes to get the encoded name=value pair
- * for submitting
- * return true for a successful control (see HTML4-17.13.2)
- */
- virtual bool encoding(const TQTextCodec*, khtml::encodingList&, bool) { return false; }
-
- virtual void defaultEventHandler(EventImpl *evt);
- virtual bool isEditable();
-
-protected:
- HTMLFormElementImpl *getForm() const;
-
- DOMStringImpl* m_name;
- HTMLFormElementImpl *m_form;
- bool m_disabled, m_readOnly;
-};
-
-// -------------------------------------------------------------------------
-
-class HTMLButtonElementImpl : public HTMLGenericFormElementImpl
-{
-public:
- HTMLButtonElementImpl(DocumentImpl *doc, HTMLFormElementImpl *f = 0);
-
- virtual ~HTMLButtonElementImpl();
-
- enum typeEnum {
- SUBMIT,
- RESET,
- BUTTON
- };
-
- virtual Id id() const;
- virtual bool isEnumeratable() const { return true; }
-
- DOMString type() const;
- typeEnum buttonType() const { return m_type; }
- virtual void parseAttribute(AttributeImpl *attr);
- virtual void defaultEventHandler(EventImpl *evt);
- virtual bool encoding(const TQTextCodec*, khtml::encodingList&, bool);
- void activate();
- virtual void attach();
- void click();
- void blur();
- void focus();
-
-protected:
- DOMString m_value;
- TQString m_currValue;
- typeEnum m_type : 2;
- bool m_dirty : 1;
- bool m_clicked : 1;
- bool m_activeSubmit : 1;
-};
-
-// -------------------------------------------------------------------------
-
-class HTMLFieldSetElementImpl : public HTMLGenericFormElementImpl
-{
-public:
- HTMLFieldSetElementImpl(DocumentImpl *doc, HTMLFormElementImpl *f = 0);
-
- virtual ~HTMLFieldSetElementImpl();
-
- virtual Id id() const;
- virtual void attach();
- virtual void parseAttribute(AttributeImpl *attr);
-
-};
-
-// -------------------------------------------------------------------------
-
-class HTMLInputElementImpl : public HTMLGenericFormElementImpl
-{
- friend class khtml::RenderLineEdit;
- friend class khtml::RenderRadioButton;
- friend class khtml::RenderFileButton;
-
-public:
- // do not change the order!
- enum typeEnum {
- TEXT,
- PASSWORD,
- ISINDEX,
- CHECKBOX,
- RADIO,
- SUBMIT,
- RESET,
- FILE,
- HIDDEN,
- IMAGE,
- BUTTON
- };
-
- HTMLInputElementImpl(DocumentImpl *doc, HTMLFormElementImpl *f = 0);
- virtual ~HTMLInputElementImpl();
-
- virtual Id id() const;
-
- virtual bool isEnumeratable() const { return inputType() != IMAGE; }
-
- bool autoComplete() const { return m_autocomplete; }
-
- bool checked() const { return m_useDefaultChecked ? m_defaultChecked : m_checked; }
- void setChecked(bool);
- bool indeterminate() const { return m_indeterminate; }
- void setIndeterminate(bool);
- long maxLength() const { return m_maxLen; }
- int size() const { return m_size; }
- DOMString type() const;
- void setType(const DOMString& t);
-
- DOMString value() const;
- void setValue(DOMString val);
-
- DOMString valueWithDefault() const;
-
- void blur();
- void focus();
-
- virtual bool maintainsState() { return true; }
- virtual TQString state();
- virtual void restoreState(const TQString &state);
-
- void select();
- void click();
-
- virtual void parseAttribute(AttributeImpl *attr);
-
- virtual void attach();
- virtual bool encoding(const TQTextCodec*, khtml::encodingList&, bool);
-
- typeEnum inputType() const { return m_type; }
- virtual void reset();
-
- // used in case input type=image was clicked.
- int clickX() const { return xPos; }
- int clickY() const { return yPos; }
-
- virtual void defaultEventHandler(EventImpl *evt);
- virtual bool isEditable();
-
- DOMString altText() const;
- void activate();
-
- void setUnsubmittedFormChange(bool unsubmitted) { m_unsubmittedFormChange = unsubmitted; }
-
- //Mozilla extensions.
- long selectionStart();
- long selectionEnd();
- void setSelectionStart(long pos);
- void setSelectionEnd (long pos);
- void setSelectionRange(long start, long end);
-protected:
- void parseType(const DOMString& t);
-
- DOMString m_value;
- int xPos;
- short m_maxLen;
- short m_size;
- short yPos;
-
- typeEnum m_type : 4;
- bool m_clicked : 1 ;
- bool m_checked : 1;
- bool m_defaultChecked : 1; // could do without by checking ATTR_CHECKED
- bool m_useDefaultChecked : 1;
- bool m_indeterminate : 1;
- bool m_haveType : 1;
- bool m_activeSubmit : 1;
- bool m_autocomplete : 1;
- bool m_inited : 1;
- bool m_unsubmittedFormChange : 1;
-};
-
-// -------------------------------------------------------------------------
-
-class HTMLLabelElementImpl : public HTMLGenericFormElementImpl
-{
-public:
- HTMLLabelElementImpl(DocumentImpl *doc);
- virtual ~HTMLLabelElementImpl();
-
- virtual Id id() const;
- virtual void attach();
- virtual void defaultEventHandler(EventImpl *evt);
- virtual bool isFocusable() const { return true; };
- virtual bool isTabFocusable() const { return false; };
- NodeImpl* getFormElement();
-
- private:
- DOMString m_formElementID;
-};
-
-// -------------------------------------------------------------------------
-
-class HTMLLegendElementImpl : public HTMLGenericFormElementImpl
-{
-public:
- HTMLLegendElementImpl(DocumentImpl *doc, HTMLFormElementImpl *f = 0);
- virtual ~HTMLLegendElementImpl();
-
- virtual Id id() const;
- virtual void attach();
- virtual void parseAttribute(AttributeImpl *attr);
-};
-
-
-// -------------------------------------------------------------------------
-
-class HTMLSelectElementImpl : public HTMLGenericFormElementImpl
-{
- friend class khtml::RenderSelect;
-
-public:
- HTMLSelectElementImpl(DocumentImpl *doc, HTMLFormElementImpl *f = 0);
- ~HTMLSelectElementImpl();
-
- virtual Id id() const;
-
- DOMString type() const;
-
- long selectedIndex() const;
- void setSelectedIndex( long index );
-
- virtual bool isEnumeratable() const { return true; }
-
- long length() const;
-
- long minWidth() const { return m_minwidth; }
-
- long size() const { return m_size; }
-
- bool multiple() const { return m_multiple; }
-
- void add ( const HTMLElement &element, const HTMLElement &before, int& exceptioncode );
- void remove ( long index );
- void blur();
- void focus();
-
- DOMString value() const;
- void setValue(DOMStringImpl* value);
-
- virtual bool maintainsState() { return true; }
- virtual TQString state();
- virtual void restoreState(const TQString &state);
-
- virtual NodeImpl *insertBefore ( NodeImpl *newChild, NodeImpl *refChild, int &exceptioncode );
- virtual void replaceChild ( NodeImpl *newChild, NodeImpl *oldChild, int &exceptioncode );
- virtual void removeChild ( NodeImpl *oldChild, int &exceptioncode );
- virtual NodeImpl *appendChild ( NodeImpl *newChild, int &exceptioncode );
- virtual NodeImpl *addChild( NodeImpl* newChild );
-
- virtual void childrenChanged();
-
- virtual void parseAttribute(AttributeImpl *attr);
-
- virtual void attach();
- virtual bool encoding(const TQTextCodec*, khtml::encodingList&, bool);
-
- // get the actual listbox index of the optionIndexth option
- int optionToListIndex(int optionIndex) const;
- // reverse of optionToListIndex - get optionIndex from listboxIndex
- int listToOptionIndex(int listIndex) const;
-
- void setRecalcListItems();
-
- TQMemArray<HTMLGenericFormElementImpl*> listItems() const
- {
- if (m_recalcListItems) const_cast<HTMLSelectElementImpl*>(this)->recalcListItems();
- return m_listItems;
- }
- virtual void reset();
- void notifyOptionSelected(HTMLOptionElementImpl *selectedOption, bool selected);
-
-private:
- void recalcListItems() const;
-
-protected:
- mutable TQMemArray<HTMLGenericFormElementImpl*> m_listItems;
- short m_minwidth;
- signed short m_size : 15;
- bool m_multiple : 1;
- mutable bool m_recalcListItems :1;
- mutable unsigned int m_length:31;
-};
-
-// -------------------------------------------------------------------------
-
-class HTMLKeygenElementImpl : public HTMLSelectElementImpl
-{
-public:
- HTMLKeygenElementImpl(DocumentImpl *doc, HTMLFormElementImpl *f = 0);
-
- virtual Id id() const;
-
- DOMString type() const;
-
- long selectedIndex() const;
- void setSelectedIndex( long index );
-
- // ### this is just a rough guess
- virtual bool isEnumeratable() const { return false; }
-
- virtual void parseAttribute(AttributeImpl *attr);
- virtual bool encoding(const TQTextCodec*, khtml::encodingList&, bool);
-
-};
-
-// -------------------------------------------------------------------------
-
-class HTMLOptGroupElementImpl : public HTMLGenericFormElementImpl
-{
-public:
- HTMLOptGroupElementImpl(DocumentImpl *doc, HTMLFormElementImpl *f = 0)
- : HTMLGenericFormElementImpl(doc, f) {}
-
- virtual Id id() const;
-};
-
-
-// ---------------------------------------------------------------------------
-
-class HTMLOptionElementImpl : public HTMLGenericFormElementImpl
-{
- friend class khtml::RenderSelect;
- friend class DOM::HTMLSelectElementImpl;
-
-public:
- HTMLOptionElementImpl(DocumentImpl *doc, HTMLFormElementImpl *f = 0);
-
- virtual Id id() const;
-
- DOMString text() const;
-
- long index() const;
- void setIndex( long );
- virtual void parseAttribute(AttributeImpl *attr);
- DOMString value() const;
- void setValue(DOMStringImpl* value);
-
- bool selected() const { return m_selected; }
- void setSelected(bool _selected);
-
- HTMLSelectElementImpl *getSelect() const;
-
-protected:
- DOMString m_value;
- bool m_selected;
-};
-
-
-// -------------------------------------------------------------------------
-
-class HTMLTextAreaElementImpl : public HTMLGenericFormElementImpl
-{
- friend class khtml::RenderTextArea;
-
-public:
- enum WrapMethod {
- ta_NoWrap,
- ta_Virtual,
- ta_Physical
- };
-
- HTMLTextAreaElementImpl(DocumentImpl *doc, HTMLFormElementImpl *f = 0);
- ~HTMLTextAreaElementImpl();
-
- virtual Id id() const;
-
- long cols() const { return m_cols; }
-
- long rows() const { return m_rows; }
-
- WrapMethod wrap() const { return m_wrap; }
-
- virtual bool isEnumeratable() const { return true; }
-
- DOMString type() const;
-
- virtual bool maintainsState() { return true; }
- virtual TQString state();
- virtual void restoreState(const TQString &state);
-
- void select ( );
-
- virtual void parseAttribute(AttributeImpl *attr);
- virtual void attach();
- virtual bool encoding(const TQTextCodec*, khtml::encodingList&, bool);
- virtual void reset();
- DOMString value();
- void setValue(DOMString _value);
- DOMString defaultValue();
- void setDefaultValue(DOMString _defaultValue);
- void blur();
- void focus();
-
- virtual bool isEditable();
- void setUnsubmittedFormChange(bool unsubmitted) { m_unsubmittedFormChange = unsubmitted; }
-
- //Mozilla extensions.
- long selectionStart();
- long selectionEnd();
- void setSelectionStart(long pos);
- void setSelectionEnd (long pos);
- void setSelectionRange(long start, long end);
- long textLength();
-protected:
- int m_rows;
- int m_cols;
- WrapMethod m_wrap;
- TQString m_value;
- bool m_changed: 1; //States whether the contents has been editted
- bool m_dirtyvalue: 1; //States whether m_value is out-of-date compared to the renderer or default
- bool m_unsubmittedFormChange: 1;
- bool m_initialized: 1;
-};
-
-// -------------------------------------------------------------------------
-
-class HTMLIsIndexElementImpl : public HTMLInputElementImpl
-{
-public:
- HTMLIsIndexElementImpl(DocumentImpl *doc, HTMLFormElementImpl *f = 0);
- ~HTMLIsIndexElementImpl();
-
- virtual Id id() const;
- virtual void parseAttribute(AttributeImpl *attr);
-
- DOMString prompt() const;
- void setPrompt(const DOMString& _value);
-};
-
-
-} //namespace
-
-#endif