36 lines
1.2 KiB
C++
36 lines
1.2 KiB
C++
#pragma once
|
|
#include "../../Renderive/base/Tool.h"
|
|
static QWidget* create_time_axis_test_plot() {
|
|
class Axis_Test_Plot : public renderive::Plot {
|
|
public:
|
|
std::shared_ptr<renderive::Time_Axis> axis{};
|
|
QMenu* menu{};
|
|
void init() override {
|
|
Plot::init();
|
|
object_name = "TimeAxisTestPlot";
|
|
auto axis_node = create_renderable_node(get_root_renderable(), "Axis_Renderable");
|
|
axis = renderive::Time_Axis::Builder(axis_node, Qt::Horizontal)
|
|
.set_tick_length(-10)
|
|
.set_sub_tick_length(-5)
|
|
.build();
|
|
}
|
|
protected:
|
|
void resizeEvent(QResizeEvent* event) override {
|
|
int space = 50;
|
|
axis->set_x(space);
|
|
axis->set_y(height() / 2);
|
|
axis->set_pixel_size(width() - space * 2);
|
|
}
|
|
void contextMenuEvent(QContextMenuEvent* event) override {
|
|
if (!menu) {
|
|
auto ws = bw(cw(axis.get(), 30), "时间轴");
|
|
menu = create_menu(this, ws);
|
|
}
|
|
menu->exec(event->globalPos());
|
|
}
|
|
};
|
|
auto w = new Axis_Test_Plot;
|
|
w->init();
|
|
return w;
|
|
}
|