/*
* TaskList.h - TaskJuggler
*
- * Copyright (c) 2001, 2002, 2003 by Chris Schlaeger <cs@suse.de>
+ * Copyright (c) 2001, 2002, 2003, 2004 by Chris Schlaeger <cs@kde.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of version 2 of the GNU General Public License as
#ifndef _TaskList_h_
#define _TaskList_h_
-#include "CoreAttributes.h"
+#include "CoreAttributesList.h"
+class QString;
class Task;
/**
* @short The class stores a list of tasks.
- * @see Task
- * @author Chris Schlaeger <cs@suse.de>
+ * @see Task
+ * @author Chris Schlaeger <cs@kde.org>
*/
class TaskList : public virtual CoreAttributesList
{
public:
- TaskList()
- {
- sorting[0] = CoreAttributesList::TreeMode;
- sorting[1] = CoreAttributesList::StartUp;
- sorting[2] = CoreAttributesList::EndUp;
- }
- virtual ~TaskList() { }
+ TaskList() :
+ CoreAttributesList(),
+ sortScenario(0)
+ {
+ sorting[0] = CoreAttributesList::TreeMode;
+ sorting[1] = CoreAttributesList::StartUp;
+ sorting[2] = CoreAttributesList::EndUp;
+ }
- Task* first() { return (Task*) CoreAttributesList::first(); }
- Task* last() { return (Task*) CoreAttributesList::last(); }
- Task* prev() { return (Task*) CoreAttributesList::prev(); }
- Task* next() { return (Task*) CoreAttributesList::next(); }
+ TaskList(const TaskList& tl) :
+ CoreAttributesList(tl),
+ sortScenario(tl.sortScenario)
+ { }
- Task* getTask(const QString& id) const;
+ virtual ~TaskList() { }
- static bool isSupportedSortingCriteria(int sc);
-
- virtual int compareItemsLevel(Task* t1, Task* T2, int level);
+ Task* getTask(const QString& id) const;
+
+ static bool isSupportedSortingCriteria(int sc);
+
+ virtual int compareItemsLevel(CoreAttributes* c1, CoreAttributes* c2,
+ int level);
+
+ void setSortScenario(int sc) { sortScenario = sc; }
protected:
- virtual int compareItems(QCollection::Item i1, QCollection::Item i2);
+ int sortScenario;
} ;
/**
* @short Iterator class for TaskList objects.
* @see TaskList
- * @author Chris Schlaeger <cs@suse.de>
+ * @author Chris Schlaeger <cs@kde.org>
*/
-class TaskListIterator : public virtual CoreAttributesListIterator
+class TaskListIterator : public virtual CoreAttributesListIterator
{
public:
- TaskListIterator(const CoreAttributesList& l) :
- CoreAttributesListIterator(l) { }
- ~TaskListIterator() { }
- Task* operator*() { return (Task*) get(); }
+ TaskListIterator(const CoreAttributesList& l) :
+ CoreAttributesListIterator(l) { }
+ virtual ~TaskListIterator() { }
+ Task* operator*() { return static_cast<Task*>(get()); }
} ;
#endif