Files
GoldenCheetah/src/AllPlotWindow.h
2009-12-12 11:41:35 -05:00

91 lines
2.4 KiB
C++

/*
* Copyright (c) 2009 Sean C. Rhea (srhea@srhea.net)
*
* 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.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef _GC_AllPlotWindow_h
#define _GC_AllPlotWindow_h 1
#include <QtGui>
class AllPlot;
class MainWindow;
class QwtPlotPanner;
class QwtPlotZoomer;
class QwtPlotPicker;
class QwtPlotMarker;
class RideItem;
class IntervalItem;
class AllPlotWindow : public QWidget
{
Q_OBJECT
public:
AllPlotWindow(MainWindow *mainWindow);
void setData(RideItem *ride);
void setStartSelection(double seconds);
void setEndSelection(double seconds, bool newInterval, QString name);
void clearSelection();
void hideSelection();
void zoomInterval(IntervalItem *); // zoom into a specified interval
public slots:
void setSmoothingFromSlider();
void setSmoothingFromLineEdit();
void rideSelected();
void intervalSelected();
void zonesChanged();
void intervalsChanged();
protected:
// whilst we refactor, lets make friend
friend class IntervalPlotData;
friend class MainWindow;
void setAllPlotWidgets(RideItem *rideItem);
MainWindow *mainWindow;
AllPlot *allPlot;
QwtPlotPanner *allPanner;
QwtPlotZoomer *allZoomer;
QwtPlotPicker *allPicker;
int selection;
QwtPlotMarker *allMarker1;
QwtPlotMarker *allMarker2;
QwtPlotMarker *allMarker3;
QCheckBox *showHr;
QCheckBox *showSpeed;
QCheckBox *showCad;
QCheckBox *showAlt;
QComboBox *showPower;
QSlider *smoothSlider;
QLineEdit *smoothLineEdit;
private:
void showInfo(QString);
private slots:
void plotPickerMoved(const QPoint &);
void plotPickerSelected(const QPoint &);
};
#endif // _GC_AllPlotWindow_h