[studio] Cleanup
All checks were successful
Build / build (push) Successful in 1m29s

This commit is contained in:
2025-06-19 21:37:57 -05:00
parent 7415ce4bd9
commit 56e665301f
3 changed files with 19 additions and 13 deletions

View File

@ -126,9 +126,8 @@ static ox::Error convertStudioConfigV1ToStudioConfigV2(
using StudioConfig = StudioConfigV2; using StudioConfig = StudioConfigV2;
StudioUI::StudioUI(turbine::Context &ctx, ox::StringParam projectDataDir) noexcept: StudioUI::StudioUI(turbine::Context &tctx, ox::StringParam projectDataDir) noexcept:
m_sctx{*this, ctx}, m_sctx{*this, tctx},
m_tctx{ctx},
m_projectDataDir{std::move(projectDataDir)} { m_projectDataDir{std::move(projectDataDir)} {
{ {
ImFontConfig fontCfg; ImFontConfig fontCfg;
@ -139,7 +138,7 @@ StudioUI::StudioUI(turbine::Context &ctx, ox::StringParam projectDataDir) noexce
// but AddFontFromMemoryTTF requires a mutable buffer. // but AddFontFromMemoryTTF requires a mutable buffer.
// However, setting fontCfg.FontDataOwnedByAtlas ensures // However, setting fontCfg.FontDataOwnedByAtlas ensures
// that it will still be treated as const. // that it will still be treated as const.
// ImGui documentation recognize that this is a bad design, // ImGui documentation recognizes that this is a bad design,
// and hopefully it will change at some point. // and hopefully it will change at some point.
io.Fonts->AddFontFromMemoryTTF(const_cast<uint8_t*>(font.data()), static_cast<int>(font.size()), 13, &fontCfg); io.Fonts->AddFontFromMemoryTTF(const_cast<uint8_t*>(font.data()), static_cast<int>(font.size()), 13, &fontCfg);
} }
@ -357,7 +356,6 @@ void StudioUI::drawTabs() noexcept {
} }
if (m_closeActiveTab) [[unlikely]] { if (m_closeActiveTab) [[unlikely]] {
ImGui::SetTabItemClosed(e->itemDisplayName().c_str()); ImGui::SetTabItemClosed(e->itemDisplayName().c_str());
} else if (open) [[likely]] { } else if (open) [[likely]] {
e->draw(m_sctx); e->draw(m_sctx);
} }

View File

@ -25,12 +25,12 @@
namespace studio { namespace studio {
class StudioUI: public ox::SignalHandler { class StudioUI final: public ox::SignalHandler {
friend class StudioUIDrawer; friend class StudioUIDrawer;
private: private:
Context m_sctx; Context m_sctx;
turbine::Context &m_tctx; turbine::Context &m_tctx{m_sctx.tctx};
ox::String m_projectDataDir; ox::String m_projectDataDir;
ox::UPtr<Project> m_project; ox::UPtr<Project> m_project;
TaskRunner m_taskRunner; TaskRunner m_taskRunner;
@ -83,7 +83,7 @@ class StudioUI: public ox::SignalHandler {
ox::Optional<NavAction> m_navAction; ox::Optional<NavAction> m_navAction;
public: public:
explicit StudioUI(turbine::Context &ctx, ox::StringParam projectDataDir) noexcept; explicit StudioUI(turbine::Context &tctx, ox::StringParam projectDataDir) noexcept;
void handleKeyEvent(turbine::Key, bool down) noexcept; void handleKeyEvent(turbine::Key, bool down) noexcept;

View File

@ -15,11 +15,14 @@ namespace studio {
class StudioUI; class StudioUI;
struct Context { struct Context {
StudioUI &ui; public:
Project *project = nullptr; friend StudioUI;
turbine::Context &tctx; StudioUI &ui;
Context(StudioUI &pUi, turbine::Context &pTctx) noexcept: Project *project = nullptr;
ui(pUi), tctx(pTctx) {} turbine::Context &tctx;
protected:
Context(StudioUI &pUi, turbine::Context &pTctx) noexcept:
ui{pUi}, tctx{pTctx} {}
}; };
[[nodiscard]] [[nodiscard]]
@ -27,6 +30,11 @@ inline keel::Context &keelCtx(Context &ctx) noexcept {
return keelCtx(ctx.tctx); return keelCtx(ctx.tctx);
} }
[[nodiscard]]
inline keel::Context const &keelCtx(Context const &ctx) noexcept {
return keelCtx(ctx.tctx);
}
void navigateTo(Context &ctx, ox::StringParam filePath, ox::StringParam navArgs = "") noexcept; void navigateTo(Context &ctx, ox::StringParam filePath, ox::StringParam navArgs = "") noexcept;
} }