KPlato::Duration Class Reference

#include <kptduration.h>

List of all members.

Public Types

enum  Format {
  Format_DayTime, Format_Day, Format_Hour, Format_HourFraction,
  Format_i18nDayTime, Format_i18nDay, Format_i18nHour, Format_i18nHourFraction
}
enum  Unit {
  Unit_d, Unit_h, Unit_m, Unit_s,
  Unit_ms
}

Public Member Functions

 Duration ()
 Duration (const Duration &d)
 Duration (unsigned d, unsigned h, unsigned m, unsigned s=0, unsigned ms=0)
 Duration (qint64 seconds)
 ~Duration ()
void addMilliseconds (qint64 delta)
void addSeconds (qint64 delta)
void addMinutes (qint64 delta)
void addHours (qint64 delta)
void addDays (qint64 delta)
qint64 milliseconds () const
qint64 seconds () const
qint64 minutes () const
unsigned hours () const
unsigned days () const
void get (unsigned *days, unsigned *hours, unsigned *minutes, unsigned *seconds=0, unsigned *milliseconds=0) const
bool operator== (const Duration &d) const
bool operator== (qint64 d) const
bool operator!= (const Duration &d) const
bool operator!= (qint64 d) const
bool operator< (const Duration &d) const
bool operator< (qint64 d) const
bool operator<= (const Duration &d) const
bool operator<= (qint64 d) const
bool operator> (const Duration &d) const
bool operator> (qint64 d) const
bool operator>= (const Duration &d) const
bool operator>= (qint64 d) const
Durationoperator= (const Duration &d)
Duration operator * (int unit) const
Duration operator * (const double value) const
Duration operator/ (int unit) const
double operator/ (const Duration &d) const
Duration operator+ (const Duration &d) const
Durationoperator+= (const Duration &d)
Duration operator- (const Duration &d) const
Durationoperator-= (const Duration &d)
QString toString (Format format=Format_DayTime) const
double toDouble (Unit u=Unit_ms) const

Static Public Member Functions

static Duration fromString (const QString &s, Format format=Format_DayTime, bool *ok=0)

Static Public Attributes

static const Duration zeroDuration

Private Member Functions

void add (qint64 delta)
void add (const Duration &delta)
void subtract (const Duration &delta)

Private Attributes

qint64 m_ms


Detailed Description

The duration class can be used to store a timespan in a convenient format. The timespan can be in length in many many hours down to miliseconds.

Definition at line 34 of file kptduration.h.


Member Enumeration Documentation

enum KPlato::Duration::Format

DayTime = d hh:mm:ss.sss Day = d.ddd Hour = hh:mm HourFraction = h.fraction of an hour

Enumerator:
Format_DayTime 
Format_Day 
Format_Hour 
Format_HourFraction 
Format_i18nDayTime 
Format_i18nDay 
Format_i18nHour 
Format_i18nHourFraction 

Definition at line 42 of file kptduration.h.

enum KPlato::Duration::Unit

Enumerator:
Unit_d 
Unit_h 
Unit_m 
Unit_s 
Unit_ms 

Definition at line 113 of file kptduration.h.


Constructor & Destructor Documentation

KPlato::Duration::Duration (  ) 

Definition at line 35 of file kptduration.cc.

References m_ms.

Referenced by fromString().

KPlato::Duration::Duration ( const Duration d  ) 

Definition at line 39 of file kptduration.cc.

References m_ms.

KPlato::Duration::Duration ( unsigned  d,
unsigned  h,
unsigned  m,
unsigned  s = 0,
unsigned  ms = 0 
)

Definition at line 43 of file kptduration.cc.

References m_ms.

KPlato::Duration::Duration ( qint64  seconds  ) 

Definition at line 51 of file kptduration.cc.

References m_ms.

KPlato::Duration::~Duration (  ) 

Definition at line 55 of file kptduration.cc.


Member Function Documentation

void KPlato::Duration::addMilliseconds ( qint64  delta  )  [inline]

Adds

Parameters:
delta to *this. If
delta > *this, *this is set to zeroDuration.

Definition at line 53 of file kptduration.h.

References add().

Referenced by addSeconds(), fromString(), and KPlato::DurationWidget::value().

void KPlato::Duration::addSeconds ( qint64  delta  )  [inline]

Adds

Parameters:
delta to *this. If
delta > *this, *this is set to zeroDuration.

Definition at line 58 of file kptduration.h.

References addMilliseconds().

Referenced by addMinutes(), KPlato::DateTime::duration(), and fromString().

void KPlato::Duration::addMinutes ( qint64  delta  )  [inline]

Adds

Parameters:
delta to *this. If
delta > *this, *this is set to zeroDuration.

Definition at line 63 of file kptduration.h.

References addSeconds().

Referenced by addHours(), and fromString().

void KPlato::Duration::addHours ( qint64  delta  )  [inline]

Adds

Parameters:
delta to *this. If
delta > *this, *this is set to zeroDuration.

Definition at line 68 of file kptduration.h.

References addMinutes().

Referenced by addDays(), and fromString().

void KPlato::Duration::addDays ( qint64  delta  )  [inline]

