tabbedplotwidget.h
Go to the documentation of this file.
00001 #ifndef TABBEDPLOTWIDGET_H
00002 #define TABBEDPLOTWIDGET_H
00003 
00004 #include <QWidget>
00005 #include <QMainWindow>
00006 #include <QTableWidget>
00007 #include "plotmatrix.h"
00008 
00009 namespace Ui {
00010 class TabbedPlotWidget;
00011 }
00012 
00013 
00014 class TabbedPlotWidget : public QWidget
00015 {
00016     Q_OBJECT
00017 
00018 public:
00019     typedef struct{} MainWindowArea;
00020 
00021     explicit TabbedPlotWidget(QString name,
00022                               QMainWindow *main_window,
00023                               PlotMatrix* first_tab,
00024                               PlotDataMap &mapped_data,
00025                               QMainWindow *parent );
00026 
00027     PlotMatrix* currentTab();
00028 
00029     QTabWidget* tabWidget();
00030 
00031     void addTab(PlotMatrix *tab = NULL);
00032 
00033     QDomElement xmlSaveState(QDomDocument &doc) const;
00034     bool xmlLoadState(QDomElement &tabbed_area);
00035 
00036     ~TabbedPlotWidget();
00037 
00038     QString name() const { return _name; }
00039 
00040     static const std::map<QString,TabbedPlotWidget*>& instances();
00041 
00042     static TabbedPlotWidget *instance(const QString& key);
00043 
00044     void setControlsVisible(bool visible);
00045 
00046 public slots:
00047 
00048     void setStreamingMode(bool streaming_mode);
00049 
00050 private slots:
00051 
00052     void on_renameCurrentTab();
00053 
00054     void on_savePlotsToFile();
00055 
00056     void on_pushAddColumn_pressed();
00057 
00058     void on_pushVerticalResize_pressed();
00059 
00060     void on_pushHorizontalResize_pressed();
00061 
00062     void on_pushAddRow_pressed();
00063 
00064     void on_addTabButton_pressed();
00065 
00066     void on_pushRemoveEmpty_pressed();
00067 
00068     void on_tabWidget_currentChanged(int index);
00069 
00070     void on_tabWidget_tabCloseRequested(int index);
00071 
00072     void on_buttonLinkHorizontalScale_toggled(bool checked);
00073 
00074     void on_requestTabMovement(const QString &destination_name);
00075 
00076     void on_moveTabIntoNewWindow();
00077 
00078     void on_pushButtonShowLabel_toggled(bool checked);
00079 
00080 private:
00081     Ui::TabbedPlotWidget *ui;
00082 
00083     QAction* _action_renameTab;
00084     QAction* _action_savePlots;
00085 
00086     QMenu* _tab_menu;
00087 
00088     const QString _name;
00089 
00090     PlotDataMap& _mapped_data;
00091 
00092     bool _horizontal_link;
00093 
00094     QString _parent_type;
00095 
00096     virtual void closeEvent(QCloseEvent *event) override;
00097 
00098 protected:
00099 
00100     virtual bool eventFilter(QObject *obj, QEvent *event);
00101 
00102     static std::map<QString,TabbedPlotWidget*> _instances;
00103 
00104 signals:
00105     void created();
00106     void undoableChangeHappened();
00107     void matrixAdded( PlotMatrix * );
00108     void sendTabToNewWindow(PlotMatrix *);
00109 };
00110 
00111 #endif // TABBEDPLOTWIDGET_H


plotjuggler
Author(s): Davide Faconti
autogenerated on Fri Sep 1 2017 02:41:57