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


//                 Generated by preSip
//            module tdeui  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.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


class KDockWidgetAbstractHeader : TQFrame
{
%TypeHeaderCode
#include <kdockwidget.h>
%End


public:
                         KDockWidgetAbstractHeader (KDockWidget* /TransferThis/, const char* = 0);
    virtual void         setTopLevel (bool);
    virtual void         saveConfig (TDEConfig*);
    virtual void         loadConfig (TDEConfig*);

protected:
//igx     virtual void         virtual_hook (int, void*);

};  // class KDockWidgetAbstractHeader


class KDockWidgetAbstractHeaderDrag : TQFrame
{
%TypeHeaderCode
#include <kdockwidget.h>
%End


public:
                         KDockWidgetAbstractHeaderDrag (KDockWidgetAbstractHeader* /TransferThis/, KDockWidget*, const char* = 0);
    KDockWidget*         dockWidget ();

protected:
//igx     virtual void         virtual_hook (int, void*);

};  // class KDockWidgetAbstractHeaderDrag


class KDockWidgetHeaderDrag : KDockWidgetAbstractHeaderDrag
{
%TypeHeaderCode
#include <kdockwidget.h>
%End


public:
                         KDockWidgetHeaderDrag (KDockWidgetAbstractHeader* /TransferThis/, KDockWidget*, const char* = 0);

protected:
    virtual void         paintEvent (TQPaintEvent*);

protected:
//igx     virtual void         virtual_hook (int, void*);

};  // class KDockWidgetHeaderDrag


class KDockWidgetHeader : KDockWidgetAbstractHeader
{
%TypeHeaderCode
#include <kdockwidget.h>
%End


public:
                         KDockWidgetHeader (KDockWidget* /TransferThis/, const char* = 0);
    virtual void         setTopLevel (bool);
    void                 setDragPanel (KDockWidgetHeaderDrag*);

%If ( KDE_3_4_0 -  )
    KDockWidgetHeaderDrag* dragPanel ();
%End

    bool                 dragEnabled ();
    void                 setDragEnabled (bool);

%If ( KDE_3_1_0 -  )
    void                 showUndockButton (bool);

%If ( KDE_3_2_0 -  )
    void                 forceCloseButtonHidden (bool = 1);
%End

%End

    virtual void         saveConfig (TDEConfig*);
    virtual void         loadConfig (TDEConfig*);

%If ( KDE_3_2_0 -  )
//ig     void                 addButton (KDockButton_Private*);
//ig     void                 removeButton (KDockButton_Private*);
%End


protected slots:
    void                 slotStayClicked ();

protected:

protected:
//igx     virtual void         virtual_hook (int, void*);

};  // class KDockWidgetHeader


class KDockTabGroup : TQTabWidget
{
%TypeHeaderCode
#include <kdockwidget.h>
%End


public:
                         KDockTabGroup (TQWidget* /TransferThis/ = 0, const char* = 0);

%If ( KDE_3_2_0 -  )
    TQWidget*             transientTo ();
%End


protected:
//igx     virtual void         virtual_hook (int, void*);

};  // class KDockTabGroup


class KDockWidget : TQWidget
{
%TypeHeaderCode
#include <kdockwidget.h>
%End


public:
                         KDockWidget (KDockManager*, const char*, const TQPixmap&, TQWidget* /TransferThis/ = 0, const TQString& = 0, const TQString& = " ", WFlags = 0);

%If ( KDE_3_1_0 -  )

    enum DockPosition
    {
        DockNone, 
        DockTop, 
        DockLeft, 
        DockRight, 
        DockBottom, 
        DockCenter, 
        DockDesktop, 
        DockToSpecialSites, 
        DockCorner, 
        DockFullSite, 
        DockFullDocking
    };

%End

    KDockWidget*         manualDock (KDockWidget*, KDockWidget::DockPosition, int = 50, TQPoint = TQPoint (0 ,0 ), bool = 0, int = -1);
    void                 setEnableDocking (int);
    int                  enableDocking ();
    void                 setDockSite (int);
    int                  dockSite ();
    void                 setWidget (TQWidget*);
    TQWidget*             getWidget ();
    void                 setHeader (KDockWidgetAbstractHeader*);

%If ( KDE_3_2_0 -  )
    KDockWidgetAbstractHeader* getHeader ();
%End

