KPlato::Node Class Reference

#include <kptnode.h>

Inherited by KPlato::Project, and KPlato::Task.

Inheritance diagram for KPlato::Node:

[legend]
List of all members.

Public Types

enum  ConstraintType {
  ASAP, ALAP, MustStartOn, MustFinishOn,
  StartNotEarlier, FinishNotLater, FixedInterval
}
enum  NodeTypes {
  Type_Node = 0, Type_Project = 1, Type_Subproject = 2, Type_Task = 3,
  Type_Milestone = 4, Type_Periodic = 5, Type_Summarytask = 6
}

Public Member Functions

 Node (Node *parent=0)
 Node (Node &node, Node *parent=0)
virtual ~Node ()=0
bool setId (QString id)
QString id () const
virtual int type () const=0
QString typeToString (bool trans=false) const
virtual NodeprojectNode ()
virtual bool load (QDomElement &)
virtual bool load (QDomElement &, Project &)
virtual void save (QDomElement &element) const =0
virtual void saveRelations (QDomElement &element) const
 Save my and my childrens relations.
NodegetParent () const
void setParent (Node *newParent)
const QList< Node * > & childNodeIterator () const
int numChildren () const
virtual void addChildNode (Node *node, Node *after=0)
virtual void insertChildNode (unsigned int index, Node *node)
void takeChildNode (Node *node)
void takeChildNode (int number)
NodechildNode (int number)
const NodechildNode (int number) const
int findChildNode (Node *node)
bool isChildOf (Node *node)
int numDependChildNodes () const
virtual void addDependChildNode (Node *node, Relation::Type p=Relation::FinishStart)
 Adds relation to both this node and address node.
virtual void addDependChildNode (Node *node, Relation::Type p, Duration lag)
 Adds relation to both this node and address node.
virtual bool addDependChildNode (Relation *relation)
 Adds relation only to this node.
virtual void insertDependChildNode (unsigned int index, Node *node, Relation::Type p=Relation::FinishStart)
 Inserts relation to this node at index address index and appends relation to address node.
void takeDependChildNode (Relation *rel)
RelationgetDependChildNode (int number)
QList< Relation * > & dependChildNodes ()
int numDependParentNodes () const
virtual void addDependParentNode (Node *node, Relation::Type p=Relation::FinishStart)
 Adds relation to both this node and node.
virtual void addDependParentNode (Node *node, Relation::Type p, Duration lag)
 Adds relation to both this node and node.
virtual bool addDependParentNode (Relation *relation)
 Adds relation only to this node.
virtual void insertDependParentNode (unsigned int index, Node *node, Relation::Type p=Relation::FinishStart)
 Inserts relation to this node at index and appends relation to node.
void takeDependParentNode (Relation *rel)
RelationgetDependParentNode (int number)
QList< Relation * > & dependParentNodes ()
bool isParentOf (Node *node)
bool isDependChildOf (Node *node)
RelationfindParentRelation (Node *node)
RelationfindChildRelation (Node *node)
RelationfindRelation (Node *node)
void setStartTime (DateTime startTime)
virtual DateTime startTime () const
 Return the scheduled start time.
const QDate & startDate () const
void setEndTime (DateTime endTime)
virtual DateTime endTime () const
 Return the scheduled end time.
const QDate & endDate () const
void setEffort (Effort *e)
Efforteffort () const
virtual DurationgetExpectedDuration ()=0
virtual DurationgetRandomDuration ()=0
DurationgetDelay ()
DateTime getEarliestStart () const
void setEarliestStart (const DateTime &dt)
DateTime getLatestFinish () const
void setLatestFinish (const DateTime &dt)
QString & name ()
QString & leader ()
QString & description ()
const QString & name () const
const QString & leader () const
const QString & description () const
void setName (const QString &n)
void setLeader (const QString &l)
void setDescription (const QString &d)
void setConstraint (Node::ConstraintType type)
void setConstraint (QString &type)
int constraint () const
QString constraintToString (bool trans=false) const
virtual void setConstraintStartTime (QDateTime time)
virtual void setConstraintEndTime (QDateTime time)
virtual DateTime constraintStartTime () const
virtual DateTime constraintEndTime () const
virtual DateTime startNotEarlier () const
virtual DateTime finishNotLater () const
virtual DateTime mustStartOn () const
virtual DateTime mustFinishOn () const
virtual ResourceGroupRequestresourceRequest (ResourceGroup *) const
virtual void makeAppointments ()
bool resourceError () const
 EffortType == Effort, but no resource is requested.
virtual bool resourceOverbooked () const
 The assigned resource is overbooked.
virtual void calcResourceOverbooked ()
bool resourceNotAvailable () const
 The requested resource is not available.
virtual bool schedulingError () const
 The task cannot be scheduled to fullfill all the constraints.
bool notScheduled () const
 The node has not been scheduled.
virtual QStringList overbookedResources () const
 Return a list of overbooked resources.
virtual EffortCostMap plannedEffortCostPrDay (const QDate &start, const QDate &end) const =0
virtual Duration plannedEffort ()
 Returns the total planned effort for this task (or subtasks).
virtual Duration plannedEffort (const QDate &)
 Returns the total planned effort for this task (or subtasks) on date.
virtual Duration plannedEffortTo (const QDate &)
 Returns the planned effort up to and including date.
virtual Duration actualEffort ()
 Returns the total actual effort for this task (or subtasks).
virtual Duration actualEffort (const QDate &)
 Returns the total actual effort for this task (or subtasks) on date.
virtual Duration actualEffortTo (const QDate &)
 Returns the total actual effort for this task (or subtasks) up to and including date.
virtual double plannedCost ()
virtual double plannedCost (const QDate &)
 Planned cost on date.
virtual double plannedCostTo (const QDate &)
virtual double actualCost ()
virtual double actualCost (const QDate &)
 Actual cost on date.
virtual double actualCostTo (const QDate &)
 Actual cost up to and including date.
double effortPerformanceIndex (const QDate &, bool *)
 Effort based performance index.
double costPerformanceIndex (const QDate &, bool *)
 Cost performance index.
virtual void initiateCalculationLists (QList< Node * > &startnodes, QList< Node * > &endnodes, QList< Node * > &summarytasks)=0
virtual DateTime calculateForward (int)=0
virtual DateTime calculateBackward (int)=0
virtual DateTime scheduleForward (const DateTime &, int)=0
virtual DateTime scheduleBackward (const DateTime &, int)=0
virtual void adjustSummarytask ()=0
virtual void initiateCalculation (Schedule &sch)
virtual void resetVisited ()
void propagateEarliestStart (DateTime &time)
void propagateLatestFinish (DateTime &time)
void moveEarliestStart (DateTime &time)
void moveLatestFinish (DateTime &time)
virtual Duration summarytaskDurationForward (const DateTime &)
virtual DateTime summarytaskEarliestStart ()
virtual Duration summarytaskDurationBackward (const DateTime &)
virtual DateTime summarytaskLatestFinish ()
const Durationduration ()
Duration duration (const DateTime &time, int use, bool backward)
virtual Duration calcDuration (const DateTime &, const Duration &, bool)
NodesiblingBefore ()
NodechildBefore (Node *node)
NodesiblingAfter ()
NodechildAfter (Node *node)
bool moveChildUp (Node *node)
bool moveChildDown (Node *node)
bool legalToLink (Node *node)
 Check if this node can be linked to node.
virtual bool legalToLink (Node *, Node *)
 Check if node par can be linked to node child. (Reimplement).
virtual bool isEndNode () const
 Check if this node has any dependent child nodes.
virtual bool isStartNode () const
 Check if this node has any dependent parent nodes.
virtual void clearProxyRelations ()
virtual void addParentProxyRelations (QList< Relation * > &)
virtual void addChildProxyRelations (QList< Relation * > &)
virtual void addParentProxyRelation (Node *, const Relation *)
virtual void addChildProxyRelation (Node *, const Relation *)
virtual void saveAppointments (QDomElement &element, long id) const
 Save appointments for schedule with id.
QList< Appointment * > appointments ()
 Return the list of appointments for current schedule.
virtual bool addAppointment (Appointment *appointment)
 Adds appointment to this node only (not to resource).
virtual bool addAppointment (Appointment *appointment, Schedule &main)
 Adds appointment to this node only (not to resource).
virtual void addAppointment (ResourceSchedule *resource, DateTime &start, DateTime &end, double load=100)
 Adds appointment to both this node and resource.
virtual NodefindNode () const
 Find the node with my id.
virtual NodefindNode (const QString &id) const
 Find the node with identity id.
virtual bool removeId ()
 Remove myself from the id register.
virtual bool removeId (const QString &id)
 Remove the registered identity id.
virtual void insertId (const QString &id)
 Insert myself into the id register.
virtual void insertId (const QString &id, Node *node)
 Insert node with identity id into the register.
virtual DateTime workStartTime () const
void setWorkStartTime (const DateTime &dt)
virtual DateTime workEndTime () const
void setWorkEndTime (const DateTime &dt)
virtual bool isCritical () const
virtual bool inCriticalPath () const
virtual bool calcCriticalPath (bool fromEnd)
virtual int level ()
 Returns the level this node is in the hierarchy. Top node is level 0.
virtual void generateWBS (int count, WBSDefinition &def, QString wbs=QString())
 Generate WBS.
QString wbs () const
double startupCost () const
void setStartupCost (double cost)
AccountstartupAccount () const
void setStartupAccount (Account *acc)
double shutdownCost () const
void setShutdownCost (double cost)
AccountshutdownAccount () const
void setShutdownAccount (Account *acc)
AccountrunningAccount () const
void setRunningAccount (Account *acc)
SchedulecurrentSchedule () const
virtual void setCurrentSchedule (long id)
 Set current schedule to schedule with identity id, for me and my children.
void setCurrentSchedulePtr (Schedule *schedule)
QHash< long, Schedule * > & schedules ()
SchedulefindSchedule (const QString name, const Schedule::Type type)
 Find schedule matching name and type. Does not return deleted schedule.
SchedulefindSchedule (const Schedule::Type type)
 Find schedule matching type. Does not return deleted schedule.
SchedulefindSchedule (long id) const
 Find schedule matching id. Also returns deleted schedule.
void takeSchedule (const Schedule *schedule)
 Take, don't delete (as in destruct).
void addSchedule (Schedule *schedule)
 Add schedule to list, replace if schedule with same id already exists.
SchedulecreateSchedule (QString name, Schedule::Type type, long id)
 Create a new schedule.
SchedulecreateSchedule (Schedule *parent)
 Create a new schedule.
void setScheduleDeleted (long id, bool onoff)
 Set deleted = onoff for schedule with id.
virtual void setParentSchedule (Schedule *sch)
 Set parent schedule recursivly.
DateTime startTime ()
DateTime endTime ()
virtual void printDebug (bool children, QByteArray indent)

Static Public Member Functions

static QStringList constraintList (bool trans)

Protected Member Functions

virtual void changed (Node *node)

Protected Attributes

