Package net.sourceforge.ganttproject

Source Code of net.sourceforge.ganttproject.GanttTask

/***************************************************************************
GanttTask.java  -  description
-------------------
begin                : dec 2002
copyright            : (C) 2002 by Thomas Alexandre
email                : alexthomas(at)ganttproject.org
***************************************************************************/

/***************************************************************************
*                                                                         *
*   This program is free software; you can redistribute it and/or modify  *
*   it under the terms of the GNU General Public License as published by  *
*   the Free Software Foundation; either version 2 of the License, or     *
*   (at your option) any later version.                                   *
*                                                                         *
***************************************************************************/

package net.sourceforge.ganttproject;

import java.io.Serializable;
import java.util.Vector;

import net.sourceforge.ganttproject.task.TaskImpl;
import net.sourceforge.ganttproject.task.TaskManager;
import net.sourceforge.ganttproject.task.TaskMutator;
import net.sourceforge.ganttproject.task.dependency.TaskDependency;

/**
* Class that generate a task
*/

public class GanttTask extends TaskImpl

implements Serializable {

    public static int LOW = 0;

    public static int NORMAL = 1;

    public static int HIGHT = 2;

    // ///////////////////////////////////////////////////////////////////////////////

    /**
     * Constructor
     *
     * @param taskID
     */

    public GanttTask(String name, GanttCalendar start, long length,
            TaskManager taskManager, int taskID) {
        super(taskManager, taskID);
        TaskMutator mutator = createMutator();
        mutator.setName(name);
        mutator.setStart(start);
        mutator.setDuration(taskManager.createLength(length));
        mutator.commit();
        enableEvents(true);
    }

    public GanttTask(GanttTask copy) {
        super(copy, false);
        // for (int i = 0; i < getPredecessorsOld().size(); i++) {
        // GanttTaskRelationship tempRel = (GanttTaskRelationship) ( (
        // GanttTaskRelationship) getPredecessorsOld().get(i)).clone();
        // addPredecessor(tempRel);
        // }

        // for (int i = 0; i < successors.size(); i++) {
        // GanttTaskRelationship tempRel = (GanttTaskRelationship) ( (
        // GanttTaskRelationship) successors.get(i)).clone();
        // addSuccessor(tempRel);
        // }
        enableEvents(true);

    }

    /**
     * @return a clone of the Task
     */
    public GanttTask Clone() {
        return new GanttTask(this);
    }

    /** @deprecated Use TimeUnit class istead and method getDuration() */
    public int getLength() {

        return (int) getDuration().getLength();

    }

    /**
     * @deprecated Use setDuration()
     */
    public void setLength(int l) {
        if (l <= 0) {
            throw new IllegalArgumentException(
                    "Length of task must be >=0. You've passed length=" + l
                            + " to task=" + this);
        }
        TaskMutator mutator = createMutator();
        mutator.setDuration(getManager().createLength(
                getDuration().getTimeUnit(), l));
        mutator.commit();
    }

    /**
     * set the task ID. the uniquness of ID should be check before using this
     * method
     *
     * @param taskID
     */
    public void setTaskID(int taskID) {
        setTaskIDHack(taskID);
    }
   
}
TOP

Related Classes of net.sourceforge.ganttproject.GanttTask

TOP
Copyright © 2018 www.massapi.com. 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.