76 lines
3.0 KiB
C++
76 lines
3.0 KiB
C++
#include "Muti_Select_Rect_p.h"
|
|
namespace YSG {
|
|
using MutiSelectRect_Binding = Renderable_Binding<Muti_Select_Rect, Muti_Select_Rect_Private, MutiSelectRectRenderState, MutiSelectRectInputData>;
|
|
Muti_Select_Rect::Muti_Select_Rect() {
|
|
MutiSelectRect_Binding::init(this, "MutiSelectRect");
|
|
}
|
|
Muti_Select_Rect_Private* Muti_Select_Rect::d() {
|
|
return MutiSelectRect_Binding::d(this);
|
|
}
|
|
Render_Data* Muti_Select_Rect::create_render_data() {
|
|
return MutiSelectRect_Binding::create_render_data();
|
|
}
|
|
Render_State* Muti_Select_Rect::create_render_state() {
|
|
return MutiSelectRect_Binding::create_render_state();
|
|
}
|
|
Input_Data* Muti_Select_Rect::create_input_data() {
|
|
return MutiSelectRect_Binding::create_input_data();
|
|
}
|
|
Muti_Select_Rect::Builder::Builder(Abs_Axis* keyAxis, Abs_Axis* value_axis) {
|
|
ASSERT(keyAxis->mPlot != nullptr, "Afterglow build error! keyAxis->mPlot == nullptr");
|
|
ASSERT(keyAxis->mPlot == value_axis->mPlot, "Afterglow build error! keyAxis->mPlot != value_axis->mPlot");
|
|
plot = keyAxis->mPlot;
|
|
this->keyAxis = keyAxis;
|
|
this->value_axis = value_axis;
|
|
}
|
|
Muti_Select_Rect* Muti_Select_Rect::Builder::build() {
|
|
auto ret = new Muti_Select_Rect();
|
|
ret->init(plot, layerName);
|
|
Muti_Select_Rect_Private* pd = ret->d();
|
|
MutiSelectRectRenderState* sc = reinterpret_cast<MutiSelectRectRenderState*>(pd->state(State_Edit));
|
|
sc->mHorizontalAxis = keyAxis;
|
|
sc->mVerticalAxis = value_axis;
|
|
sc->mFont = font;
|
|
sc->mFontPen = font_pen;
|
|
sc->mRectBrush = rect_brush;
|
|
sc->mBorderPen = border_pen;
|
|
return ret;
|
|
}
|
|
void Muti_Select_Rect::set_horizontal_axis(Abs_Axis* axis) {
|
|
Render_Edit_Lease<Muti_Select_Rect_Private, MutiSelectRectRenderState> edit(d());
|
|
edit->mHorizontalAxis = axis;
|
|
}
|
|
void Muti_Select_Rect::set_vertical_axis(Abs_Axis* axis) {
|
|
Render_Edit_Lease<Muti_Select_Rect_Private, MutiSelectRectRenderState> edit(d());
|
|
edit->mVerticalAxis = axis;
|
|
}
|
|
QFont Muti_Select_Rect::font(SRC src) {
|
|
return d()->state_data(src)->mFont;
|
|
}
|
|
QPen Muti_Select_Rect::font_pen(SRC src) {
|
|
return d()->state_data(src)->mFontPen;
|
|
}
|
|
QBrush Muti_Select_Rect::rect_brush(SRC src) {
|
|
return d()->state_data(src)->mRectBrush;
|
|
}
|
|
QPen Muti_Select_Rect::border_pen(SRC src) {
|
|
return d()->state_data(src)->mBorderPen;
|
|
}
|
|
void Muti_Select_Rect::set_font(const QFont& font) {
|
|
Render_Edit_Lease<Muti_Select_Rect_Private, MutiSelectRectRenderState> edit(d());
|
|
edit->mFont = font;
|
|
}
|
|
void Muti_Select_Rect::set_font_pen(const QPen& pen) {
|
|
Render_Edit_Lease<Muti_Select_Rect_Private, MutiSelectRectRenderState> edit(d());
|
|
edit->mFontPen = pen.color().isValid() ? pen : Qt::NoPen;
|
|
}
|
|
void Muti_Select_Rect::set_rect_brush(const QBrush& brush) {
|
|
Render_Edit_Lease<Muti_Select_Rect_Private, MutiSelectRectRenderState> edit(d());
|
|
edit->mRectBrush = brush.color().isValid() ? brush : Qt::NoBrush;
|
|
}
|
|
void Muti_Select_Rect::set_border_pen(const QPen& pen) {
|
|
Render_Edit_Lease<Muti_Select_Rect_Private, MutiSelectRectRenderState> edit(d());
|
|
edit->mBorderPen = pen.color().isValid() ? pen : Qt::NoPen;
|
|
}
|
|
}
|