class EE::UI::UIInspector

UI-thread-only inspection domain. Handles are monotonic and invalidated on Node::OnClose.

#include <uiinspector.hpp>

class UIInspector {
public:
    // structs

    struct NodeEntry;

    // construction

    ~UIInspector();

    // methods

    void setDefaultScene(UISceneNode* scene);
    UISceneNode* defaultScene() const;
    std::string windowHandle(EE::Window::Window* window);
    std::string sceneHandle(UISceneNode* scene);
    std::string widgetHandle(UIWidget* widget);
    EE::Window::Window* window(const std::string& handle) const;
    void invalidateWindow(EE::Window::Window* window);
    UISceneNode* scene(const std::string& handle) const;
    UIWidget* widget(const std::string& handle) const;
    SmallVector<UISceneNode*, 4> topLevelScenes() const;
    WidgetQueryResult query(UISceneNode* scene, const std::string& selector) const;
    std::string property(UIWidget* widget, const std::string& name) const;
    bool isSecret(UIWidget* widget) const;
};