- Aide Scilab
- Interface graphique
- Tree
- exportUI
- getvalue
- root_properties
- x_choices
- x_choose
- x_dialog
- x_mdialog
- about
- addmenu
- clipboard
- close
- delmenu
- figure
- findobj
- gcbo
- getcallbackobject
- getinstalledlookandfeels
- getlookandfeel
- messagebox
- printfigure
- printsetupbox
- progressionbar
- setlookandfeel
- setmenu
- toolbar
- toprint
- uicontrol
- uigetcolor
- uigetdir
- uigetfile
- uigetfont
- uimenu
- uiputfile
- unsetmenu
- usecanvas
- waitbar
- x_choose_modeless
- x_matrix
Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
addmenu
interactive button or menu definition
Calling Sequence
addmenu(button [,submenus] [,action]) addmenu(gwin,button [,submenus] [,action])
Arguments
- button
a character string. The button name. An & can be placed before the character in the name to be used for keyboard shortcut; this character will be underlined on the GUI. Under MacOSX, a sub-menu with the same name is automatically added (no button can be added to the menu bar).
- submenus
a vector of character string. The sub_menus items names
- action
a list with 2 elements action=list(flag,proc_name)
- flag
an integer (default value is 0)
- flag==0
the action is defined by a scilab instruction
- flag==1
the action is defined by a C or Fortran procedure
- flag==2
the action is defined by a scilab function
- proc_name
a character string which gives the name of scilab variable containing the instruction or the name of procedure to call.
- gwin
integer. The number of graphic window where the button is required to be installed
Description
The function allows the user to add new buttons or menus in the main window or graphics windows command panels.
- If
actionargument is not given the action associated with a button must be defined by a scilab instruction given by the character string variable which name is+
buttonfor a main window command+
button_gwinfor a graphic window command- If
actionargument is set to 0proc_nameshould be the name of a Scilab string vector. Actions associated with the kth sub_menu must be defined by scilab instructions stored in the kth element of the character string variable.- If
actionargument is set to 1proc_namedesignes a C or Fortran procedure, this procedure may be interfaced in Fortran subroutine default/fbutn.f or dynamically linked with scilab using thelinkfunction. The C calling sequence is:(char* button_name, int* gwin,int *k)- If
actionargument is set to 2proc_namedesignes a Scilab function. This function calling sequence should be:+
proc_name(k)for a main window command+
proc_name(k,gwin)for a graphic window command or a main window command
Examples
if (getscilabmode() == "STD") then addmenu('foo'); foo = 'disp(''hello'')'; addmenu('Hello',['Franck';'Peter']) Hello = ['disp(''hello Franck'')';'disp(''hello Peter'')']; addmenu('Bye',list(0,'French_Bye')); French_Bye = 'disp(''Au revoir'')'; else mprintf('This example requires to use scilab with GUI mode.\n'); end addmenu(0,'Hello',['Franck';'Peter']); Hello_0 = ['disp(''hello Franck'')';'disp(''hello Peter'')']; //C defined Callback // creating Callback code code=[ '#include ""machine.h""' '#include ""sciprint.h""' 'void foo(char *name, int *win, int *entry)' '{' ' if (*win==-1) ' ' sciprint(""menu %s(%i) in Scilab window selected.\n"", name, *entry+1);' ' else' ' sciprint(""menu %s(%i) in window %i selected.\n"", name, *entry+1, *win);' '}']; //creating foo.c file current_dir = pwd(); chdir(TMPDIR); mputl(code, TMPDIR+'/foo.c'); //creating Makefile ilib_for_link('foo','foo.c',[],'c'); exec('loader.sce'); chdir(current_dir); //add menu addmenu(0,'foo',['a','b','c'],list(1,'foo'));
See Also
| << about | Interface graphique | clipboard >> |