Development Update August 2008 - Application launcher menu
The complete list of all 'Embedded Application Launcher Menu Bar' functions available in Hydra4GL version 4.3.x and later.
Embedded Application Launcher Menu Bar
The menu application supersedes the makemenu and login applications that were shipped with previous releases of ‘Hydra4GL’. It is an application that creates a structure allowing for multiple cascading programs to be run simultaneously from a single menu.
The following functions are used in the Menu application:
create_menu()
create_menu()
returns option_id INTEGER
This function is used to generate a menu_id which is then used as a reference for adding options and submenus.
menu_add_option()
menu_add_option(menu_id INTEGER, label VCHAR, action_id INTEGER, [enabled, INTEGER])
returns option_id INTEGER
This function allows you to add an option to the menu specified in the function’s parameters. This option requires a label for the option and an action ID.
menu_add_submenu()
menu_add_submenu(menu_id INTEGER, label VCHAR, [enabled INTEGER])
returns menu_id INTEGER
Similar to the add_option function, this function lets you add a submenu to an already existing menu, onto which you can place further submenus or options.
menu_publish()
menu_publish()
Once you are happy with your menu and its options and applications, you can publish your menu using this command. Once this function has been called there can be no more additions made to the menu.
exec_program()
exec_program(command VCHAR, server VCHAR, port VCHAR, user_id VCHAR)
This function will run a 4GL program running on the GUI server, as specified in its parameters.
exec_local()
exec_local(command VCHAR, user_id VCHAR)
This function will execute a local application, such as notepad on a Windows machine, under the user as identified in the parameters.
set_menu_server()
set_menu_server(port VCHAR, working_directory VCHAR)
This function tells the menu process which menu server it is using. This function must be called otherwise the menu application will not work. This is not to be confused with the GUI server; they are totally different settings. If you do not know for sure your menu server, use the following setting:
port: 6001
working_directory: $QUERIXDIR/menu/6001
execute_menu()
execute_menu()
returns action_id INTEGER