00001 /****************************************************************************** 00002 * Copyright (C) 2015 by Ralf Kaestner * 00003 * ralf.kaestner@gmail.com * 00004 * * 00005 * This program is free software; you can redistribute it and/or modify * 00006 * it under the terms of the Lesser GNU General Public License as published by* 00007 * the Free Software Foundation; either version 3 of the License, or * 00008 * (at your option) any later version. * 00009 * * 00010 * This program is distributed in the hope that it will be useful, * 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00013 * Lesser GNU General Public License for more details. * 00014 * * 00015 * You should have received a copy of the Lesser GNU General Public License * 00016 * along with this program. If not, see <http://www.gnu.org/licenses/>. * 00017 ******************************************************************************/ 00018 00019 #ifndef RQT_MULTIPLOT_PLOT_TABLE_CONFIG_WIDGET_H 00020 #define RQT_MULTIPLOT_PLOT_TABLE_CONFIG_WIDGET_H 00021 00022 #include <QMenu> 00023 #include <QWidget> 00024 00025 #include <rqt_multiplot/PlotTableConfig.h> 00026 00027 namespace Ui { 00028 class PlotTableConfigWidget; 00029 }; 00030 00031 namespace rqt_multiplot { 00032 class PlotTableWidget; 00033 00034 class PlotTableConfigWidget : 00035 public QWidget { 00036 Q_OBJECT 00037 public: 00038 PlotTableConfigWidget(QWidget* parent = 0); 00039 virtual ~PlotTableConfigWidget(); 00040 00041 void setConfig(PlotTableConfig* config); 00042 PlotTableConfig* getConfig() const; 00043 void setPlotTable(PlotTableWidget* plotTable); 00044 PlotTableWidget* getPlotTableWidget() const; 00045 void runPlots(); 00046 00047 protected: 00048 bool eventFilter(QObject* object, QEvent* event); 00049 00050 private: 00051 Ui::PlotTableConfigWidget* ui_; 00052 00053 QMenu* menuImportExport_; 00054 00055 PlotTableConfig* config_; 00056 PlotTableWidget* plotTable_; 00057 00058 private slots: 00059 void configBackgroundColorChanged(const QColor& color); 00060 void configForegroundColorChanged(const QColor& color); 00061 void configNumPlotsChanged(size_t numRows, size_t numColumns); 00062 void configLinkScaleChanged(bool link); 00063 void configLinkCursorChanged(bool link); 00064 void configTrackPointsChanged(bool track); 00065 00066 void spinBoxRowsValueChanged(int value); 00067 void spinBoxColumnsValueChanged(int value); 00068 00069 void checkBoxLinkScaleStateChanged(int state); 00070 void checkBoxLinkCursorStateChanged(int state); 00071 void checkBoxTrackPointsStateChanged(int state); 00072 00073 void pushButtonRunClicked(); 00074 void pushButtonPauseClicked(); 00075 void pushButtonClearClicked(); 00076 void pushButtonImportExportClicked(); 00077 void menuImportBagFileTriggered(); 00078 void menuExportImageFileTriggered(); 00079 void menuExportTextFileTriggered(); 00080 00081 void plotTablePlotPausedChanged(); 00082 void plotTableJobStarted(const QString& toolTip); 00083 void plotTableJobProgressChanged(double progress); 00084 void plotTableJobFinished(const QString& toolTip); 00085 void plotTableJobFailed(const QString& toolTip); 00086 }; 00087 }; 00088 00089 #endif