Mercurial > hg > svgui
view widgets/Pane.h @ 121:7363cacf7de0
* start work on prefs dialog
* some work on highlighting local points in spectrogram
author | Chris Cannam |
---|---|
date | Thu, 20 Jul 2006 16:51:20 +0000 |
parents | 803830f186ef |
children |
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ /* Sonic Visualiser An audio file viewer and annotation editor. Centre for Digital Music, Queen Mary, University of London. This file copyright 2006 Chris Cannam. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See the file COPYING included with this distribution for more information. */ #ifndef _PANE_H_ #define _PANE_H_ #include <QFrame> #include <QPoint> #include "base/ZoomConstraint.h" #include "base/View.h" #include "base/Selection.h" class QWidget; class QPaintEvent; class Layer; class Pane : public View { Q_OBJECT public: Pane(QWidget *parent = 0); virtual QString getPropertyContainerIconName() const { return "pane"; } virtual bool shouldIlluminateLocalFeatures(const Layer *layer, QPoint &pos) const; virtual bool shouldIlluminateLocalSelection(QPoint &pos, bool &closeToLeft, bool &closeToRight) const; void setCentreLineVisible(bool visible); bool getCentreLineVisible() const { return m_centreLineVisible; } virtual QString toXmlString(QString indent = "", QString extraAttributes = "") const; signals: void paneInteractedWith(); void rightButtonMenuRequested(QPoint position); public slots: virtual void toolModeChanged(); protected: virtual void paintEvent(QPaintEvent *e); virtual void mousePressEvent(QMouseEvent *e); virtual void mouseReleaseEvent(QMouseEvent *e); virtual void mouseMoveEvent(QMouseEvent *e); virtual void mouseDoubleClickEvent(QMouseEvent *e); virtual void leaveEvent(QEvent *e); virtual void wheelEvent(QWheelEvent *e); Selection getSelectionAt(int x, bool &closeToLeft, bool &closeToRight) const; bool editSelectionStart(QMouseEvent *e); bool editSelectionDrag(QMouseEvent *e); bool editSelectionEnd(QMouseEvent *e); bool selectionIsBeingEdited() const; bool m_identifyFeatures; QPoint m_identifyPoint; QPoint m_clickPos; QPoint m_mousePos; bool m_clickedInRange; bool m_shiftPressed; bool m_ctrlPressed; bool m_navigating; bool m_resizing; size_t m_dragCentreFrame; bool m_centreLineVisible; size_t m_selectionStartFrame; Selection m_editingSelection; int m_editingSelectionEdge; }; #endif