annotate widgets/ModelDataTableDialog.h @ 401:96531861b2f3

* a bit of progress on retaining current row when sorting changes &c
author Chris Cannam
date Tue, 17 Jun 2008 16:07:56 +0000
parents 32acd578fcba
children 66e01a6c9554
rev   line source
Chris@392 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@392 2
Chris@392 3 /*
Chris@392 4 Sonic Visualiser
Chris@392 5 An audio file viewer and annotation editor.
Chris@392 6 Centre for Digital Music, Queen Mary, University of London.
Chris@392 7 This file copyright 2008 QMUL.
Chris@392 8
Chris@392 9 This program is free software; you can redistribute it and/or
Chris@392 10 modify it under the terms of the GNU General Public License as
Chris@392 11 published by the Free Software Foundation; either version 2 of the
Chris@392 12 License, or (at your option) any later version. See the file
Chris@392 13 COPYING included with this distribution for more information.
Chris@392 14 */
Chris@392 15
Chris@392 16 #ifndef _MODEL_DATA_TABLE_DIALOG_H_
Chris@392 17 #define _MODEL_DATA_TABLE_DIALOG_H_
Chris@392 18
Chris@396 19 #include <QMainWindow>
Chris@392 20
Chris@395 21 class TabularModel;
Chris@392 22 class ModelDataTableModel;
Chris@392 23 class QTableView;
Chris@393 24 class QModelIndex;
Chris@393 25 class Command;
Chris@392 26
Chris@396 27 class ModelDataTableDialog : public QMainWindow
Chris@392 28 {
Chris@392 29 Q_OBJECT
Chris@392 30
Chris@392 31 public:
Chris@398 32 ModelDataTableDialog(TabularModel *model, QString title, QWidget *parent =0);
Chris@392 33 ~ModelDataTableDialog();
Chris@392 34
Chris@394 35 signals:
Chris@394 36 void scrollToFrame(unsigned long frame);
Chris@394 37
Chris@393 38 public slots:
Chris@401 39 void userScrolledToFrame(unsigned long frame);
Chris@401 40 void playbackScrolledToFrame(unsigned long frame);
Chris@400 41 void addCommand(Command *);
Chris@393 42
Chris@393 43 protected slots:
Chris@393 44 void viewClicked(const QModelIndex &);
Chris@393 45 void viewPressed(const QModelIndex &);
Chris@400 46 void currentChanged(const QModelIndex &, const QModelIndex &);
Chris@401 47 void currentChangedThroughResort(const QModelIndex &);
Chris@399 48
Chris@399 49 void insertRow();
Chris@400 50 void deleteRows();
Chris@399 51 void editRow();
Chris@393 52
Chris@392 53 protected:
Chris@401 54 void makeCurrent(int row);
Chris@392 55 ModelDataTableModel *m_table;
Chris@392 56 QTableView *m_tableView;
Chris@400 57 int m_currentRow;
Chris@401 58 bool m_trackPlayback;
Chris@392 59 };
Chris@392 60
Chris@392 61 #endif