| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | /*= StarPU-Top for StarPU =Copyright (C) 2011 William BraikYann CourtoisJean-Marie CouteyenAnthony RoyThis library is free software; you can redistribute it and/ormodify it under the terms of the GNU Lesser General PublicLicense as published by the Free Software Foundation; eitherversion 2.1 of the License, or (at your option) any later version.This library is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNULesser General Public License for more details.You should have received a copy of the GNU Lesser General PublicLicense along with this library; if not, write to the Free SoftwareFoundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA*/#ifndef DATAAGGREGATORWIDGET_H#define DATAAGGREGATORWIDGET_Hclass MainWindow;class WidgetWindowsManager;class QwtPlotItem;class QwtPlotCurve;class QwtPlot;#include <QHash>#include <QAction>#include "starpu_top_types.h"#include "abstractwidgetwindow.h"class DataAggregatorWidget : public AbstractWidgetWindow{ /* Aggregates data from different data sources so they can     be easily compared. Each data source is displayed as a curve     in a plot widget. */    Q_OBJECTpublic:    explicit DataAggregatorWidget(            WidgetWindowsManager *widgetWindowsManager,            MainWindow *mainWindow,            bool inside = false,            QList<int> dataIds = QList<int>());    ~DataAggregatorWidget();    // Getters    QSize minimumInternalWidgetSize() const;    QList<int> aggregatedData() const;private:    // Metadata    // Curve colors    QList<QColor> _curveColors;    QListIterator<QColor> *_colorIterator;    // Bound data descriptions    QHash<int, QwtPlotCurve*> _curves;    QHash<int, CurveData> _curvesData;    // GUI components    QToolButton *_addDataButton;    QToolButton *_removeDataButton;    QwtPlot *_plot;    // Events    void closeEvent(QCloseEvent *ce);public slots:    void addData(int dataId);    void removeData(int dataId);private slots:    void createInternalWidget();    void update(int value, int dataId);    void update(double value, int dataId);    void curveChecked(QwtPlotItem *curve, bool checked);    void dataAdded();    void dataRemoved();    void disableData(int dataId);    void enableData(int dataId);};#endif // DATAAGGREGATORWIDGET_H
 |