Compare commits
3 Commits
6837a0556d
...
1ba64cb5d8
Author | SHA1 | Date | |
---|---|---|---|
1ba64cb5d8 | |||
462bebf6dd | |||
e3f84c4e75 |
@ -102,8 +102,6 @@ OX_MODEL_BEGIN(TileSheetSet)
|
|||||||
OX_MODEL_FIELD(entries)
|
OX_MODEL_FIELD(entries)
|
||||||
OX_MODEL_END()
|
OX_MODEL_END()
|
||||||
|
|
||||||
void addEntry(TileSheetSet &set, ox::FileAddress path, int32_t begin = 0, int32_t size = -1) noexcept;
|
|
||||||
|
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
int tileColumns(Context&) noexcept;
|
int tileColumns(Context&) noexcept;
|
||||||
|
|
||||||
|
@ -66,7 +66,9 @@ StudioUI::StudioUI(turbine::Context &ctx, ox::StringParam projectDataDir) noexce
|
|||||||
auto openFileErr = openFileActiveTab(f, config.activeTabItemName == f);
|
auto openFileErr = openFileActiveTab(f, config.activeTabItemName == f);
|
||||||
if (openFileErr) {
|
if (openFileErr) {
|
||||||
oxErrorf("\nCould not open editor for file:\n\t{}\nReason:\n\t{}\n", f, toStr(openFileErr));
|
oxErrorf("\nCould not open editor for file:\n\t{}\nReason:\n\t{}\n", f, toStr(openFileErr));
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
|
m_activeEditor = m_editors.back().value->get();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -200,13 +202,13 @@ void StudioUI::drawTabs() noexcept {
|
|||||||
auto const selected = m_activeEditorUpdatePending == e.get() ? ImGuiTabItemFlags_SetSelected : 0;
|
auto const selected = m_activeEditorUpdatePending == e.get() ? ImGuiTabItemFlags_SetSelected : 0;
|
||||||
auto const flags = unsavedChanges | selected;
|
auto const flags = unsavedChanges | selected;
|
||||||
if (ImGui::BeginTabItem(e->itemDisplayName().c_str(), &open, flags)) {
|
if (ImGui::BeginTabItem(e->itemDisplayName().c_str(), &open, flags)) {
|
||||||
if (m_activeEditor != e.get()) {
|
if (m_activeEditor != e.get()) [[unlikely]] {
|
||||||
m_activeEditor = e.get();
|
m_activeEditor = e.get();
|
||||||
studio::editConfig<StudioConfig>(keelCtx(m_ctx), [&](StudioConfig &config) {
|
studio::editConfig<StudioConfig>(keelCtx(m_ctx), [&](StudioConfig &config) {
|
||||||
config.activeTabItemName = m_activeEditor->itemPath();
|
config.activeTabItemName = m_activeEditor->itemPath();
|
||||||
});
|
});
|
||||||
}
|
} else [[likely]] {
|
||||||
if (m_activeEditorUpdatePending == e.get()) {
|
if (m_activeEditorUpdatePending == e.get()) [[unlikely]] {
|
||||||
m_activeEditorUpdatePending = nullptr;
|
m_activeEditorUpdatePending = nullptr;
|
||||||
}
|
}
|
||||||
if (m_activeEditorOnLastDraw != e.get()) [[unlikely]] {
|
if (m_activeEditorOnLastDraw != e.get()) [[unlikely]] {
|
||||||
@ -214,6 +216,7 @@ void StudioUI::drawTabs() noexcept {
|
|||||||
}
|
}
|
||||||
e->draw(m_sctx);
|
e->draw(m_sctx);
|
||||||
m_activeEditorOnLastDraw = e.get();
|
m_activeEditorOnLastDraw = e.get();
|
||||||
|
}
|
||||||
ImGui::EndTabItem();
|
ImGui::EndTabItem();
|
||||||
}
|
}
|
||||||
if (!open) {
|
if (!open) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user