Room-level annotation management for Oracle projects. More...
#include <annotation_overlay_panel.h>


Public Member Functions | |
| 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. | |
| std::string | GetEditorCategory () const override |
| Editor category this panel belongs to. | |
| PanelCategory | GetPanelCategory () const override |
| Get the lifecycle category for this panel. | |
| void | SetAnnotationsPath (const std::string &path) |
| void | Draw (bool *) override |
| Draw the panel content. | |
| std::vector< const AnnotationEntry * > | GetAnnotationsForRoom (int room_id) const |
| Get annotations for a specific room. | |
| int | GetMaxPriorityForRoom (int room_id) const |
| Get the highest priority for a room (for dot color). Returns -1 if no annotations. | |
Public Member Functions inherited from yaze::editor::EditorPanel | |
| virtual | ~EditorPanel ()=default |
| virtual void | OnFirstDraw () |
| Called once before the first Draw() in a session. | |
| virtual bool | RequiresLazyInit () const |
| Whether this panel uses lazy initialization. | |
| void | InvalidateLazyInit () |
| Reset lazy init state so OnFirstDraw() runs again. | |
| virtual void | OnOpen () |
| Called when panel becomes visible. | |
| virtual void | OnClose () |
| Called when panel is hidden. | |
| virtual void | OnFocus () |
| Called when panel receives focus. | |
| virtual PanelContextScope | GetContextScope () const |
| Optional context binding for this panel (room/selection/etc) | |
| virtual PanelScope | GetScope () const |
| Get the registration scope for this panel. | |
| virtual bool | IsEnabled () const |
| Check if this panel is currently enabled. | |
| virtual std::string | GetDisabledTooltip () const |
| Get tooltip text when panel is disabled. | |
| virtual std::string | GetShortcutHint () const |
| Get keyboard shortcut hint for display. | |
| virtual int | GetPriority () const |
| Get display priority for menu ordering. | |
| virtual float | GetPreferredWidth () const |
| Get preferred width for this panel (optional) | |
| virtual bool | IsVisibleByDefault () const |
| Whether this panel should be visible by default. | |
| virtual std::string | GetParentPanelId () const |
| Get parent panel ID for cascade behavior. | |
| virtual bool | CascadeCloseChildren () const |
| Whether closing this panel should close child panels. | |
| void | DrawWithLazyInit (bool *p_open) |
| Execute lazy initialization if needed, then call Draw() | |
Static Public Member Functions | |
| static ImU32 | GetPriorityColor (AnnotationPriority priority) |
Private Member Functions | |
| void | LoadAnnotations () |
| void | SaveAnnotations () |
Private Attributes | |
| std::string | annotations_path_ |
| std::vector< AnnotationEntry > | annotations_ |
| int | filter_room_id_ = -1 |
| int | filter_priority_ = 0 |
| int | selected_index_ = -1 |
| int | edit_room_ = 0 |
| char | edit_text_ [256] = {0} |
| int | edit_priority_ = 0 |
| char | edit_category_ [64] = {0} |
Additional Inherited Members | |
Protected Member Functions inherited from yaze::editor::EditorPanel | |
| void | InvalidateCache () |
| Invalidate all cached computations. | |
| template<typename T > | |
| T & | GetCached (const std::string &key, std::function< T()> compute) |
| Get or compute a cached value. | |
| bool | IsCacheValid () const |
| Check if cache has been invalidated. | |
| void | ClearCache () |
| Clear all cached values (more aggressive than InvalidateCache) | |
Room-level annotation management for Oracle projects.
Reads/writes annotations from annotations.json in the project folder. Provides a list view for browsing and editing annotations.
On iOS (F3), annotations sync via CloudKit. On desktop, this JSON file can be committed to git for version-controlled notes.
Integration with DungeonMapPanel: colored dots drawn on rooms (red=blocker, orange=bug, blue=note).
Definition at line 53 of file annotation_overlay_panel.h.
|
inlineoverridevirtual |
Unique identifier for this panel.
IDs should be:
Implements yaze::editor::EditorPanel.
Definition at line 55 of file annotation_overlay_panel.h.
|
inlineoverridevirtual |
Human-readable name shown in menus and title bars.
Implements yaze::editor::EditorPanel.
Definition at line 56 of file annotation_overlay_panel.h.
|
inlineoverridevirtual |
Material Design icon for this panel.
Implements yaze::editor::EditorPanel.
Definition at line 57 of file annotation_overlay_panel.h.
References ICON_MD_NOTES.
|
inlineoverridevirtual |
Editor category this panel belongs to.
Implements yaze::editor::EditorPanel.
Definition at line 58 of file annotation_overlay_panel.h.
|
inlineoverridevirtual |
Get the lifecycle category for this panel.
Default is EditorBound (hidden when switching editors).
Reimplemented from yaze::editor::EditorPanel.
Definition at line 59 of file annotation_overlay_panel.h.
References yaze::editor::CrossEditor.
|
inline |
Definition at line 63 of file annotation_overlay_panel.h.
References annotations_path_, and LoadAnnotations().
Referenced by Draw().

