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


//                 Generated by preSip
//            module kparts  version KDE 3.5.3


// 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 konsoleFactory : KParts::Factory
{
%TypeHeaderCode
#include <kprocess.h>
#include <konsole_part.h>
%End


public:
                         konsoleFactory ();
    virtual KParts::Part* createPartObject (QWidget* = 0, const char* = 0, QObject* /Transfer/ = 0, const char* = 0, const char* = "KParts::Part", const QStringList& = QStringList ());
    static KInstance*    instance ();

};  // class konsoleFactory


%If ( KDE_3_5_0 -  )

class konsolePart : KParts::ReadOnlyPart, TerminalInterface, ExtTerminalInterface
{
%TypeHeaderCode
#include <kprocess.h>
#include <konsole_part.h>
%End


public:
                         konsolePart (QWidget*, const char*, QObject* /TransferThis/, const char*, const char* = 0);

signals:
    void                 processExited (KProcess*);
    void                 receivedData (const QString&);
    void                 forkedChild ();

protected:
    virtual bool         openURL (const KURL&);
    virtual bool         openFile ();
    virtual bool         closeURL ();
    virtual void         guiActivateEvent (KParts::GUIActivateEvent*);

protected slots:
    void                 showShell ();
    void                 sessionDestroyed ();
    void                 enableMasterModeConnections ();

public:
    void                 startProgram (const QString&, const QStrList&);
    void                 newSession ();
    void                 showShellInDir (const QString&);
    void                 sendInput (const QString&);
    void                 setAutoDestroy (bool);
    void                 setAutoStartShell (bool);

};  // class konsolePart

%End


class konsoleBrowserExtension : KParts::BrowserExtension
{
%TypeHeaderCode
#include <kprocess.h>
#include <konsole_part.h>
%End


public:
                         konsoleBrowserExtension (konsolePart*);
    void                 emitOpenURLRequest (const KURL&);

};  // class konsoleBrowserExtension


%If (  - KDE_3_5_0 )

class konsolePart : KParts::ReadOnlyPart, TerminalInterface
{
%TypeHeaderCode
#include <kprocess.h>
#include <konsole_part.h>
%End


public:
                         konsolePart (QWidget*, const char*, QObject* /TransferThis/, const char*, const char* = 0);

signals:
    void                 processExited ();
    void                 receivedData (const QString&);

protected:
    virtual bool         openURL (const KURL&);
    virtual bool         openFile ();
    virtual bool         closeURL ();
    virtual void         guiActivateEvent (KParts::GUIActivateEvent*);

protected slots:
    void                 showShell ();
    void                 slotProcessExited ();
    void                 slotReceivedData (const QString&);
    void                 sessionDestroyed ();
    void                 updateTitle ();
    void                 enableMasterModeConnections ();

public:
    void                 startProgram (const QString&, const QStrList&);
    void                 showShellInDir (const QString&);
    void                 sendInput (const QString&);

};  // class konsolePart

%End

//force

class TerminalInterface
{
%TypeHeaderCode
#include <kde_terminal_interface.h>
%End


public:
    virtual void         startProgram (const QString&, const QStrList&)  = 0;
    virtual void         showShellInDir (const QString&)  = 0;
    virtual void         sendInput (const QString&)  = 0;

};  // class TerminalInterface


%If ( KDE_3_5_0 -  )

class ExtTerminalInterface
{
%TypeHeaderCode
#include <kde_terminal_interface.h>
%End


public:
    virtual void         startProgram (const QString&, const QStrList&)  = 0;
    virtual void         showShellInDir (const QString&)  = 0;
    virtual void         sendInput (const QString&)  = 0;
    virtual void         setAutoStartShell (bool)  = 0;
    virtual void         setAutoDestroy (bool)  = 0;

};  // class ExtTerminalInterface

%End

//end
