Files
Renderive/YSGraphic_Core/base/MutiSelectRect.h
T
2026-07-23 11:10:17 +08:00

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{};
};
}