//Auto-generated by kalyptus. DO NOT EDIT.
package org.kde.koala;

import org.kde.qt.Qt;
import org.kde.qt.QMetaObject;
import org.kde.qt.QtSupport;
import org.kde.qt.QWidget;

/**

 This class allows to build menu entries that will be dynamically added either to
 the K-menu, or to the panel as a normal button. These dynamic menus are located
 in shared libraries that will be loaded at runtime by Kicker (the %KDE panel).
 To build such a menu, you have to inherit this class and implement the pure virtual
 functions #initialize() and slotExec(). You also have to provide a factory
 object in your library, see KLibFactory. This factory is only used to construct
 the menu object.
 Finally, you also have to provide a desktop file describing your dynamic menu. The
 relevant entries are: Name, Comment, Icon and X-KDE-Library (which contains the
 library name without any extension). This desktop file has to be installed in
 $KDEDIR/share/apps/kicker/menuext/.
		@author The kicker maintainers, Michael Goffioul <kdeprint@swing.be>
 
		@short Base class to build dynamically loaded menu entries for the K-menu, or the panel.

*/
public class KPanelMenu extends KPopupMenu  {
	protected KPanelMenu(Class dummy){super((Class) null);}
	public native QMetaObject metaObject();
	public native String className();
	/**	
		 Construct a KPanelMenu object. This is the normal constructor to use when
		 building extrernal menu entries.
		     		@short    Construct a KPanelMenu object.
	*/
	/**	
		 Constructor used internally by Kicker. You don't really want to use it.
			@param startDir a directory to associate with this menu
			@param parent parent object
			@param name name of the object
				@short    Constructor used internally by Kicker.
		@see #path
		@see #setPath
	*/
	/**	
		 Get the directory path associated with this menu, or null if
		 there's no such associated path.
				@return the associated directory path

		@short    Get the directory path associated with this menu, or String.null if  there's no such associated path.
		@see #setPath
	*/
	public native String path();
	/**	
		 Set a directory path to be associated with this menu.
			@param p the directory path
				@short    Set a directory path to be associated with this menu.
		@see #path
	*/
	public native void setPath(String p);
	/**	
		 Tell if the menu has been initialized, that is it already contains items.
		 This is useful when you need to know if you have to clear the menu, or to
		 fill it.
				@return the initial state

		@short    Tell if the menu has been initialized, that is it already contains items.
		@see #setInitialized
		@see #initialize
	*/
	public native boolean initialized();
	/**	
		 Set the initial state. Set it to true when you menu is filled with the items
		 you want.
			@param on the initial state
				@short    Set the initial state.
		@see #initialized
		@see #initialize
	*/
	public native void setInitialized(boolean on);
	/**	
		 Disable the automatic clearing of the menu. Kicker uses a cache system for
		 its menus. After a specific configurable delay, the menu will be cleared.
		 Use this function if you want to disable kicker's cache system, and avoid
		 the clearing of your menu.
		     		@short    Disable the automatic clearing of the menu.
	*/
	public native void disableAutoClear();
	/**	
		 Reinitialize the menu: the menu is first cleared, the initial state is set
		 to false, and finally #initialize() is called. Use this if you want to
		 refill your menu immediately.
		     		@short    Reinitialize the menu: the menu is first cleared, the initial state is set  to false, and finally #initialize() is called.
	*/
	public native void reinitialize();
	/**	
		 Deinitialize the menu: the menu is cleared and the initialized state is set to
		 false. #initialize() is NOT called. It will be called before the menu is
		 next shown, however. Use this slot if you want a delayed reinitialization.
				@short    Deinitialize the menu: the menu is cleared and the initialized state is set to  false.
	*/
	public native void deinitialize();
}
