#ifndef GNOME_PANEL_IDL
#define GNOME_PANEL_IDL

#include <Bonobo_Unknown.idl>

module GNOME {
 module Vertigo {

	/*
	 * The panel's orientation.
	 */
	typedef unsigned short PanelOrient;

	const PanelOrient PANEL_ORIENT_UP    = 0;
	const PanelOrient PANEL_ORIENT_DOWN  = 1;
	const PanelOrient PANEL_ORIENT_LEFT  = 2;
	const PanelOrient PANEL_ORIENT_RIGHT = 3;
	
	/*
	 * The panel's width or height, depending
	 * on its orientation.
	 */
	typedef unsigned short PanelSize;

	const PanelSize PANEL_XX_SMALL = 12;
	const PanelSize PANEL_X_SMALL  = 24;
	const PanelSize PANEL_SMALL    = 36;
	const PanelSize PANEL_MEDIUM   = 48;
	const PanelSize PANEL_LARGE    = 64;
	const PanelSize PANEL_X_LARGE  = 80;
	const PanelSize PANEL_XX_LARGE = 128;

	/* Used for the size hints list */
	typedef sequence<long> SizeHintList;
	 
	/*
	 * GNOME::PanelBackground Format:
	 *    o "none:" - no background.
	 *    o "colour:xxxxxx' - rgb colour value.
	 *    o "pixmap:XID,x,y" - the pixmap XID, and the applets offsets into
	 *                         that pixmap.
	 */
	typedef string PanelBackground;

	interface PanelShell : Bonobo::Unknown {

		/*
		 * GNOME::PanelShell::displayRunDialog
		 * @initialString: string to display in dialog.
		 *
		 * Instructs the Panel to display the GNOME 'run'
		 * dialog box.
		 */
		void displayRunDialog (in string initialString);
	};

	interface PanelAppletShell : Bonobo::Unknown {
		oneway void popup_menu (in long button, in long time);
	};
 };
};

#endif /* GNOME_PANEL_IDL */
