Ganttpanel changed to scroll on zoomlevel change

* It's not working yet, but I prefer to do small commits

FEA: ItEr02S03MigracionZK5
This commit is contained in:
Farruco Sanjurjo 2010-10-25 12:03:52 +02:00
parent 6e52fa9c57
commit a93970fd98
5 changed files with 18 additions and 6 deletions

View file

@ -129,8 +129,8 @@ public class GanttPanel extends XulElement implements AfterCompose {
return timeTrackerComponent.getTimeTracker();
}
public void setZoomLevel(ZoomLevel zoomLevel) {
getTimeTracker().setZoomLevel(zoomLevel);
public void setZoomLevel(ZoomLevel zoomLevel, int scrollLeft) {
timeTrackerComponent.setZoomLevel(zoomLevel, scrollLeft);
}
public Planner getPlanner() {

View file

@ -233,13 +233,13 @@ public class Planner extends HtmlMacroComponent {
return new SimpleListModel(selectableZoomlevels);
}
public void setZoomLevel(final ZoomLevel zoomLevel) {
public void setZoomLevel(final ZoomLevel zoomLevel, int scrollLeft) {
if (ganttPanel == null) {
return;
}
this.fixedZoomByUser = true;
initialZoomLevel = zoomLevel;
ganttPanel.setZoomLevel(zoomLevel);
ganttPanel.setZoomLevel(zoomLevel, scrollLeft);
}
public void zoomIncrease() {
@ -346,7 +346,9 @@ public class Planner extends HtmlMacroComponent {
zoomindex= (Integer) retrieveData(request, "zoomindex");
scrollLeft = (Integer) retrieveData(request, "scrollLeft");
setZoomLevel((ZoomLevel)((Listbox)getFellow("listZoomLevels")).getModel().getElementAt(zoomindex));
setZoomLevel((ZoomLevel)((Listbox)getFellow("listZoomLevels"))
.getModel().getElementAt(zoomindex),
scrollLeft);
return true;
}
return false;

View file

@ -40,8 +40,8 @@ import org.zkoss.ganttz.timetracker.zoom.TimeTrackerState;
import org.zkoss.ganttz.timetracker.zoom.ZoomLevel;
import org.zkoss.ganttz.util.Interval;
import org.zkoss.ganttz.util.LongOperationFeedback;
import org.zkoss.ganttz.util.WeakReferencedListeners;
import org.zkoss.ganttz.util.LongOperationFeedback.ILongOperation;
import org.zkoss.ganttz.util.WeakReferencedListeners;
import org.zkoss.ganttz.util.WeakReferencedListeners.IListenerNotification;
import org.zkoss.zk.ui.Component;

View file

@ -41,6 +41,7 @@ public abstract class TimeTrackerComponent extends HtmlMacroComponent {
private IZoomLevelChangedListener zoomListener;
private final String secondLevelZul;
private String timeTrackerElementId;
private int scrollLeft;
public TimeTrackerComponent(TimeTracker timeTracker) {
this(timeTracker,
@ -58,6 +59,7 @@ public abstract class TimeTrackerComponent extends HtmlMacroComponent {
public void zoomLevelChanged(ZoomLevel detailLevel) {
if (isInPage()) {
recreate();
changeDetailLevel(getDaysFor(scrollLeft));
}
}
};
@ -157,4 +159,9 @@ public abstract class TimeTrackerComponent extends HtmlMacroComponent {
/ getTimeTrackerState().daysPerPixel()));
}
public void setZoomLevel(ZoomLevel zoomlevel, int scrollLeft){
this.scrollLeft = scrollLeft;
getTimeTracker().setZoomLevel(zoomlevel);
}
}

View file

@ -60,6 +60,9 @@ ganttz.GanttPanel = zk.$extends(zk.Widget,{
},
reScrollX : function(px){
jq('#ganttpanel_inner_scroller_x').width(px);
},
scroll_horizontal : function(value){
jq('#ganttpanel_scroller_x').scrollLeft(value);
}
},{
getInstance : function(){