Adds

Parameters:
delta to *this. If
delta > *this, *this is set to zeroDuration.

Definition at line 73 of file kptduration.h.

References addHours().

Referenced by KPlato::DateTime::duration(), fromString(), and KPlato::Node::init().

qint64 KPlato::Duration::milliseconds (  )  const [inline]

Definition at line 76 of file kptduration.h.

References m_ms.

Referenced by KPlato::Effort::optimisticRatio(), KPlato::Effort::pessimisticRatio(), and KPlato::DurationWidget::setValue().

qint64 KPlato::Duration::seconds (  )  const [inline]

Definition at line 77 of file kptduration.h.

References m_ms.

Referenced by KPlato::DateTime::add(), minutes(), KPlato::MainSchedule::printDebug(), KPlato::NodeSchedule::printDebug(), KPlato::Config::save(), KPlato::DateTime::subtract(), and toString().

qint64 KPlato::Duration::minutes (  )  const [inline]

Definition at line 78 of file kptduration.h.

References seconds().

Referenced by hours(), KPlato::TaskAppointmentsView::slotUpdate(), KPlato::ResourceAppointmentsView::slotUpdate(), and toString().

unsigned KPlato::Duration::hours (  )  const [inline]

Definition at line 79 of file kptduration.h.

References minutes().

Referenced by days(), KPlato::TaskProgressPanel::TaskProgressPanel(), and toString().

unsigned KPlato::Duration::days (  )  const [inline]

Definition at line 80 of file kptduration.h.

References hours().

Referenced by toString().

void KPlato::Duration::get ( unsigned *  days,
unsigned *  hours,
unsigned *  minutes,
unsigned *  seconds = 0,
unsigned *  milliseconds = 0 
) const

Definition at line 235 of file kptduration.cc.

References m_ms.

Referenced by KPlato::Effort::expectedEffort().

bool KPlato::Duration::operator== ( const Duration d  )  const [inline]

Definition at line 83 of file kptduration.h.

References m_ms.

bool KPlato::Duration::operator== ( qint64  d  )  const [inline]

Definition at line 84 of file kptduration.h.

References m_ms.

bool KPlato::Duration::operator!= ( const Duration d  )  const [inline]

Definition at line 85 of file kptduration.h.

References m_ms.

bool KPlato::Duration::operator!= ( qint64  d  )  const [inline]

Definition at line 86 of file kptduration.h.

References m_ms.

bool KPlato::Duration::operator< ( const Duration d  )  const [inline]

Definition at line 87 of file kptduration.h.

References m_ms.

bool KPlato::Duration::operator< ( qint64  d  )  const [inline]

Definition at line 88 of file kptduration.h.

References m_ms.

bool KPlato::Duration::operator<= ( const Duration d  )  const [inline]

Definition at line 89 of file kptduration.h.

References m_ms.

bool KPlato::Duration::operator<= ( qint64  d  )  const [inline]

Definition at line 90 of file kptduration.h.

References m_ms.

bool KPlato::Duration::operator> ( const Duration d  )  const [inline]

Definition at line 91 of file kptduration.h.

References m_ms.

bool KPlato::Duration::operator> ( qint64  d  )  const [inline]

Definition at line 92 of file kptduration.h.

References m_ms.

bool KPlato::Duration::operator>= ( const Duration d  )  const [inline]

Definition at line 93 of file kptduration.h.

References m_ms.

bool KPlato::Duration::operator>= ( qint64  d  )  const [inline]

Definition at line 94 of file kptduration.h.

References m_ms.

Duration& KPlato::Duration::operator= ( const Duration d  )  [inline]

Definition at line 95 of file kptduration.h.

References m_ms.

Duration KPlato::Duration::operator * ( int  unit  )  const

Definition at line 81 of file kptduration.cc.

References m_ms, and toString().

Duration KPlato::Duration::operator * ( const double  value  )  const

Definition at line 103 of file kptduration.cc.

References m_ms.

Duration KPlato::Duration::operator/ ( int  unit  )  const

Definition at line 92 of file kptduration.cc.

References m_ms, and toString().

double KPlato::Duration::operator/ ( const Duration d  )  const

Definition at line 109 of file kptduration.cc.

References m_ms, toString(), and zeroDuration.

Duration KPlato::Duration::operator+ ( const Duration d  )  const [inline]

Definition at line 101 of file kptduration.h.

References add().

Duration& KPlato::Duration::operator+= ( const Duration d  )  [inline]

Definition at line 103 of file kptduration.h.

References add().

Duration KPlato::Duration::operator- ( const Duration d  )  const [inline]

Definition at line 105 of file kptduration.h.

References subtract().

Duration& KPlato::Duration::operator-= ( const Duration d  )  [inline]

Definition at line 107 of file kptduration.h.

References subtract().

QString KPlato::Duration::toString ( Format  format = Format_DayTime  )  const

Definition at line 117 of file kptduration.cc.

References days(), Format_Day, Format_DayTime, Format_Hour, Format_HourFraction, Format_i18nDay, Format_i18nDayTime, Format_i18nHour, Format_i18nHourFraction, hours(), m_ms, minutes(), seconds(), toDouble(), Unit_d, and Unit_h.

