Package jsky.science

Examples of jsky.science.Time


     * set the time that this node starts
     *
     **/
    public void setStartTime(Time time) {
        if (time.getValue(Time.SECOND) != fStartTime.getValue(Time.SECOND)) {
            Time oldTime = fStartTime;
            if (time.getValue(Time.SECOND) < getEndTime().getValue(Time.SECOND)) {
                fStartTime = time;
                fChangeSupport.firePropertyChange(TimeLineNodeModel.START_TIME, oldTime, time);
            }
        }
View Full Code Here


     * @param start the starting minute of the timeline
     * @param end the ending minute of the timeline
     * @param intervals the number of intervals on the timeline
     */
    public TimeLine(int start, int end, int intervals) {
        this(new Time((double) start, Time.MINUTE), new Time((double) end, Time.MINUTE), intervals);
    }
View Full Code Here

     *
     * @param model the time line model
     */
    public TimeLine(TimeLineModel model) {
        super();
        Time start = model.getStartTime();
        Time end = model.getEndTime();
        int intervals = model.getIntervalCount();
        MouseInputListener msListener = new MouseInputAdapter() {

            public void mousePressed(MouseEvent e) {
                setCursor(e);
            }

            public void mouseReleased(MouseEvent e) {
                setCursor(e);
            }

            public void mouseMoved(MouseEvent e) {
                setCursor(e);
            }

            private void setCursor(MouseEvent e) {
                Cursor cursor = DEFAULT_CURSOR;
                for (TimeLineNode node : _nodes) {
                    if (node.containsPoint(e.getPoint())) {
                        cursor = node.getCursor(e);
                        break;
                    }
                }
                TimeLine.this.setCursor(cursor);
            }
        };
        this.addMouseListener(msListener);
        this.addMouseMotionListener(msListener);
        setToolTipText("TimeLine");
        ToolTipManager.sharedInstance().setDismissDelay(Integer.MAX_VALUE);

        _displayStart = start;
        _displayEnd = end;
        _model = model;
        //_model.addPropertyChangeListener(_myModelListener);
        _intervalCount = intervals;
        double intervalsInTime = (end.getValue(Time.SECOND) - start.getValue(Time.SECOND)) /
                (double) _intervalCount;
        _intervalInTime = new Time(intervalsInTime, Time.SECOND);


        addMouseListener(_mouseListener);
        addMouseMotionListener(_mouseDragListener);
        addKeyListener(_keyListener);
View Full Code Here

    /**
     * Set the model (allan: added this method)
     */
    public void setModel(TimeLineModel model) {
        Time start = model.getStartTime();
        Time end = model.getEndTime();
        int intervals = model.getIntervalCount();

        _displayStart = start;
        _displayEnd = end;
        _model = model;
        //_model.addPropertyChangeListener(_myModelListener);
        _intervalCount = intervals;
        double intervalsInTime = (end.getValue(Time.SECOND) - start.getValue(Time.SECOND)) /
                (double) _intervalCount;
        _intervalInTime = new Time(intervalsInTime, Time.SECOND);
        _nodes = new TreeSet<TimeLineNode>(_comparator);

        _vetoableListeners = Collections.synchronizedList(new ArrayList<VetoableChangeListener>(5));
        repaint();
    }
View Full Code Here

    /**
     * sets the diplay window of the timeline
     */
    public synchronized void setDisplayArea(Time start, Time end) {
        if ((_displayStart.getValue() != start.getValue()) || (_displayEnd.getValue() != end.getValue())) {
            Time oldStart = _displayStart;
            Time oldEnd = _displayEnd;
            _displayStart = start;
            _displayEnd = end;
            double intervalsInTime = (_displayEnd.getValue(Time.SECOND) - _displayStart.getValue(Time.SECOND)) /
                    (double) _intervalCount;
            _intervalInTime = new Time(intervalsInTime, Time.SECOND);
            try {
                fireVetoableChange(new PropertyChangeEvent(this, DISPLAY_WINDOW_CHANGE, null, null));
            } catch (DetailedPropertyVetoException ex) {
                setDisplayArea(oldStart, oldEnd);
            }
View Full Code Here

    /**
     * reset the display window to show all data
     */
    public void resetDisplayArea() {
        setDisplayArea(new Time(getStartTime().getValue()), new Time(getEndTime().getValue()));
    }
View Full Code Here

    /**
     * move the display window of the timeline by the specified amount
     */
    public synchronized void moveDisplayAreaBy(Time time) {
        if (time.getValue() != 0.0) {
            Time startTime = new Time(_displayStart.getValue(Time.SECOND) + time.getValue(Time.SECOND),
                    Time.SECOND);
            Time endTime = new Time(_displayEnd.getValue(Time.SECOND) + time.getValue(Time.SECOND),
                    Time.SECOND);
            setDisplayArea(startTime, endTime);

        }
        repaint();
View Full Code Here

        xValue = xValue - _verticalSpacer;
        double time = (double) xValue * currentWindowWidth /
                ((double) getSize().width - (2.0 * _verticalSpacer));
        time = time + _displayStart.getValue(Time.SECOND);
        return new Time(time, Time.SECOND);

    }
View Full Code Here

            throw new DetailedPropertyVetoException(this, TimeLineNode.HIT_RIGHT_EDGE,
                    "out of bounds", evt);

        } else {
            if (evt.getPropertyName().equals(TimeLineNode.HIT_LEFT_EDGE)) {
                Time startTime = node.getStartTime();
                Time moveBy = new Time(startTime.getValue(Time.SECOND) - _displayStart.getValue(Time.SECOND),
                        Time.SECOND);
                moveDisplayAreaBy(moveBy);
            } else if (evt.getPropertyName().equals(TimeLineNode.HIT_RIGHT_EDGE)) {
                Time endTime = node.getEndTime();
                Time moveBy = new Time(endTime.getValue(Time.SECOND) - _displayEnd.getValue(Time.SECOND),
                        Time.SECOND);
                moveDisplayAreaBy(moveBy);
            } else {

                fireVetoableChange(evt);
View Full Code Here

     * zoom the time line in with center point centerPt being at the center
     *
     * @param centerPt the point to center the zoom around
     */
    public void zoomIn(Point centerPt) {
        Time center = getTimeForPoint(centerPt.x);
        double currentWindowWidth = _displayEnd.getValue(Time.SECOND)
                - _displayStart.getValue(Time.SECOND);

        currentWindowWidth = currentWindowWidth / 2.0;

        if (currentWindowWidth < MIN_DISPLAY_WINDOW) {
            currentWindowWidth = MIN_DISPLAY_WINDOW;
        }


        double startX = Math.floor((center.getValue(Time.SECOND) - currentWindowWidth / 2.0));
        double endX = Math.floor((center.getValue(Time.SECOND) + currentWindowWidth / 2.0));
        if (startX < getStartTime().getValue(Time.SECOND)) {
            double adjust = getStartTime().getValue(Time.SECOND) - startX;
            startX += adjust;
            endX += adjust;
        }
        if (endX > getEndTime().getValue(Time.SECOND)) {
            double adjust = endX - getEndTime().getValue(Time.SECOND);
            startX -= adjust;
            endX -= adjust;
        }
        Time startTime = new Time(startX, Time.SECOND);
        Time endTime = new Time(endX, Time.SECOND);
        setDisplayArea(startTime, endTime);
    }
View Full Code Here

TOP

Related Classes of jsky.science.Time

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.