Refactored event listener from TaskList to GanttPannel

* Give a look to this post: https://sourceforge.net/mailarchive/forum.php?thread_name=1655a8a1d6e59b8ffa918630d1440dfd%40igalia.com&forum_name=navalplan-devel

FEA: ItEr02S03MigracionZK5
This commit is contained in:
Farruco Sanjurjo 2010-08-23 13:01:11 +02:00 committed by Óscar González Fernández
parent fda0bf14b5
commit 173ceec48d
7 changed files with 34 additions and 9 deletions

View file

@ -26,6 +26,7 @@ import org.zkoss.ganttz.adapters.IDisabilityConfiguration;
import org.zkoss.ganttz.data.GanttDiagramGraph;
import org.zkoss.ganttz.timetracker.TimeTracker;
import org.zkoss.ganttz.timetracker.TimeTrackerComponent;
import org.zkoss.ganttz.timetracker.zoom.IZoomLevelChangedListener;
import org.zkoss.ganttz.timetracker.zoom.ZoomLevel;
import org.zkoss.zk.au.out.AuInvoke;
import org.zkoss.zk.ui.ext.AfterCompose;
@ -43,6 +44,8 @@ public class GanttPanel extends XulElement implements AfterCompose {
private final Planner planner;
private transient IZoomLevelChangedListener zoomLevelChangedListener;
public GanttPanel(
Planner planner,
List<? extends CommandOnTaskContextualized<?>> commandsOnTasksContextualized,
@ -85,7 +88,6 @@ public class GanttPanel extends XulElement implements AfterCompose {
.asDependencyComponents(diagramGraph.getVisibleDependencies()));
timeTrackerComponent.afterCompose();
dependencyList.afterCompose();
if (planner.isExpandAll()) {
FunctionalityExposedForExtensions<?> context = (FunctionalityExposedForExtensions<?>) planner
.getContext();
@ -96,6 +98,7 @@ public class GanttPanel extends XulElement implements AfterCompose {
planner.getPredicate().setFilterContainers(true);
planner.setTaskListPredicate(planner.getPredicate());
}
registerZoomLevelChangedListener();
}
public TimeTrackerComponent getTimeTrackerComponent() {
@ -134,4 +137,20 @@ public class GanttPanel extends XulElement implements AfterCompose {
return planner;
}
private void registerZoomLevelChangedListener() {
if (zoomLevelChangedListener == null) {
zoomLevelChangedListener = new IZoomLevelChangedListener() {
@Override
public void zoomLevelChanged(ZoomLevel detailLevel) {
adjustZoomColumnsHeight();
}
};
getTimeTracker().addZoomListener(zoomLevelChangedListener);
}
}
public void adjustZoomColumnsHeight() {
response("adjust_height", new AuInvoke(this, "adjust_height"));
}
}

View file

@ -441,7 +441,7 @@ public class Planner extends HtmlMacroComponent {
getDependencyList().taskRemoved(task);
leftPane.taskRemoved(task);
setHeight(getHeight());// forcing smart update
taskList.adjustZoomColumnsHeight();
ganttPanel.adjustZoomColumnsHeight();
getDependencyList().redrawDependencies();
}
@ -686,4 +686,8 @@ public class Planner extends HtmlMacroComponent {
}
return null;
}
public String getWidgetClass(){
return getDefinition().getDefaultWidgetClass();
}
}

View file

@ -45,7 +45,6 @@ import org.zkoss.ganttz.timetracker.zoom.IZoomLevelChangedListener;
import org.zkoss.ganttz.timetracker.zoom.ZoomLevel;
import org.zkoss.ganttz.util.MenuBuilder;
import org.zkoss.ganttz.util.MenuBuilder.ItemAction;
import org.zkoss.zk.au.out.AuInvoke;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.ext.AfterCompose;
@ -133,7 +132,7 @@ public class TaskList extends XulElement implements AfterCompose {
taskComponent.afterCompose();
if (relocate) {
setHeight(getHeight());// forcing smart update
adjustZoomColumnsHeight();
getGanttPanel().adjustZoomColumnsHeight();
getGanttPanel().getDependencyList().redrawDependencies();
}
}
@ -284,7 +283,6 @@ public class TaskList extends XulElement implements AfterCompose {
for (TaskComponent taskComponent : getTaskComponents()) {
taskComponent.zoomChanged();
}
adjustZoomColumnsHeight();
}
};
getTimeTracker().addZoomListener(zoomLevelChangedListener);
@ -326,10 +324,6 @@ public class TaskList extends XulElement implements AfterCompose {
return (GanttPanel) getParent();
}
public void adjustZoomColumnsHeight() {
response("adjust_height", new AuInvoke(TaskList.this, "adjust_height"));
}
public void redrawDependencies() {
getGanttPanel().getDependencyList().redrawDependencies();
}

View file

@ -14,6 +14,7 @@
<component>
<component-name>planner</component-name>
<component-class>org.zkoss.ganttz.Planner</component-class>
<widget-class>ganttz.Planner</widget-class>
<macro-uri>~./ganttz/zul/plannerLayout.zul</macro-uri>
<!-- mold>
<mold-name>default</mold-name>

View file

@ -27,6 +27,9 @@ ganttz.GanttPanel = zk.$extends(zk.Widget,{
jq(element).css("left", "-" + this._rightpannellayout.scrollLeft() + "px")
}, this));
},
adjust_height : function(){
jq(this.$n()).height(jq('#scroll_container').height());
},
_calcXY : function(event){
var arrPos = YAHOO.util.Event.getXY(event);
this.setXMouse(arrPos[0]);

View file

@ -0,0 +1,3 @@
zk.$package("ganttz");
ganttz.Planner = zk.$extends(zk.Macro,{})

View file

@ -16,4 +16,5 @@
<widget name="TaskComponent"/>
<widget name="TaskList"/>
<widget name="DependencyList"/>
<widget name="Planner"/>
</package>