18 #ifndef _KRADIO_LIBKRADIO_GUI_GUI_LIST_HELPER_H_ 19 #define _KRADIO_LIBKRADIO_GUI_GUI_LIST_HELPER_H_ 25 #include <kdemacros.h> 27 #include <QtCore/QMap> 28 #include <QtCore/QList> 29 #include <QtCore/QString> 30 #include <QtCore/QObject> 31 #include <QtCore/QVariant> 32 #include <QtCore/QObject> 44 virtual void slotOK() = 0;
45 virtual void slotCancel() = 0;
48 virtual void slotUserSelection() = 0;
51 void emitSigDirtyChanged(
bool d);
54 void sigDirtyChanged (
bool dirty);
61 enum SORT_KEY { SORT_BY_ID, SORT_BY_DESCR, SORT_NONE };
68 void setList(TLIST *list) { m_List = list; }
70 void setCurrentItemID(
const TID &
id);
71 void setOrgItemID (
const TID &
id);
74 void alternativesChanged(
const TData &data);
76 const TID getCurrentItemID()
const;
78 int count()
const {
return m_List ? m_List->count() : 0; }
87 void setData(
const QMap<TID, QString> &data);
88 void setData(
const QList<QString> &data);
89 bool containsItemID(
const TID &
id)
const {
return m_List && m_List->findData(
id) >= 0; }
92 void setUserDirty(
bool dirty) { setDirty(dirty, m_alternativeDirty); }
95 void setDirty(
bool userDirty,
bool alternativesDirty)
96 { m_userDirty = userDirty;
97 m_alternativeDirty = alternativesDirty;
128 bool operator > (
const THelpData &d)
const {
return (skey == SORT_BY_ID) ?
id > d.
id : descr > d.
descr; }
129 bool operator < (
const THelpData &d)
const {
return (skey == SORT_BY_ID) ?
id < d.
id : descr < d.
descr; }
135 template <
class TLIST,
class TID>
140 m_alternativeDirty(false),
141 m_ignoreGUIChange(false)
148 template <
class TLIST,
class TID>
161 template <
class TLIST,
class TID>
177 template <
class TLIST,
class TID>
186 template <
class TLIST,
class TID>
193 template <
class TLIST,
class TID>
202 template <
class TLIST,
class TID>
203 template <
class TData>
222 template <
class TLIST,
class TID>
226 QList<THelpData> help_list;
227 for (
typename QMap<TID, QString>::const_iterator it = data.begin(); it != data.end(); ++it) {
235 foreach (item, help_list) {
241 template <
class TLIST,
class TID>
245 QList<QString> data = _data;
251 foreach (item, data) {
252 m_List->addItem(item, item);
257 template <
class TLIST,
class TID>
263 int idx =
m_List->findData(
id);
265 m_List->setCurrentIndex(idx);
267 m_List->setCurrentIndex(0);
274 template <
class TLIST,
class TID>
283 template <
class TLIST,
class TID>
286 int idx =
m_List->currentIndex();
288 const QVariant &data =
m_List->itemData(idx);
289 return data.value<TID>();
void setUserDirty(bool dirty)
virtual void slotCancel()
GUIListHelper(TLIST *list, SORT_KEY skey)
void setAlternativeDirty(bool dirty)
bool containsItemID(const TID &id) const
void setDirty(bool userDirty, bool alternativesDirty)
void setCurrentItemID(const TID &id)
const TID getCurrentItemID() const
virtual void slotUserSelection()=0
void setData(const QMap< TID, QString > &data)
void setAlternativeDirty()
void setOrgItemID(const TID &id)
virtual void slotUserSelection()
void emitSigDirtyChanged(bool d)
THelpData(TID _id, const QString &_descr, SORT_KEY _skey)
void setList(TLIST *list)
virtual void slotCancel()=0
void alternativesChanged(const TData &data)