ItEr22S12CUVistaRecursosTempoPorProxectoItEr21S07: If the menu doesn't exist, tabs are not registered.
This commit is contained in:
parent
cd5a88b405
commit
78afa5cab1
2 changed files with 13 additions and 4 deletions
|
|
@ -15,7 +15,6 @@ import org.zkoss.ganttz.extensions.ICommandOnTask;
|
|||
import org.zkoss.ganttz.extensions.IContext;
|
||||
import org.zkoss.ganttz.extensions.ITab;
|
||||
import org.zkoss.ganttz.extensions.ITabFactory;
|
||||
import org.zkoss.ganttz.util.IMenuItemsRegister;
|
||||
import org.zkoss.ganttz.util.MenuItemsRegisterLocator;
|
||||
import org.zkoss.zk.ui.Executions;
|
||||
import org.zkoss.zul.impl.XulElement;
|
||||
|
|
@ -142,6 +141,8 @@ public class Planner extends XulElement {
|
|||
}
|
||||
|
||||
private void registryTabs(TabsRegistry tabs) {
|
||||
if (!MenuItemsRegisterLocator.isRegistered())
|
||||
return;
|
||||
tabs.registerAtMenu(MenuItemsRegisterLocator.retrieve());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -20,13 +20,21 @@ public class MenuItemsRegisterLocator {
|
|||
return Executions.getCurrent().getDesktop();
|
||||
}
|
||||
|
||||
public static boolean isRegistered() {
|
||||
Object result = get();
|
||||
return result != null;
|
||||
}
|
||||
|
||||
private static Object get() {
|
||||
return getDesktop().getAttribute(MENU_ATTRIBUTE);
|
||||
}
|
||||
|
||||
public static IMenuItemsRegister retrieve()
|
||||
throws IllegalStateException {
|
||||
Object result = getDesktop().getAttribute(MENU_ATTRIBUTE);
|
||||
if (result == null)
|
||||
if (!isRegistered())
|
||||
throw new IllegalStateException("no "
|
||||
+ IMenuItemsRegister.class.getSimpleName() + " registered");
|
||||
return (IMenuItemsRegister) result;
|
||||
return (IMenuItemsRegister) get();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue