Class
for creating the OpenAlias interface to Alias
Synopsis
#include <AlFunctionHandle.h>
class AlFunctionHandle
AlFunctionHandle();
virtual ~AlFunctionHandle();
statusCode create( const char*, const char* );
statusCode create( const char*, AlFunction * );
AlFunctionHandle& operator =( const AlFunctionHandle& );
int operator !() const;
statusCode setAttributeString( const char * );
statusCode setOptionBox( const char *, const char *, const char * = NULL );
statusCode setIconPath( const char* );
statusCode setHelpFile( const char* );
statusCode addToMenu( const char * );
statusCode appendToMenu( const char * );
statusCode installOnSubmenu( const char * );
statusCode removeFromMenu();
statusCode deleteObject();
class AlSubmenu
AlSubmenu();
~AlSubmenu();
statusCode createSubmenu( const char *, const char * );
statusCode removeSubmenu( );
Description
This class provides a
means to interface the OpenAlias application to the Alias user
interface. An AlFunction class or one of its derivatives (AlMomentaryFunction,
AlContinuousFunction) is required by the create method. Note that
the string name of an Al*Function could also be specified in the
create() method.
The class AlSubmenu is
used for creating submenus in Alias. Create a new submenu on
an existing Alias menu and then use the AlFunctionHandle::installOnSubmenu()
method to add a new item.
Note: avoid attaching
submenu items to submenus created by other plug-ins since your submenu
item will disappear when the other plug-in is unloaded.
AlFunctionHandle::AlFunctionHandle()
Description
Constructor
for the AlFunctionHandle class.
AlFunctionHandle::~AlFunctionHandle()
Description
Destructor for the AlFunctionHandle
class.
AlFunctionHandle& AlFunctionHandle::operator
=( const AlFunctionHandle& f )
Description
Assignment
operator for the AlFunctionHandle class.
int AlFunctionHandle::operator
!() const
Description
Allows
you to use statements to check the validity of the handle, such
as
if( functionhandle ) ....
statusCode AlFunctionHandle::create(
const char * popupLabel, const char * command )
Description
Initializes
the function handle given a popupLabel and a momentary function
name (command).
Arguments
< popupLabel - the
string that will appear on the menu pop-up for this plug-in
< command - a character
string which is the name of the momentary command. It must be unique.
Return Codes
sInvalidArgument - name
or command was NULL
sAlreadyCreated - the
handle has already been created
sSuccess - the handle
was created
sFailure - the handle
could not be created
sObjectInSet - a command
with name ’command’ already exists
statusCode AlFunctionHandle::create(
const char * popupLabel, AlFunction *func )
Description
Initializes
the function handle given a name and a momentary function name (command).
Arguments
< popupLabel - the
string that will appear on the menu pop-up for this plug-in
< func - the set of
functions (momentary or continuous)
Return Codes
sInvalidArgument - name
or command was NULL
sAlreadyCreated - the
handle has already been created
sSuccess - the handle
was created
sFailure - the handle
could not be created
statusCode AlFunctionHandle::setAttributeString(
const char * str )
Description
Sets the string
that will appear on the attribute line below the prompt line when
the plug-in is selected from the menu.
Arguments
< str - the string
to appear in the attribute line
Return Codes
sInvalidArgument - str
was NULL
sInvalidObject - the
function handle has not been initialized
sSuccess - the attribute
string was set successfully
statusCode AlFunctionHandle::setOptionBox(
const char * schemeFileName, const char * editorName, const char
* schemeFileNamePrefix )
Description
Sets the option
box for the plug-in. If the plug-in has no option box, then do not
call this method. This method will fail if the scheme file described
by the name and prefix does not exist. Normally, the ’schemeFileName’
is the name of the file which defines the option box.
- If the ’schemeFileNamePrefix’ parameter
is NULL, then the ’schemeFileName’ will be loaded relative to the
path defined by the environment variable ALIAS_WORKENV.
- If the ’schemeFileNamePrefix’ parameter
is not NULL, then it will be added to the start of the ’schemeFileName’.
The string formed by
concatenating ’schemeFileName’ to ’schemeFileNamePrefix’ will be
used as the filename that will be loaded, that is, the actual scheme
file that is loaded will be equivalent to schemeFileNamePrefix/schemeFileName.
Arguments
< schemeFileName -
name of the Scheme file which defined the option box
< editorName - the
name given to the ui-editor function in the Scheme file
< schemeFileNamePrefix
- the name of the directory to prefix to schemeFileName
Return Codes
sInvalidObject - function
handle is invalid
sInvalidArgument - one
of the arguments was NULL or the file does not exist
sFailure - the function
handle is already attached to a menu
sSuccess - the option
box was successfully set for the plug-in
statusCode AlFunctionHandle::addToMenu(
const char * menuname )
Description
Adds a plug-in to
the bottom of the menu.
Arguments
< menuname - the name
of the menu the plug-ins will be added to
Return Codes
sInvalidArgument - menuname
was NULL
sAlreadyCreated - the
function handle is already attached to a menu
sObjectNotAMember - the
menu name was not valid
sFailure - failed to
attach the plug-in to the menu
statusCode AlFunctionHandle::appendToMenu(
const char * menuname )
Description
Adds a plug-in
to the top of the menu.
Arguments
< menuname - the name
of the menu the plug-ins will be added to
Return Codes
sInvalidArgument - menuname
was NULL
sAlreadyCreated - the
function handle is already attached to a menu
sObjectNotAMember - the
menu name was not valid
sFailure - failed to
attach the plug-in to the menu
statusCode AlFunctionHandle::installOnMenu(
const char * menuname, boolean topOfMenu )
Description
This
method installs a plug-in on a menu.
Arguments
< menuname - the name
of the menu the plugins will be placed on.
< topOfMenu - if TRUE,
the plug-in is placed at the top of the menu. If FALSE, the plug-in
is placed at the bottom of the menu.
Return Codes
sInvalidArgument - menuname
was NULL
sAlreadyCreated - The
function handle is already attached to a menu.
sObjectNotAMember - The
menu name was not valid.
sFailure - Failed to
attach the plugin to the menu.
sSuccess - it worked
statusCode AlFunctionHandle::installOnSubmenu(
const char *subMenuName )
Description
This method allows the
installation of plug-ins on submenus. The submenu may already exist
in Alias or could have been created by the plug-in with the
AlSubmenu class.
NOTE: items are always
added to the end of a submenu.
Arguments
< subMenuName - the
name of the submenu to attach on
Return Codes
sInvalidArgument - subMenuName
was NULL
sAlreadyCreated - The
function handle is already attached to a menu
sFailure - Failed to
attach the plugin to a submenu
sSuccess - it worked
statusCode AlFunctionHandle::removeFromMenu()
Description
Removes the function handle from its
previously attached menu.
Return Codes
sFailure - the handle
is not attached to a menu
sSuccess - the handle
was removed from the menu
statusCode AlFunctionHandle::setIconPath(
const char* path )
Description
Sets the pathname to
load the icon files from. Normally icons are loaded from ALIAS_BITMAP_LOCATION.
In the specified path, there should be two directories:
In the small/ directory,
there should be an icon file ending in the function name followed by
’.S’ In the medium/ directory, there should be an icon file ending
in the function name followed by ’.M’ For example, if the function
name is ’MySphere’ and the icon path is ’/usr/myicons’, then the
following files should exist:
/usr/myicons/small/MySphere.S /usr/myicons/medium/MySphere.M
Return Codes
sFailure - the path could
not be set
sSuccess - the path was
set for this function handle
statusCode AlFunctionHandle::setHelpFile(
const char* file )
Description
Sets the filename to
load the help file from.
Return Codes
sFailure - the file could
not be set
sSuccess - the file was
set for this function handle
statusCode AlFunctionHandle::deleteObject()
Description
Removes
the function handle from the menu and invalidates it.
Return Codes
sFailure - the handle
could not be removed from the menu
sSuccess - the handle
was successfully removed
AlSubmenu::AlSubmenu()
Description
Constructor for the AlSubmenu
class.
AlSubmenu::~AlSubmenu()
Description
Destructor for the AlSubmenu
class.
statusCode AlSubmenu::createSubmenu(
const char *menuname, const char *submenuname )
Description
This method creates a
submenu on an existing menu.
Arguments
< menuname - the name
of the menu the submenu will be added to
< submenuname - the
name of the submenu to create
Return Codes
sInvalidArgument - NULL
parameter
sAlreadyCreated - the
submenu has already been created
sSuccess - the submenu
was created
sFailure - the creation
of the submenu failed
statusCode AlSubmenu::removeSubmenu(
)
Description
Removes plug-in created
submenus.
Return Codes
sInvalidObject - the
submenu has not been created
sSuccess - the remove
worked
sFailure - the remove
failed