diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/tabs/AdvancedAllocationTabCreator.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/tabs/AdvancedAllocationTabCreator.java
new file mode 100644
index 000000000..d539fb1bb
--- /dev/null
+++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/tabs/AdvancedAllocationTabCreator.java
@@ -0,0 +1,50 @@
+/*
+ * This file is part of ###PROJECT_NAME###
+ *
+ * Copyright (C) 2009 Fundación para o Fomento da Calidade Industrial e
+ * Desenvolvemento Tecnolóxico de Galicia
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+package org.navalplanner.web.planner.tabs;
+
+import static org.navalplanner.web.I18nHelper._;
+
+import org.navalplanner.web.planner.tabs.CreatedOnDemandTab.IComponentCreator;
+import org.zkoss.ganttz.extensions.ITab;
+import org.zkoss.zk.ui.Component;
+import org.zkoss.zul.Label;
+
+/**
+ * @author Óscar González Fernández
+ *
+ */
+public class AdvancedAllocationTabCreator {
+
+ private static final String ADVANCED_ALLOCATION_VIEW = _("Advanced Allocation");
+
+ public static ITab create() {
+ return new CreatedOnDemandTab(ADVANCED_ALLOCATION_VIEW,
+ new IComponentCreator() {
+ @Override
+ public Component create(Component parent) {
+ Label result = new Label();
+ result.setParent(parent);
+ result.setValue("WIP");
+ return result;
+ }
+ });
+ }
+
+}
diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/tabs/MultipleTabsPlannerController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/tabs/MultipleTabsPlannerController.java
index b1e22c5d8..0078e09f9 100644
--- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/tabs/MultipleTabsPlannerController.java
+++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/tabs/MultipleTabsPlannerController.java
@@ -127,10 +127,12 @@ public class MultipleTabsPlannerController implements Composer {
}
});
final State typeChanged = typeChangedState();
+ ITab advancedAllocation = AdvancedAllocationTabCreator.create();
return TabsConfiguration.create()
.add(tabWithNameReloading(planningTab, typeChanged))
.add(tabWithNameReloading(resourceLoadTab, typeChanged))
- .add(tabWithNameReloading(ordersTab, typeChanged));
+ .add(tabWithNameReloading(ordersTab, typeChanged))
+ .add(visibleOnlyOnOrderMode(advancedAllocation));
}
private ChangeableTab tabWithNameReloading(ITab tab,
@@ -150,6 +152,19 @@ public class MultipleTabsPlannerController implements Composer {
return typeChanged;
}
+ private ChangeableTab visibleOnlyOnOrderMode(ITab tab) {
+ final State state = State.create(mode.isOf(ModeType.ORDER));
+ ChangeableTab result = configure(tab).visibleOn(state);
+ mode.addListener(new ModeTypeChangedListener() {
+
+ @Override
+ public void typeChanged(ModeType oldType, ModeType newType) {
+ state.changeValueTo(ModeType.ORDER == newType);
+ }
+ });
+ return result;
+ }
+
@Override
public void doAfterCompose(org.zkoss.zk.ui.Component comp) throws Exception {
tabsSwitcher = (TabSwitcher) comp;