Referenced by KPlato::TaskGeneralPanel::buildCommand(), KPlato::TaskDefaultPanel::buildCommand(), KPlato::ResourceGroupRequest::duration(), KPlato::GanttViewEventItem::insertRelations(), KPlato::GanttViewTaskItem::insertRelations(), KPlato::GanttViewSummaryItem::insertRelations(), KPlato::GanttView::modifyMilestone(), KPlato::GanttView::modifyTask(), operator *(), operator/(), KPlato::MainSchedule::printDebug(), KPlato::NodeSchedule::printDebug(), KPlato::Effort::printDebug(), KPlato::StandardWorktime::printDebug(), KPlato::Task::save(), KPlato::Relation::save(), KPlato::Effort::save(), KPlato::StandardWorktime::save(), KPlato::NodeSchedule::saveXML(), subtract(), CalendarTester::testCalendarWithParent(), CalendarTester::testSingleDay(), and DateTimeTester::testSubtract().

Duration::Duration KPlato::Duration::fromString ( const QString &  s,
Format  format = Format_DayTime,
bool *  ok = 0 
) [static]

Definition at line 190 of file kptduration.cc.

References addDays(), addHours(), addMilliseconds(), addMinutes(), addSeconds(), Duration(), Format_DayTime, Format_Hour, and Format_HourFraction.

Referenced by KPlato::Task::load(), KPlato::Relation::load(), KPlato::Effort::load(), KPlato::StandardWorktime::load(), KPlato::Appointment::UsedEffort::load(), and KPlato::NodeSchedule::loadXML().

double KPlato::Duration::toDouble ( Unit  u = Unit_ms  )  const [inline]

Definition at line 114 of file kptduration.h.

References m_ms, Unit_d, Unit_h, Unit_m, Unit_ms, and Unit_s.

Referenced by KPlato::Appointment::actualCost(), KPlato::Appointment::actualCostTo(), KPlato::StandardWorktime::day(), KPlato::Task::effortPerformanceIndex(), KPlato::StandardWorktime::month(), KPlato::Appointment::plannedCost(), KPlato::Appointment::plannedCostTo(), KPlato::Appointment::plannedPrDay(), KPlato::WeekdayListItem::setIntervals(), toString(), KPlato::StandardWorktime::week(), KPlato::WeekdayListItem::WeekdayListItem(), and KPlato::StandardWorktime::year().

void KPlato::Duration::add ( qint64  delta  )  [private]

Definition at line 62 of file kptduration.cc.

References m_ms.

Referenced by addMilliseconds(), operator+(), and operator+=().

void KPlato::Duration::add ( const Duration delta  )  [private]

Definition at line 58 of file kptduration.cc.

References m_ms.

void KPlato::Duration::subtract ( const Duration delta  )  [private]

Subtracts

Parameters:
delta from *this. If
delta > *this, *this is set to zeroDuration.

Definition at line 72 of file kptduration.cc.

References m_ms, and toString().

Referenced by operator-(), and operator-=().


Member Data Documentation

const Duration KPlato::Duration::zeroDuration [static]

This is useful for occasions where we need a zero duration.

Definition at line 126 of file kptduration.h.

Referenced by KPlato::Node::actualEffort(), KPlato::Node::actualEffortTo(), KPlato::Task::calcDuration(), KPlato::Node::calcDuration(), KPlato::Task::calculateBackward(), KPlato::Task::calculateForward(), KPlato::Task::costPerformanceIndex(), KPlato::ResourceRequestCollection::duration(), KPlato::ResourceGroupRequest::duration(), KPlato::Node::duration(), KPlato::Calendar::effort(), KPlato::CalendarWeekdays::effort(), KPlato::AppointmentInterval::effort(), KPlato::EffortCostMap::effortOnDate(), KPlato::Task::effortPerformanceIndex(), KPlato::GanttViewEventItem::insertRelations(), KPlato::GanttViewTaskItem::insertRelations(), KPlato::GanttViewSummaryItem::insertRelations(), KPlato::GanttView::modifyMilestone(), KPlato::GanttView::modifyTask(), operator/(), KPlato::Effort::optimisticRatio(), KPlato::Effort::pessimisticRatio(), KPlato::Accounts::plannedCost(), KPlato::Resource::plannedEffort(), KPlato::Node::plannedEffort(), KPlato::Node::plannedEffortTo(), KPlato::Task::positiveFloat(), KPlato::Task::scheduleBackward(), KPlato::Task::scheduleForward(), KPlato::Effort::set(), KPlato::View::slotAddMilestone(), KPlato::Node::summarytaskDurationBackward(), and KPlato::Node::summarytaskDurationForward().

qint64 KPlato::Duration::m_ms [private]

Duration in milliseconds. Signed to allow for simple calculations which might go negative for intermediate results.

Definition at line 133 of file kptduration.h.

Referenced by add(), Duration(), get(), milliseconds(), operator *(), operator!=(), operator/(), operator<(), operator<=(), operator=(), operator==(), operator>(), operator>=(), seconds(), subtract(), toDouble(), and toString().


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