QList< Node * > m_nodes
QList< Relation * > m_dependChildNodes
QList< Relation * > m_dependParentNodes
Nodem_parent
QString m_id
QString m_name
QString m_leader
QString m_description
Effortm_effort
ConstraintType m_constraint
DateTime m_constraintStartTime
DateTime m_constraintEndTime
bool m_visitedForward
bool m_visitedBackward
Duration m_durationForward
Duration m_durationBackward
QDate m_dateOnlyStartDate
QDate m_dateOnlyEndDate
Duration m_dateOnlyDuration
QHash< long, Schedule * > m_schedules
Schedulem_currentSchedule
QString m_wbs
double m_startupCost
Accountm_startupAccount
double m_shutdownCost
Accountm_shutdownAccount
Accountm_runningAccount

Private Member Functions

void init ()

Detailed Description

This class represents any node in the project, a node can be a project or a subproject or any task. This class is basically an abstract interface to make the design more OO.

Definition at line 54 of file kptnode.h.


Member Enumeration Documentation

enum KPlato::Node::ConstraintType

Enumerator:
ASAP 
ALAP 
MustStartOn 
MustFinishOn 
StartNotEarlier 
FinishNotLater 
FixedInterval 

Definition at line 58 of file kptnode.h.

enum KPlato::Node::NodeTypes

Enumerator:
Type_Node 
Type_Project 
Type_Subproject 
Type_Task 
Type_Milestone 
Type_Periodic 
Type_Summarytask 

Definition at line 70 of file kptnode.h.


Constructor & Destructor Documentation

KPlato::Node::Node ( Node parent = 0  ) 

Definition at line 38 of file kptnode.cc.

References init(), m_id, and m_parent.

KPlato::Node::Node ( Node node,
Node parent = 0 
)

Definition at line 45 of file kptnode.cc.

References constraint(), constraintEndTime(), constraintStartTime(), description(), endDate(), init(), leader(), m_constraint, m_constraintEndTime, m_constraintStartTime, m_dateOnlyEndDate, m_dateOnlyStartDate, m_description, m_leader, m_name, m_parent, m_runningAccount, m_shutdownAccount, m_shutdownCost, m_startupAccount, m_startupCost, name(), runningAccount(), shutdownAccount(), shutdownCost(), startDate(), startupAccount(), and startupCost().

KPlato::Node::~Node (  )  [pure virtual]

Definition at line 72 of file kptnode.cc.

References findNode(), m_dependChildNodes, m_dependParentNodes, m_nodes, m_parent, m_runningAccount, m_schedules, m_shutdownAccount, m_startupAccount, removeId(), KPlato::Account::removeRunning(), KPlato::Account::removeShutdown(), and KPlato::Account::removeStartup().


Member Function Documentation

bool KPlato::Node::setId ( QString  id  ) 

Definition at line 570 of file kptnode.cc.

References findNode(), insertId(), m_id, name(), and removeId().

Referenced by KPlato::Project::createTask(), KPlato::NodeModifyIdCmd::execute(), KPlato::Project::load(), and KPlato::NodeModifyIdCmd::unexecute().

QString KPlato::Node::id (  )  const [inline]

Definition at line 68 of file kptnode.h.

References m_id.

Referenced by KPlato::TaskGeneralPanel::buildCommand(), KPlato::SummaryTaskGeneralPanel::buildCommand(), KPlato::MainProjectPanel::buildCommand(), KPlato::Project::delTask(), KPlato::GanttView::getContext(), KPlato::MainProjectPanel::MainProjectPanel(), KPlato::TaskGeneralPanel::ok(), KPlato::SummaryTaskGeneralPanel::ok(), KPlato::MainProjectPanel::ok(), KPlato::Project::registerNodeId(), KPlato::Relation::save(), KPlato::Appointment::saveXML(), KPlato::TaskGeneralPanel::setStartValues(), and KPlato::SummaryTaskGeneralPanel::setStartValues().

virtual int KPlato::Node::type (  )  const [pure virtual]

Implemented in KPlato::Project, and KPlato::Task.

Referenced by KPlato::Task::addChildProxyRelation(), KPlato::GanttView::addNode(), KPlato::Task::addParentProxyRelation(), KPlato::Project::addTask(), KPlato::Task::calculatePredeccessors(), KPlato::Task::calculateSuccessors(), KPlato::Project::canIndentTask(), KPlato::Project::canUnindentTask(), KPlato::GanttView::correctType(), KPlato::TaskEditor::currentNode(), KPlato::GanttView::drawChildren(), KPlato::GanttView::modifyNode(), KPlato::NodeItemModel::parent(), projectNode(), KPlato::Task::schedulePredeccessors(), KPlato::Task::scheduleSuccessors(), KPlato::TaskEditor::selectedNode(), KPlato::TaskEditor::selectedNodes(), KPlato::ReportView::setTaskDetail(), KPlato::View::slotMoveTaskDown(), KPlato::View::slotMoveTaskUp(), KPlato::View::slotOpenNode(), KPlato::View::slotTaskProgress(), typeToString(), and KPlato::GanttView::updateNode().

QString KPlato::Node::typeToString ( bool  trans = false  )  const

Definition at line 118 of file kptnode.cc.

References type(), Type_Milestone, Type_Node, Type_Periodic, Type_Project, Type_Subproject, Type_Summarytask, and Type_Task.

Referenced by KPlato::NodeItemModel::type().

Node * KPlato::Node::projectNode (  )  [virtual]

Returns a pointer to the project node (main- or sub-project) Returns 0 if no project exists.

Definition at line 149 of file kptnode.cc.

References m_parent, projectNode(), type(), Type_Project, and Type_Subproject.

Referenced by KPlato::AddRelationCmd::AddRelationCmd(), KPlato::DeleteRelationCmd::DeleteRelationCmd(), KPlato::NodeUnindentCmd::execute(), KPlato::NodeIndentCmd::execute(), legalToLink(), KPlato::GanttView::modifyMilestone(), KPlato::ModifyRelationLagCmd::ModifyRelationLagCmd(), KPlato::ModifyRelationTypeCmd::ModifyRelationTypeCmd(), KPlato::GanttView::modifySummaryTask(), KPlato::GanttView::modifyTask(), KPlato::NodeDeleteCmd::NodeDeleteCmd(), KPlato::NodeMoveDownCmd::NodeMoveDownCmd(), KPlato::NodeMoveUpCmd::NodeMoveUpCmd(), projectNode(), KPlato::RequestResourcesPanel::RequestResourcesPanel(), KPlato::NodeUnindentCmd::unexecute(), and KPlato::NodeIndentCmd::unexecute().

virtual bool KPlato::Node::load ( QDomElement &   )  [inline, virtual]

Reimplemented in KPlato::Project.

Definition at line 90 of file kptnode.h.

virtual bool KPlato::Node::load ( QDomElement &  ,
Project  
) [inline, virtual]

Reimplemented in KPlato::Task.

Definition at line 91 of file kptnode.h.

virtual void KPlato::Node::save ( QDomElement &  element  )  const [pure virtual]

Implemented in KPlato::Project, and KPlato::Task.

Referenced by KPlato::Task::save(), and KPlato::Project::save().

void KPlato::Node::saveRelations ( QDomElement &  element  )  const [virtual]

Save my and my childrens relations.

Definition at line 382 of file kptnode.cc.

References m_dependChildNodes, and m_nodes.

Node* KPlato::Node::getParent (  )  const [inline]

Definition at line 100 of file kptnode.h.

References m_parent.

Referenced by KPlato::Project::addTask(), KPlato::Project::canIndentTask(), KPlato::Project::canMoveTaskDown(), KPlato::Project::canMoveTaskUp(), KPlato::Project::canUnindentTask(), KPlato::GanttView::correctParent(), KPlato::Project::delTask(), KPlato::NodeUnindentCmd::execute(), KPlato::NodeIndentCmd::execute(), KPlato::Project::indentTask(), level(), KPlato::NodeDeleteCmd::NodeDeleteCmd(), KPlato::NodeItemModel::parent(), siblingAfter(), siblingBefore(), KPlato::View::slotDeleteTask(), KPlato::View::slotIndentTask(), KPlato::NodeItemModel::slotNodeChanged(), KPlato::View::slotUnindentTask(), KPlato::TaskAddCmd::TaskAddCmd(), KPlato::Project::unindentTask(), and KPlato::GanttView::updateNode().

void KPlato::Node::setParent ( Node newParent  )  [inline]

Definition at line 101 of file kptnode.h.

References m_parent.

Referenced by addChildNode(), insertChildNode(), and takeChildNode().

const QList<Node*>& KPlato::Node::childNodeIterator (  )  const [inline]

Definition at line 102 of file kptnode.h.

References m_nodes.

Referenced by KPlato::Task::actualCost(), KPlato::Project::actualCost(), KPlato::Task::actualCostTo(), KPlato::Project::actualCostTo(), KPlato::Task::actualEffort(), KPlato::Project::actualEffort(), KPlato::Task::actualEffortTo(), KPlato::Project::actualEffortTo(), KPlato::GanttView::drawChildren(), KPlato::Project::initiateCalculationLists(), isParentOf(), KPlato::GanttView::modifyChildren(), KPlato::NodeDeleteCmd::NodeDeleteCmd(), KPlato::Task::plannedCost(), KPlato::Project::plannedCost(), KPlato::Task::plannedCostTo(), KPlato::Project::plannedCostTo(), KPlato::Task::plannedEffort(), KPlato::Project::plannedEffort(), KPlato::Task::plannedEffortTo(), KPlato::Project::plannedEffortTo(), KPlato::ReportView::setTaskChildren(), and KPlato::GanttView::updateChildren().

int KPlato::Node::numChildren (  )  const [inline]

Definition at line 103 of file kptnode.h.

References m_nodes.

Referenced by KPlato::NodeItemModel::hasChildren(), KPlato::NodeItemModel::index(), KPlato::NodeItemModel::rowCount(), KPlato::Task::save(), KPlato::Project::save(), and KPlato::Task::type().

void KPlato::Node::addChildNode ( Node node,
Node after = 0 
) [virtual]

Definition at line 187 of file kptnode.cc.

References m_nodes, and setParent().

Referenced by KPlato::Project::addSubTask(), moveChildDown(), moveChildUp(), and KPlato::Project::unindentTask().

void KPlato::Node::insertChildNode ( unsigned int  index,
Node node 
) [virtual]

Definition at line 179 of file kptnode.cc.

References m_nodes, and setParent().

Referenced by KPlato::Project::addSubTask(), KPlato::Project::indentTask(), and moveChildUp().

void KPlato::Node::takeChildNode ( Node node  ) 

Definition at line 160 of file kptnode.cc.

References m_nodes, and setParent().

Referenced by KPlato::Project::delTask(), KPlato::Project::indentTask(), moveChildDown(), moveChildUp(), and KPlato::Project::unindentTask().

void KPlato::Node::takeChildNode ( int  number  ) 

Definition at line 169 of file kptnode.cc.

References m_nodes.

Node* KPlato::Node::childNode ( int  number  )  [inline]

Definition at line 108 of file kptnode.h.

References m_nodes.

Referenced by KPlato::NodeItemModel::index(), KPlato::Task::save(), and KPlato::Project::save().

