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

📄 constraint.java

📁 Owing to the applet Gantt chart source yard, already Chinese melt, Gantt chart can demonstrate a Chi
💻 JAVA
字号:
/** *   Copyright 2004 Carlos Silva A. *  *   Licensed under the Apache License, Version 2.0 (the "License"); *   you may not use this file except in compliance with the License.  *   You may obtain a copy of the License at   *  *   http://www.apache.org/licenses/LICENSE-2.0 *  *   Unless required by applicable law or agreed to in writing, software *   distributed under the License is distributed on an "AS IS" BASIS, *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *   See the License for the specific language governing permissions and *   limitations under the License. *  */package jgantt.model;import java.util.Date;public class Constraint  {	public static final int MODE_END_BEGIN = 0;	public static final int MODE_END_END= 1;	public static final int MODE_BEGIN_BEGIN= 2;	public static final int MODE_BEGIN_END= 3; 	// datos	/**	 * Mode 	 * <ul>	 * <li> 1 : EB	 * <li> 2 : EE	 * <li> 3 : BE	 * <li> 4 : BB	 * </ul>	 */	protected byte                mode;	protected int                 delay;		// asociaciones		protected Task                masterTask=null;	protected Task                slaveTask=null;	// transientes	// metodos publicos	/**	 * Genera un constraint. Ejecuta {@link Task#addConstraint} para terminar de anexar 	 */	public Constraint(Task master, Task slave) throws GanttException {		masterTask = master;		slaveTask = slave;		slaveTask.addConstraint(this);			}		/**	 * Retorna la fecha de partida de la tarea esclava de acuerdo a la informacion de 	 * la tarea principal.	 * @return	 */	public Date getStartDate(){		//System.out.println("Constraint.getStartDate() mode="+mode+ " entre "+masterTask.getName()+" y "+ slaveTask.getName());		Date start=null;		DateOrganizer dorg = masterTask.project.getDateOrganizer();		switch (mode) {			case MODE_END_BEGIN:				start = masterTask.getFinishDate();				start = dorg.getNextLaborableDate(start,delay);				break;			case MODE_BEGIN_BEGIN:				start = masterTask.getStartDate();				start = dorg.getNextLaborableDate(start,delay);				break;			case MODE_END_END:				start = masterTask.getFinishDate();				start = dorg.getNextLaborableDate(start,delay - slaveTask.getLength());				break;			default: // BEGIN_END				start = masterTask.getStartDate();								start = dorg.getNextLaborableDate(start, delay - slaveTask.getLength());		}		//System.out.println("   "+start);		return start;	}	/**	 * Remueve el constraint de los hijos y deja este constraint sin uso.	 */	public void remove(){		// Primero se asigna dirty 				slaveTask.setDirty();				masterTask.setDirty();		// y luego se remueven sus links		masterTask.childConstraints.remove(this);		slaveTask.constraints.remove(this);		slaveTask.project.sendChange(new ProjectChange(ProjectChange.CONSTRAINT,slaveTask));		slaveTask=null;		masterTask=null;					}	public Task getMasterTask() {		return masterTask;	}	public Task getSlaveTask() {		return slaveTask;	}	public byte getMode() {		return mode;	}	public void setMode(byte newMode ) {		mode = newMode;		slaveTask.setDirty();		slaveTask.project.sendChange(new ProjectChange(ProjectChange.CONSTRAINT,slaveTask));	}	public int getDelay() {		return delay;	}	public void setDelay(int newDelay ) {		delay = newDelay;		slaveTask.setDirty();		slaveTask.project.sendChange(new ProjectChange(ProjectChange.CONSTRAINT,slaveTask));	}	}

⌨️ 快捷键说明

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