fix: update child class property overrides to use MCRF_PROPERTY macros

Fixes critical issue discovered in code review where PyDrawable property
docstrings were being overridden by child classes, making enhanced documentation
invisible to users.

Updated files:
- src/UIBase.h: UIDRAWABLE_GETSETTERS macro (visible, opacity)
- src/UIFrame.cpp: click and z_index properties
- src/UISprite.cpp: click and z_index properties
- src/UICaption.cpp: click and z_index properties
- src/UIGrid.cpp: click and z_index properties

All four UI class hierarchies (Frame, Sprite, Caption, Grid) now expose
consistent, enhanced property documentation to Python users.

Verification:
- tools/test_child_class_docstrings.py: All 16 property tests pass
- All 4 properties (click, z_index, visible, opacity) match across all 4 classes

Related: #92 (Inline C++ documentation system)
This commit is contained in:
John McCardle 2025-10-30 12:33:27 -04:00
commit cc80964835
8 changed files with 59 additions and 12 deletions

View file

@ -373,7 +373,7 @@ class Engine:
self.ui = mcrfpy.sceneUI("game")
background = mcrfpy.Frame(0, 0, 1024, 768)
background = mcrfpy.Frame((0, 0), (1024, 768))
background.fill_color = mcrfpy.Color(0, 0, 0)
self.ui.append(background)
@ -565,4 +565,4 @@ class Engine:
# Create and run the game
engine = Engine()
print("Part 6: Combat System!")
print("Attack enemies to defeat them, but watch your HP!")
print("Attack enemies to defeat them, but watch your HP!")