const Node * KPlato::Node::childNode ( int  number  )  const

Definition at line 215 of file kptnode.cc.

References m_nodes.

int KPlato::Node::findChildNode ( Node node  ) 

Definition at line 198 of file kptnode.cc.

References m_nodes.

Referenced by KPlato::Project::addTask(), KPlato::Project::canIndentTask(), KPlato::Project::canMoveTaskDown(), KPlato::Project::canMoveTaskUp(), KPlato::Project::canUnindentTask(), KPlato::NodeUnindentCmd::execute(), KPlato::NodeIndentCmd::execute(), KPlato::NodeDeleteCmd::execute(), moveChildDown(), moveChildUp(), KPlato::NodeItemModel::parent(), and KPlato::NodeItemModel::slotNodeChanged().

bool KPlato::Node::isChildOf ( Node node  ) 

Definition at line 203 of file kptnode.cc.

References isChildOf(), and m_parent.

Referenced by isChildOf().

int KPlato::Node::numDependChildNodes (  )  const [inline]

Definition at line 119 of file kptnode.h.

References m_dependChildNodes.

Referenced by findChildRelation(), and KPlato::Project::legalChildren().

void KPlato::Node::addDependChildNode ( Node node,
Relation::Type  p = Relation::FinishStart 
) [virtual]

Adds relation to both this node and address node.

Definition at line 226 of file kptnode.cc.

Referenced by addDependParentNode(), KPlato::AddRelationCmd::execute(), insertDependParentNode(), KPlato::Relation::load(), and KPlato::DeleteRelationCmd::unexecute().

void KPlato::Node::addDependChildNode ( Node node,
Relation::Type  p,
Duration  lag 
) [virtual]

Adds relation to both this node and address node.

Definition at line 230 of file kptnode.cc.

References addDependParentNode(), and m_dependChildNodes.

bool KPlato::Node::addDependChildNode ( Relation relation  )  [virtual]

Adds relation only to this node.

Definition at line 246 of file kptnode.cc.

References m_dependChildNodes.

void KPlato::Node::insertDependChildNode ( unsigned int  index,
Node node,
Relation::Type  p = Relation::FinishStart 
) [virtual]

Inserts relation to this node at index address index and appends relation to address node.

Definition at line 238 of file kptnode.cc.

References addDependParentNode(), and m_dependChildNodes.

void KPlato::Node::takeDependChildNode ( Relation rel  ) 

Takes the relation rel from this node only.

Definition at line 253 of file kptnode.cc.

References m_dependChildNodes.

Referenced by KPlato::DeleteRelationCmd::execute(), KPlato::Relation::load(), KPlato::AddRelationCmd::unexecute(), and KPlato::Relation::~Relation().

Relation* KPlato::Node::getDependChildNode ( int  number  )  [inline]

Definition at line 132 of file kptnode.h.

References m_dependChildNodes.

Referenced by findChildRelation(), and KPlato::Project::legalChildren().

QList<Relation*>& KPlato::Node::dependChildNodes (  )  [inline]

Definition at line 135 of file kptnode.h.

References m_dependChildNodes.

Referenced by KPlato::Task::addChildProxyRelations(), KPlato::Task::calculateBackward(), KPlato::Task::initiateCalculationLists(), KPlato::GanttViewEventItem::insertRelations(), KPlato::GanttViewTaskItem::insertRelations(), KPlato::GanttViewSummaryItem::insertRelations(), KPlato::NodeDeleteCmd::NodeDeleteCmd(), and KPlato::Task::scheduleBackward().

int KPlato::Node::numDependParentNodes (  )  const [inline]

Definition at line 137 of file kptnode.h.

References m_dependParentNodes.

Referenced by findParentRelation(), isDependChildOf(), and KPlato::Project::legalParents().

void KPlato::Node::addDependParentNode ( Node node,
Relation::Type  p = Relation::FinishStart 
) [virtual]

Adds relation to both this node and node.

Definition at line 261 of file kptnode.cc.

Referenced by addDependChildNode(), KPlato::AddRelationCmd::execute(), insertDependChildNode(), KPlato::Relation::load(), and KPlato::DeleteRelationCmd::unexecute().

void KPlato::Node::addDependParentNode ( Node node,
Relation::Type  p,
Duration  lag 
) [virtual]

Adds relation to both this node and node.

Definition at line 265 of file kptnode.cc.

References addDependChildNode(), and m_dependParentNodes.

bool KPlato::Node::addDependParentNode ( Relation relation  )  [virtual]

Adds relation only to this node.

Definition at line 281 of file kptnode.cc.

References m_dependParentNodes.

void KPlato::Node::insertDependParentNode ( unsigned int  index,
Node node,
Relation::Type  p = Relation::FinishStart 
) [virtual]

Inserts relation to this node at index and appends relation to node.

Definition at line 273 of file kptnode.cc.

References addDependChildNode(), and m_dependParentNodes.

void KPlato::Node::takeDependParentNode ( Relation rel  ) 

Takes the relation rel from this node only.

Definition at line 288 of file kptnode.cc.

References m_dependParentNodes.

Referenced by KPlato::DeleteRelationCmd::execute(), KPlato::AddRelationCmd::unexecute(), and KPlato::Relation::~Relation().

Relation* KPlato::Node::getDependParentNode ( int  number  )  [inline]

Definition at line 150 of file kptnode.h.

References m_dependParentNodes.

Referenced by findParentRelation(), isDependChildOf(), and KPlato::Project::legalParents().

QList<Relation*>& KPlato::Node::dependParentNodes (  )  [inline]

Definition at line 153 of file kptnode.h.

References m_dependParentNodes.

Referenced by KPlato::Task::addParentProxyRelations(), KPlato::Task::calculateForward(), KPlato::Task::initiateCalculationLists(), KPlato::NodeDeleteCmd::NodeDeleteCmd(), and KPlato::Task::scheduleForward().

bool KPlato::Node::isParentOf ( Node node  ) 

Definition at line 296 of file kptnode.cc.

References childNodeIterator(), and m_nodes.

Referenced by KPlato::Project::legalChildren(), KPlato::Project::legalParents(), and KPlato::Project::legalToLink().

bool KPlato::Node::isDependChildOf ( Node node  ) 

Definition at line 333 of file kptnode.cc.

References getDependParentNode(), and numDependParentNodes().

Referenced by KPlato::Project::legalToLink().

Relation * KPlato::Node::findParentRelation ( Node node  ) 

Definition at line 308 of file kptnode.cc.

References getDependParentNode(), and numDependParentNodes().

Referenced by KPlato::Project::canIndentTask(), and findRelation().

Relation * KPlato::Node::findChildRelation ( Node node  ) 

Definition at line 317 of file kptnode.cc.

References getDependChildNode(), and numDependChildNodes().

Referenced by KPlato::Project::canIndentTask(), and findRelation().

Relation * KPlato::Node::findRelation ( Node node  ) 

Definition at line 326 of file kptnode.cc.

References findChildRelation(), and findParentRelation().

Referenced by KPlato::GanttView::slotCreateTaskLink(), and KPlato::GanttView::slotModifyLink().

void KPlato::Node::setStartTime ( DateTime  startTime  ) 

Definition at line 598 of file kptnode.cc.

References m_currentSchedule, m_dateOnlyStartDate, startTime(), and KPlato::Schedule::startTime.

Referenced by KPlato::NodeModifyStartTimeCmd::execute(), KPlato::SubtaskAddCmd::SubtaskAddCmd(), KPlato::TaskAddCmd::TaskAddCmd(), and KPlato::NodeModifyStartTimeCmd::unexecute().

virtual DateTime KPlato::Node::startTime (  )  const [inline, virtual]

Return the scheduled start time.

Reimplemented in KPlato::Project.

Definition at line 164 of file kptnode.h.

References m_currentSchedule, and KPlato::Schedule::startTime.

Referenced by KPlato::Task::adjustSummarytask(), KPlato::TaskAppointmentsView::draw(), KPlato::GanttView::modifyMilestone(), KPlato::GanttView::modifyProject(), KPlato::GanttView::modifySummaryTask(), KPlato::GanttView::modifyTask(), KPlato::Accounts::plannedCost(), KPlato::Task::scheduleForward(), KPlato::Task::schedulePredeccessors(), setStartTime(), KPlato::TaskAppointmentsView::slotUpdate(), KPlato::SubtaskAddCmd::SubtaskAddCmd(), KPlato::TaskAddCmd::TaskAddCmd(), and KPlato::TaskProgressPanel::TaskProgressPanel().

const QDate& KPlato::Node::startDate (  )  const [inline]

Definition at line 166 of file kptnode.h.

References m_dateOnlyStartDate.

Referenced by Node().

void KPlato::Node::setEndTime ( DateTime  endTime  ) 

Definition at line 604 of file kptnode.cc.

References endTime(), KPlato::Schedule::endTime, m_currentSchedule, m_dateOnlyEndDate, and m_dateOnlyStartDate.

Referenced by KPlato::ProjectModifyEndTimeCmd::execute(), KPlato::NodeModifyEndTimeCmd::execute(), KPlato::SubtaskAddCmd::SubtaskAddCmd(), KPlato::TaskAddCmd::TaskAddCmd(), and KPlato::NodeModifyEndTimeCmd::unexecute().

virtual DateTime KPlato::Node::endTime (  )  const [inline, virtual]

Return the scheduled end time.

Reimplemented in KPlato::Project.

Definition at line 169 of file kptnode.h.

References KPlato::Schedule::endTime, and m_currentSchedule.

Referenced by KPlato::Task::adjustSummarytask(), KPlato::TaskAppointmentsView::draw(), KPlato::GanttView::modifyProject(), KPlato::GanttView::modifySummaryTask(), KPlato::GanttView::modifyTask(), KPlato::Accounts::plannedCost(), KPlato::Task::scheduleBackward(), KPlato::Task::scheduleSuccessors(), setEndTime(), KPlato::TaskAppointmentsView::slotUpdate(), KPlato::SubtaskAddCmd::SubtaskAddCmd(), KPlato::TaskAddCmd::TaskAddCmd(), and KPlato::TaskProgressPanel::TaskProgressPanel().

const QDate& KPlato::Node::endDate (  )  const [inline]

Definition at line 171 of file kptnode.h.

References m_dateOnlyEndDate.

Referenced by Node().

void KPlato::Node::setEffort ( Effort e  )  [inline]

Definition at line 173 of file kptnode.h.

References m_effort.

Effort* KPlato::Node::effort (  )  const [inline]

Definition at line 174 of file kptnode.h.

References m_effort.

Referenced by KPlato::TaskGeneralPanel::buildCommand(), KPlato::TaskDefaultPanel::buildCommand(), KPlato::Task::calcDuration(), KPlato::Task::effortMetError(), KPlato::NodeItemModel::estimateType(), KPlato::Config::load(), KPlato::Config::save(), KPlato::NodeItemModel::setEstimateType(), KPlato::TaskGeneralPanel::setStartValues(), KPlato::TaskDefaultPanel::setStartValues(), KPlato::View::slotAddMilestone(), KPlato::Task::Task(), KPlato::TaskProgressPanel::TaskProgressPanel(), and KPlato::Task::type().

