36 lines
1.0 KiB
C++
36 lines
1.0 KiB
C++
#pragma once
|
|
|
|
#include <creeper-qt/utility/theme/theme.hh>
|
|
#include <qwidget.h>
|
|
#include <string_view>
|
|
|
|
template <typename T>
|
|
using raw_pointer = T*;
|
|
|
|
struct NavComponentState {
|
|
creeper::ThemeManager& manager;
|
|
std::function<void(int, const std::string_view&)> switch_callback;
|
|
std::vector<std::tuple<std::string_view, std::string_view>> buttons_context;
|
|
std::function<void(int)> stacked_callback;
|
|
};
|
|
|
|
auto NavComponent(NavComponentState&) noexcept -> raw_pointer<QWidget>;
|
|
|
|
struct ViewComponentState {
|
|
creeper::ThemeManager& manager;
|
|
};
|
|
auto ViewComponent(ViewComponentState&) noexcept -> raw_pointer<QWidget>;
|
|
|
|
struct SettingComponentState {
|
|
creeper::ThemeManager& manager;
|
|
};
|
|
auto SettingComponent(SettingComponentState&) noexcept -> raw_pointer<QWidget>;
|
|
|
|
struct HandViewComponentState {
|
|
creeper::ThemeManager& manager;
|
|
};
|
|
auto HandViewComponent(HandViewComponentState&) noexcept -> raw_pointer<QWidget>;
|
|
|
|
// 让其他模块可触发视图层的串口/配置刷新
|
|
void RefreshProfilesForView();
|