annotate widgets/ModelDataTableDialog.h @ 1447:8afea53332f3 single-point

Add option to make pane sizes auto-resize-only (i.e. remove user control via a splitter); also place alignment views above panes instead of below, meaning the extra bit of space that we currently have for the pane without one at least goes to the primary pane
author Chris Cannam
date Tue, 30 Apr 2019 15:53:21 +0100
parents 0ded54e94332
children 9bf8aa2916e9
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@1272 16 #ifndef SV_MODEL_DATA_TABLE_DIALOG_H
Chris@1272 17 #define SV_MODEL_DATA_TABLE_DIALOG_H
Chris@392 18
Chris@396 19 #include <QMainWindow>
Chris@392 20
Chris@908 21 #include "base/BaseTypes.h"
Chris@908 22
Chris@395 23 class TabularModel;
Chris@392 24 class ModelDataTableModel;
Chris@392 25 class QTableView;
Chris@393 26 class QModelIndex;
Chris@393 27 class Command;
Chris@404 28 class QToolBar;
Chris@552 29 class QLineEdit;
Chris@392 30
Chris@396 31 class ModelDataTableDialog : public QMainWindow
Chris@392 32 {
Chris@392 33 Q_OBJECT
Chris@392 34
Chris@392 35 public:
Chris@404 36 ModelDataTableDialog(TabularModel *model,
Chris@404 37 QString title, QWidget *parent =0);
Chris@392 38 ~ModelDataTableDialog();
Chris@392 39
Chris@404 40 QToolBar *getPlayToolbar() { return m_playToolbar; }
Chris@404 41
Chris@394 42 signals:
Chris@908 43 void scrollToFrame(sv_frame_t frame);
Chris@394 44
Chris@393 45 public slots:
Chris@908 46 void userScrolledToFrame(sv_frame_t frame);
Chris@908 47 void playbackScrolledToFrame(sv_frame_t frame);
Chris@400 48 void addCommand(Command *);
Chris@393 49
Chris@393 50 protected slots:
Chris@393 51 void viewClicked(const QModelIndex &);
Chris@393 52 void viewPressed(const QModelIndex &);
Chris@400 53 void currentChanged(const QModelIndex &, const QModelIndex &);
Chris@401 54 void currentChangedThroughResort(const QModelIndex &);
Chris@552 55 void searchTextChanged(const QString &);
Chris@552 56 void searchRepeated();
Chris@399 57
Chris@399 58 void insertRow();
Chris@400 59 void deleteRows();
Chris@399 60 void editRow();
Chris@402 61 void togglePlayTracking();
Chris@393 62
Chris@428 63 void modelRemoved();
Chris@428 64
Chris@392 65 protected:
Chris@401 66 void makeCurrent(int row);
Chris@392 67 ModelDataTableModel *m_table;
Chris@404 68 QToolBar *m_playToolbar;
Chris@392 69 QTableView *m_tableView;
Chris@552 70 QLineEdit *m_find;
Chris@400 71 int m_currentRow;
Chris@401 72 bool m_trackPlayback;
Chris@392 73 };
Chris@392 74
Chris@392 75 #endif