Applets
abstractgroupingstrategy.h
Go to the documentation of this file.00001 /* 00002 Copyright (C) 2007 Robert Knight <robertknight@gmail.com> 00003 00004 This program is free software; you can redistribute it and/or modify 00005 it under the terms of the GNU General Public License as published by 00006 the Free Software Foundation; either version 2 of the License, or 00007 (at your option) any later version. 00008 00009 This program is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 GNU General Public License for more details. 00013 00014 You should have received a copy of the GNU General Public License 00015 along with this program; if not, write to the 00016 Free Software Foundation, Inc., 00017 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . 00018 */ 00019 00020 #ifndef ABSTRACTGROUPINGSTRATEGY_H 00021 #define ABSTRACTGROUPINGSTRATEGY_H 00022 00027 class AbstractGroupingStrategy 00028 { 00029 public: 00030 virtual ~AbstractGroupingStrategy() {}; 00031 00035 class GroupSuggestion 00036 { 00037 public: 00042 GroupSuggestion(const QString &name, 00043 const QSet<AbstractTaskItem*> &tasks); 00044 00046 QString name() const; 00048 QSet<AbstractTaskItem*> tasks() const; 00049 private: 00050 QString _name; 00051 QSet<AbstractTaskItem*> _tasks; 00052 }; 00053 00064 virtual QList<GroupSuggestion> suggestGroups(const QSet<AbstractTaskItem*> tasks) = 0; 00065 }; 00066 00067 #endif