ItEr28S15CUVisualizacionModelosPlanificacionItEr21S08: Removing support in Planner for tabs

This commit is contained in:
Óscar González Fernández 2009-09-30 19:07:03 +02:00
parent c266b13a27
commit 486d44f281
4 changed files with 6 additions and 142 deletions

View file

@ -122,39 +122,7 @@ public class Planner extends XulElement {
this.context = context;
clear();
context.add(configuration.getData());
visualizeTabs(context, configuration.getTabFactories());
}
private <T> TabsRegistry createTabs(IContext<T> context,
List<ITabFactory<T>> factories) {
List<ITab> tabs = new ArrayList<ITab>();
tabs.add(createTasksPlanningTab());
for (ITabFactory<T> factory : factories) {
tabs.add(factory.create(context));
}
TabsRegistry tabsRegistry = new TabsRegistry(this);
for (ITab t : tabs) {
tabsRegistry.add(t);
}
return tabsRegistry;
}
private <T> void visualizeTabs(
FunctionalityExposedForExtensions<T> context,
List<ITabFactory<T>> tabFactories) {
TabsRegistry tabs = createTabs(context, tabFactories);
registryTabs(tabs);
tabs.showFirst();
}
private void registryTabs(TabsRegistry tabs) {
if (!getMenuItemsRegisterLocator().isRegistered())
return;
tabs.registerAtMenu(getMenuItemsRegisterLocator().retrieve());
}
private OnZKDesktopRegistry<IMenuItemsRegister> getMenuItemsRegisterLocator() {
return OnZKDesktopRegistry.getLocatorFor(IMenuItemsRegister.class);
setupComponents();
}
private void clear() {
@ -200,17 +168,17 @@ public class Planner extends XulElement {
return diagramGraph;
}
private TasksPlanningTab createTasksPlanningTab() {
private void setupComponents() {
this.leftPane = new LeftPane(contextualizedGlobalCommands,
this.diagramGraph.getTopLevelTasks());
this.ganttPanel = new GanttPanel(this.context,
commandsOnTasksContextualized, editTaskCommand);
TasksPlanningTab result = new TasksPlanningTab(this, leftPane,
ganttPanel);
result.afterCompose();
leftPane.setParent(this);
ganttPanel.setParent(this);
leftPane.afterCompose();
ganttPanel.afterCompose();
this.leftPane
.setGoingDownInLastArrowCommand(goingDownInLastArrowCommand);
return result;
}
void removeTask(Task task) {

View file

@ -1,47 +0,0 @@
package org.zkoss.ganttz;
import org.zkoss.ganttz.extensions.ITab;
import org.zkoss.zk.ui.Component;
public class TasksPlanningTab implements ITab {
private final Planner planner;
private final LeftPane leftPane;
private final GanttPanel ganttPanel;
public TasksPlanningTab(Planner planner, LeftPane leftPane,
GanttPanel ganttPanel) {
this.planner = planner;
this.leftPane = leftPane;
this.ganttPanel = ganttPanel;
}
public void afterCompose() {
leftPane.setParent(planner);
ganttPanel.setParent(planner);
leftPane.afterCompose();
ganttPanel.afterCompose();
}
@Override
public void addToParent(Component parent) {
}
@Override
public void hide() {
leftPane.detach();
ganttPanel.detach();
}
@Override
public void show() {
leftPane.setParent(planner);
ganttPanel.setParent(planner);
ganttPanel.comingFromAnotherTab();
}
@Override
public String getName() {
return "Tasks Planning";
}
}

View file

@ -9,7 +9,6 @@ import org.zkoss.ganttz.extensions.ICommand;
import org.zkoss.ganttz.extensions.ICommandOnTask;
import org.zkoss.ganttz.extensions.IContext;
import org.zkoss.ganttz.extensions.IContextWithPlannerTask;
import org.zkoss.ganttz.extensions.ITabFactory;
/**
* A object that defines several extension points for gantt planner
@ -59,8 +58,6 @@ public class PlannerConfiguration<T> {
private ICommandOnTask<T> editTaskCommand = new NullCommandOnTask<T>();
private List<ITabFactory<T>> tabFactories = new ArrayList<ITabFactory<T>>();
public PlannerConfiguration(IAdapterToTaskFundamentalProperties<T> adapter,
IStructureNavigator<T> navigator, List<? extends T> data) {
this.adapter = adapter;
@ -116,13 +113,4 @@ public class PlannerConfiguration<T> {
Validate.notNull(editTaskCommand);
this.editTaskCommand = editTaskCommand;
}
public void addTab(ITabFactory<T> tabCreator) {
Validate.notNull(tabCreator);
this.tabFactories.add(tabCreator);
}
public List<ITabFactory<T>> getTabFactories() {
return Collections.unmodifiableList(tabFactories);
}
}

View file

@ -31,7 +31,6 @@ import org.zkoss.ganttz.extensions.ICommandOnTask;
import org.zkoss.ganttz.extensions.IContext;
import org.zkoss.ganttz.extensions.IContextWithPlannerTask;
import org.zkoss.ganttz.extensions.ITab;
import org.zkoss.ganttz.extensions.ITabFactory;
import org.zkoss.ganttz.resourceload.ResourcesLoadPanel;
import org.zkoss.zk.ui.Component;
@ -54,53 +53,9 @@ public class DataForPlanner {
private PlannerConfiguration<ITaskFundamentalProperties> setup(
PlannerConfiguration<ITaskFundamentalProperties> configuration) {
addCommands(configuration);
addTabs(configuration);
return configuration;
}
private void addTabs(
PlannerConfiguration<ITaskFundamentalProperties> configuration) {
configuration.addTab(new ITabFactory<ITaskFundamentalProperties>() {
@Override
public ITab create(
final IContext<ITaskFundamentalProperties> context) {
return new ITab() {
private Component parent;
private ResourcesLoadPanel loadPanel;
@Override
public void show() {
loadPanel = new ResourcesLoadPanel(
createFakeDataForResourcesLoad(), context
.getTimeTracker());
parent.appendChild(loadPanel);
loadPanel.afterCompose();
}
@Override
public void hide() {
if (loadPanel != null) {
loadPanel.detach();
}
}
@Override
public String getName() {
return _("Resource Load");
}
@Override
public void addToParent(Component parent) {
this.parent = parent;
}
};
}
});
}
private List<LoadTimelinesGroup> createFakeDataForResourcesLoad() {
List<LoadTimelinesGroup> result = new ArrayList<LoadTimelinesGroup>();
LoadTimeLine resource1 = new LoadTimeLine("resource1",