Monday, December 15, 2014

Nuestra propia barra de Favoritos

Para complementar el post anterior vamos a crear una barra de herramientas (Se requiere crear controles dinámicos y leer el menú Favoritos del usuario).

Creamos un formulario llamado TestBar, luego vamos a fijar las siguientes propiedades a su diseño:



Ahora vamos al código.


01 public void run()
02 {
03
04    TreeNode treeNode;
05    TreeNodeIterator iterator;
06    FormButtonControl   button;
07 ;
08
09    super();
10    treeNode = infolog.userNode();
11    iterator = treeNode.AOTiterator();
12    treeNode = iterator.next();
13
14    treeNode = treeNode.AOTfindChild('Mis Favoritos');
15    iterator = treeNode.AOTiterator();
16
17    while (iterator)
18    {
19
20        treeNode = iterator.next();
21        if (treeNode)
22        {
23            button = element.design().addControl(FormControlType::Button,'Dynamic');
24            button.text(treenode.treeNodeName());
25           
26
27            button.border(4);
28            this.controlMethodOverload(true);
29
30
31        }
32        else
33            break;
34    }
35
36}


En la línea 23 agregamos un botón "coqueto", al cúal se le llamará Dynamic,  todo lo demás se explicó en post anteriores (Controles Dinámicos en Ax  y  Leyendo el menú favoritos desde código).

01 void Dynamic_Clicked()
02{
03     TreeNode treeNode;
04     TreeNodeIterator iterator;
05     #AOT
06     ;
07
08     treeNode = infolog.userNode();
09     iterator = treeNode.AOTiterator();
10     treeNode = iterator.next();
11
12     treeNode = treeNode.AOTfindChild('Mis Favoritos');
13      iterator = treeNode.AOTiterator();
14     while (iterator)
15     {
16        treeNode = iterator.next();
17        if (!treeNode)
18            break;
19
20        if (treeNode.treeNodeName()==element.controlCallingMethod().labelText())
21        {
22                    treeNode.AOTrun();
23                    break;
24        }
25
26     }
27
28 }


 Bueno, en este caso se busca el menú y se compara en la línea 20 para saber cuál de todos los botones creados fue el que llamó el método, y en la línea 22 se ejecuta la opción.

Así queda la barra, ya ustedes le darán un mejor formato.

:)






No comments:

Post a Comment