close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 15 years ago

Closed 12 years ago

Last modified 12 years ago

#943 closed enhancement (fixed)

order of entries in MenuManager

Reported by: Jorge Owned by: Jorge
Priority: highest Milestone: TOLBase Revitalization
Component: GuiTools Version: head
Severity: blocker Keywords: menu, GuiTools
Cc: Pedro Gea

Description (last modified by Pedro Gea)

It is required a way to specify a relative order for the entries in MenuManager.

Attachments (1)

orden.tol (2.3 KB) - added by Pedro Gea 14 years ago.

Download all attachments as: .zip

Change History (17)

comment:1 Changed 15 years ago by Jorge

(In [2397]) refs #943, the partial order can be set in the new field rank, ex.

Real MenuManager::defineMenuCommand
( "@Ejemplo1",
  [[ Text name = "WriteMsgGroup1",
     Text label = "(MULTI) Write Msg 1",
     Text image = "checkedBox",
     Real flagGroup = 1,
     Real rank = -2;
     Code CmdInvoke = MyContextMenuFunctions::writeMsgGroup1 ]]
);

rank defaults to 0

comment:2 Changed 15 years ago by Jorge

(In [2398]) refs #943, the partial order can be set in the new field rank, ex.

Real MenuManager::defineMenuCommand
( "@Ejemplo1",
  [[ Text name = "WriteMsgGroup1",
     Text label = "(MULTI) Write Msg 1",
     Text image = "checkedBox",
     Real flagGroup = 1,
     Real rank = -2;
     Code CmdInvoke = MyContextMenuFunctions::writeMsgGroup1 ]]
);

rank defaults to 0

comment:3 Changed 15 years ago by Jorge

(In [2399]) refs #943, check if rank field is present in order to make it compatible with GuiTools 2.1

comment:4 Changed 15 years ago by Pedro Gea

El orden de las opciones de menú contextual es confuso cuando existen submenús
contextuales, parece que el orden del "defineOptionLabel" se ignora y se utiliza
el mínimo de los números de sus subopciones ¿?. No sé.

comment:5 Changed 15 years ago by Jorge

Status: newaccepted

La función de comparación para dos entradas debe tener en cuenta la estructura de submenus y no ordenar globalmente por el campo rank como se hace aquí:

set sortedEntriesInfo [ lsort -real -index 4 $entriesInfo ]

Debe definirse una función que compare dos entradas como esta:

proc compareMenuEntries { entry1 entry2 } {
 ...
}

y ordenar la lista de entrada según:

set sortedEntriesInfo [ lsort -command compareMenuEntries $entriesInfo ]

comment:6 Changed 15 years ago by Jorge

(In [2439]) refs #943, se ha implementado una funcion de ordenamiento de entries que tiene en cuenta el orden de los submenues.

comment:7 Changed 14 years ago by Pedro Gea

Severity: majorblocker

El orden de las opciones de menú no se respetan cuando aparecen subopciones.
Se adjunta un ejemplo.

Se sugiere incorporar también la posibilidad de definir una opción-separador.
Quizá algo como:

Real GuiTools::MenuManager::defineMenuSeparator("@Ejemplo", [[ 
  Text name = "Ejemplo_A/Separator",
  Real flagGroup = 0,
  Real rank = 110
]]);

ya que debería poder indicarse para un menú o un submenú (name), en qué orden ha de aparecer (rank) y si ha de hacerlo en el menú de una instancia o en el de varias (flagGroup).

Changed 14 years ago by Pedro Gea

Attachment: orden.tol added

comment:8 Changed 14 years ago by Pedro Gea

Component: InterfaceGuiTools

El tique necesita revisarse y quizá separarlo en tareas.

comment:9 Changed 14 years ago by Pedro Gea

Milestone: TOLBase Revitalization
Version: 2.0.1head

Es importante solucionar los bugs asociados a este tique.
Véase el ejemplo adjunto: orden.tol

comment:10 Changed 13 years ago by Jorge

(In [5002]) refs #943, test según el archivo orden.tol adjunto al ticket

comment:11 Changed 12 years ago by Pedro Gea

Description: modified (diff)

Vuelvo a insistir con este tique.
¿Se podría hacer un esfuerzo en solucionarlo?
Creo que es una cosa pequeña que puede aportar mucho.

comment:12 Changed 12 years ago by Jorge

(In [5549]) refs #943, fix the compare function for menu entries

comment:13 Changed 12 years ago by Pedro Gea

(In [5553]) Refs #943
Se comentan trazas que ralentizan la aparición de los menús contextuales.

comment:14 Changed 12 years ago by Pedro Gea

Resolution: fixed
Status: acceptedclosed

comment:15 Changed 12 years ago by Pedro Gea

La tarea pendiente que quedaba se reubicó en #1642.

comment:16 Changed 12 years ago by Jorge

(In [5611]) refs #943, unificamos identificación de submenu en parte tk con parte tol

Note: See TracTickets for help on using tickets.