From ad10de4f1eec1d13a1ea025f2f71b17afee20622 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Tue, 27 Oct 2009 23:55:30 +0100 Subject: [PATCH] ItEr32S12CUAsignacionGrupoRecursosAPlanificacionItEr31S15: Advanced allocation dummy tab added. --- .../tabs/AdvancedAllocationTabCreator.java | 50 +++++++++++++++++++ .../tabs/MultipleTabsPlannerController.java | 17 ++++++- 2 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 navalplanner-webapp/src/main/java/org/navalplanner/web/planner/tabs/AdvancedAllocationTabCreator.java 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;