plot_docker.h
Go to the documentation of this file.
1 #ifndef PLOT_DOCKER_H
2 #define PLOT_DOCKER_H
3 
4 #include <QDomElement>
5 #include <QXmlStreamReader>
6 #include "Qads/DockManager.h"
7 #include "Qads/DockWidget.h"
8 #include "Qads/DockAreaWidget.h"
10 #include "Qads/DockAreaTabBar.h"
13 #include "PlotJuggler/plotdata.h"
14 #include "plotwidget.h"
15 #include "ui_plot_docker_toolbar.h"
16 
17 class DraggableToolbar : public QWidget
18 {
19  Q_OBJECT
20 
21 public:
22  explicit DraggableToolbar(ads::CDockWidget* parent);
23  ~DraggableToolbar() override;
24 
25  QLabel* label(){ return ui->label;}
26  QPushButton* buttonFullscreen() { return ui->buttonFullscreen; }
27  QPushButton* buttonClose() { return ui->buttonClose; }
28  QPushButton* buttonSplitHorizontal() { return ui->buttonSplitHorizontal; }
29  QPushButton* buttonSplitVertical() { return ui->buttonSplitVertical; }
30 
31  void toggleFullscreen();
32 
33  bool isFullscreen() const{
34  return _fullscreen_mode;
35  }
36 
37  bool eventFilter(QObject* object,QEvent* event) override;
38 
39 public slots:
40 
41  void on_stylesheetChanged(QString theme);
42 
43 private:
44  void mousePressEvent(QMouseEvent* ev) override;
45  void mouseReleaseEvent(QMouseEvent* ev) override;
46  void mouseMoveEvent(QMouseEvent* ev) override;
47  void enterEvent(QEvent *) override;
48  void leaveEvent(QEvent *) override;
49 
51  Ui::DraggableToolbar *ui;
53 
54  QIcon _expand_icon;
56 };
57 
59 {
60  Q_OBJECT
61 
62 public:
63  DockWidget(PlotDataMapRef& datamap, QWidget* parent = nullptr);
64 
65  PlotWidget* plotWidget();
66 
67  DraggableToolbar* toolBar();
68 
69 public slots:
70  DockWidget* splitHorizontal();
71 
72  DockWidget* splitVertical();
73 
74 private:
76 
78 
79 signals:
80  void undoableChange();
81 };
82 
84 {
85 
86 Q_OBJECT
87 
88 public:
89  PlotDocker(QString name, PlotDataMapRef &datamap, QWidget* parent = nullptr);
90 
91  QString name() const;
92 
93  void setName(QString name);
94 
95  QDomElement xmlSaveState(QDomDocument& doc) const;
96 
97  bool xmlLoadState(QDomElement& tab_element);
98 
99  int plotCount() const;
100 
101  PlotWidget* plotAt(int index);
102 
103  void setHorizontalLink(bool enabled);
104 
105  void zoomOut();
106 
107  void replot();
108 
109 public slots:
110 
111  void on_stylesheetChanged(QString theme);
112 
113 private:
114 
115  void restoreSplitter(QDomElement elem, DockWidget* widget);
116 
117  QString _name;
118 
120 
121 signals:
122 
123  void plotWidgetAdded(PlotWidget*);
124 
125  void undoableChange();
126 
127 };
128 
129 
130 #endif // PLOT_DOCKER_H
void mousePressEvent(QMouseEvent *ev) override
bool isFullscreen() const
Definition: plot_docker.h:33
DraggableToolbar(ads::CDockWidget *parent)
~DraggableToolbar() override
bool eventFilter(QObject *object, QEvent *event) override
Ui::DraggableToolbar * ui
Definition: plot_docker.h:51
Declaration of DockComponentsFactory.
QPushButton * buttonClose()
Definition: plot_docker.h:27
void enterEvent(QEvent *) override
Declaration of CDockAreaTabBar class.
QPushButton * buttonFullscreen()
Definition: plot_docker.h:26
Declaration of CFloatingDockContainer class.
PlotDataMapRef & _datamap
Definition: plot_docker.h:119
QLabel * label()
Definition: plot_docker.h:25
QPushButton * buttonSplitVertical()
Definition: plot_docker.h:29
void mouseReleaseEvent(QMouseEvent *ev) override
QString _name
Definition: plot_docker.h:117
QIcon _collapse_icon
Definition: plot_docker.h:55
QPushButton * buttonSplitHorizontal()
Definition: plot_docker.h:28
PlotDataMapRef & _datamap
Definition: plot_docker.h:77
const char * name
void leaveEvent(QEvent *) override
void on_stylesheetChanged(QString theme)
Declaration of CDockAreaWidget class.
Declaration of CDockWidget class.
Declaration of CDockManager class.
ads::CDockWidget * _parent
Definition: plot_docker.h:50
DraggableToolbar * _toolbar
Definition: plot_docker.h:75
Declaration of CDockAreaTitleBar class.
void mouseMoveEvent(QMouseEvent *ev) override


plotjuggler
Author(s): Davide Faconti
autogenerated on Sun Dec 6 2020 03:48:10