DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DAChartSettingWidget.h
1#ifndef DACHARTSETTINGWIDGET_H
2#define DACHARTSETTINGWIDGET_H
3
4#include <QWidget>
5#include "DAGuiAPI.h"
6#include "DAFigureWidget.h"
7#include "DAChartWidget.h"
8#include "qwt_plot_item.h"
9#include "DAFigureElementSelection.h"
10class QScrollArea;
11namespace Ui
12{
13class DAChartSettingWidget;
14}
15
16namespace DA
17{
18class DAChartOperateWidget;
19class DAChartPlotSettingWidget;
20class DAChartCanvasSettingWidget;
21class DAChartAxisSetWidget;
22class DAChartCommonItemsSettingWidget;
38class DAGUI_API DAChartSettingWidget : public QWidget
39{
40 Q_OBJECT
41 DA_DECLARE_PRIVATE(DAChartSettingWidget)
42public:
47 {
48 SettingPlot = 0,
49 SettingCanvas,
50 SettingYLeftScale,
51 SettingYRightScale,
52 SettingXBottomScale,
53 SettingXTopScale,
54 SettingPlotItems
55 };
56
58 {
59 RolePlotItemPtr = Qt::UserRole + 1
60 };
61
62public:
63 explicit DAChartSettingWidget(QWidget* parent = nullptr);
65 // 设置绘图
66 void setPlot(QwtPlot* plot);
67 QwtPlot* getPlot() const;
68 // 更新界面
69 void updateUI();
70 // 设置plotItem,注意,如果item的plot不是当前的plot,会调用setPlot把item的plot设置为当前plot
71 void setCurrentPlotItem(QwtPlotItem* item);
72 QwtPlotItem* getCurrentPlotItem() const;
73
74 // 设置选中内容,设置窗口会根据选中内容进行配置和显示
75 void setSelection(const DAFigureElementSelection& sel);
76
77 // 显示绘图设置
78 void showSettingWidget(SettingWidgetType widType);
79 void showPlotSetting();
80 void showCanvasSetting();
81 void showScaleYLeftSetting();
82 void showScaleYRightSetting();
83 void showScaleXBottomSetting();
84 void showScaleXTopSetting();
85 void showPlotItemSetting(QwtPlotItem* item);
86
87 // 获取设置窗口
88 DAChartPlotSettingWidget* getChartPlotSettingWidget() const;
89 DAChartCanvasSettingWidget* getChartCanvasSettingWidget() const;
90 DAChartAxisSetWidget* getChartAxisSetWidget(int axisId) const;
91 DAChartCommonItemsSettingWidget* getChartCommonItemsSettingWidget() const;
92
93protected:
94 void changeEvent(QEvent* e);
95 // 通过plotitem,从combobox找到对应的索引
96 int findComboBoxIndexFromPlotItem(const QwtPlotItem* item) const;
97 // 把plotitem添加到combobox
98 void appendPlotItemToComboBox(const QwtPlotItem* item);
99 // 从combobox获取plotitem
100 QwtPlotItem* getPlotItemFromComboBox(int index) const;
101 // 把plotitem从combobox移除
102 void removePlotItemFromComboBox(const QwtPlotItem* item);
103protected slots:
104 void onComboBoxItemIndexChanged(int index);
105 // plot的item发生了变换信号
106 void onItemAttached(QwtPlotItem* plotItem, bool on);
107 // 重置combobox
108 void resetComboBox();
109
110private:
111 Ui::DAChartSettingWidget* ui;
112};
113}
114#endif // DACHARTSETTINGWIDGET_H
Definition DAChartAxisSetWidget.h:16
QwtCanvasWidget的设置
Definition DAChartCanvasSettingWidget.h:19
这是一个通用的设置窗口,集成了已有的所有设置窗口
Definition DAChartCommonItemsSettingWidget.h:17
图表设置窗口
Definition DAChartPlotSettingWidget.h:18
绘图设置窗口
Definition DAChartSettingWidget.h:39
SettingWidgetType
固定选择区域,固定选择区域是combobox比较固定的选中区域,用于识别combobox选中后能知道选中了什么内容
Definition DAChartSettingWidget.h:47
ComboBoxRole
Definition DAChartSettingWidget.h:58
用于存放绘图元素
Definition DAFigureElementSelection.h:19
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44