virtual Duration* KPlato::Node::getExpectedDuration (  )  [pure virtual]

Returns the (previously) calculated duration.

Implemented in KPlato::Project, and KPlato::Task.

virtual Duration* KPlato::Node::getRandomDuration (  )  [pure virtual]

Instead of using the expected duration, generate a random value using the Distribution of each Task. This can be used for Monte-Carlo estimation of Project duration.

Implemented in KPlato::Project, and KPlato::Task.

Duration * KPlato::Node::getDelay (  ) 

Calculate the delay of this node. It is the difference between the actual startTime and scheduled startTime.

Definition at line 219 of file kptnode.cc.

DateTime KPlato::Node::getEarliestStart (  )  const [inline]

getEarliestStart() returns earliest time this node can start given the constraints of the network.

See also:
earliestStart

Definition at line 199 of file kptnode.h.

References KPlato::Schedule::earliestStart, and m_currentSchedule.

Referenced by KPlato::Task::calculatePredeccessors(), KPlato::Project::getExpectedDuration(), and KPlato::Task::schedulePredeccessors().

void KPlato::Node::setEarliestStart ( const DateTime dt  )  [inline]

setEarliestStart() sets earliest time this node can start

See also:
earliestStart

Definition at line 205 of file kptnode.h.

References KPlato::Schedule::earliestStart, and m_currentSchedule.

Referenced by KPlato::SubtaskAddCmd::SubtaskAddCmd(), and KPlato::TaskAddCmd::TaskAddCmd().

DateTime KPlato::Node::getLatestFinish (  )  const [inline]

getLatestFinish() returns latest time this node can finish

See also:
latestFinish

Definition at line 211 of file kptnode.h.

References KPlato::Schedule::latestFinish, and m_currentSchedule.

Referenced by KPlato::Task::calculateSuccessors(), KPlato::Project::getExpectedDuration(), and KPlato::Task::scheduleSuccessors().

void KPlato::Node::setLatestFinish ( const DateTime dt  )  [inline]

setLatestFinish() sets latest time this node can finish given the constraints of the network.

See also:
latestFinish

Definition at line 218 of file kptnode.h.

References KPlato::Schedule::latestFinish, and m_currentSchedule.

Referenced by KPlato::SubtaskAddCmd::SubtaskAddCmd(), and KPlato::TaskAddCmd::TaskAddCmd().

QString& KPlato::Node::name (  )  [inline]

Definition at line 221 of file kptnode.h.

References m_name.

Referenced by KPlato::AddRelationDialog::AddRelationDialog(), KPlato::Project::addSubTask(), KPlato::Project::addTask(), KPlato::TaskGeneralPanel::buildCommand(), KPlato::SummaryTaskGeneralPanel::buildCommand(), KPlato::MainProjectPanel::buildCommand(), KPlato::ResourceGroupRequest::duration(), KPlato::ReportTagsPrivate::getData(), KPlato::Project::insertId(), KPlato::Relation::load(), KPlato::MainProjectPanel::MainProjectPanel(), KPlato::GanttView::modifyMilestone(), KPlato::GanttView::modifyProject(), KPlato::GanttView::modifySummaryTask(), KPlato::GanttView::modifyTask(), KPlato::NodeItemModel::name(), Node(), KPlato::NodeItemPrivate::NodeItemPrivate(), KPlato::GanttView::print(), KPlato::Task::printDebug(), KPlato::Relation::printDebug(), KPlato::Project::printDebug(), printDebug(), KPlato::TaskEditor::selectedNode(), setId(), KPlato::TaskGeneralPanel::setStartValues(), and KPlato::SummaryTaskGeneralPanel::setStartValues().

QString& KPlato::Node::leader (  )  [inline]

Definition at line 222 of file kptnode.h.

References m_leader.

Referenced by KPlato::TaskGeneralPanel::buildCommand(), KPlato::TaskDefaultPanel::buildCommand(), KPlato::SummaryTaskGeneralPanel::buildCommand(), KPlato::MainProjectPanel::buildCommand(), KPlato::NodeItemModel::leader(), KPlato::MainProjectPanel::MainProjectPanel(), Node(), KPlato::Config::save(), KPlato::TaskGeneralPanel::setStartValues(), KPlato::TaskDefaultPanel::setStartValues(), KPlato::SummaryTaskGeneralPanel::setStartValues(), and KPlato::Task::Task().

QString& KPlato::Node::description (  )  [inline]

Definition at line 223 of file kptnode.h.

References m_description.

Referenced by KPlato::TaskGeneralPanel::buildCommand(), KPlato::TaskDefaultPanel::buildCommand(), KPlato::SummaryTaskGeneralPanel::buildCommand(), KPlato::MainProjectPanel::buildCommand(), KPlato::NodeItemModel::description(), KPlato::MainProjectPanel::MainProjectPanel(), Node(), KPlato::Config::save(), KPlato::TaskGeneralPanel::setStartValues(), KPlato::TaskDefaultPanel::setStartValues(), and KPlato::SummaryTaskGeneralPanel::setStartValues().

const QString& KPlato::Node::name (  )  const [inline]

Definition at line 224 of file kptnode.h.

References m_name.

const QString& KPlato::Node::leader (  )  const [inline]

Definition at line 225 of file kptnode.h.

References m_leader.

const QString& KPlato::Node::description (  )  const [inline]

Definition at line 226 of file kptnode.h.

References m_description.

void KPlato::Node::setName ( const QString &  n  ) 

Definition at line 131 of file kptnode.cc.

References changed(), and m_name.

Referenced by KPlato::NodeModifyNameCmd::execute(), and KPlato::NodeModifyNameCmd::unexecute().

void KPlato::Node::setLeader ( const QString &  l  ) 

Definition at line 137 of file kptnode.cc.

References changed(), and m_leader.

Referenced by KPlato::NodeModifyLeaderCmd::execute(), KPlato::Config::load(), and KPlato::NodeModifyLeaderCmd::unexecute().

void KPlato::Node::setDescription ( const QString &  d  ) 

Definition at line 143 of file kptnode.cc.

References changed(), and m_description.

Referenced by KPlato::NodeModifyDescriptionCmd::execute(), KPlato::Config::load(), and KPlato::NodeModifyDescriptionCmd::unexecute().

void KPlato::Node::setConstraint ( Node::ConstraintType  type  ) 

Reimplemented in KPlato::Task.

Definition at line 393 of file kptnode.cc.

References changed(), and m_constraint.

Referenced by KPlato::ProjectModifyConstraintCmd::execute(), KPlato::NodeModifyConstraintCmd::execute(), KPlato::Task::load(), KPlato::Project::load(), setConstraint(), KPlato::ProjectModifyConstraintCmd::unexecute(), and KPlato::NodeModifyConstraintCmd::unexecute().

void KPlato::Node::setConstraint ( QString &  type  ) 

Definition at line 399 of file kptnode.cc.

References ALAP, ASAP, FinishNotLater, FixedInterval, MustFinishOn, MustStartOn, setConstraint(), and StartNotEarlier.

int KPlato::Node::constraint (  )  const [inline]

Definition at line 233 of file kptnode.h.

References m_constraint.

Referenced by KPlato::TaskGeneralPanel::buildCommand(), KPlato::TaskDefaultPanel::buildCommand(), KPlato::MainProjectPanel::buildCommand(), KPlato::Task::calculateBackward(), KPlato::Task::calculateForward(), KPlato::NodeItemModel::constraint(), KPlato::NodeItemModel::constraintEndTime(), KPlato::NodeItemModel::constraintStartTime(), KPlato::ResourceView::drawResources(), KPlato::NodeItemModel::flags(), KPlato::Task::load(), KPlato::MainProjectPanel::MainProjectPanel(), Node(), KPlato::Config::save(), KPlato::TaskGeneralPanel::setStartValues(), KPlato::TaskDefaultPanel::setStartValues(), and KPlato::TaskAddCmd::TaskAddCmd().

QString KPlato::Node::constraintToString ( bool  trans = false  )  const

Definition at line 419 of file kptnode.cc.

References constraintList(), and m_constraint.

Referenced by KPlato::NodeItemModel::constraint(), KPlato::Project::load(), printDebug(), KPlato::Task::save(), and KPlato::Project::save().

QStringList KPlato::Node::constraintList ( bool  trans  )  [static]

Definition at line 423 of file kptnode.cc.

Referenced by KPlato::NodeItemModel::constraint(), and constraintToString().

virtual void KPlato::Node::setConstraintStartTime ( QDateTime  time  )  [inline, virtual]

Definition at line 237 of file kptnode.h.

References changed(), and m_constraintStartTime.

Referenced by KPlato::ProjectModifyStartTimeCmd::execute(), KPlato::NodeModifyConstraintStartTimeCmd::execute(), KPlato::Config::load(), KPlato::ProjectModifyStartTimeCmd::unexecute(), and KPlato::NodeModifyConstraintStartTimeCmd::unexecute().

virtual void KPlato::Node::setConstraintEndTime ( QDateTime  time  )  [inline, virtual]

Definition at line 239 of file kptnode.h.

References changed(), and m_constraintEndTime.

Referenced by KPlato::ProjectModifyEndTimeCmd::execute(), KPlato::NodeModifyConstraintEndTimeCmd::execute(), KPlato::Config::load(), KPlato::ProjectModifyEndTimeCmd::unexecute(), and KPlato::NodeModifyConstraintEndTimeCmd::unexecute().

virtual DateTime KPlato::Node::constraintStartTime (  )  const [inline, virtual]

Definition at line 242 of file kptnode.h.

References m_constraintStartTime.

Referenced by KPlato::TaskGeneralPanel::buildCommand(), KPlato::TaskDefaultPanel::buildCommand(), KPlato::MainProjectPanel::buildCommand(), KPlato::NodeItemModel::constraintStartTime(), KPlato::MainProjectPanel::MainProjectPanel(), Node(), printDebug(), KPlato::Config::save(), KPlato::TaskGeneralPanel::setStartValues(), and KPlato::TaskDefaultPanel::setStartValues().

virtual DateTime KPlato::Node::constraintEndTime (  )  const [inline, virtual]

Definition at line 243 of file kptnode.h.

References m_constraintEndTime.

Referenced by KPlato::TaskGeneralPanel::buildCommand(), KPlato::TaskDefaultPanel::buildCommand(), KPlato::MainProjectPanel::buildCommand(), KPlato::NodeItemModel::constraintEndTime(), KPlato::MainProjectPanel::MainProjectPanel(), Node(), printDebug(), KPlato::Config::save(), KPlato::TaskGeneralPanel::setStartValues(), and KPlato::TaskDefaultPanel::setStartValues().

virtual DateTime KPlato::Node::startNotEarlier (  )  const [inline, virtual]

Definition at line 244 of file kptnode.h.

References m_constraintStartTime.

virtual DateTime KPlato::Node::finishNotLater (  )  const [inline, virtual]

Definition at line 245 of file kptnode.h.

References m_constraintEndTime.

virtual DateTime KPlato::Node::mustStartOn (  )  const [inline, virtual]