|
inlineoverridevirtual |
Draw the panel content.
| p_open | Pointer to visibility flag (nullptr if not closable) |
Called by PanelManager when the panel is visible. Do NOT call ImGui::Begin/End - the PanelWindow wrapper handles that. Just draw your content directly.
Implements yaze::editor::EditorPanel.
Definition at line 68 of file annotation_overlay_panel.h.
References annotations_, annotations_path_, yaze::editor::AnnotationEntry::category, yaze::editor::ContentRegistry::Context::current_project(), edit_category_, edit_priority_, edit_room_, edit_text_, filter_priority_, filter_room_id_, GetPriorityColor(), yaze::editor::AnnotationEntry::priority, yaze::editor::AnnotationEntry::room_id, SaveAnnotations(), selected_index_, SetAnnotationsPath(), and yaze::editor::AnnotationEntry::text.

|
inline |
Get annotations for a specific room.
Definition at line 185 of file annotation_overlay_panel.h.
References annotations_.
|
inline |
Get the highest priority for a room (for dot color). Returns -1 if no annotations.
Definition at line 200 of file annotation_overlay_panel.h.
References annotations_.
|
inlinestatic |
Definition at line 210 of file annotation_overlay_panel.h.
References yaze::editor::kBlocker, yaze::editor::kBug, and yaze::editor::kNote.
Referenced by Draw().
|
inlineprivate |
Definition at line 223 of file annotation_overlay_panel.h.
References annotations_, annotations_path_, yaze::editor::AnnotationEntry::category, yaze::editor::AnnotationEntry::created_at, yaze::editor::AnnotationEntry::priority, yaze::editor::AnnotationEntry::room_id, and yaze::editor::AnnotationEntry::text.
Referenced by SetAnnotationsPath().
|
inlineprivate |
Definition at line 251 of file annotation_overlay_panel.h.
References annotations_, and annotations_path_.
Referenced by Draw().
|
private |
Definition at line 275 of file annotation_overlay_panel.h.
Referenced by Draw(), LoadAnnotations(), SaveAnnotations(), and SetAnnotationsPath().
|
private |
Definition at line 276 of file annotation_overlay_panel.h.
Referenced by Draw(), GetAnnotationsForRoom(), GetMaxPriorityForRoom(), LoadAnnotations(), and SaveAnnotations().
|
private |
Definition at line 279 of file annotation_overlay_panel.h.
Referenced by Draw().
|
private |
Definition at line 280 of file annotation_overlay_panel.h.
Referenced by Draw().
|
private |
Definition at line 283 of file annotation_overlay_panel.h.
Referenced by Draw().
|
private |
Definition at line 284 of file annotation_overlay_panel.h.
Referenced by Draw().
|
private |
Definition at line 285 of file annotation_overlay_panel.h.
Referenced by Draw().
|
private |
Definition at line 286 of file annotation_overlay_panel.h.
Referenced by Draw().
|
private |
Definition at line 287 of file annotation_overlay_panel.h.
Referenced by Draw().