54 lines
1.4 KiB
C++
54 lines
1.4 KiB
C++
#include "PropertiesView.hpp"
|
|
|
|
TSE::EDITOR::PropertiesView::PropertiesView() : GuiWindow("Properies", ImGuiWindowFlags_MenuBar | ImGuiWindowFlags_NoCollapse) { }
|
|
|
|
void TSE::EDITOR::PropertiesView::Define()
|
|
{
|
|
MenuBar();
|
|
if(currentlyInspecting.type == InspectableType::None) return;
|
|
|
|
ElementDrawer::Draw(currentlyInspecting, debugMode);
|
|
}
|
|
|
|
void TSE::EDITOR::PropertiesView::MenuBar()
|
|
{
|
|
if(ImGui::BeginMenuBar())
|
|
{
|
|
if(ImGui::BeginMenu("..."))
|
|
{
|
|
if(ImGui::MenuItem("Debug"))
|
|
{
|
|
debugMode = !debugMode;
|
|
}
|
|
ImGui::EndMenu();
|
|
}
|
|
bool style = locked;
|
|
if(style) ImGui::PushStyleColor(ImGuiCol_Text, {0,1,0,1});
|
|
if(ImGui::MenuItem("Lock")) locked = !locked;
|
|
if(style) ImGui::PopStyleColor();
|
|
}
|
|
ImGui::EndMenuBar();
|
|
}
|
|
|
|
TSE::EDITOR::InspectableType TSE::EDITOR::PropertiesView::GetCurrentInspectableType()
|
|
{
|
|
return currentlyInspecting.type;
|
|
}
|
|
|
|
void TSE::EDITOR::PropertiesView::SetInspectorElement(InspectableType type, void *element)
|
|
{
|
|
if(!locked)
|
|
currentlyInspecting = Inspectable(type, element);
|
|
}
|
|
|
|
void TSE::EDITOR::PropertiesView::ClearInspectorElement()
|
|
{
|
|
if(!locked)
|
|
currentlyInspecting = Inspectable(InspectableType::None, nullptr);
|
|
}
|
|
|
|
void TSE::EDITOR::PropertiesView::ForceClearInspectorElement()
|
|
{
|
|
currentlyInspecting = Inspectable(InspectableType::None, nullptr);
|
|
}
|