Definition at line 246 of file kptnode.h.

References m_constraintStartTime.

Referenced by KPlato::ResourceView::drawResources().

virtual DateTime KPlato::Node::mustFinishOn (  )  const [inline, virtual]

Definition at line 247 of file kptnode.h.

References m_constraintEndTime.

Referenced by KPlato::ResourceView::drawResources().

virtual ResourceGroupRequest* KPlato::Node::resourceRequest ( ResourceGroup  )  const [inline, virtual]

Definition at line 249 of file kptnode.h.

void KPlato::Node::makeAppointments (  )  [virtual]

Reimplemented in KPlato::Task.

Definition at line 364 of file kptnode.cc.

References m_nodes.

Referenced by KPlato::Project::calculate().

bool KPlato::Node::resourceError (  )  const [inline]

EffortType == Effort, but no resource is requested.

Definition at line 253 of file kptnode.h.

References m_currentSchedule, and KPlato::Schedule::resourceError.

Referenced by KPlato::GanttView::modifyTask().

virtual bool KPlato::Node::resourceOverbooked (  )  const [inline, virtual]

The assigned resource is overbooked.

Definition at line 256 of file kptnode.h.

References m_currentSchedule, and KPlato::Schedule::resourceOverbooked.

Referenced by KPlato::GanttView::modifyTask().

void KPlato::Node::calcResourceOverbooked (  )  [virtual]

Calculates if the assigned resource is overbooked within the duration of this node

Reimplemented in KPlato::Task.

Definition at line 371 of file kptnode.cc.

References m_nodes.

Referenced by KPlato::Project::calculate().

bool KPlato::Node::resourceNotAvailable (  )  const [inline]

The requested resource is not available.

Definition at line 262 of file kptnode.h.

References m_currentSchedule, and KPlato::Schedule::resourceNotAvailable.

Referenced by KPlato::GanttView::modifyTask().

virtual bool KPlato::Node::schedulingError (  )  const [inline, virtual]

The task cannot be scheduled to fullfill all the constraints.

Definition at line 265 of file kptnode.h.

References m_currentSchedule, and KPlato::Schedule::schedulingError.

Referenced by KPlato::GanttView::modifyMilestone(), and KPlato::GanttView::modifyTask().

bool KPlato::Node::notScheduled (  )  const [inline]

The node has not been scheduled.

Definition at line 268 of file kptnode.h.

References KPlato::Schedule::isDeleted(), m_currentSchedule, and KPlato::Schedule::notScheduled.

Referenced by KPlato::GanttView::modifyMilestone(), KPlato::GanttView::modifySummaryTask(), and KPlato::GanttView::modifyTask().

QStringList KPlato::Node::overbookedResources (  )  const [virtual]

Return a list of overbooked resources.

Definition at line 378 of file kptnode.cc.

References m_currentSchedule, and KPlato::Schedule::overbookedResources().

Referenced by KPlato::GanttView::modifyTask().

virtual EffortCostMap KPlato::Node::plannedEffortCostPrDay ( const QDate &  start,
const QDate &  end 
) const [pure virtual]

Implemented in KPlato::Project, and KPlato::Task.

Referenced by KPlato::Accounts::plannedCost().

virtual Duration KPlato::Node::plannedEffort (  )  [inline, virtual]

Returns the total planned effort for this task (or subtasks).

Reimplemented in KPlato::Project, and KPlato::Task.

Definition at line 276 of file kptnode.h.

References KPlato::Duration::zeroDuration.

virtual Duration KPlato::Node::plannedEffort ( const QDate &   )  [inline, virtual]

Returns the total planned effort for this task (or subtasks) on date.

Reimplemented in KPlato::Project, and KPlato::Task.

Definition at line 278 of file kptnode.h.

References KPlato::Duration::zeroDuration.

virtual Duration KPlato::Node::plannedEffortTo ( const QDate &   )  [inline, virtual]

Returns the planned effort up to and including date.

Reimplemented in KPlato::Project, and KPlato::Task.

Definition at line 280 of file kptnode.h.

References KPlato::Duration::zeroDuration.

virtual Duration KPlato::Node::actualEffort (  )  [inline, virtual]

Returns the total actual effort for this task (or subtasks).

Reimplemented in KPlato::Project, and KPlato::Task.

Definition at line 283 of file kptnode.h.

References KPlato::Duration::zeroDuration.

virtual Duration KPlato::Node::actualEffort ( const QDate &   )  [inline, virtual]

Returns the total actual effort for this task (or subtasks) on date.

Reimplemented in KPlato::Project, and KPlato::Task.

Definition at line 285 of file kptnode.h.

References KPlato::Duration::zeroDuration.

virtual Duration KPlato::Node::actualEffortTo ( const QDate &   )  [inline, virtual]

Returns the total actual effort for this task (or subtasks) up to and including date.

Reimplemented in KPlato::Project, and KPlato::Task.

Definition at line 287 of file kptnode.h.

References KPlato::Duration::zeroDuration.

virtual double KPlato::Node::plannedCost (  )  [inline, virtual]

Planned cost is the sum total of all resources and other costs planned for this node.

Reimplemented in KPlato::Project, and KPlato::Task.

Definition at line 293 of file kptnode.h.

virtual double KPlato::Node::plannedCost ( const QDate &   )  [inline, virtual]

Planned cost on date.

Reimplemented in KPlato::Project, and KPlato::Task.

Definition at line 296 of file kptnode.h.

virtual double KPlato::Node::plannedCostTo ( const QDate &   )  [inline, virtual]

Planned cost from start of activity up to and including date is the sum of all resource costs and other costs planned for this node.

Reimplemented in KPlato::Project, and KPlato::Task.

Definition at line 301 of file kptnode.h.

virtual double KPlato::Node::actualCost (  )  [inline, virtual]

Actual cost is the sum total of the reported costs actually used for this node.

Reimplemented in KPlato::Project, and KPlato::Task.

Definition at line 306 of file kptnode.h.

virtual double KPlato::Node::actualCost ( const QDate &   )  [inline, virtual]

Actual cost on date.

Reimplemented in KPlato::Project, and KPlato::Task.

Definition at line 308 of file kptnode.h.

virtual double KPlato::Node::actualCostTo ( const QDate &   )  [inline, virtual]

Actual cost up to and including date.

Reimplemented in KPlato::Project, and KPlato::Task.

Definition at line 310 of file kptnode.h.

double KPlato::Node::effortPerformanceIndex ( const QDate &  ,
bool *   
) [inline]

Effort based performance index.

Reimplemented in KPlato::Task.

Definition at line 313 of file kptnode.h.

double KPlato::Node::costPerformanceIndex ( const QDate &  ,
bool *   
) [inline]

Cost performance index.

Reimplemented in KPlato::Task.

Definition at line 315 of file kptnode.h.

virtual void KPlato::Node::initiateCalculationLists ( QList< Node * > &  startnodes,
QList< Node * > &  endnodes,
QList< Node * > &  summarytasks 
) [pure virtual]

Implemented in KPlato::Project, and KPlato::Task.

Referenced by KPlato::Task::initiateCalculationLists().

virtual DateTime KPlato::Node::calculateForward ( int   )  [pure virtual]

Implemented in KPlato::Project, and KPlato::Task.

Referenced by KPlato::Task::calculatePredeccessors().

virtual DateTime KPlato::Node::calculateBackward ( int   )  [pure virtual]

Implemented in KPlato::Project, and KPlato::Task.

Referenced by KPlato::Task::calculateSuccessors().

virtual DateTime KPlato::Node::scheduleForward ( const DateTime ,
int   
) [pure virtual]

Implemented in KPlato::Project, and KPlato::Task.

Referenced by KPlato::Task::schedulePredeccessors().

virtual DateTime KPlato::Node::scheduleBackward ( const DateTime ,
int   
) [pure virtual]

Implemented in KPlato::Project, and KPlato::Task.

Referenced by KPlato::Task::scheduleSuccessors().

virtual void KPlato::Node::adjustSummarytask (  )  [pure virtual]

Implemented in KPlato::Project, and KPlato::Task.

Referenced by KPlato::Task::adjustSummarytask().

void KPlato::Node::initiateCalculation ( Schedule sch  )  [virtual]

Reimplemented in KPlato::Project, and KPlato::Task.

Definition at line 479 of file kptnode.cc.

References m_nodes.

Referenced by KPlato::Task::initiateCalculation(), and KPlato::Project::initiateCalculation().

void KPlato::Node::resetVisited (  )  [virtual]

Definition at line 486 of file kptnode.cc.

References m_nodes, m_visitedBackward, and m_visitedForward.

Referenced by KPlato::Project::scheduleBackward(), and KPlato::Project::scheduleForward().

void KPlato::Node::propagateEarliestStart ( DateTime time  ) 

Definition at line 435 of file kptnode.cc.

References KPlato::Schedule::earliestStart, m_currentSchedule, and m_nodes.

Referenced by KPlato::Project::calculate().

void KPlato::Node::propagateLatestFinish ( DateTime time  ) 

Definition at line 446 of file kptnode.cc.

References KPlato::Schedule::latestFinish, m_currentSchedule, and m_nodes.

Referenced by KPlato::Project::calculate().

void KPlato::Node::moveEarliestStart ( DateTime time  ) 

Definition at line 457 of file kptnode.cc.

References KPlato::Schedule::earliestStart, m_currentSchedule, and m_nodes.

void KPlato::Node::moveLatestFinish ( DateTime time  ) 

Definition at line 468 of file kptnode.cc.

References KPlato::Schedule::latestFinish, m_currentSchedule, and m_nodes.

virtual Duration KPlato::Node::summarytaskDurationForward ( const DateTime  )  [inline, virtual]

Definition at line 331 of file kptnode.h.

References KPlato::Duration::zeroDuration.

virtual DateTime KPlato::Node::summarytaskEarliestStart (  )  [inline, virtual]

Definition at line 334 of file kptnode.h.

virtual Duration KPlato::Node::summarytaskDurationBackward ( const DateTime  )  [inline, virtual]

Definition at line 337 of file kptnode.h.

References KPlato::Duration::zeroDuration.

virtual DateTime KPlato::Node::summarytaskLatestFinish (  )  [inline, virtual]

Definition at line 340 of file kptnode.h.

const Duration& KPlato::Node::duration (  )  [inline]

Definition at line 343 of file kptnode.h.

References KPlato::Schedule::duration, m_currentSchedule, and KPlato::Duration::zeroDuration.

Referenced by KPlato::Task::calculateBackward(), KPlato::Task::calculateForward(), KPlato::Task::calculatePredeccessors(), KPlato::Task::calculateSuccessors(), KPlato::Task::scheduleBackward(), KPlato::Task::scheduleForward(), KPlato::Task::schedulePredeccessors(), KPlato::Task::scheduleSuccessors(), KPlato::SubtaskAddCmd::SubtaskAddCmd(), and KPlato::TaskAddCmd::TaskAddCmd().

Duration KPlato::Node::duration ( const DateTime time,
int  use,
bool  backward 
)

Calculates and returns the duration of the node. Uses the correct expected-, optimistic- or pessimistic effort dependent on use.

