⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chartviewstate.java

📁 It is all about project scheduling. GanttProject is a tool for creating a project schedule by means
💻 JAVA
字号:
package net.sourceforge.ganttproject.chart;import java.util.ArrayList;import java.util.Calendar;import java.util.Date;import java.util.EventListener;import java.util.EventObject;import java.util.List;import javax.swing.SwingUtilities;import net.sourceforge.ganttproject.IGanttProject;import net.sourceforge.ganttproject.Mediator;import net.sourceforge.ganttproject.gui.UIFacade;import net.sourceforge.ganttproject.gui.scrolling.ScrollingListener;import net.sourceforge.ganttproject.gui.zoom.ZoomEvent;import net.sourceforge.ganttproject.gui.zoom.ZoomListener;import net.sourceforge.ganttproject.gui.zoom.ZoomManager;import net.sourceforge.ganttproject.gui.zoom.ZoomManager.ZoomState;import net.sourceforge.ganttproject.time.TimeFrame;import net.sourceforge.ganttproject.time.TimeUnit;import net.sourceforge.ganttproject.time.TimeUnitStack;/** * Created by IntelliJ IDEA. User: bard */public class ChartViewState implements ScrollingListener, ZoomListener {    private Date myStartDate;    private final TimeUnitStack myTimeUnitStack;    private ZoomState myCurrentZoomState;    private UIFacade myUIFacade;    private final Chart myChart;    public ChartViewState(Chart chart, UIFacade uiFacade) {        final IGanttProject project = chart.getProject();        myChart = chart;        myUIFacade = uiFacade;        myTimeUnitStack = project.getTimeUnitStack();        myStartDate = Calendar.getInstance().getTime();        uiFacade.getZoomManager().addZoomListener(this);    }    // private void setDefaultBottomUnitWidth() {    // myBottomUnitWidth = 20;    // }    public void scrollRight() {        SwingUtilities.invokeLater(new Runnable() {            public void run() {                myChart.scrollRight();            }        });    }    public void scrollLeft() {        myChart.scrollLeft();    }    public void scrollLeft(Date date) {        myChart.setStartDate(date);    }    public void zoomChanged(ZoomEvent e) {        myCurrentZoomState = e.getNewZoomState();        Date date = null;        if (myUIFacade.getViewIndex() == UIFacade.GANTT_INDEX) {            Date d = Mediator.getTaskSelectionManager().getEarliestStart();            // boolean zoomin = e.getZoomValue() < e.getOldValue();            // if (zoomin && myZoomStateIndex>0) {            // myZoomStateIndex--;            // }            // else if (!zoomin && myZoomStateIndex<myZoomStates.length-1) {            // myZoomStateIndex++;            // }            // myCurrentTimeFrame = scrollTimeFrame(d==null ? getStartDate() :            // d);            date = d == null ? myChart.getStartDate() : d;        } else            date = myChart.getStartDate();                myChart.setTopUnit(getTopTimeUnit());        myChart.setBottomUnit(getBottomTimeUnit());        myChart.setBottomUnitWidth(getBottomUnitWidth());        myChart.setStartDate(date==null ? new Date() : date);    }    public int getBottomUnitWidth() {        return getCurrentZoomState().getBottomUnitWidth();    }    /**     * @return     */    public TimeUnit getTopTimeUnit() {        return getCurrentZoomState().getTimeUnitPair().getTopTimeUnit();    }    /**     * @return     */    public TimeUnit getBottomTimeUnit() {        return getCurrentZoomState().getTimeUnitPair().getBottomTimeUnit();    }    public ZoomManager.ZoomState getCurrentZoomState() {        return myCurrentZoomState;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -