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


//                 Generated by preSip
//            module kdeui  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 QXEmbed : QWidget
{
%TypeHeaderCode
#include <qxembed.h>
%End


public:
                         QXEmbed (QWidget* /TransferThis/ = 0, const char* = 0, WFlags = 0);
    static void          initialize ();

%If ( KDE_3_1_1 -  )

    enum Protocol
    {
        XEMBED, 
        XPLAIN
    };

    void                 setProtocol (QXEmbed::Protocol);
    QXEmbed::Protocol    protocol ();
%End

    void                 embed (WId);
    WId                  embeddedWinId () const;
    static void          embedClientIntoWindow (QWidget*, WId);
    static bool          processClientCmdline (QWidget*, SIP_PYLIST) [bool (QWidget*, int&, char**)];
%MethodCode
//returns (bool)
//takes client | (QWidget) | argv | (a Python list of strings which may be modified)

//returns
//takes list (a Python list of strings) | index (int)

    int n;

    if ((n = PyList_Size (a1)) == 0)
        return NULL;

    char **strings;

    if ((strings = (char **)PyQtListToArray(a1)) == NULL)
        return NULL;

    Py_BEGIN_ALLOW_THREADS
    sipRes = QXEmbed::processClientCmdline (a0, n, strings);
    Py_END_ALLOW_THREADS

    sipFree((ANY *)strings);
%End


%If ( KDE_3_2_0 -  )
    void                 sendDelete ();
%End

    void                 setAutoDelete (bool);
    bool                 autoDelete () const;
    QSize                sizeHint () const;
    QSize                minimumSizeHint () const;
    QSizePolicy          sizePolicy () const;
    bool                 eventFilter (QObject*, QEvent*);
    bool                 customWhatsThis () const;
    void                 enterWhatsThisMode ();

%If ( KDE_3_2_0 -  )
    virtual void         reparent (QWidget* /Transfer/, WFlags, const QPoint&, bool = 0);
%End


signals:
    void                 embeddedWindowDestroyed ();

protected:
    bool                 event (QEvent*);
    void                 keyPressEvent (QKeyEvent*);
    void                 keyReleaseEvent (QKeyEvent*);
    void                 focusInEvent (QFocusEvent*);
    void                 focusOutEvent (QFocusEvent*);
    void                 resizeEvent (QResizeEvent*);
    void                 showEvent (QShowEvent*);
//ig     bool                 x11Event (XEvent*);
    virtual void         windowChanged (WId);
    bool                 focusNextPrevChild (bool);

};  // class QXEmbed