Parameters:
time Where to start calculation.
use Calculate using expected-, optimistic- or pessimistic estimate.
backward If true, time specifies when the task should end.

Definition at line 345 of file kptnode.cc.

References calcDuration(), KPlato::Effort::effort(), m_currentSchedule, m_effort, m_name, and KPlato::Duration::zeroDuration.

virtual Duration KPlato::Node::calcDuration ( const DateTime ,
const Duration ,
bool   
) [inline, virtual]

Reimplemented in KPlato::Task.

Definition at line 355 of file kptnode.h.

References KPlato::Duration::zeroDuration.

Referenced by duration().

Node * KPlato::Node::siblingBefore (  ) 

Definition at line 495 of file kptnode.cc.

References childBefore(), and getParent().

Referenced by KPlato::Project::canIndentTask(), KPlato::Project::canMoveTaskUp(), KPlato::GanttView::correctPosition(), KPlato::Project::indentTask(), moveChildUp(), and KPlato::GanttView::updateNode().

Node * KPlato::Node::childBefore ( Node node  ) 

Definition at line 502 of file kptnode.cc.

References m_nodes.

Referenced by siblingBefore().

Node * KPlato::Node::siblingAfter (  ) 

Definition at line 511 of file kptnode.cc.

References childAfter(), and getParent().

Referenced by KPlato::Project::canMoveTaskDown(), and moveChildDown().

Node * KPlato::Node::childAfter ( Node node  ) 

Definition at line 518 of file kptnode.cc.

References m_nodes.

Referenced by siblingAfter().

bool KPlato::Node::moveChildUp ( Node node  ) 

Definition at line 527 of file kptnode.cc.

References addChildNode(), findChildNode(), insertChildNode(), siblingBefore(), and takeChildNode().

bool KPlato::Node::moveChildDown ( Node node  ) 

Definition at line 544 of file kptnode.cc.

References addChildNode(), findChildNode(), siblingAfter(), and takeChildNode().

bool KPlato::Node::legalToLink ( Node node  ) 

Check if this node can be linked to node.

Definition at line 556 of file kptnode.cc.

References legalToLink(), and projectNode().

Referenced by legalToLink(), and KPlato::Relation::load().

virtual bool KPlato::Node::legalToLink ( Node ,
Node  
) [inline, virtual]

Check if node par can be linked to node child. (Reimplement).

Reimplemented in KPlato::Project.

Definition at line 367 of file kptnode.h.

bool KPlato::Node::isEndNode (  )  const [virtual]

Check if this node has any dependent child nodes.

Reimplemented in KPlato::Task.

Definition at line 563 of file kptnode.cc.

References m_dependChildNodes.

Referenced by calcCriticalPath().

bool KPlato::Node::isStartNode (  )  const [virtual]

Check if this node has any dependent parent nodes.

Reimplemented in KPlato::Task.

Definition at line 566 of file kptnode.cc.

References m_dependParentNodes.

Referenced by calcCriticalPath().

virtual void KPlato::Node::clearProxyRelations (  )  [inline, virtual]

Reimplemented in KPlato::Task.

Definition at line 372 of file kptnode.h.

virtual void KPlato::Node::addParentProxyRelations ( QList< Relation * > &   )  [inline, virtual]

Reimplemented in KPlato::Task.

Definition at line 373 of file kptnode.h.

Referenced by KPlato::Task::initiateCalculationLists().

virtual void KPlato::Node::addChildProxyRelations ( QList< Relation * > &   )  [inline, virtual]

Reimplemented in KPlato::Task.

Definition at line 374 of file kptnode.h.

Referenced by KPlato::Task::initiateCalculationLists().

virtual void KPlato::Node::addParentProxyRelation ( Node ,
const Relation  
) [inline, virtual]

Reimplemented in KPlato::Task.

Definition at line 375 of file kptnode.h.

Referenced by KPlato::Task::addChildProxyRelations().

virtual void KPlato::Node::addChildProxyRelation ( Node ,
const Relation  
) [inline, virtual]

Reimplemented in KPlato::Task.

Definition at line 376 of file kptnode.h.

Referenced by KPlato::Task::addParentProxyRelations().

void KPlato::Node::saveAppointments ( QDomElement &  element,
long  id 
) const [virtual]

Save appointments for schedule with id.

Reimplemented in KPlato::Task.

Definition at line 613 of file kptnode.cc.

References m_nodes.

Referenced by KPlato::Project::save(), and KPlato::Task::saveAppointments().

QList< Appointment * > KPlato::Node::appointments (  ) 

Return the list of appointments for current schedule.

Definition at line 621 of file kptnode.cc.

References KPlato::Schedule::appointments(), and m_currentSchedule.

Referenced by KPlato::TaskAppointmentsView::draw(), KPlato::NodeDeleteCmd::execute(), and KPlato::GanttView::modifyTask().

bool KPlato::Node::addAppointment ( Appointment appointment  )  [virtual]

Adds appointment to this node only (not to resource).

Definition at line 633 of file kptnode.cc.

References KPlato::Schedule::add(), and m_currentSchedule.

bool KPlato::Node::addAppointment ( Appointment appointment,
Schedule main 
) [virtual]

Adds appointment to this node only (not to resource).

Definition at line 639 of file kptnode.cc.

References KPlato::Schedule::add(), createSchedule(), findSchedule(), KPlato::Schedule::id(), and KPlato::Appointment::setNode().

void KPlato::Node::addAppointment ( ResourceSchedule resource,
DateTime start,
DateTime end,
double  load = 100 
) [virtual]

Adds appointment to both this node and resource.

Definition at line 649 of file kptnode.cc.

References KPlato::Schedule::addAppointment(), createSchedule(), findSchedule(), KPlato::Schedule::id(), and KPlato::Schedule::parent().

virtual Node* KPlato::Node::findNode (  )  const [inline, virtual]

Find the node with my id.

Definition at line 392 of file kptnode.h.

References m_id.

Referenced by KPlato::Project::findNode(), findNode(), KPlato::TaskGeneralPanel::ok(), KPlato::SummaryTaskGeneralPanel::ok(), KPlato::Project::registerNodeId(), setId(), KPlato::Project::uniqueNodeId(), and ~Node().

virtual Node* KPlato::Node::findNode ( const QString &  id  )  const [inline, virtual]

Find the node with identity id.

Reimplemented in KPlato::Project.

Definition at line 394 of file kptnode.h.

References findNode(), and m_parent.

virtual bool KPlato::Node::removeId (  )  [inline, virtual]

Remove myself from the id register.

Definition at line 397 of file kptnode.h.

References m_id.

Referenced by KPlato::Project::delTask(), KPlato::Project::removeId(), removeId(), setId(), and ~Node().

virtual bool KPlato::Node::removeId ( const QString &  id  )  [inline, virtual]

Remove the registered identity id.

Reimplemented in KPlato::Project.

Definition at line 399 of file kptnode.h.

References m_parent, and removeId().

virtual void KPlato::Node::insertId ( const QString &  id  )  [inline, virtual]

Insert myself into the id register.

Definition at line 402 of file kptnode.h.

Referenced by KPlato::Project::insertId(), insertId(), and setId().

virtual void KPlato::Node::insertId ( const QString &  id,
Node node 
) [inline, virtual]

Insert node with identity id into the register.

Reimplemented in KPlato::Project.

Definition at line 404 of file kptnode.h.

References insertId(), and m_parent.

virtual DateTime KPlato::Node::workStartTime (  )  const [inline, virtual]

This is when work can start on this node in accordance with the calendar of allocated resources. Normally this is the same as startTime(), but may differ if timing constraints are set.

Reimplemented in KPlato::Task.

Definition at line 412 of file kptnode.h.

References m_currentSchedule, and KPlato::Schedule::workStartTime.

void KPlato::Node::setWorkStartTime ( const DateTime dt  )  [inline]

Definition at line 414 of file kptnode.h.

References m_currentSchedule, and KPlato::Schedule::workStartTime.

Referenced by KPlato::SubtaskAddCmd::SubtaskAddCmd(), and KPlato::TaskAddCmd::TaskAddCmd().

virtual DateTime KPlato::Node::workEndTime (  )  const [inline, virtual]

This is when work can finish on this node in accordance with the calendar of allocated resources. Normally this is the same as endTime(), but may differ if timing constraints are set.

Reimplemented in KPlato::Task.

Definition at line 422 of file kptnode.h.

References m_currentSchedule, and KPlato::Schedule::workEndTime.

void KPlato::Node::setWorkEndTime ( const DateTime dt  )  [inline]

Definition at line 424 of file kptnode.h.

References m_currentSchedule, and KPlato::Schedule::workEndTime.

Referenced by KPlato::SubtaskAddCmd::SubtaskAddCmd(), and KPlato::TaskAddCmd::TaskAddCmd().

virtual bool KPlato::Node::isCritical (  )  const [inline, virtual]

Reimplemented in KPlato::Task.

Definition at line 427 of file kptnode.h.

Referenced by calcCriticalPath().

virtual bool KPlato::Node::inCriticalPath (  )  const [inline, virtual]

Definition at line 428 of file kptnode.h.

References KPlato::Schedule::inCriticalPath, and m_currentSchedule.

Referenced by KPlato::GanttView::modifyMilestone(), and KPlato::GanttView::modifyTask().

bool KPlato::Node::calcCriticalPath ( bool  fromEnd  )  [virtual]

Reimplemented in KPlato::Project, and KPlato::Task.

Definition at line 726 of file kptnode.cc.

References KPlato::Schedule::inCriticalPath, isCritical(), isEndNode(), isStartNode(), m_currentSchedule, and m_dependParentNodes.

Referenced by KPlato::Task::calcCriticalPath().

int KPlato::Node::level (  )  [virtual]

Returns the level this node is in the hierarchy. Top node is level 0.

Definition at line 750 of file kptnode.cc.

References getParent(), and level().

Referenced by generateWBS(), level(), and printDebug().

void KPlato::Node::generateWBS ( int  count,
WBSDefinition def,
QString  wbs = QString() 
) [virtual]

Generate WBS.

Reimplemented in KPlato::Project.

Definition at line 755 of file kptnode.cc.

References KPlato::WBSDefinition::code(), level(), m_nodes, m_wbs, and KPlato::WBSDefinition::wbs().

Referenced by KPlato::Project::generateWBS().

QString KPlato::Node::wbs (  )  const [inline]

Definition at line 436 of file kptnode.h.

References m_wbs.

Referenced by KPlato::MainProjectPanel::MainProjectPanel(), KPlato::GanttView::modifyMilestone(), KPlato::GanttView::modifyProject(), KPlato::GanttView::modifySummaryTask(), KPlato::GanttView::modifyTask(), KPlato::TaskGeneralPanel::setStartValues(), and KPlato::SummaryTaskGeneralPanel::setStartValues().

double KPlato::Node::startupCost (  )  const [inline]

Definition at line 438 of file kptnode.h.

References m_startupCost.

Referenced by KPlato::TaskCostPanel::buildCommand(), Node(), KPlato::NodeModifyShutdownCostCmd::NodeModifyShutdownCostCmd(), KPlato::NodeModifyStartupCostCmd::NodeModifyStartupCostCmd(), KPlato::Accounts::plannedCost(), and KPlato::TaskCostPanel::setStartValues().

