42 lines
1.2 KiB
C++
42 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include "../RenderAble.h"
|
|
|
|
namespace YSG {
|
|
struct MutiSelectRectPrivate;
|
|
class LIB_DECL MutiSelectRect : public RenderAble {
|
|
public:
|
|
Q_Ptr2(MutiSelectRect)
|
|
void setHorizontalAxis(AbsAxis* axis);
|
|
void setVerticalAxis(AbsAxis* axis);
|
|
QFont font(SRC=SRC::Edit);
|
|
QPen fontPen(SRC=SRC::Edit);
|
|
QBrush rectBrush(SRC=SRC::Edit);
|
|
QPen borderPen(SRC=SRC::Edit);
|
|
void setFont(const QFont& font);
|
|
void setFontPen(const QPen& pen);
|
|
void setRectBrush(const QBrush& brush);
|
|
void setBorderPen(const QPen& pen);
|
|
struct Builder;
|
|
};
|
|
|
|
struct LIB_DECL MutiSelectRect::Builder {
|
|
SETTER(QFont, font, QFont())
|
|
SETTER(QPen, fontPen, QPen(Qt::white))
|
|
SETTER(QBrush, rectBrush, QColor(0, 0, 255, 50))
|
|
SETTER(QPen, borderPen, []() {
|
|
QPen pen(Qt::white);
|
|
pen.setStyle(Qt::DashLine);
|
|
return pen;
|
|
}())
|
|
SETTER(QString, layerName, "legend")
|
|
Builder(AbsAxis* keyAxis, AbsAxis* valueAxis);
|
|
MutiSelectRect* build();
|
|
protected:
|
|
AbsAxis* keyAxis;
|
|
AbsAxis* valueAxis{};
|
|
Plot *plot{};
|
|
};
|
|
}
|
|
|