//
//     Copyright 2004 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2003 Jim Bublitz and/or Phil Thompson
//     may also apply


//                 Generated by preSip
//            module khtml  version KDE_3_3_0


// This software is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of
// the License, or (at your option) any later version.
//
// This software 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 General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


class KHTMLPart : KParts::ReadOnlyPart
{
%TypeHeaderCode
#include <khtml_part.h>
%End


public:

    enum GUIProfile
    {
        DefaultGUI,
        BrowserViewGUI
    };

                         KHTMLPart (QWidget* = 0, const char* = 0, QObject* /TransferThis/ = 0, const char* = 0, KHTMLPart::GUIProfile = DefaultGUI );
                         KHTMLPart (KHTMLView*, QObject* /TransferThis/ = 0, const char* = 0, KHTMLPart::GUIProfile = DefaultGUI );
    virtual bool         openURL (const KURL&);
    virtual bool         closeURL ();
    virtual void         showError (KIO::Job*);
    DOM::HTMLDocument    htmlDocument () const;
    DOM::Document        document () const;
    DOM::Node            activeNode () const;
    KParts::BrowserExtension* browserExtension () const;

%If ( KDE_3_1_0 -  )
//ig     KParts::LiveConnectExtension* liveConnectExtension (const khtml::RenderPart*) const;
%End

    KHTMLView*           view () const;
    void                 setJScriptEnabled (bool);
    bool                 jScriptEnabled () const;

%If ( KDE_3_2_0 -  )
//ig     KJS::Interpreter*    jScriptInterpreter ();
    void                 setStatusMessagesEnabled (bool);
    bool                 statusMessagesEnabled () const;
%End

    void                 setMetaRefreshEnabled (bool);
    bool                 metaRefreshEnabled () const;
    QVariant             executeScript (const DOM::Node&, const QString&);
    void                 setDNDEnabled (bool);
    bool                 dndEnabled () const;
    void                 setJavaEnabled (bool);
    bool                 javaEnabled () const;
//ig     KJavaAppletContext*  javaContext ();
//ig     KJavaAppletContext*  createJavaContext ();
    void                 setPluginsEnabled (bool);
    bool                 pluginsEnabled () const;
    void                 setAutoloadImages (bool);
    bool                 autoloadImages () const;
    void                 setOnlyLocalReferences (bool);
    bool                 onlyLocalReferences () const;

%If ( KDE_3_2_0 -  )
    bool                 isCaretMode () const;
    bool                 isEditable () const;
    void                 setCaretPosition (DOM::Node, long, bool = 0);

    enum CaretDisplayPolicy
    {
        CaretVisible,
        CaretInvisible,
        CaretBlink
    };

    KHTMLPart::CaretDisplayPolicy caretDisplayPolicyNonFocused () const;
    void                 setCaretDisplayPolicyNonFocused (KHTMLPart::CaretDisplayPolicy);
%End

    void                 enableJScript (bool);
    void                 enableJava (bool);
    void                 enablePlugins (bool);
    void                 autoloadImages (bool);
    void                 enableMetaRefresh (bool);
    bool                 setCharset (const QString&, bool = 0);
    KURL                 baseURL () const;
    QString              baseTarget () const;
    KURL                 backgroundURL () const;
    void                 scheduleRedirection (int, const QString&, bool = 1);
    virtual void         begin (const KURL& = KURL (), int = 0, int = 0);
    virtual void         write (const char*, int = -1);
    virtual void         write (const QString&);
    virtual void         end ();
    void                 paint (QPainter*, const QRect&, int = 0, bool* = 0);
    bool                 setEncoding (const QString&, bool = 0);
    QString              encoding ();
    void                 setUserStyleSheet (const KURL&);
    void                 setUserStyleSheet (const QString&);

public:
    void                 setStandardFont (const QString&);
    void                 setFixedFont (const QString&);
    bool                 gotoAnchor (const QString&);

%If ( KDE_3_2_0 -  )
    bool                 nextAnchor ();
    bool                 prevAnchor ();
%End

    void                 setURLCursor (const QCursor&);
    QCursor              urlCursor () const;

%If ( KDE_3_3_0 -  )

    enum FindOptions
    {
        FindLinksOnly,
        FindNoPopups
    };

    void                 findText ();
    void                 findText (const QString&, long, QWidget* /Transfer/ = 0, KFindDialog* = 0);
%End

    void                 findTextBegin ();
    bool                 findTextNext (const QString&, bool, bool, bool);

%If ( KDE_3_3_0 -  )
    bool                 findTextNext ();
%End