    void                 makeDockVisible ();
    bool                 mayBeHide ();
    bool                 mayBeShow ();
    KDockManager*        dockManager ();
    void                 setToolTipString (const TQString&);
    const TQString&       toolTipString ();
    bool                 isDockBackPossible ();
    void                 setTabPageLabel (const TQString&);
    const TQString&       tabPageLabel ();
    virtual bool         event (TQEvent*);
    virtual void         show ();
    KDockTabGroup*       parentDockTabGroup ();

%If ( KDE_3_1_0 -  )
    TQWidget*             parentDockContainer () const;
%End

    void                 setDockWindowType (NET::WindowType);
    void                 setDockWindowTransient (TQWidget* /Transfer/, bool);

%If ( KDE_3_2_0 -  )
    TQWidget*             transientTo ();
%End


%If ( KDE_3_1_0 -  )
    KDockWidget*         findNearestDockWidget (KDockWidget::DockPosition);

%If ( KDE_3_2_0 -  )
    void                 setPixmap (const TQPixmap& = TQPixmap ());
    const TQPixmap&       pixmap () const;

%If ( KDE_3_3_0 -  )
    KDockWidget::DockPosition currentDockPosition () const;
%End

%End

%End


public slots:

%If ( KDE_3_1_0 -  )
    void                 setForcedFixedWidth (int);
    void                 setForcedFixedHeight (int);
    void                 restoreFromForcedFixedSize ();
    int                  forcedFixedWidth ();
    int                  forcedFixedHeight ();
%End

    void                 dockBack ();
    void                 changeHideShowState ();
    void                 undock ();

%If ( KDE_3_1_0 -  )
    void                 toDesktop ();
%End


protected:
    void                 updateHeader ();

%If ( KDE_3_1_0 -  )
    void                 setLatestKDockContainer (TQWidget*);
    TQWidget*             latestKDockContainer ();

%If ( KDE_3_2_1 -  )
    void                 setFormerBrotherDockWidget (KDockWidget*);
%End

%End


signals:

%If ( KDE_3_2_0 -  )
    void                 widgetSet (TQWidget*);
%End

    void                 docking (KDockWidget*, KDockWidget::DockPosition);
    void                 setDockDefaultPos ();
    void                 headerCloseButtonClicked ();
    void                 headerDockbackButtonClicked ();
    void                 iMBeingClosed ();
    void                 hasUndocked ();

protected slots:
    void                 loseFormerBrotherDockWidget ();

%If ( KDE_3_1_0 -  )
    virtual void         paintEvent (TQPaintEvent*);
    virtual void         mousePressEvent (TQMouseEvent*);
    virtual void         mouseReleaseEvent (TQMouseEvent*);
    virtual void         mouseMoveEvent (TQMouseEvent*);
    virtual void         leaveEvent (TQEvent*);
%End


protected:

protected:
//igx     virtual void         virtual_hook (int, void*);

public:

%If (  - KDE_3_1_0 )

    enum DockPosition
    {
        DockNone, 
        DockTop, 
        DockLeft, 
        DockRight, 
        DockBottom, 
        DockCenter, 
        DockDesktop, 
        DockCorner, 
        DockFullSite, 
        DockFullDocking
    };

%End


};  // class KDockWidget


class KDockManager : TQObject
{
%TypeHeaderCode
#include <kdockwidget.h>
%End


public:

%If ( KDE_3_2_0 -  )

    enum EnReadDockConfigMode
    {
        Unknown, 
        WrapExistingWidgetsOnly, 
        RestoreAllDockwidgets
    };

%End


public:
                         KDockManager (TQWidget*, const char* = 0);

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

    void                 writeConfig (TDEConfig* = 0, TQString = TQString ::null );
    void                 readConfig (TDEConfig* = 0, TQString = TQString ::null );

%If ( KDE_3_1_0 -  )
    void                 setMainDockWidget2 (KDockWidget*);
%End

