125 lines
4.3 KiB
C++
125 lines
4.3 KiB
C++
#ifndef PST_GRAPH2DSETTINGS_H
|
|
#define PST_GRAPH2DSETTINGS_H
|
|
|
|
#include <QWidget>
|
|
#include "T_BasePage.h"
|
|
#include "Def.h"
|
|
#include "PostEnumType.h"
|
|
//#include "QVBoxLayout.
|
|
|
|
class ElaTabWidget;
|
|
class ElaListView;
|
|
class ElaComboBox;
|
|
class QGridLayout;
|
|
class ElaLineEdit;
|
|
class ElaSpinBox;
|
|
class ElaDoubleSpinBox;
|
|
//class QVBoxLayout;
|
|
|
|
namespace pst
|
|
{
|
|
|
|
/// @brief 二维图形的设置UI
|
|
class Graph2DSettings : public T_BasePage
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit Graph2DSettings(QWidget* parent = nullptr, Cure2DType type = Cure2DType::None);
|
|
~Graph2DSettings();
|
|
public:
|
|
/// 选择曲线列表
|
|
void setCurveList(const QList<QString>& curveList);
|
|
void addCurveToList(QString curveName);
|
|
void clearCurveList();
|
|
|
|
/// 设置固定值和变量值列表, 名字和数字;选择固定值,剩下的就是变量值
|
|
void setFixedVariableValue(const QList<QPair<QString, QList<QString>>>& fixedValueList);
|
|
void setCurrentFixedValueIndex(int index);
|
|
int getCurrentVariableValueIndex() const;
|
|
void updateUI();
|
|
|
|
void setCategaryData(const QList<QString>& categaryList);
|
|
QList<QString> getCategaryData() const;
|
|
|
|
private:
|
|
QString getFontFamilyString(const QString& font);
|
|
|
|
void addTopTabPivotUI();
|
|
void addCurveListUI();
|
|
void addVariableAxistUI();
|
|
void setFixedValue();
|
|
void setVariableValue();
|
|
void addFiexedValueToUI();
|
|
void addCategaryToUI();
|
|
void setCategoryData();
|
|
|
|
//page2
|
|
void addXAxisSettingUI();
|
|
void addYAxisSettingUI();
|
|
|
|
signals:
|
|
void signal_displayDataChanged(); //更新选择的曲线数据
|
|
void signal_axisPropertyChanged(); //更新坐标轴属性
|
|
|
|
void signal_XAxisTitleNameChanged(const QString& titleName);
|
|
void signal_XAxisTitleFontFamilyChanged(const QString& fontFamily);
|
|
void signal_XAxisTitleFontSizeChanged(int fontSize);
|
|
void signal_XAxisMinValueChanged(double minValue);
|
|
void signal_XAxisMaxValueChanged(double maxValue);
|
|
void signal_XAxisStepValueChanged(double step);
|
|
|
|
void signal_YAxisTitleNameChanged(const QString& titleName);
|
|
void signal_YAxisTitleFontFamilyChanged(const QString& fontFamily);
|
|
void signal_YAxisTitleFontSizeChanged(int fontSize);
|
|
void signal_YAxisMinValueChanged(double minValue);
|
|
void signal_YAxisMaxValueChanged(double maxValue);
|
|
void signal_YAxisStepValueChanged(double step);
|
|
|
|
public slots:
|
|
void slot_variableAxisChanged(int index);
|
|
|
|
private:
|
|
/// @brief 选项卡视图组件
|
|
ElaTabWidget* m_tabWidget{ nullptr };
|
|
/// @brief 已经添加过的曲线数目
|
|
int m_curveCount{ 0 };
|
|
|
|
private:
|
|
/// =============UI组件=============
|
|
/// 第一页内容
|
|
QWidget* m_page1CentralWidget;
|
|
QWidget* m_page2CentralWidget;
|
|
ElaListView* m_curveNameListView; //曲线列表视图
|
|
//ElaListView* m_variableValueListView; //变量值列表视图
|
|
ElaComboBox* m_variableAxisValue; //变量轴的下拉框
|
|
QGridLayout* _fixedValueLayoutH; //固定值控件布局
|
|
int _titleFontSize;
|
|
int _contentWidth;
|
|
int m_variableValueIndex; //当前的变量轴值index
|
|
QList<QPair<QString, QList<QString>>> m_FixedVariableValueList; //所有数据key
|
|
QVBoxLayout* _page1Layout;
|
|
QList<QPair<QWidget*, QWidget*>> m_currentFixedValueWidgets; //当前固定值区域存储的所有控件
|
|
ElaComboBox* m_categryValue; //类别下拉框
|
|
QList<QString> m_categoryValueList; //分类value
|
|
|
|
QGridLayout* _page2Layout;
|
|
int page2RowCount;
|
|
|
|
ElaLineEdit* _titleHEditX;
|
|
ElaComboBox* _fontFamilyComboBoxX;
|
|
ElaSpinBox* _fontSizeInputX;
|
|
ElaDoubleSpinBox* _minInputX;
|
|
ElaDoubleSpinBox* _maxInputX;
|
|
ElaDoubleSpinBox* _setpInputX;
|
|
|
|
ElaLineEdit* _titleHEditY;
|
|
ElaComboBox* _fontFamilyComboBoxY;
|
|
ElaSpinBox* _fontSizeInputY;
|
|
ElaDoubleSpinBox* _minInputY;
|
|
ElaDoubleSpinBox* _maxInputY;
|
|
ElaDoubleSpinBox* _setpInputY;
|
|
};
|
|
}
|
|
|
|
#endif // !PST_GRAPH2DSETTINGS_H
|