1 | |
---|
2 | #Require GuiTools; |
---|
3 | |
---|
4 | ////////////////////////////////////////////////////////////////////////////// |
---|
5 | // Elimina las asociaciones de @Ejemplo, para poder recompilar el archivo |
---|
6 | |
---|
7 | Set Remove(GuiTools::MenuManager::_.explicit_assoc, |
---|
8 | FindIndexByName(GuiTools::MenuManager::_.explicit_assoc, |
---|
9 | "@Ejemplo")); |
---|
10 | Set EvalSet([["Ejemplo_A","Ejemplo_A/1","Ejemplo_A/2","Ejemplo_B", |
---|
11 | "Ejemplo_C","Ejemplo_C/1" |
---|
12 | ]], Real (Text t) { |
---|
13 | Set Remove(GuiTools::MenuManager::_.options, |
---|
14 | FindIndexByName(GuiTools::MenuManager::_.options, t)); |
---|
15 | 1}); |
---|
16 | |
---|
17 | ////////////////////////////////////////////////////////////////////////////// |
---|
18 | // Crea un menu de opciones que se espera encontrar como: |
---|
19 | // * A |
---|
20 | // * A 1 |
---|
21 | // * A 2 |
---|
22 | // * B |
---|
23 | // * C |
---|
24 | // * C 1 |
---|
25 | |
---|
26 | Real Ejemplo.Method(NameBlock instance, Set extraData) { 1 }; |
---|
27 | |
---|
28 | Real GuiTools::MenuManager::defineOptionLabel([[ |
---|
29 | Text name = "Ejemplo_A", |
---|
30 | Text label = "A", |
---|
31 | Real rank = 100 |
---|
32 | ]]); |
---|
33 | |
---|
34 | Real GuiTools::MenuManager::defineMenuCommand("@Ejemplo", [[ |
---|
35 | Text name = "Ejemplo_A/1", |
---|
36 | Text label = "A 1", |
---|
37 | Real flagGroup = 0, |
---|
38 | Real rank = 110, |
---|
39 | Code CmdInvoke = Ejemplo.Method |
---|
40 | ]]); |
---|
41 | |
---|
42 | Real GuiTools::MenuManager::defineMenuCommand("@Ejemplo", [[ |
---|
43 | Text name = "Ejemplo_A/2", |
---|
44 | Text label = "A 2", |
---|
45 | Real flagGroup = 0, |
---|
46 | Real rank = 120, |
---|
47 | Code CmdInvoke = Ejemplo.Method |
---|
48 | ]]); |
---|
49 | |
---|
50 | Real GuiTools::MenuManager::defineMenuCommand("@Ejemplo", [[ |
---|
51 | Text name = "Ejemplo_B", |
---|
52 | Text label = "B", |
---|
53 | Real flagGroup = 0, |
---|
54 | Real rank = 200, |
---|
55 | Code CmdInvoke = Ejemplo.Method |
---|
56 | ]]); |
---|
57 | |
---|
58 | Real GuiTools::MenuManager::defineOptionLabel([[ |
---|
59 | Text name = "Ejemplo_C", |
---|
60 | Text label = "C", |
---|
61 | Real rank = 300 |
---|
62 | ]]); |
---|
63 | |
---|
64 | Real GuiTools::MenuManager::defineMenuCommand("@Ejemplo", [[ |
---|
65 | Text name = "Ejemplo_C/2", |
---|
66 | Text label = "C 1", |
---|
67 | Real flagGroup = 0, |
---|
68 | Real rank = 310, |
---|
69 | Code CmdInvoke = Ejemplo.Method |
---|
70 | ]]); |
---|
71 | |
---|
72 | ////////////////////////////////////////////////////////////////////////////// |
---|
73 | // Crea la clase @Ejemplo y un ejemplo |
---|
74 | |
---|
75 | Class @Ejemplo { |
---|
76 | Real value |
---|
77 | }; |
---|
78 | |
---|
79 | @Ejemplo ej = [[ Real value = 1 ]]; |
---|
80 | |
---|
81 | ////////////////////////////////////////////////////////////////////////////// |
---|
82 | // El menú encontrado tiene, sin embargo el siguiente orden: |
---|
83 | // * B |
---|
84 | // * C |
---|
85 | // * C 1 |
---|
86 | // * A |
---|
87 | // * A 1 |
---|
88 | // * A 2 |
---|
89 | |
---|
90 | ////////////////////////////////////////////////////////////////////////////// |
---|
91 | |
---|