Hello, im trying to make a menu widget that receives an object with
logged user permissions and paint the menu showing only the links that
the user can see.
My problem is how to know from the page that uses the widget what link
have been selected.
The code (without permissions logic implemented) is:
public class MenuUsuario extends Composite implements
SourcesClickEvents {
// Atributos de clase
private ClickListenerCollection clickListeners;
public MenuUsuario() {
// Necesario para que funcione gwt-log
Log.setUncaughtExceptionHandler();
// DecoratedStackPanel que será el menu de usuario
DecoratedStackPanel decoratedStackPanelMenu = new
DecoratedStackPanel();
initWidget(decoratedStackPanelMenu);
decoratedStackPanelMenu.setSize("150px", "150px");
decoratedStackPanelMenu.add(crearSubmenuOrganizacion(), "Mi
Clinica", true);
decoratedStackPanelMenu.add(crearSubmenuTalon(), "Talones",
true);
decoratedStackPanelMenu.add(crearSubmenuPerfil(), "Mi perfil",
true);
//this.sinkEvents(Event.ONCLICK);
}
private Tree crearSubmenuOrganizacion() {
// Arbol con el menú Organización
Tree treeOrganizacion = new Tree();
// Rama con los enlaces de gestión de organización y creación de
enlaces
Hyperlink linkAnadirSede = new
Hyperlink("Nueva","anadirNuevaSede");
Hyperlink linkModificarSede = new
Hyperlink("Modificar","modificarSede");
Hyperlink linkBorrarSede = new Hyperlink("Borrar","borrarSede");
TreeItem treeItemSedes = treeOrganizacion.addItem("Sedes");
treeItemSedes.addItem(linkAnadirSede);
treeItemSedes.addItem(linkModificarSede);
treeItemSedes.addItem(linkBorrarSede);
// Rama con los enlaces de gestión de empleados y creación de
enlaces
Hyperlink linkAnadirEmpleado = new Hyperlink("Nuevo",
"anadirEmpleado");
Hyperlink linkModificarEmpleado = new Hyperlink("Modificar",
"modificarEmpleado");
Hyperlink linkEliminarEmpleado = new Hyperlink("Eliminar",
"eliminarEmpleado");
TreeItem treeItemEmpleados =
treeOrganizacion.addItem("Empleados");
treeItemEmpleados.addItem(linkAnadirEmpleado);
treeItemEmpleados.addItem(linkModificarEmpleado);
treeItemEmpleados.addItem(linkEliminarEmpleado);
// Añadimos las ramas al árbol
treeOrganizacion.addItem(treeItemSedes);
treeOrganizacion.addItem(treeItemEmpleados);
treeOrganizacion.setAnimationEnabled(true);
return treeOrganizacion;
}
private VerticalPanel crearSubmenuTalon() {
// VerticalPanel que contendrá los enlaces de gestión de
talones y
creación de estos
VerticalPanel verticalPanelTalon = new VerticalPanel();
verticalPanelTalon.setSpacing(4);
Hyperlink linkAnadirTalon = new Hyperlink("Enviar",
"enviarTalon");
Hyperlink linkAnularTalon = new Hyperlink("Anular",
"anularTalon");
Hyperlink linkLiquidacionTalones = new Hyperlink("Liquidación
mensual", "liquidacionTalones");
verticalPanelTalon.add(linkAnadirTalon);
verticalPanelTalon.add(linkAnularTalon);
verticalPanelTalon.add(linkLiquidacionTalones);
return verticalPanelTalon;
}
private VerticalPanel crearSubmenuPerfil() {
// VerticalPanel que contendrá los enlaces de gestión de perfil
y
creación de éstos
VerticalPanel verticalPanelPerfil = new VerticalPanel();
verticalPanelPerfil.setSpacing(4);
Hyperlink linkModificarPerfil = new Hyperlink("Modificar",
"modificarPerfil");
verticalPanelPerfil.add(linkModificarPerfil);
return verticalPanelPerfil;
}
public void addClickListener(ClickListener listener) {
if (clickListeners == null)
clickListeners = new ClickListenerCollection();
clickListeners.add(listener);
}
public void removeClickListener(ClickListener listener) {
if (clickListeners != null)
clickListeners.remove(listener);
}
public void onBrowserEvent(Event event) {
switch (DOM.eventGetType(event)) {
case Event.ONCLICK:
if (clickListeners != null)
clickListeners.fireClick(this);
break;
}
}
}
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---