KPlato::ResourceGroup Class Reference

#include <kptresource.h>

List of all members.

Public Types

enum  Type { Type_Work, Type_Material }

Public Member Functions

 ResourceGroup (Project *project)
 ~ResourceGroup ()
QString id () const
bool setId (QString id)
void generateId ()
Projectproject ()
void setName (QString n)
const QString & name () const
void setType (Type type)
Type type () const
void addResource (Resource *, Risk *)
void insertResource (unsigned int index, Resource *resource)
void deleteResource (Resource *resource)
ResourcetakeResource (Resource *resource)
void deleteResource (int)
ResourcegetResource (int)
RiskgetRisk (int)
QList< ResourceavailableResources (const DateTime start, const Duration duration, int num)
void addRequiredResource (ResourceGroup *)
ResourceGroupgetRequiredResource (int)
void deleteRequiredResource (int)
int numResources () const
QList< Resource * > & resources ()
bool load (QDomElement &element)
void save (QDomElement &element) const
void initiateCalculation (Schedule &sch)
void addNode (Node *node)
void clearNodes ()
CalendardefaultCalendar ()
int units ()
void registerRequest (ResourceGroupRequest *request)
void unregisterRequest (ResourceGroupRequest *request)
const QList< ResourceGroupRequest * > & requests () const
ResourceGroupfindId () const
ResourceGroupfindId (const QString &id) const
bool removeId ()
bool removeId (const QString &id)
void insertId (const QString &id)
Appointment appointmentIntervals () const
void printDebug (QString ident)

Private Attributes

Projectm_project
QString m_id
QString m_name
QList< Resource * > m_resources
QList< Risk * > m_risks
QList< ResourceGroup * > m_requires
QList< Node * > m_nodes
Calendarm_defaultCalendar
Type m_type
QList< ResourceGroupRequest * > m_requests


Detailed Description

This class represents a group of similar resources to be assigned to a task e.g. The list of employees, computer resources, etc

Definition at line 66 of file kptresource.h.


Member Enumeration Documentation

enum KPlato::ResourceGroup::Type

Enumerator:
Type_Work 
Type_Material 

Definition at line 72 of file kptresource.h.


Constructor & Destructor Documentation

KPlato::ResourceGroup::ResourceGroup ( Project project  ) 

Definition at line 39 of file kptresource.cc.

References generateId(), m_project, m_type, project(), and Type_Work.

KPlato::ResourceGroup::~ResourceGroup (  ) 

Definition at line 46 of file kptresource.cc.

References findId(), m_resources, and removeId().


Member Function Documentation

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

Definition at line 74 of file kptresource.h.

References m_id.

Referenced by KPlato::ResourceGroupRequest::save().

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

Definition at line 57 of file kptresource.cc.

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

Referenced by load().

void KPlato::ResourceGroup::generateId (  ) 

Definition at line 83 of file kptresource.cc.

References findId(), insertId(), m_id, and removeId().

Referenced by ResourceGroup().

Project* KPlato::ResourceGroup::project (  )  [inline]

Definition at line 78 of file kptresource.h.

References m_project.

Referenced by KPlato::RemoveResourceGroupCmd::execute(), ResourceGroup(), and KPlato::RemoveResourceGroupCmd::unexecute().

void KPlato::ResourceGroup::setName ( QString  n  )  [inline]

Definition at line 80 of file kptresource.h.

References m_name.

Referenced by KPlato::ModifyResourceGroupNameCmd::execute(), KPlato::GroupItem::setName(), and KPlato::ModifyResourceGroupNameCmd::unexecute().

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

Definition at line 81 of file kptresource.h.

References m_name.

Referenced by KPlato::ResourcesPanel::buildCommand(), KPlato::ResourceView::draw(), KPlato::ReportTagsPrivate::getData(), KPlato::GroupItem::GroupItem(), KPlato::GroupLVItem::GroupLVItem(), KPlato::ModifyResourceGroupNameCmd::ModifyResourceGroupNameCmd(), KPlato::ResourceGroupRequest::printDebug(), and setId().

void KPlato::ResourceGroup::setType ( Type  type  )  [inline]

Definition at line 82 of file kptresource.h.

