* with_texmacs removed.
[scilab.git] / scilab / modules / gui / macros / createpopup.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2008 - INRIA - Vincent COUVERT
3 //
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution.  The terms
7 // are also available at
8 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9
10 // Create a popupmenu and waits for a user input
11 function Cmenu = createpopup(listOfMenus)
12
13 warnobsolete("uicontextmenu", "5.4.1");
14
15 // Example of use
16 if argn(2) <=0 then
17   listOfMenus = list("menu1",..
18                      "menu2",..
19                      list("menuwithsubmenus", ..
20                           "submenu1",..
21                           list("submenu2", ..
22                                "subsubmenu1",..
23                                list("subsubmenu2", "subsubsubmenu"),..
24                                "subsubumen3"), ..
25                           "submenu3"),..
26                      "menu3");
27 end
28
29 // Create a contextmenu
30 h = uicontextmenu();
31
32 // Create its items
33 createPopupItems(h, listOfMenus);
34
35 // Display and wait for a user answer
36 Cmenu = uiwait(h);
37
38 endfunction
39
40 // Vincent COUVERT - Copyright INRIA 2008
41 function createPopupItems(parent, listOfMenus)
42
43 for menu=listOfMenus
44   if type(menu) == 10
45     h1 = uimenu("Parent", parent, "label", menu);
46   else
47     if length(menu) >= 2
48       h1 = uimenu("Parent", parent, "label", menu(1));
49       menu(1)=null();
50       createPopupItems(h1, menu);
51     else
52       error(gettext("createPopupItems: found an empty cascading menu."));
53     end
54   end
55 end
56 endfunction