Gantt Chart Control  1.3
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Events
Braincase.GanttChart.ProjectManager< T, R > Class Template Reference

Concrete ProjectManager class for the IProjectManager interface More...

Inherits Braincase.GanttChart.IProjectManager< T, R >.

Public Member Functions

 ProjectManager ()
 Create a new Project More...
 
DateTime GetDateTime (int period)
 Get the date after the specified period based on TimeScale More...
 
void Add (T task)
 Create a new T for this Project and add it to the T tree More...
 
void Delete (T task)
 Remove task from this Project More...
 
void Group (T group, T member)
 Add the member T to the group T More...
 
void Ungroup (T group, T member)
 Remove the member task from its group More...
 
void Ungroup (T group)
 Ungroup all member task under the specfied group task. The specified group task will become a normal task. More...
 
int IndexOf (T task)
 Get the zero-based index of the task in this Project More...
 
void Move (T task, int offset)
 Re-position the task by offset amount of places More...
 
IEnumerable< T > AncestorsOf (T task)
 Enumerate through all the children and grandchildren of the specified group More...
 
IEnumerable< T > DecendantsOf (T task)
 Enumerate through all the children and grandchildren of the specified group More...
 
IEnumerable< T > ChildrenOf (T group)
 Enumerate through all the direct children of the specified group More...
 
IEnumerable< T > PrecedentsOf (T task)
 Enumerate through all the direct precedents and indirect precedents of the specified task More...
 
IEnumerable< T > DependantsOf (T task)
 Enumerate through all the direct dependants and indirect dependants of the specified task More...
 
IEnumerable< T > DirectPrecedentsOf (T task)
 Enumerate through all the direct precedents of the specified task More...
 
IEnumerable< T > DirectDependantsOf (T task)
 Enumerate through all the direct dependants of the specified task More...
 
ParentOf (T task)
 Get the parent group of the specified task More...
 
bool IsGroup (T task)
 Get whether the specified task is a group More...
 
bool IsMember (T task)
 Get whether the specified task is a member More...
 
bool HasRelations (T task)
 Get whether the specified task has relations, either has dependants or has precedents connecting to it. More...
 
void Relate (T precedent, T dependant)
 Set a relation between the precedent and dependant task More...
 
void Unrelate (T precedent, T dependant)
 Unset the relation between the precedent and dependant task, if any. More...
 
void Unrelate (T precedent)
 Remove all dependant task from specified precedent task More...
 
void Assign (T task, R resource)
 Assign the specified resource to the specified task More...
 
void Unassign (T task, R resource)
 Unassign the specified resource from the specfied task More...
 
void Unassign (T task)
 Unassign the all resources from the specfied task More...
 
void Unassign (R resource)
 Unassign the specified resource from all tasks that has this resource assigned More...
 
IEnumerable< R > ResourcesOf (T task)
 Enumerate through all the resources that has been assigned to the specified task. More...
 
IEnumerable< T > TasksOf (R resource)
 Enumerate through all the tasks that has the specified resource assigned to it. More...
 
void SetStart (T task, int value)
 Set the start value. Affects group start/end and dependants start time. More...
 
void SetEnd (T task, int value)
 Set the end time. Affects group end and dependants start time. More...
 
void SetDuration (T task, int duration)
 Set the duration of the specified task from start to end. More...
 
void SetComplete (T task, float complete)
 Set the percentage complete of the specified task from 0.0f to 1.0f. No effect on group tasks as they will get the aggregated percentage complete of all child tasks More...
 
void SetCollapse (T task, bool collasped)
 Set whether to collapse the specified group task. No effect on regular tasks. More...
 
void Split (T task, T part1, T part2, int duration)
 Split the specified task into consecutive parts part1 and part2. More...
 
void Split (T part, T other, int duration)
 Split the specified part and obtain another part from it. More...
 
void Join (T part1, T part2)
 Join part1 and part2 in a split task into a single part represented by part1, and part2 will be deleted from the ProjectManager. The resulting part will have a duration total of the two parts. Part1 and part2 must be actual parts and must be consecutive parts in the split task. If the join results in only one part remaining, the all parts will be deleted and the split task will promote to a regular task Schedule of other parts will not be affected. TODO: Join option: EarlyStartLateEnd, EarlyStartEarlyEnd, LateStartLateEnd More...
 
void Merge (T split)
 Merge all the parts of the splitted task back into one task, having duration equal to sum of total duration of individual task parts, and aggregating the resources onto the resulting task. More...
 
IEnumerable< T > PartsOf (T split)
 Get the parts of the split task More...
 
SplitTaskOf (T part)
 Get the split task that the specified part belogs to. More...
 
