Opened 14 years ago
Last modified 12 years ago
#1244 accepted enhancement
delegar opciones de menu en miembros de instancia
Reported by: | Jorge | Owned by: | Jorge |
---|---|---|---|
Priority: | high | Milestone: | TOL Packages |
Component: | GuiTools | Version: | head |
Severity: | critical | Keywords: | |
Cc: | Pedro Gea |
Description
Cuando una clase A se compone de otras clases, B y C por ejemplo, puede ser util incorpoar las opciones de menu definidas para las clases B y C como opciones de submenu en el menu de opciones de A.
Change History (8)
comment:1 Changed 14 years ago by
Status: | new → accepted |
---|
comment:2 Changed 14 years ago by
Se delega opciones de submenu en miembros de una instancia mediante la función GuiTools::MenuManager::delegateSubmenu
. Los submenus delegados se crean con GuiTools::MenuManager::defineDelegatedSubmenus(?);
.
Por ejemplo en MMS delegamos en la @Strategy desde @Estimation así:
GuiTools::MenuManager::delegateSubmenu ( "MMS::@Estimation", "MMS::@Strategy", "GetStrategy(?)", [[ Text name = "MMS.Estimation_Strategy", Text label = "Estrategia" ]] )
comment:4 Changed 14 years ago by
¿Podría delegarse en un atributo sin indicar explícitamente su clase?
En el ejemplo se indica que la clase que devuelve el método GetStrategy(?)
es MMS::@Strategy
pero sería tremendamente útil poder determinar ésto en tiempo de evaluación. Imagínese para el caso que se pone como ejemplo que de la clase @Strategy se derivan distintas clases (como es el caso) y cada una tiene su menú contextual particular.
Sería útil incluso poder delegar submenús en atributos de otras gramáticas, véase #1252.
comment:5 Changed 13 years ago by
Severity: | major → critical |
---|
Actualmente no funciona esta utilidad, auqnue creo que en algún momento funcionó algo.
Una aproximación puede ser:
Lo anterior implica que al menu contextual de un objeto de tipo
MMS::@Estimation
se le añadirá un submenu bajo el título "Strategy" que contendrás las opciones definida en la clase de la instancia retornada por el método "GetStrategy"