feat: implement type-safe ReferenceProperty for SmartPointer fields and add UI support for object selection via context-aware dropdowns

This commit is contained in:
AndreaRigoni
2026-04-17 13:20:21 +00:00
parent ec2d437819
commit 506b8f037f
12 changed files with 265 additions and 12 deletions

View File

@@ -163,7 +163,7 @@ protected:
G4VPhysicalVolume *m_Physical;
// ULIB_DECLARE_PROPERTIES(PhysicalVolume)
ULIB_DECLARE_PROPERTIES(PhysicalVolume)
};
@@ -173,9 +173,11 @@ protected:
class TessellatedSolid : public Solid {
public:
uLibTypeMacro(TessellatedSolid, Solid)
uLibTypeMacro(TessellatedSolid, Solid)
ULIB_SERIALIZE_ACCESS
public:
TessellatedSolid();
TessellatedSolid(const char *name);
@@ -191,6 +193,8 @@ public:
protected:
SmartPointer<TriangleMesh> m_Mesh;
G4TessellatedSolid *m_Solid;
//ULIB_DECLARE_PROPERTIES(TessellatedSolid)
};
@@ -198,8 +202,11 @@ protected:
//// BOX SOLID /////////////////////////////////////////////////////////////////
class BoxSolid : public Solid {
public:
uLibTypeMacro(BoxSolid, Solid)
ULIB_SERIALIZE_ACCESS
public:
BoxSolid();
BoxSolid(const char *name);
@@ -222,6 +229,8 @@ private:
SmartPointer<ContainerBox> m_ContainerBox;
G4Box *m_Solid;
ULIB_DECLARE_PROPERTIES(BoxSolid)
};