The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
object Prima::AbstractMenu ( Prima::Component)
{
	PMenuItemReg  tree;
	property Bool   selected;
	property SV   * accel  ( char * varName);
	property SV   * action ( char * varName);
	property Bool   checked( char * varName);
	property SV   * data   ( char * varName);
	property Bool   enabled( char * varName);
	property Handle image  ( char * varName);
	property SV   * key    ( char * varName);
	property SV   * text   ( char * varName);

	method void   cleanup();
	method void   done();
	method void   remove( char * varName);
	c_only void * first_that( void * actionProc, void * params, Bool useDisabled);
	method SV   * get_handle();
	method SV   * get_items( char * varName);
	method Bool   has_item( char * varName);
	method void   init( HV * profile);
	method void   insert( SV * menuItems, char * rootName, int index);
	import SV *   profile_default ();
	method void   set( HV * profile);
	method void   set_command( char * key, Bool enabled);
	method void   set_items( SV * menuItems);
	method void   set_variable ( char * varName, SV * newName);
	static int    translate_accel( Handle self, char * accel);
	static int    translate_key( Handle self, int code, int key, int mod);
	static int    translate_shortcut( Handle self, char * key);
	c_only Bool   validate_owner( Handle * newOwner, HV * profile);

#	private
	Bool   anchored;
	Bool   system;
	unsigned int autoEnum;
	c_only void   dispose_menu( void * menu);
	c_only void * new_menu( SV * sv, int level);
	c_only Bool   sub_call( PMenuItemReg m);
	c_only Bool   sub_call_id ( int sysId);
	c_only Bool   sub_call_key ( int key);
	c_only char * make_var_context( PMenuItemReg m, char * buffer);
	c_only char * make_id_context( int id, char * buffer);
}