00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef EASYSOK_SOLUTION_LIST_VIEW_INC_GUARD_H
00022 #define EASYSOK_SOLUTION_LIST_VIEW_INC_GUARD_H
00023
00024
00025 #include <vector>
00026
00027 #include <klistview.h>
00028 #include <qstring.h>
00029
00030
00031 class CompressedMap;
00032 class QListViewItem;
00033 class QString;
00034
00035
00036
00037
00045 class SolutionListView : public KListView
00046 {
00047 Q_OBJECT
00048
00049 public:
00050
00059 SolutionListView(CompressedMap const & map, QWidget * parent = 0, const char * name = 0);
00060
00061
00066 SolutionListView(int index, QWidget * parent = 0, const char * name = 0);
00067
00068
00073 int numberOfSolutions() const;
00074
00075
00082 bool isHidden(int index) const;
00083
00084
00092 void setHidden(int index, bool hide);
00093
00094
00101 int pushes(int index) const;
00102
00103
00111 void setPushes(int index, int pushes);
00112
00113
00120 int linearPushes(int index) const;
00121
00122
00130 void setLinearPushes(int index, int pushes);
00131
00132
00139 int gemChanges(int index) const;
00140
00141
00149 void setGemChanges(int index, int gem_changes);
00150
00151
00158 int moves(int index) const;
00159
00160
00168 void setMoves(int index, int moves);
00169
00170
00177 QString annotation(int index) const;
00178
00179
00187 void setAnnotation(int index, QString const & annotation);
00188
00189
00194 std::vector<int> selectedSolutions() const;
00195
00196
00197 signals:
00198
00205 void clickedSolution(int index);
00206
00207
00208 private slots:
00209
00214 void solutionSelected(QListViewItem * item);
00215
00216
00217 private:
00218
00225 void setup(int index);
00226
00227
00232 std::vector<QListViewItem *> m_items;
00233
00234
00239 std::vector<int> m_hidden;
00240 };
00241
00242
00243 #endif