bool IsSplit (T task)
 Get whether the specified task is a split task More...
 
bool IsPart (T task)
 Get whether the specified task is a part of a split task More...
 

Properties

int Now [get, set]
 Get or set the period we are at now More...
 
DateTime Start [get, set]
 Get or set the starting date for this project More...
 
TimeScale TimeScale [get, set]
 Get or set the time scale on this project. Each period on the task represents one unit of TimeScale. More...
 
IEnumerable< T > Tasks [get]
 Get the T tree More...
 
IEnumerable< T > Precedents [get]
 Enumerate through all tasks that is a precedent, having dependants. More...
 
IEnumerable< IEnumerable< T > > CriticalPaths [get]
 Enumerate list of critical paths in Project More...
 
IEnumerable< R > Resources [get]
 Enumerate through all the resources that has been assigned to some task. More...
 
- Properties inherited from Braincase.GanttChart.IProjectManager< T, R >
IEnumerable< T > Precedents [get]
 Enumerate through all tasks that is a precedent, having dependants. More...
 
IEnumerable< T > Tasks [get]
 Enumerate through all the tasks in the ProjectManager. If there are no change to groups and no add/delete tasks, the order between consecutive calls is preserved. More...
 
int Now [get]
 Set the "now" time. Its value is the number of timescale units after the start time. More...
 
DateTime Start [get, set]
 Set the start date of the project. More...
 
IEnumerable< IEnumerable< T > > CriticalPaths [get]
 Enumerate through all the critical paths. Each path is an enumerable of tasks, starting from the final task of each path. More...
 
IEnumerable< R > Resources [get]
 Enumerate through all the resources that has been assigned to some task. More...
 

Detailed Description

Concrete ProjectManager class for the IProjectManager interface

Template Parameters
T
R
Type Constraints
T :Task 
R :class 

Constructor & Destructor Documentation

Create a new Project

Member Function Documentation

void Braincase.GanttChart.ProjectManager< T, R >.Add ( task)

Create a new T for this Project and add it to the T tree

Returns

Implements Braincase.GanttChart.IProjectManager< T, R >.

IEnumerable<T> Braincase.GanttChart.ProjectManager< T, R >.AncestorsOf ( task)

Enumerate through all the children and grandchildren of the specified group

Implements Braincase.GanttChart.IProjectManager< T, R >.

void Braincase.GanttChart.ProjectManager< T, R >.Assign ( task,
resource 
)

Assign the specified resource to the specified task

Parameters
task
resource

Implements Braincase.GanttChart.IProjectManager< T, R >.

IEnumerable<T> Braincase.GanttChart.ProjectManager< T, R >.ChildrenOf ( group)

Enumerate through all the direct children of the specified group

Parameters
group
Returns

Implements Braincase.GanttChart.IProjectManager< T, R >.

IEnumerable<T> Braincase.GanttChart.ProjectManager< T, R >.DecendantsOf ( task)

Enumerate through all the children and grandchildren of the specified group

Parameters
task
Returns

Implements Braincase.GanttChart.IProjectManager< T, R >.

void Braincase.GanttChart.ProjectManager< T, R >.Delete ( task)

Remove task from this Project

Parameters
task

Implements Braincase.GanttChart.IProjectManager< T, R >.

IEnumerable<T> Braincase.GanttChart.ProjectManager< T, R >.DependantsOf ( task)

Enumerate through all the direct dependants and indirect dependants of the specified task

Parameters
task
Returns

Implements Braincase.GanttChart.IProjectManager< T, R >.

IEnumerable<T> Braincase.GanttChart.ProjectManager< T, R >.DirectDependantsOf ( task)

Enumerate through all the direct dependants of the specified task

Parameters
task
Returns

Implements Braincase.GanttChart.IProjectManager< T, R >.

IEnumerable<T> Braincase.GanttChart.ProjectManager< T, R >.DirectPrecedentsOf ( task)

Enumerate through all the direct precedents of the specified task

Parameters
task
Returns

Implements Braincase.GanttChart.IProjectManager< T, R >.

DateTime Braincase.GanttChart.ProjectManager< T, R >.GetDateTime ( int  period)

Get the date after the specified period based on TimeScale

Parameters
period
Returns
void Braincase.GanttChart.ProjectManager< T, R >.Group ( group,
member 
)

Add the member T to the group T

Parameters
group
member

Implements Braincase.GanttChart.IProjectManager< T, R >.

bool Braincase.GanttChart.ProjectManager< T, R >.HasRelations ( task)

Get whether the specified task has relations, either has dependants or has precedents connecting to it.

