00001 00002 // 00003 // Copyright (c) 2015, Southwest Research Institute® (SwRI®) 00004 // All rights reserved. 00005 // 00006 // Redistribution and use in source and binary forms, with or without 00007 // modification, are permitted provided that the following conditions are met: 00008 // * Redistributions of source code must retain the above copyright 00009 // notice, this list of conditions and the following disclaimer. 00010 // * Redistributions in binary form must reproduce the above copyright 00011 // notice, this list of conditions and the following disclaimer in the 00012 // documentation and/or other materials provided with the distribution. 00013 // * Neither the name of Southwest Research Institute® (SwRI®) nor the 00014 // names of its contributors may be used to endorse or promote products 00015 // derived from this software without specific prior written permission. 00016 // 00017 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00018 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00019 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00020 // ARE DISCLAIMED. IN NO EVENT SHALL Southwest Research Institute® BE LIABLE 00021 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00022 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00023 // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00024 // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 00025 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 00026 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 00027 // DAMAGE. 00028 // 00029 // ***************************************************************************** 00030 #ifndef SWRI_PROFILER_TOOLS_TIME_PLOT_WIDGET_H_ 00031 #define SWRI_PROFILER_TOOLS_TIME_PLOT_WIDGET_H_ 00032 00033 #include <QWidget> 00034 00035 QT_BEGIN_NAMESPACE 00036 class QHelpEvent; 00037 QT_END_NAMESPACE 00038 00039 namespace swri_profiler_tools 00040 { 00041 class Profile; 00042 class ProfileDatabase; 00043 class VariantAnimation; 00044 class ProfileDatabase; 00045 class TimePlotWidget : public QWidget 00046 { 00047 Q_OBJECT; 00048 00049 ProfileDatabase *db_; 00050 00051 public: 00052 TimePlotWidget(QWidget *parent=0); 00053 ~TimePlotWidget(); 00054 00055 QSize sizeHint() const; 00056 00057 void setDatabase(ProfileDatabase *db); 00058 00059 public Q_SLOTS: 00060 void setActiveNode(int profile_key, int node_key); 00061 00062 Q_SIGNALS: 00063 void activeNodeChanged(int profile_key, int node_key); 00064 00065 protected: 00066 void paintEvent(QPaintEvent *); 00067 00068 void enterEvent(QEvent *); 00069 void leaveEvent(QEvent *); 00070 void mouseMoveEvent(QMouseEvent *); 00071 void mousePressEvent(QMouseEvent *); 00072 void mouseDoubleClickEvent(QMouseEvent *); 00073 }; // class TimePlotWidget 00074 } // namespace swri_profiler_tools 00075 #endif // SWRI_PROFILER_TOOLS_TIME_PLOT_WIDGET_H_