List of usage examples for com.vaadin.ui TooltipConfiguration setOpenDelay
public void setOpenDelay(int openDelay);
From source file:io.mateu.ui.vaadin.framework.MyUI.java
License:Apache License
/** * por aqu entramos. se llama al inicio, cuando refrescamos la pgina (si no est anotado @preserveonrefresh) o la abrimos en otra pestaa * @param request//from w ww . java 2s .co m */ @Override protected void init(VaadinRequest request) { /* inicializamos la configuracin del tooltip para las ayudas */ TooltipConfiguration ttc = super.getTooltipConfiguration(); ttc.setOpenDelay(200); ttc.setQuickOpenDelay(300); ttc.setQuickOpenTimeout(300); /* si no tenemos la app en la sesin, entonces la buscamos utilizando SPI y la metemos en la sesin */ if (getApp() == null) { Iterator<App> apps = ServiceLoader.load(App.class).iterator(); while (apps.hasNext()) { setApp((AbstractApplication) apps.next()); System.out.println("app " + getApp().getName() + " loaded"); break; } String u = "" + Page.getCurrent().getLocation(); if (u.contains("#")) u = u.substring(0, u.indexOf("#")); if (getApp() == null) { // creamos una app al vuelo para probar la interfaz setApp(new AbstractApplication() { @Override public String getName() { return "Test app"; } @Override public List<AbstractArea> buildAreas() { return Lists.newArrayList(new AbstractArea("Area 1") { @Override public List<AbstractModule> buildModules() { return Lists.newArrayList(new AbstractModule() { @Override public String getName() { return "Mdulo 1"; } @Override public List<MenuEntry> buildMenu() { return Lists.newArrayList(new AbstractAction("Opcin 1") { @Override public void run() { io.mateu.ui.core.client.app.MateuUI.alert("hola!"); } }); } }); } }); } }); } getApp().setBaseUrl(u); } /* corregimos el acho de la barra izda para IE9 */ if (getPage().getWebBrowser().isIE() && getPage().getWebBrowser().getBrowserMajorVersion() == 9) { menu.setWidth("320px"); } /* ponemos el ttulo de la pgina */ getPage().setTitle(getApp().getName()); /* fijamos el componente root como contenido de la pgina y lo ajustamos al 100% del ancho de la pgina */ setContent(root); root.setWidth("100%"); /* creamos un navigator */ navigator = new Navigator(this, viewDisplay); /* aadimos el componente men */ root.addMenu(buildMenu(request)); addStyleName(ValoTheme.UI_WITH_MENU); /* buscamos view providers utilizando SPI. Los view providers convierten de url a vista vaadin */ ServiceLoader<ViewProvider> sl = ServiceLoader.load(ViewProvider.class); for (ViewProvider p : sl) navigator.addProvider(new com.vaadin.navigator.ViewProvider() { @Override public String getViewName(String viewNameAndParameters) { return p.getViewName(viewNameAndParameters); } @Override public View getView(String viewName) { return getVaadinView(p.getView(viewName)); } }); /* actualizar los settings (datos del usuario en la parte izda) */ refreshSettings(); /* ponemos una vista por defecto */ navigator.setErrorView(HomeView.class); /* aadimos un listener para cuando cambia la url. Aqu es donde se gestiona la navegacin */ navigator.addViewChangeListener(new ViewChangeListener() { @Override public boolean beforeViewChange(ViewChangeEvent event) { /* aqu controlamos si el usuario tiene acceso a esta vista */ boolean ok = true; return ok; } @Override public void afterViewChange(ViewChangeEvent event) { View v = event.getNewView(); if (v instanceof ViewLayout) { ViewLayout vl = (ViewLayout) v; if (!vl.getView().isGranted()) { // esta opcin no est en nuestro men, as que pedimos login openLoginDialog(false); } else { vl.getView().addListener(new ViewListener() { @Override public void onClose() { UI.getCurrent().getPage().getJavaScript().execute("history.back()"); } }); if (vl.getView() instanceof AbstractEditorView) { Object id = null; if (id != null) { ((AbstractEditorView) vl.getView()).setInitialId(id); ((AbstractEditorView) vl.getView()).load(); } } else if (vl.getView() instanceof AbstractListView) { AbstractListView lv = (AbstractListView) vl.getView(); Data data = null; int page = 0; String s = vl.getView().getParametros(); if (!Strings.isNullOrEmpty(s)) { String d = s; if (s.contains("/")) { d = s.split("/")[0]; page = Integer.parseInt(s.split("/")[1]); } data = new Data(new String(BaseEncoding.base64().decode(d))); } if (data != null) { lv.setData(data); } if (lv.isSearchOnOpen() || (data != null && data.getPropertyNames().size() > 0)) { lv.set("_data_currentpageindex", page); List<String> errors = lv.getForm().validate(); if (errors.size() > 0) { io.mateu.ui.core.client.app.MateuUI.notifyErrors(errors); } else { lv.rpc(); } } } getViewDisplay().removeAllComponents(); getViewDisplay().addComponent(v.getViewComponent()); refreshMenu(((ViewLayout) v).getView().getArea(), ((ViewLayout) v).getView().getMenu()); getPage().setTitle(((ViewLayout) v).getView().getTitle()); } } for (Iterator<Component> it = menuItemsLayout.iterator(); it.hasNext();) { it.next().removeStyleName("selected"); } menu.removeStyleName("valo-menu-visible"); } }); /* si hemos entrado por la raz y no hay contenidos pblicos, entonces pedir el login inmediatamente */ String f = Page.getCurrent().getUriFragment(); System.out.println("Page.getCurrent().getUriFragment()=" + f); if (f == null || f.equals("")) { boolean hayPartePublica = false; for (AbstractArea a : getApp().getAreas()) { hayPartePublica |= a.isPublicAccess(); } if (!hayPartePublica) openLoginDialog(true); } }