yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
object_editor_content.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_DUNGEON_INSPECTORS_OBJECT_EDITOR_CONTENT_H_
2#define YAZE_APP_EDITOR_DUNGEON_INSPECTORS_OBJECT_EDITOR_CONTENT_H_
3
4#include <cstddef>
5#include <functional>
6#include <memory>
7#include <string>
8
11#include "app/gui/core/icons.h"
13
14namespace yaze::editor {
15
17 public:
18 explicit ObjectEditorContent(
19 std::shared_ptr<zelda3::DungeonObjectEditor> object_editor = nullptr);
20
21 std::string GetId() const override { return "dungeon.object_editor"; }
22 std::string GetDisplayName() const override { return "Object Editor"; }
23 std::string GetIcon() const override { return ICON_MD_TUNE; }
24 std::string GetEditorCategory() const override { return "Dungeon"; }
25 int GetPriority() const override { return 61; }
26 float GetPreferredWidth() const override { return 460.0f; }
27
28 void Draw(bool* p_open) override;
29
30 void SetCurrentRoom(int room_id) { current_room_id_ = room_id; }
31 void SetCanvasViewerProvider(std::function<DungeonCanvasViewer*()> provider) {
32 canvas_viewer_provider_ = std::move(provider);
33 }
35
36 void CycleObjectSelection(int direction);
37 void SelectAllObjects();
40 void PasteObjects();
41
42 private:
44 void OnSelectionChanged();
46
51
53 void DeselectAllObjects();
55 void NudgeSelectedObjects(int dx, int dy);
56 void ScrollToObject(size_t index);
57
61 std::shared_ptr<zelda3::DungeonObjectEditor> object_editor_;
62
65 bool show_shortcut_help_ = false;
66};
67
68} // namespace yaze::editor
69
70#endif // YAZE_APP_EDITOR_DUNGEON_INSPECTORS_OBJECT_EDITOR_CONTENT_H_
std::string GetEditorCategory() const override
Editor category this panel belongs to.
void Draw(bool *p_open) override
Draw the panel content.
DungeonCanvasViewer * ResolveCanvasViewer()
std::function< DungeonCanvasViewer *()> canvas_viewer_provider_
void SetCanvasViewerProvider(std::function< DungeonCanvasViewer *()> provider)
ObjectEditorContent(std::shared_ptr< zelda3::DungeonObjectEditor > object_editor=nullptr)
void SetCanvasViewer(DungeonCanvasViewer *viewer)
std::string GetId() const override
Unique identifier for this panel.
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
std::string GetIcon() const override
Material Design icon for this panel.
int GetPriority() const override
Get display priority for menu ordering.
std::shared_ptr< zelda3::DungeonObjectEditor > object_editor_
float GetPreferredWidth() const override
Get preferred width for this panel (optional)
Base interface for all logical window content components.
#define ICON_MD_TUNE
Definition icons.h:2022
Editors are the view controllers for the application.