void KPlato::Node::setStartupCost ( double  cost  )  [inline]

Definition at line 439 of file kptnode.h.

References m_startupCost.

Referenced by KPlato::NodeModifyStartupCostCmd::execute(), and KPlato::NodeModifyStartupCostCmd::unexecute().

Account* KPlato::Node::startupAccount (  )  const [inline]

Definition at line 441 of file kptnode.h.

References m_startupAccount.

Referenced by Node(), and KPlato::Accounts::plannedCost().

void KPlato::Node::setStartupAccount ( Account acc  )  [inline]

Definition at line 442 of file kptnode.h.

References m_startupAccount.

Referenced by KPlato::Account::CostPlace::setStartup(), and KPlato::Account::CostPlace::~CostPlace().

double KPlato::Node::shutdownCost (  )  const [inline]

Definition at line 444 of file kptnode.h.

References m_shutdownCost.

Referenced by KPlato::TaskCostPanel::buildCommand(), Node(), KPlato::Accounts::plannedCost(), and KPlato::TaskCostPanel::setStartValues().

void KPlato::Node::setShutdownCost ( double  cost  )  [inline]

Definition at line 445 of file kptnode.h.

References m_shutdownCost.

Referenced by KPlato::NodeModifyShutdownCostCmd::execute(), and KPlato::NodeModifyShutdownCostCmd::unexecute().

Account* KPlato::Node::shutdownAccount (  )  const [inline]

Definition at line 447 of file kptnode.h.

References m_shutdownAccount.

Referenced by Node(), and KPlato::Accounts::plannedCost().

void KPlato::Node::setShutdownAccount ( Account acc  )  [inline]

Definition at line 448 of file kptnode.h.

References m_shutdownAccount.

Referenced by KPlato::Account::CostPlace::setShutdown(), and KPlato::Account::CostPlace::~CostPlace().

Account* KPlato::Node::runningAccount (  )  const [inline]

Definition at line 450 of file kptnode.h.

References m_runningAccount.

Referenced by Node(), and KPlato::Accounts::plannedCost().

void KPlato::Node::setRunningAccount ( Account acc  )  [inline]

Definition at line 451 of file kptnode.h.

References m_runningAccount.

Referenced by KPlato::Account::CostPlace::setRunning(), and KPlato::Account::CostPlace::~CostPlace().

Schedule* KPlato::Node::currentSchedule (  )  const [inline]

Definition at line 453 of file kptnode.h.

References m_currentSchedule.

Referenced by KPlato::CalculateProjectCmd::CalculateProjectCmd(), KPlato::View::getContext(), KPlato::MainProjectPanel::MainProjectPanel(), KPlato::GanttView::modifyMilestone(), KPlato::GanttView::modifySummaryTask(), KPlato::GanttView::modifyTask(), KPlato::RecalculateProjectCmd::RecalculateProjectCmd(), and KPlato::View::setScheduleActionsEnabled().

void KPlato::Node::setCurrentSchedule ( long  id  )  [virtual]

Set current schedule to schedule with identity id, for me and my children.

Reimplemented in KPlato::Project, and KPlato::Task.

Definition at line 767 of file kptnode.cc.

References m_nodes.

Referenced by KPlato::Task::setCurrentSchedule(), and KPlato::Project::setCurrentSchedule().

void KPlato::Node::setCurrentSchedulePtr ( Schedule schedule  )  [inline]

Definition at line 457 of file kptnode.h.

References m_currentSchedule.

Referenced by KPlato::RecalculateProjectCmd::execute(), KPlato::CalculateProjectCmd::execute(), KPlato::Task::setCurrentSchedule(), KPlato::Project::setCurrentSchedule(), KPlato::View::slotViewExpected(), KPlato::View::slotViewOptimistic(), KPlato::View::slotViewPessimistic(), KPlato::RecalculateProjectCmd::unexecute(), and KPlato::CalculateProjectCmd::unexecute().

QHash<long, Schedule*>& KPlato::Node::schedules (  )  [inline]

Definition at line 459 of file kptnode.h.

References m_schedules.

Referenced by KPlato::AddRelationCmd::AddRelationCmd(), KPlato::CalendarAddDayCmd::CalendarAddDayCmd(), KPlato::CalendarDeleteCmd::CalendarDeleteCmd(), KPlato::CalendarModifyDayCmd::CalendarModifyDayCmd(), KPlato::CalendarModifyParentCmd::CalendarModifyParentCmd(), KPlato::CalendarModifyWeekdayCmd::CalendarModifyWeekdayCmd(), KPlato::CalendarRemoveDayCmd::CalendarRemoveDayCmd(), KPlato::DeleteRelationCmd::DeleteRelationCmd(), KPlato::EffortModifyOptimisticRatioCmd::EffortModifyOptimisticRatioCmd(), KPlato::EffortModifyPessimisticRatioCmd::EffortModifyPessimisticRatioCmd(), KPlato::EffortModifyRiskCmd::EffortModifyRiskCmd(), KPlato::ModifyEffortCmd::ModifyEffortCmd(), KPlato::ModifyEffortTypeCmd::ModifyEffortTypeCmd(), KPlato::ModifyRelationLagCmd::ModifyRelationLagCmd(), KPlato::ModifyRelationTypeCmd::ModifyRelationTypeCmd(), KPlato::NodeDeleteCmd::NodeDeleteCmd(), KPlato::NodeModifyConstraintCmd::NodeModifyConstraintCmd(), KPlato::NodeModifyConstraintEndTimeCmd::NodeModifyConstraintEndTimeCmd(), KPlato::NodeModifyConstraintStartTimeCmd::NodeModifyConstraintStartTimeCmd(), KPlato::ProjectModifyConstraintCmd::ProjectModifyConstraintCmd(), KPlato::ProjectModifyEndTimeCmd::ProjectModifyEndTimeCmd(), KPlato::ProjectModifyStartTimeCmd::ProjectModifyStartTimeCmd(), and KPlato::RemoveResourceRequestCmd::RemoveResourceRequestCmd().

Schedule * KPlato::Node::findSchedule ( const QString  name,
const Schedule::Type  type 
)

Find schedule matching name and type. Does not return deleted schedule.

Definition at line 685 of file kptnode.cc.

References KPlato::Schedule::isDeleted(), KPlato::Schedule::name(), and KPlato::Schedule::type().

Referenced by addAppointment(), KPlato::Project::calculate(), KPlato::GanttView::draw(), KPlato::GanttView::drawChanges(), KPlato::ModifyResourceAvailableFromCmd::ModifyResourceAvailableFromCmd(), KPlato::ModifyResourceAvailableUntilCmd::ModifyResourceAvailableUntilCmd(), KPlato::View::projectCalculate(), KPlato::Task::saveAppointments(), KPlato::Task::setCurrentSchedule(), KPlato::Project::setCurrentSchedule(), setParentSchedule(), and setScheduleDeleted().

Schedule * KPlato::Node::findSchedule ( const Schedule::Type  type  ) 

Find schedule matching type. Does not return deleted schedule.

Definition at line 695 of file kptnode.cc.

References KPlato::Schedule::isDeleted(), and KPlato::Schedule::type().

Schedule* KPlato::Node::findSchedule ( long  id  )  const [inline]

Find schedule matching id. Also returns deleted schedule.

Definition at line 465 of file kptnode.h.

References m_schedules.

void KPlato::Node::takeSchedule ( const Schedule schedule  ) 

Take, don't delete (as in destruct).

Definition at line 657 of file kptnode.cc.

References KPlato::Schedule::id(), m_currentSchedule, and m_schedules.

void KPlato::Node::addSchedule ( Schedule schedule  ) 

Add schedule to list, replace if schedule with same id already exists.

Definition at line 665 of file kptnode.cc.

References KPlato::Schedule::id(), and m_schedules.

Referenced by KPlato::Project::createSchedule(), createSchedule(), KPlato::Task::load(), and KPlato::Project::load().

Schedule * KPlato::Node::createSchedule ( QString  name,
Schedule::Type  type,
long  id 
)

Create a new schedule.

Definition at line 671 of file kptnode.cc.

References addSchedule().

Referenced by addAppointment(), and KPlato::Task::initiateCalculation().

Schedule * KPlato::Node::createSchedule ( Schedule parent  ) 

Create a new schedule.

Definition at line 678 of file kptnode.cc.

References addSchedule().

void KPlato::Node::setScheduleDeleted ( long  id,
bool  onoff 
)

Set deleted = onoff for schedule with id.

Definition at line 706 of file kptnode.cc.

References findSchedule(), m_name, and KPlato::Schedule::setDeleted().

void KPlato::Node::setParentSchedule ( Schedule sch  )  [virtual]

Set parent schedule recursivly.

Reimplemented in KPlato::Project.

Definition at line 715 of file kptnode.cc.

References findSchedule(), KPlato::Schedule::id(), m_nodes, and KPlato::Schedule::setParent().

DateTime KPlato::Node::startTime (  )  [inline]

Definition at line 482 of file kptnode.h.

References m_currentSchedule, and KPlato::Schedule::startTime.

DateTime KPlato::Node::endTime (  )  [inline]

Definition at line 484 of file kptnode.h.

References KPlato::Schedule::endTime, and m_currentSchedule.

void KPlato::Node::changed ( Node node  )  [protected, virtual]

Reimplemented in KPlato::Project.

Definition at line 775 of file kptnode.cc.

References changed(), and m_parent.

Referenced by KPlato::Project::changed(), changed(), setConstraint(), setConstraintEndTime(), setConstraintStartTime(), setDescription(), setLeader(), and setName().

void KPlato::Node::init (  )  [private]

Reimplemented in KPlato::Project.

Definition at line 100 of file kptnode.cc.

References KPlato::Duration::addDays(), ASAP, m_constraint, m_currentSchedule, m_dateOnlyDuration, m_dateOnlyEndDate, m_dateOnlyStartDate, m_effort, m_name, m_runningAccount, m_shutdownAccount, m_shutdownCost, m_startupAccount, m_startupCost, m_visitedBackward, and m_visitedForward.

Referenced by Node().

void KPlato::Node::printDebug ( bool  children,
QByteArray  indent 
) [virtual]

Reimplemented in KPlato::Project, and KPlato::Task.

Definition at line 953 of file kptnode.cc.

References constraintEndTime(), constraintStartTime(), constraintToString(), FinishNotLater, FixedInterval, KPlato::Schedule::id(), level(), m_constraint, m_currentSchedule, m_dependChildNodes, m_dependParentNodes, m_effort, m_id, m_nodes, m_parent, MustFinishOn, MustStartOn, name(), KPlato::Schedule::name(), KPlato::Schedule::printDebug(), KPlato::Effort::printDebug(), StartNotEarlier, and KPlato::Schedule::type().

Referenced by KPlato::Task::printDebug(), KPlato::Project::printDebug(), and KPlato::View::slotPrintSelectedDebug().


Member Data Documentation

QList<Node*> KPlato::Node::m_nodes [protected]

