/***************************************************************************
                            KDockWidgetHeader.java -  description
                             -------------------
    begin                : Sun Jan 27 16:22:17 2002
    copyright            : (C) 2000-2001 Lost Highway Ltd.
    email                : Richard_Dale@tipitina.demon.co.uk
    generated by         : duke@tipitina on Sun Jan 27 16:22:17 2002, using kalyptus 0.9.
 ***************************************************************************/

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

package org.kde.koala;

import org.kde.qt.*;
import java.util.*;
import java.lang.Error;

/**

 The header (additional bar) for a {@link KDockWidget} s (and member of the dockwidget class set).
 It have got the buttons located there. And it is for recording and reading the button states.
 More or less a minor helper class for the dockwidget class set.

 See {@link KDockWidgetHeaderSignals} for signals emitted by KDockWidgetHeader.

 See {@link KDockWidgetHeaderEventHandling} for event handlers to override in subclasses of KDockWidgetHeader.

 @author Max Judin (documentation: Falk Brettschneider).
 
 @short 
 The header (additional bar) for a @ref KDockWidget s (and member of the dockwidget class set).
*/
public class KDockWidgetHeader extends KDockWidgetAbstractHeader  {
	protected KDockWidgetHeader(Class dummy){super((Class) null);}

	private native void newKDockWidgetHeader( KDockWidget parent, String name);

/** 
 Constructs this.

*/
	public KDockWidgetHeader( KDockWidget parent, String name) {
		super((Class) null);
		newKDockWidgetHeader( parent, name);
	}
	private native void newKDockWidgetHeader( KDockWidget parent);
	public KDockWidgetHeader( KDockWidget parent) {
		super((Class) null);
		newKDockWidgetHeader( parent);
	}

/** 
 Destructs this.
   
*/
	protected native void finalize() throws InternalError;
	public native void dispose();
	public native boolean isDisposed();

/** 
 Hides the close button and stay button when switching to toplevel or vice versa shows them.

*/
	public native void setTopLevel( boolean t);

/** 
 Sets the drag panel of this header.

*/
	public native void setDragPanel( KDockWidgetHeaderDrag nd);
	public native boolean dragEnabled();
	public native void setDragEnabled( boolean b);

/** 
 Saves the current button state to a KDE config container object.

*/
	public native void saveConfig( KConfig c);

/** 
 Loads the current button state from a KDE config container object.

*/
	public native void loadConfig( KConfig arg1);

/** 
 Sets dragging the dockwidget off when the stay button is pressed down and vice versa.
   
*/
	protected native void slotStayClicked();
}