Parameters
task
Returns

Implements Braincase.GanttChart.IProjectManager< T, R >.

int Braincase.GanttChart.ProjectManager< T, R >.IndexOf ( task)

Get the zero-based index of the task in this Project

Parameters
task
Returns

Implements Braincase.GanttChart.IProjectManager< T, R >.

bool Braincase.GanttChart.ProjectManager< T, R >.IsGroup ( task)

Get whether the specified task is a group

Parameters
task
Returns

Implements Braincase.GanttChart.IProjectManager< T, R >.

bool Braincase.GanttChart.ProjectManager< T, R >.IsMember ( task)

Get whether the specified task is a member

Parameters
task
Returns

Implements Braincase.GanttChart.IProjectManager< T, R >.

bool Braincase.GanttChart.ProjectManager< T, R >.IsPart ( task)

Get whether the specified task is a part of a split task

Parameters
task
Returns

Implements Braincase.GanttChart.IProjectManager< T, R >.

bool Braincase.GanttChart.ProjectManager< T, R >.IsSplit ( task)

Get whether the specified task is a split task

Parameters
task
Returns

Implements Braincase.GanttChart.IProjectManager< T, R >.

void Braincase.GanttChart.ProjectManager< T, R >.Join ( part1,
part2 
)

Join part1 and part2 in a split task into a single part represented by part1, and part2 will be deleted from the ProjectManager. The resulting part will have a duration total of the two parts. Part1 and part2 must be actual parts and must be consecutive parts in the split task. If the join results in only one part remaining, the all parts will be deleted and the split task will promote to a regular task Schedule of other parts will not be affected. TODO: Join option: EarlyStartLateEnd, EarlyStartEarlyEnd, LateStartLateEnd

Parameters
part1The part to keep in the ProjectManager after the join completes successfully.
part2The part to join into part1 and be deleted afterwards from the ProjectManager.

Implements Braincase.GanttChart.IProjectManager< T, R >.

void Braincase.GanttChart.ProjectManager< T, R >.Merge ( split)

Merge all the parts of the splitted task back into one task, having duration equal to sum of total duration of individual task parts, and aggregating the resources onto the resulting task.

Parameters
splitThe split Task to merge

Implements Braincase.GanttChart.IProjectManager< T, R >.

void Braincase.GanttChart.ProjectManager< T, R >.Move ( task,
int  offset 
)

Re-position the task by offset amount of places

Parameters
task
offset

Implements Braincase.GanttChart.IProjectManager< T, R >.

T Braincase.GanttChart.ProjectManager< T, R >.ParentOf ( task)

Get the parent group of the specified task

Parameters
task
Returns

Implements Braincase.GanttChart.IProjectManager< T, R >.

IEnumerable<T> Braincase.GanttChart.ProjectManager< T, R >.PartsOf ( split)

Get the parts of the split task

Parameters
split
Returns

Implements Braincase.GanttChart.IProjectManager< T, R >.

IEnumerable<T> Braincase.GanttChart.ProjectManager< T, R >.PrecedentsOf ( task)

Enumerate through all the direct precedents and indirect precedents of the specified task

Parameters
task
Returns

Implements Braincase.GanttChart.IProjectManager< T, R >.

void Braincase.GanttChart.ProjectManager< T, R >.Relate ( precedent,
dependant 
)

Set a relation between the precedent and dependant task

Parameters
precedent
dependant

Implements Braincase.GanttChart.IProjectManager< T, R >.

IEnumerable<R> Braincase.GanttChart.ProjectManager< T, R >.ResourcesOf ( task)

Enumerate through all the resources that has been assigned to the specified task.

Parameters
task
Returns

Implements Braincase.GanttChart.IProjectManager< T, R >.

void Braincase.GanttChart.ProjectManager< T, R >.SetCollapse ( task,
bool  collasped 
)

Set whether to collapse the specified group task. No effect on regular tasks.

Parameters
task
collasped

Implements Braincase.GanttChart.IProjectManager< T, R >.

void Braincase.GanttChart.ProjectManager< T, R >.SetComplete ( task,
float  complete 
)

Set the percentage complete of the specified task from 0.0f to 1.0f. No effect on group tasks as they will get the aggregated percentage complete of all child tasks

Parameters
task
complete

Implements Braincase.GanttChart.IProjectManager< T, R >.

void Braincase.GanttChart.ProjectManager< T, R >.SetDuration ( task,
int  duration 
)

Set the duration of the specified task from start to end.

Parameters
task
durationNumber of timescale units between ProjectManager.Start

Implements Braincase.GanttChart.IProjectManager< T, R >.