References m_type.

Type KPlato::ResourceGroup::type (  )  const [inline]

Definition at line 84 of file kptresource.h.

References m_type.

Referenced by KPlato::ResourceRequestCollection::duration(), and KPlato::ResourceGroupRequest::workUnits().

void KPlato::ResourceGroup::addResource ( Resource ,
Risk  
)

Manage the resources in this list

At some point we will have to look at not mixing types of resources (e.g. you can't add a person to a list of computers

Risks must always be associated with a resource, so there is no option to manipulate risks (Risk) separately

Definition at line 97 of file kptresource.cc.

References m_resources.

Referenced by KPlato::AddResourceCmd::execute(), load(), and KPlato::GroupItem::saveResources().

void KPlato::ResourceGroup::insertResource ( unsigned int  index,
Resource resource 
)

void KPlato::ResourceGroup::deleteResource ( Resource resource  ) 

Definition at line 109 of file kptresource.cc.

References m_resources.

Resource * KPlato::ResourceGroup::takeResource ( Resource resource  ) 

Definition at line 116 of file kptresource.cc.

References m_resources.

Referenced by KPlato::AddResourceCmd::unexecute().

void KPlato::ResourceGroup::deleteResource ( int   ) 

Definition at line 123 of file kptresource.cc.

Resource * KPlato::ResourceGroup::getResource ( int   ) 

Definition at line 101 of file kptresource.cc.

Risk * KPlato::ResourceGroup::getRisk ( int   ) 

Definition at line 105 of file kptresource.cc.

QList<Resource> KPlato::ResourceGroup::availableResources ( const DateTime  start,
const Duration  duration,
int  num 
)

Get the "num" resources which is available in the time frame defined by "start" and "duration".

Parameters:
start todo
duration todo
num todo

void KPlato::ResourceGroup::addRequiredResource ( ResourceGroup  ) 

Manage the dependent resources. This is a list of the resource groups that must have available resources for this resource to perform the work

see also getRequiredResource, getRequiredResource

Definition at line 126 of file kptresource.cc.

ResourceGroup * KPlato::ResourceGroup::getRequiredResource ( int   ) 

Manage the dependent resources. This is a list of the resource groups that must have available resources for this resource to perform the work

see also addRequiredResource, getRequiredResource

Definition at line 129 of file kptresource.cc.

void KPlato::ResourceGroup::deleteRequiredResource ( int   ) 

Manage the dependent resources. This is a list of the resource groups that must have available resources for this resource to perform the work

see also getRequiredResource, addRequiredResource

Definition at line 133 of file kptresource.cc.

int KPlato::ResourceGroup::numResources (  )  const [inline]

Definition at line 127 of file kptresource.h.

References m_resources.

Referenced by KPlato::GroupLVItem::insert().

QList<Resource*>& KPlato::ResourceGroup::resources (  )  [inline]

Definition at line 128 of file kptresource.h.

References m_resources.

Referenced by KPlato::ResourceView::drawResources(), KPlato::GroupLVItem::GroupLVItem(), and KPlato::ReportView::setResourceGroupDetail().

bool KPlato::ResourceGroup::load ( QDomElement &  element  ) 

Definition at line 136 of file kptresource.cc.

References addResource(), m_name, m_project, and setId().

void KPlato::ResourceGroup::save ( QDomElement &  element  )  const

Definition at line 159 of file kptresource.cc.

References m_id, m_name, m_resources, and KPlato::Resource::save().

void KPlato::ResourceGroup::initiateCalculation ( Schedule sch  ) 

Definition at line 173 of file kptresource.cc.

References clearNodes(), KPlato::Resource::initiateCalculation(), and m_resources.

void KPlato::ResourceGroup::addNode ( Node node  )  [inline]

Definition at line 135 of file kptresource.h.

References m_nodes.

void KPlato::ResourceGroup::clearNodes (  )  [inline]

Definition at line 136 of file kptresource.h.

References m_nodes.

Referenced by initiateCalculation().

Calendar* KPlato::ResourceGroup::defaultCalendar (  )  [inline]

Definition at line 138 of file kptresource.h.

References m_defaultCalendar.

int KPlato::ResourceGroup::units (  ) 

Definition at line 180 of file kptresource.cc.

References m_resources, and KPlato::Resource::units().

Referenced by KPlato::GroupLVItem::GroupLVItem().

void KPlato::ResourceGroup::registerRequest ( ResourceGroupRequest request  )  [inline]

Definition at line 142 of file kptresource.h.

References m_requests.

Referenced by KPlato::ResourceGroupRequest::load(), and KPlato::ResourceGroupRequest::ResourceGroupRequest().

void KPlato::ResourceGroup::unregisterRequest ( ResourceGroupRequest request  )  [inline]

Definition at line 144 of file kptresource.h.

References m_requests.

Referenced by KPlato::ResourceGroupRequest::~ResourceGroupRequest().

const QList<ResourceGroupRequest*>& KPlato::ResourceGroup::requests (  )  const [inline]

Definition at line 150 of file kptresource.h.

References m_requests.

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

ResourceGroup* KPlato::ResourceGroup::findId (  )  const [inline]

Definition at line 153 of file kptresource.h.

References m_id.

Referenced by generateId(), setId(), and ~ResourceGroup().

ResourceGroup * KPlato::ResourceGroup::findId ( const QString &  id  )  const

Definition at line 188 of file kptresource.cc.

References KPlato::Project::findResourceGroup(), and m_project.

bool KPlato::ResourceGroup::removeId (  )  [inline]

Definition at line 155 of file kptresource.h.

References m_id.

Referenced by generateId(), setId(), and ~ResourceGroup().

bool KPlato::ResourceGroup::removeId ( const QString &  id  ) 

Definition at line 192 of file kptresource.cc.

References m_project, and KPlato::Project::removeResourceGroupId().

void KPlato::ResourceGroup::insertId ( const QString &  id  ) 

Definition at line 196 of file kptresource.cc.

References KPlato::Project::insertResourceGroupId(), and m_project.

Referenced by generateId(), and setId().

Appointment KPlato::ResourceGroup::appointmentIntervals (  )  const

Definition at line 201 of file kptresource.cc.

References KPlato::Resource::appointmentIntervals(), and m_resources.

void KPlato::ResourceGroup::printDebug ( QString  ident  ) 

Definition at line 1210 of file kptresource.cc.

References m_id, m_name, m_resources, and KPlato::Resource::printDebug().


Member Data Documentation

Project* KPlato::ResourceGroup::m_project [private]

Definition at line 167 of file kptresource.h.

Referenced by findId(), insertId(), load(), project(), removeId(), and ResourceGroup().

QString KPlato::ResourceGroup::m_id [private]

Definition at line 168 of file kptresource.h.

Referenced by findId(), generateId(), id(), printDebug(), removeId(), save(), and setId().

QString KPlato::ResourceGroup::m_name [private]

Definition at line 169 of file kptresource.h.

Referenced by load(), name(), printDebug(), save(), and setName().

QList<Resource*> KPlato::ResourceGroup::m_resources [private]

Definition at line 170 of file kptresource.h.

Referenced by addResource(), appointmentIntervals(), deleteResource(), initiateCalculation(), numResources(), printDebug(), resources(), save(), takeResource(), units(), and ~ResourceGroup().

QList<Risk*> KPlato::ResourceGroup::m_risks [private]

Definition at line 171 of file kptresource.h.

QList<ResourceGroup*> KPlato::ResourceGroup::m_requires [private]

Definition at line 172 of file kptresource.h.

QList<Node*> KPlato::ResourceGroup::m_nodes [private]

Definition at line 174 of file kptresource.h.

Referenced by addNode(), and clearNodes().

Calendar* KPlato::ResourceGroup::m_defaultCalendar [private]

Definition at line 176 of file kptresource.h.

Referenced by defaultCalendar().

Type KPlato::ResourceGroup::m_type [private]

Definition at line 177 of file kptresource.h.

Referenced by ResourceGroup(), setType(), and type().

QList<ResourceGroupRequest*> KPlato::ResourceGroup::m_requests [private]

Definition at line 179 of file kptresource.h.

Referenced by registerRequest(), requests(), and unregisterRequest().


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