benoitrigolleau@56: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ benoitrigolleau@56: benoitrigolleau@56: /* benoitrigolleau@56: Sound Access benoitrigolleau@56: EASAIER client application. benoitrigolleau@56: Silogic 2007. Benoit Rigolleau. benoitrigolleau@56: benoitrigolleau@56: This program is free software; you can redistribute it and/or benoitrigolleau@56: modify it under the terms of the GNU General Public License as benoitrigolleau@56: published by the Free Software Foundation; either version 2 of the benoitrigolleau@56: License, or (at your option) any later version. See the file benoitrigolleau@56: COPYING included with this distribution for more information. benoitrigolleau@56: */ benoitrigolleau@56: benoitrigolleau@56: benoitrigolleau@56: #ifndef _GENERIC_ITEM_LIST_H benoitrigolleau@56: #define _GENERIC_ITEM_LIST_H benoitrigolleau@56: benoitrigolleau@56: #include benoitrigolleau@56: #include benoitrigolleau@56: benoitrigolleau@56: class GenericItemList : public QFrame{ benoitrigolleau@56: Q_OBJECT benoitrigolleau@56: benoitrigolleau@56: public: benoitrigolleau@56: GenericItemList(QWidget *parent=0); benoitrigolleau@133: ~GenericItemList(); benoitrigolleau@56: void setData(QVariant &data); benoitrigolleau@56: void setIndex(int index); benoitrigolleau@56: virtual void configAction(); benoitrigolleau@59: void setAcceptDrag(bool status); benoitrigolleau@56: lbajardsilogic@79: virtual void setName(QString &name) = 0; lbajardsilogic@79: virtual QString getName() = 0; lbajardsilogic@79: benoitrigolleau@56: signals : benoitrigolleau@56: void doubleClicked(); benoitrigolleau@56: void selected(int index=0); benoitrigolleau@56: void itemDropped(int origine, int destination); benoitrigolleau@56: benoitrigolleau@56: protected: benoitrigolleau@56: void mousePressEvent(QMouseEvent *evt); benoitrigolleau@56: void mouseReleaseEvent(QMouseEvent *evt); benoitrigolleau@56: void mouseMoveEvent(QMouseEvent *evt); benoitrigolleau@56: void dragEnterEvent(QDragEnterEvent *evt); benoitrigolleau@56: void dragMoveEvent(QDragMoveEvent *evt); benoitrigolleau@56: void mouseDoubleClickEvent(QMouseEvent *evt); benoitrigolleau@56: void dropEvent(QDropEvent *evt); benoitrigolleau@56: //void focusOutEvent ( QFocusEvent *evt ); benoitrigolleau@56: //void focusInEvent ( QFocusEvent *evt ); benoitrigolleau@56: int m_index; benoitrigolleau@56: benoitrigolleau@56: benoitrigolleau@56: private: benoitrigolleau@56: void startDrag(); benoitrigolleau@56: QPoint m_startPos; benoitrigolleau@56: bool m_clicked; benoitrigolleau@59: bool m_acceptDrag; benoitrigolleau@56: benoitrigolleau@56: benoitrigolleau@56: }; benoitrigolleau@56: #endif