Definition at line 490 of file kptnode.h.

Referenced by addChildNode(), KPlato::Task::addChildProxyRelation(), KPlato::Task::addChildProxyRelations(), KPlato::Task::addParentProxyRelation(), KPlato::Task::addParentProxyRelations(), KPlato::Task::adjustSummarytask(), calcResourceOverbooked(), childAfter(), childBefore(), childNode(), childNodeIterator(), findChildNode(), KPlato::Project::generateWBS(), generateWBS(), initiateCalculation(), KPlato::Task::initiateCalculationLists(), insertChildNode(), isParentOf(), KPlato::Task::makeAppointments(), makeAppointments(), moveEarliestStart(), moveLatestFinish(), numChildren(), printDebug(), propagateEarliestStart(), propagateLatestFinish(), resetVisited(), KPlato::Project::save(), KPlato::Task::saveAppointments(), saveAppointments(), saveRelations(), setCurrentSchedule(), KPlato::Project::setParentSchedule(), setParentSchedule(), takeChildNode(), and ~Node().

QList<Relation*> KPlato::Node::m_dependChildNodes [protected]

Definition at line 491 of file kptnode.h.

Referenced by addDependChildNode(), KPlato::Task::calcCriticalPath(), dependChildNodes(), getDependChildNode(), insertDependChildNode(), KPlato::Task::isEndNode(), isEndNode(), numDependChildNodes(), printDebug(), saveRelations(), takeDependChildNode(), and ~Node().

QList<Relation*> KPlato::Node::m_dependParentNodes [protected]

Definition at line 492 of file kptnode.h.

Referenced by addDependParentNode(), KPlato::Task::calcCriticalPath(), calcCriticalPath(), dependParentNodes(), getDependParentNode(), insertDependParentNode(), KPlato::Task::isStartNode(), isStartNode(), numDependParentNodes(), printDebug(), KPlato::Project::save(), takeDependParentNode(), and ~Node().

Node* KPlato::Node::m_parent [protected]

Definition at line 493 of file kptnode.h.

Referenced by KPlato::Project::changed(), changed(), KPlato::Project::findNode(), findNode(), getParent(), KPlato::Project::init(), KPlato::Project::insertId(), insertId(), isChildOf(), Node(), printDebug(), projectNode(), KPlato::Project::removeId(), removeId(), setParent(), KPlato::Task::Task(), and ~Node().

QString KPlato::Node::m_id [protected]

Definition at line 495 of file kptnode.h.

Referenced by findNode(), id(), KPlato::Task::load(), Node(), printDebug(), removeId(), KPlato::Task::save(), KPlato::Project::save(), and setId().

QString KPlato::Node::m_name [protected]

Definition at line 496 of file kptnode.h.

Referenced by KPlato::Task::calculateBackward(), KPlato::Task::calculateForward(), duration(), init(), KPlato::Task::load(), KPlato::Project::load(), name(), Node(), KPlato::Task::save(), KPlato::Project::save(), KPlato::Task::scheduleBackward(), KPlato::Task::scheduleForward(), setName(), and setScheduleDeleted().

QString KPlato::Node::m_leader [protected]

Definition at line 497 of file kptnode.h.

Referenced by leader(), KPlato::Task::load(), KPlato::Project::load(), Node(), KPlato::Task::save(), KPlato::Project::save(), setLeader(), and KPlato::Task::Task().

QString KPlato::Node::m_description [protected]

Definition at line 498 of file kptnode.h.

Referenced by description(), KPlato::Task::load(), KPlato::Project::load(), Node(), KPlato::Task::save(), KPlato::Project::save(), and setDescription().

Effort* KPlato::Node::m_effort [protected]

Definition at line 500 of file kptnode.h.

Referenced by KPlato::Task::calcDuration(), KPlato::Task::calculateBackward(), KPlato::Task::calculateForward(), duration(), effort(), init(), KPlato::Task::load(), KPlato::Task::positiveFloat(), printDebug(), KPlato::Task::save(), KPlato::Task::scheduleBackward(), KPlato::Task::scheduleForward(), setEffort(), KPlato::Task::Task(), and KPlato::Task::~Task().

ConstraintType KPlato::Node::m_constraint [protected]

Definition at line 503 of file kptnode.h.

Referenced by KPlato::Project::calculate(), constraint(), constraintToString(), init(), KPlato::Task::load(), KPlato::Project::load(), Node(), printDebug(), KPlato::Project::Project(), KPlato::Task::scheduleBackward(), KPlato::Task::scheduleForward(), KPlato::Task::setConstraint(), and setConstraint().

DateTime KPlato::Node::m_constraintStartTime [protected]

m_constraintTime is used if any of the constraints FixedInterval, StartNotEarlier, MustStartOn or FixedInterval is selected

Definition at line 509 of file kptnode.h.

Referenced by KPlato::Project::calculate(), KPlato::Task::calculateBackward(), KPlato::Task::calculateForward(), constraintStartTime(), KPlato::Project::init(), KPlato::Task::load(), KPlato::Project::load(), mustStartOn(), Node(), KPlato::Task::save(), KPlato::Project::save(), KPlato::Task::scheduleBackward(), KPlato::Task::scheduleForward(), setConstraintStartTime(), startNotEarlier(), and KPlato::Project::startTime().

DateTime KPlato::Node::m_constraintEndTime [protected]

m_constraintEndTime is used if any of the constraints FixedInterval, FinishNotLater, MustFinishOn or FixedInterval is selected

Definition at line 514 of file kptnode.h.

Referenced by KPlato::Project::calculate(), KPlato::Task::calculateBackward(), KPlato::Task::calculateForward(), constraintEndTime(), KPlato::Project::endTime(), finishNotLater(), KPlato::Project::init(), KPlato::Task::load(), KPlato::Project::load(), mustFinishOn(), Node(), KPlato::Task::save(), KPlato::Project::save(), KPlato::Task::scheduleBackward(), KPlato::Task::scheduleForward(), and setConstraintEndTime().

bool KPlato::Node::m_visitedForward [protected]

Definition at line 516 of file kptnode.h.

Referenced by KPlato::Task::calculateForward(), init(), KPlato::Task::initiateCalculation(), KPlato::Project::initiateCalculation(), resetVisited(), and KPlato::Task::scheduleForward().

bool KPlato::Node::m_visitedBackward [protected]

Definition at line 517 of file kptnode.h.

Referenced by KPlato::Task::calculateBackward(), init(), KPlato::Task::initiateCalculation(), KPlato::Project::initiateCalculation(), resetVisited(), and KPlato::Task::scheduleBackward().

Duration KPlato::Node::m_durationForward [protected]

Definition at line 518 of file kptnode.h.

Referenced by KPlato::Task::calculateForward(), KPlato::Task::scheduleBackward(), and KPlato::Task::scheduleForward().

Duration KPlato::Node::m_durationBackward [protected]

Definition at line 519 of file kptnode.h.

Referenced by KPlato::Task::calculateBackward(), KPlato::Task::scheduleBackward(), and KPlato::Task::scheduleForward().

QDate KPlato::Node::m_dateOnlyStartDate [protected]

Definition at line 521 of file kptnode.h.

Referenced by init(), Node(), setEndTime(), setStartTime(), and startDate().

QDate KPlato::Node::m_dateOnlyEndDate [protected]

Definition at line 522 of file kptnode.h.

Referenced by endDate(), init(), Node(), and setEndTime().

Duration KPlato::Node::m_dateOnlyDuration [protected]

Definition at line 523 of file kptnode.h.

Referenced by init().

QHash<long, Schedule*> KPlato::Node::m_schedules [protected]

Definition at line 525 of file kptnode.h.

Referenced by addSchedule(), KPlato::Project::createSchedule(), findSchedule(), KPlato::Project::load(), KPlato::Task::save(), KPlato::Project::save(), schedules(), takeSchedule(), ~Node(), and KPlato::Task::~Task().

Schedule* KPlato::Node::m_currentSchedule [protected]

Definition at line 526 of file kptnode.h.

Referenced by KPlato::Task::actualCost(), KPlato::Task::actualCostTo(), KPlato::Task::actualEffort(), KPlato::Task::actualEffortTo(), addAppointment(), KPlato::Task::adjustSummarytask(), appointments(), KPlato::Task::calcCriticalPath(), calcCriticalPath(), KPlato::Task::calcDuration(), KPlato::Task::calcResourceOverbooked(), KPlato::Project::calculate(), KPlato::Task::calculateBackward(), KPlato::Task::calculateForward(), currentSchedule(), duration(), KPlato::Task::effortMetError(), KPlato::Project::endTime(), endTime(), getEarliestStart(), KPlato::Task::getExpectedDuration(), getLatestFinish(), inCriticalPath(), init(), KPlato::Task::initiateCalculation(), KPlato::Task::isCritical(), KPlato::Task::makeAppointments(), moveEarliestStart(), moveLatestFinish(), notScheduled(), overbookedResources(), KPlato::Task::plannedCost(), KPlato::Task::plannedCostTo(), KPlato::Task::plannedEffort(), KPlato::Task::plannedEffortCostPrDay(), KPlato::Task::plannedEffortTo(), KPlato::Task::positiveFloat(), printDebug(), propagateEarliestStart(), propagateLatestFinish(), resourceError(), resourceNotAvailable(), resourceOverbooked(), KPlato::Task::scheduleBackward(), KPlato::Task::scheduleForward(), schedulingError(), setCurrentSchedulePtr(), setEarliestStart(), setEndTime(), setLatestFinish(), setStartTime(), setWorkEndTime(), setWorkStartTime(), KPlato::Project::startTime(), startTime(), takeSchedule(), KPlato::Task::workEndTime(), workEndTime(), KPlato::Task::workStartTime(), and workStartTime().

QString KPlato::Node::m_wbs [protected]

Definition at line 528 of file kptnode.h.

Referenced by KPlato::Project::generateWBS(), generateWBS(), KPlato::Task::load(), KPlato::Task::save(), and wbs().

double KPlato::Node::m_startupCost [protected]

Definition at line 530 of file kptnode.h.

Referenced by init(), KPlato::Task::load(), Node(), KPlato::Task::save(), setStartupCost(), and startupCost().

Account* KPlato::Node::m_startupAccount [protected]

Definition at line 531 of file kptnode.h.

Referenced by init(), Node(), setStartupAccount(), startupAccount(), and ~Node().

double KPlato::Node::m_shutdownCost [protected]

Definition at line 532 of file kptnode.h.

Referenced by init(), KPlato::Task::load(), Node(), KPlato::Task::save(), setShutdownCost(), and shutdownCost().

Account* KPlato::Node::m_shutdownAccount [protected]

Definition at line 533 of file kptnode.h.

Referenced by init(), Node(), setShutdownAccount(), shutdownAccount(), and ~Node().

Account* KPlato::Node::m_runningAccount [protected]

Definition at line 534 of file kptnode.h.

Referenced by init(), Node(), runningAccount(), setRunningAccount(), and ~Node().


The documentation for this class was generated from the following files:
Generated on Wed Nov 22 23:21:50 2006 for KPlato by  doxygen 1.5.1-p1