File: addmenu.cat

package info (click to toggle)
scilab 2.6-4
  • links: PTS
  • area: non-free
  • in suites: woody
  • size: 54,632 kB
  • ctags: 40,267
  • sloc: ansic: 267,851; fortran: 166,549; sh: 10,005; makefile: 4,119; tcl: 1,070; cpp: 233; csh: 143; asm: 135; perl: 130; java: 39
file content (95 lines) | stat: -rw-r--r-- 3,657 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
addmenu           Scilab Group           Scilab Function            addmenu
NAME
   addmenu - interactive button or menu definition
  
CALLING SEQUENCE
 addmenu(button [,submenus] [,action]) 
 addmenu(gwin,button [,submenus] [,action]) 
PARAMETERS
 button     : a character string. The button name. On Windows operating
            systems (not X_window), an & can be placed before the character
            in the name to be used for keyboard shortcut; this character
            will be underlined on the GUI. 
            
 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
                                     
           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 action 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  
  
 button               for a main window command
                      
 button_gwin          for a graphic window command
                      
                     If proc_name designes a C or Fortran procedure, this
                      procedure may be interfaced in Fortran subroutine
                      default/fbutn.f or dynamically linked with scilab
                      using the link function. the calling sequence is in
                      C: (char* name, int* win,int *entry) 
                      
                     Actions associated with the kth sub_menu must be
                      defined by  scilab instructions stored in the kth
                      element of the character string variable which name
                      is  
                      
 button               for a main window command
                      
 button_gwin          for a graphic window command
                      
EXAMPLE
 addmenu('foo')
 foo='disp(''hello'')'
 
 addmenu('Hello',['Franck';'Peter'])
 Hello=['disp(''hello Franck'')';'disp(''hello Peter'')']
 
 addmenu(0,'Hello',['Franck';'Peter'])
 Hello_0=['disp(''hello Franck'')';'disp(''hello Peter'')']
 
 addmenu('Bye',list(0,'French_Bye'))
 French_Bye='disp(''Au revoir'')'
 
 //C defined Callback
 // creating Callback code
 code=[
  '#include ""'+SCI+'/routines/machine.h""'
  'void C2F(foo)(name,win,entry)'
  '     char *name;'
  '     int * win,*entry;'
  '{'
  '  if (*win==-1) '
  '    sciprint(""menu %s(%i) in Scilab window selected\r\n"",name,*entry+1);'
  '  else'
  '    sciprint(""menu %s(%i) in window %i selected\r\n"",name,*entry+1,*win);'
  '}']
 //creating foo.c file
 mputl(code,TMPDIR+'/foo.c');
 //reating Makefile
 ilib_gen_Make('foo','foo','',TMPDIR+'/Makefile',%f)
 // Compiling and linking
 link(ilib_compile('foo',TMPDIR+'/Makefile'),'foo')
 //add menu
 addmenu('foo',['a','b','c'],list(1,'foo'))
 
SEE ALSO
   setmenu, unsetmenu, delmenu