    void                 writeConfig (TQDomElement&);
    void                 readConfig (TQDomElement&);
    void                 activate ();
    virtual bool         eventFilter (TQObject*, TQEvent*);
    KDockWidget*         findWidgetParentDock (TQWidget*);
    void                 makeWidgetDockVisible (TQWidget*);
    TQPopupMenu*          dockHideShowMenu ();
    KDockWidget*         getDockWidgetFromName (const TQString&);
    void                 setSplitterOpaqueResize (bool = 1);
    bool                 splitterOpaqueResize () const;
    void                 setSplitterKeepSize (bool = 1);
    bool                 splitterKeepSize () const;
    void                 setSplitterHighResolution (bool = 1);
    bool                 splitterHighResolution () const;

%If ( KDE_3_2_0 -  )
    void                 setSpecialLeftDockContainer (KDockWidget*);
    void                 setSpecialTopDockContainer (KDockWidget*);
    void                 setSpecialRightDockContainer (KDockWidget*);
    void                 setSpecialBottomDockContainer (KDockWidget*);
    void                 removeFromAutoCreateList (KDockWidget*);
    void                 finishReadDockConfig ();
    void                 setReadDockConfigMode (int);
%End


signals:
    void                 change ();
    void                 replaceDock (KDockWidget*, KDockWidget*);
    void                 setDockDefaultPos (KDockWidget*);

protected:
//igx     virtual void         virtual_hook (int, void*);

};  // class KDockManager


class KDockMainWindow : TDEMainWindow
{
%TypeHeaderCode
#include <kdockwidget.h>
%End


public:
                         KDockMainWindow (TQWidget* /TransferThis/ = 0, const char* = 0, WFlags = WType_TopLevel |WDestructiveClose );
    KDockManager*        manager ();
    void                 setMainDockWidget (KDockWidget*);
    KDockWidget*         getMainDockWidget ();
    KDockWidget*         createDockWidget (const TQString&, const TQPixmap&, TQWidget* /Transfer/ = 0, const TQString& = 0, const TQString& = " ");
    void                 writeDockConfig (TQDomElement&);
    void                 readDockConfig (TQDomElement&);
    void                 writeDockConfig (TDEConfig* = 0, TQString = TQString ::null );
    void                 readDockConfig (TDEConfig* = 0, TQString = TQString ::null );
    void                 activateDock ();
    TQPopupMenu*          dockHideShowMenu ();
    void                 makeDockVisible (KDockWidget*);
    void                 makeDockInvisible (KDockWidget*);
    void                 makeWidgetDockVisible (TQWidget*);
    void                 setView (TQWidget*);

signals:
    void                 dockWidgetHasUndocked (KDockWidget*);

protected:

protected slots:
    void                 slotDockWidgetUndocked ();

protected:
//igx     virtual void         virtual_hook (int, void*);

};  // class KDockMainWindow


class KDockArea : TQWidget
{
%TypeHeaderCode
#include <kdockwidget.h>
%End


public:
                         KDockArea (TQWidget* /TransferThis/ = 0, const char* = 0);
    KDockManager*        manager ();
    void                 setMainDockWidget (KDockWidget*);
    KDockWidget*         getMainDockWidget ();
    KDockWidget*         createDockWidget (const TQString&, const TQPixmap&, TQWidget* /Transfer/ = 0, const TQString& = 0, const TQString& = " ");
    void                 writeDockConfig (TQDomElement&);
    void                 readDockConfig (TQDomElement&);
    void                 writeDockConfig (TDEConfig* = 0, TQString = TQString ::null );
    void                 readDockConfig (TDEConfig* = 0, TQString = TQString ::null );
    void                 activateDock ();
    TQPopupMenu*          dockHideShowMenu ();
    void                 makeDockVisible (KDockWidget*);
    void                 makeDockInvisible (KDockWidget*);
    void                 makeWidgetDockVisible (TQWidget*);

signals:
    void                 dockWidgetHasUndocked (KDockWidget*);

protected:

protected slots:
    void                 slotDockWidgetUndocked ();

public:
    virtual void         resizeEvent (TQResizeEvent*);

protected:
//igx     virtual void         virtual_hook (int, void*);

};  // class KDockArea

