1 19 20 package taskblocks.graph; 21 22 import java.awt.Rectangle ; 23 24 import taskblocks.ArrayUtils; 25 import taskblocks.Utils; 26 27 30 class Task extends GraphObject { 31 32 33 Object _userObject; 34 35 36 TaskRow _row; 37 38 39 Connection[] _incommingConnections; 40 41 42 Connection[] _outgoingConnections; 43 44 45 private long _duration; 46 47 48 private long _startTime; 49 50 51 private long _finishTime; 52 53 54 Rectangle _bounds = new Rectangle (); 55 56 57 boolean _flag; 58 59 TaskGraphRepresentation _builder; 60 61 Task(Object userObject, TaskGraphRepresentation builder) { 62 _userObject = userObject; 63 _builder = builder; 64 } 65 66 public void addIncommingConnection(Connection c) { 67 _incommingConnections = (Connection[])ArrayUtils.addToArray(_incommingConnections, c); 68 } 69 70 public void addOutgoingConnection(Connection c) { 71 _outgoingConnections = (Connection[])ArrayUtils.addToArray(_outgoingConnections, c); 72 } 73 74 private void repairStartTime() { 75 _startTime = Utils.repairStartTime(_startTime); 76 } 77 78 public long getDuration() { 79 return _duration; 80 } 81 82 public void setDuration(long duration) { 83 long oldDuration = _duration; 84 this._duration = duration; 85 _finishTime = Utils.countFinishTime(_startTime, _duration); 86 if(oldDuration != _duration) { 87 _builder.setDirty(); 88 } 89 } 90 91 public long getFinishTime() { 92 return _finishTime; 93 } 94 95 public long getStartTime() { 96 return _startTime; 97 } 98 99 public void setStartTime(long time) { 100 long oldTime = _startTime; 101 _startTime = time; 102 repairStartTime(); 103 _finishTime = Utils.countFinishTime(_startTime, _duration); 104 if(_startTime != oldTime) { 105 _builder.setDirty(); 106 } 107 } 108 109 public long getRealDuration() { 110 return _finishTime - _startTime; 111 } 112 113 public TaskRow getRow() { 114 return _row; 115 } 116 117 } 118 | Popular Tags |