45 lines
836 B
C++
45 lines
836 B
C++
/*
|
|
* Copyright 2016 - 2023 Gary Talent (gary@drinkingtea.net). All rights reserved.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <studio/studio.hpp>
|
|
|
|
#include <turbine/context.hpp>
|
|
|
|
#include "sceneeditor.hpp"
|
|
#include "sceneeditorview.hpp"
|
|
|
|
namespace nostalgia::scene {
|
|
|
|
class SceneEditorImGui: public studio::Editor {
|
|
|
|
private:
|
|
turbine::Context *m_ctx = nullptr;
|
|
ox::String m_itemName;
|
|
ox::String m_itemPath;
|
|
SceneEditor m_editor;
|
|
SceneEditorView m_view;
|
|
|
|
public:
|
|
SceneEditorImGui(turbine::Context *ctx, ox::CRStringView path);
|
|
|
|
/**
|
|
* Returns the name of item being edited.
|
|
*/
|
|
ox::CRString itemName() const noexcept final;
|
|
|
|
ox::CRString itemDisplayName() const noexcept final;
|
|
|
|
void draw(turbine::Context*) noexcept final;
|
|
|
|
void onActivated() noexcept override;
|
|
|
|
protected:
|
|
ox::Error saveItem() noexcept final;
|
|
|
|
};
|
|
|
|
}
|