Mixxx

/home/maxime/Projets/Mixxx/1.10/mixxx/src/widget/wtracktableviewheader.h

Go to the documentation of this file.
00001 // wtracktableviewheader.h
00002 // Created 1/2/2010 by RJ Ryan (rryan@mit.edu)
00003 
00004 #ifndef WTRACKTABLEVIEWHEADER_H
00005 #define WTRACKTABLEVIEWHEADER_H
00006 
00007 #include <QAction>
00008 #include <QHeaderView>
00009 #include <QMap>
00010 #include <QMenu>
00011 #include <QSignalMapper>
00012 #include <QWidget>
00013 #include <QContextMenuEvent>
00014 
00015 class TrackModel;
00016 
00017 class WTrackTableViewHeader : public QHeaderView {
00018     Q_OBJECT
00019   public:
00020     WTrackTableViewHeader(Qt::Orientation orientation, QWidget* parent = 0);
00021     virtual ~WTrackTableViewHeader();
00022 
00023     void contextMenuEvent(QContextMenuEvent* event);
00024     virtual void setModel(QAbstractItemModel* model);
00025 
00026     void saveHeaderState();
00027     void restoreHeaderState();
00029     bool hasPersistedHeaderState();
00030 
00031   private slots:
00032     void showOrHideColumn(int);
00033 
00034   private:
00035     int hiddenCount();
00036     void clearActions();
00037     TrackModel* getTrackModel();
00038 
00039     QMenu m_menu;
00040     QMap<int, QAction*> m_columnActions;
00041     QSignalMapper m_signalMapper;
00042 };
00043 
00044 #endif /* WTRACKTABLEVIEWHEADER_H */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines