/***************************************************************************
                            kde_DockMainWindow.h -  description
                             -------------------
    begin                : Wed Feb  6 15:12:26 2002
    copyright            : (C) 2000-2001 Lost Highway Ltd. All rights reserved.
    email                : Lost_Highway@tipitina.demon.co.uk
    generated by         : duke@tipitina on Wed Feb  6 15:12:26 2002, using kalyptus 0.9.
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   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.                       *
 *                                                                         *
 ***************************************************************************/

#ifndef KDE_DOCKMAINWINDOW
#define KDE_DOCKMAINWINDOW

#include <qtc/qtc_types.h>

#include <kdec/kde_types.h>

/**

 A KPart-aware main window with ability for docking widgets, whose user interface is described in XML.

 Inherit your main dock-window from this class
 and don't forget to call @ref setXMLFile() in the inherited constructor.

 It implements all internal interfaces in the case of a @ref KDockMainWindow as host:
 the builder and servant interface (for menu merging).
 
 @short 
 A KPart-aware main window with ability for docking widgets, whose user interface is described in XML.
*/

/** 
 Constructor, same signature as @ref KDockMainWindow.
   
*/
kde_DockMainWindow * kde_new_DockMainWindow(qt_QWidget * parent, char* name, int f);

/** 
 Destructor.
   
*/
void kde_del_DockMainWindow( kde_DockMainWindow* p );
void kde_DockMainWindow_createShellGUI(kde_DockMainWindow* instPointer,int create);

/** 
 Create the GUI (by merging the host's and the active part's)

 Called on startup and whenever the active part changes
 For this you need to connect this slot to the
 @ref KPartManager::activePartChanged() signal

*/
void kde_DockMainWindow_createGUI(kde_DockMainWindow* instPointer,kde_Part* part);

/** 
 Called when the active part wants to change the statusbar message
 Reimplement if your dock-mainwindow has a complex statusbar
 (with several items)
   
*/
void kde_DockMainWindow_slotSetStatusBarText(kde_DockMainWindow* instPointer,qt_QString * arg1);

/** Casts a 'kde_DockMainWindow *' to a 'kde_KDockMainWindow*' */
kde_KDockMainWindow* kde_DockMainWindow_KDockMainWindow(kde_DockMainWindow* instPointer);

/** Casts a 'kde_DockMainWindow *' to a 'kde_PartBase*' */
kde_PartBase* kde_DockMainWindow_PartBase(kde_DockMainWindow* instPointer);

#endif