void Braincase.GanttChart.ProjectManager< T, R >.SetEnd ( task,
int  value 
)

Set the end time. Affects group end and dependants start time.

Implements Braincase.GanttChart.IProjectManager< T, R >.

void Braincase.GanttChart.ProjectManager< T, R >.SetStart ( task,
int  value 
)

Set the start value. Affects group start/end and dependants start time.

Implements Braincase.GanttChart.IProjectManager< T, R >.

void Braincase.GanttChart.ProjectManager< T, R >.Split ( task,
part1,
part2,
int  duration 
)

Split the specified task into consecutive parts part1 and part2.

Parameters
taskThe regular task to split which has duration of at least 2 to make two parts of 1 time unit duration each.
part1New Task part (1) of the split task, with the start time of the original task and the specified duration value.
part2New Task part (2) of the split task, starting 1 time unit after part (1) ends and having the remaining of the duration of the origina task.
durationThe duration of part (1) will be set to the specified duration value but will also be adjusted to approperiate value if necessary.

Implements Braincase.GanttChart.IProjectManager< T, R >.

void Braincase.GanttChart.ProjectManager< T, R >.Split ( part,
other,
int  duration 
)

Split the specified part and obtain another part from it.

Parameters
partThe task part to split which has duration of at least 2 to make two parts of 1 time unit duration each. Its duration will be set to the specified duration value.
otherNew Task part of the original part, starting 1 time unit after it ends and having the remaining of the duration of the original part.
durationThe duration of part (1) will be set to the specified duration value but will also be adjusted to approperiate value if necessary.

Implements Braincase.GanttChart.IProjectManager< T, R >.

T Braincase.GanttChart.ProjectManager< T, R >.SplitTaskOf ( part)

Get the split task that the specified part belogs to.

Parameters
part
Returns

Implements Braincase.GanttChart.IProjectManager< T, R >.

IEnumerable<T> Braincase.GanttChart.ProjectManager< T, R >.TasksOf ( resource)

Enumerate through all the tasks that has the specified resource assigned to it.

Parameters
resource
Returns

Implements Braincase.GanttChart.IProjectManager< T, R >.

void Braincase.GanttChart.ProjectManager< T, R >.Unassign ( task,
resource 
)

Unassign the specified resource from the specfied task

Parameters
task
resource

Implements Braincase.GanttChart.IProjectManager< T, R >.

void Braincase.GanttChart.ProjectManager< T, R >.Unassign ( task)

Unassign the all resources from the specfied task

Parameters
task

Implements Braincase.GanttChart.IProjectManager< T, R >.

void Braincase.GanttChart.ProjectManager< T, R >.Unassign ( resource)

Unassign the specified resource from all tasks that has this resource assigned

Parameters
resource

Implements Braincase.GanttChart.IProjectManager< T, R >.

void Braincase.GanttChart.ProjectManager< T, R >.Ungroup ( group,
member 
)

Remove the member task from its group

Implements Braincase.GanttChart.IProjectManager< T, R >.

void Braincase.GanttChart.ProjectManager< T, R >.Ungroup ( group)

Ungroup all member task under the specfied group task. The specified group task will become a normal task.

Parameters
group

Implements Braincase.GanttChart.IProjectManager< T, R >.

void Braincase.GanttChart.ProjectManager< T, R >.Unrelate ( precedent,
dependant 
)

Unset the relation between the precedent and dependant task, if any.

Parameters
precedent
dependant

Implements Braincase.GanttChart.IProjectManager< T, R >.

void Braincase.GanttChart.ProjectManager< T, R >.Unrelate ( precedent)

Remove all dependant task from specified precedent task

Parameters
precedent

Implements Braincase.GanttChart.IProjectManager< T, R >.

Property Documentation

IEnumerable<IEnumerable<T> > Braincase.GanttChart.ProjectManager< T, R >.CriticalPaths
get

Enumerate list of critical paths in Project

int Braincase.GanttChart.ProjectManager< T, R >.Now
getset

Get or set the period we are at now

IEnumerable<T> Braincase.GanttChart.ProjectManager< T, R >.Precedents
get

Enumerate through all tasks that is a precedent, having dependants.

IEnumerable<R> Braincase.GanttChart.ProjectManager< T, R >.Resources
get

Enumerate through all the resources that has been assigned to some task.

DateTime Braincase.GanttChart.ProjectManager< T, R >.Start
getset

Get or set the starting date for this project

IEnumerable<T> Braincase.GanttChart.ProjectManager< T, R >.Tasks
get

Get the T tree

Get or set the time scale on this project. Each period on the task represents one unit of TimeScale.


The documentation for this class was generated from the following file: