1#ifndef YAZE_APP_EDITOR_DUNGEON_INSPECTORS_OBJECT_EDITOR_CONTENT_H_
2#define YAZE_APP_EDITOR_DUNGEON_INSPECTORS_OBJECT_EDITOR_CONTENT_H_
19 DungeonObjectInteraction& interaction,
20 const std::vector<size_t>& editor_selected_indices);
25 std::shared_ptr<zelda3::DungeonObjectEditor> object_editor =
nullptr);
27 std::string
GetId()
const override {
return "dungeon.object_editor"; }
28 std::string
GetDisplayName()
const override {
return "Selection Inspector"; }
34 void Draw(
bool* p_open)
override;
42 std::function<
void(
int neighbor_room_id,
size_t reciprocal_door_index)>
std::string GetEditorCategory() const override
Editor category this panel belongs to.
void Draw(bool *p_open) override
Draw the panel content.
DungeonCanvasViewer * ResolveCanvasViewer()
void SetJumpToReciprocalDoorCallback(std::function< void(int neighbor_room_id, size_t reciprocal_door_index)> callback)
void HandleKeyboardShortcuts()
std::function< DungeonCanvasViewer *()> canvas_viewer_provider_
void RefreshSelectionSnapshot()
void DuplicateSelectedObjects()
void DeleteCurrentSelection()
void DeselectAllObjects()
void DrawSelectionActions()
void DeleteAllSelectedTypeInRoom()
void CycleObjectSelection(int direction)
void DrawKeyboardShortcutHelp()
void DrawSelectedSpriteInfo()
void DrawSelectedDoorInfo()
void SetCanvasViewerProvider(std::function< DungeonCanvasViewer *()> provider)
ObjectEditorContent(std::shared_ptr< zelda3::DungeonObjectEditor > object_editor=nullptr)
void DrawSelectionSummary()
DungeonSelectionSnapshot selection_snapshot_
void DrawSelectedItemInfo()
void DuplicateSelectedSprite()
void ScrollToObject(size_t index)
void SetCanvasViewer(DungeonCanvasViewer *viewer)
void DeleteSelectedEntity()
void NudgeCurrentSelection(int dx, int dy)
std::string GetId() const override
Unique identifier for this panel.
size_t cached_selection_count_
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
DungeonCanvasViewer * canvas_viewer_
bool selection_callbacks_setup_
void SetupSelectionCallbacks()
void SetCurrentRoom(int room_id)
void OnSelectionChanged()
std::string GetIcon() const override
Material Design icon for this panel.
int GetPriority() const override
Get display priority for menu ordering.
std::function< void(int, size_t)> on_jump_to_reciprocal_door_
void DeleteSelectedObjects()
void CopySelectedObjects()
std::shared_ptr< zelda3::DungeonObjectEditor > object_editor_
float GetPreferredWidth() const override
Get preferred width for this panel (optional)
void DrawSelectedObjectInfo()
Base interface for all logical window content components.
Editors are the view controllers for the application.
bool SyncObjectEditorSelectionToCanvas(DungeonObjectInteraction &interaction, const std::vector< size_t > &editor_selected_indices)