    void                 setZoomFactor (int);
    int                  zoomFactor () const;
    virtual QString      selectedText () const;
    DOM::Range           selection () const;

%If ( KDE_3_2_0 -  )
    void                 selection (DOM::Node&, long&, DOM::Node&, long&) const;
%End

    void                 setSelection (const DOM::Range&);
    bool                 hasSelection () const;
    void                 selectAll ();
    void                 show ();
    void                 hide ();
    KParts::PartManager* partManager ();
    virtual void         saveState (QDataStream&);
    virtual void         restoreState (QDataStream&);
    DOM::Node            nodeUnderMouse () const;
    const KHTMLSettings* settings () const;
    KHTMLPart*           parentPart ();
    QStringList          frameNames () const;
    QPtrList<KParts::ReadOnlyPart> frames () const;
    KHTMLPart*           findFrame (const QString&);
    KParts::ReadOnlyPart* currentFrame () const;
    bool                 frameExists (const QString&);
    void                 setJSStatusBarText (const QString&);
    void                 setJSDefaultStatusBarText (const QString&);
    QString              jsStatusBarText () const;
    QString              jsDefaultStatusBarText () const;
    QString              referrer () const;

%If ( KDE_3_1_3 -  )
    QString              pageReferrer () const;
%End

    QString              lastModified () const;
    void                 preloadStyleSheet (const QString&, const QString&);
    void                 preloadScript (const QString&, const QString&);
    bool                 restored () const;

%If ( KDE_3_2_0 -  )

    enum FormNotification
    {
        NoNotification = 0,
        Before,
        Only,
        Unused = 255
    };

    void                 setFormNotification (KHTMLPart::FormNotification);
    KHTMLPart::FormNotification formNotification () const;
    KURL                 toplevelURL ();

%If ( KDE_3_3_0 -  )
    bool                 isModified () const;
%End

%End


signals:
    void                 onURL (const QString&);
    void                 popupMenu (const QString&, const QPoint&);
    void                 selectionChanged ();
    void                 nodeActivated (const DOM::Node&);

%If ( KDE_3_1_0 -  )
    void                 docCreated ();

%If ( KDE_3_2_0 -  )
    void                 caretPositionChanged (const DOM::Node&, long);
    void                 formSubmitNotification (const char*, const QString&, const QByteArray&, const QString&, const QString&, const QString&);
%End

%End


protected:
    KURL                 completeURL (const QString&);
    void                 htmlError (int, const QString&, const KURL&);
    virtual void         customEvent (QCustomEvent*);
//ig     virtual void         khtmlMousePressEvent (khtml::MousePressEvent*);
//ig     virtual void         khtmlMouseDoubleClickEvent (khtml::MouseDoubleClickEvent*);
//ig     virtual void         khtmlMouseMoveEvent (khtml::MouseMoveEvent*);
//ig     virtual void         khtmlMouseReleaseEvent (khtml::MouseReleaseEvent*);
//ig     virtual void         khtmlDrawContentsEvent (khtml::DrawContentsEvent*);
    virtual void         guiActivateEvent (KParts::GUIActivateEvent*);
    virtual bool         openFile ();
    virtual void         urlSelected (const QString&, int, int, const QString&, KParts::URLArgs = KParts ::URLArgs ());
    virtual KParts::ReadOnlyPart* createPart (QWidget*, const char*, QObject* /Transfer/, const char*, const QString&, QString&, QStringList&, const QStringList&);

%If ( KDE_3_1_0 -  )
    bool                 pluginPageQuestionAsked (const QString&) const;
    void                 setPluginPageQuestionAsked (const QString&);

%If ( KDE_3_2_0 -  )
//ig     void                 setPageSecurity (KHTMLPart::PageSecurity);
    virtual bool         doOpenStream (const QString&);
    virtual bool         doWriteStream (const QByteArray&);
    virtual bool         doCloseStream ();
%End

%End


public slots:
    void                 setActiveNode (const DOM::Node&);
    void                 stopAnimations ();
    QCString             dcopObjectId () const;

%If ( KDE_3_2_0 -  )
    QVariant             executeScript (const QString&);
    void                 setCaretMode (bool);
    void                 setEditable (bool);
    void                 setCaretVisible (bool);
    void                 submitFormProxy (const char*, const QString&, const QByteArray&, const QString&, const QString& = QString ::null , const QString& = QString ::null );
%End

public:

%If (  - KDE_3_2_0 )
    QVariant             executeScript (const QString&);
%End

//force

private:
    void                 setStatusBarText (const QString&, int);
//end

};  // class KHTMLPart

