--- nono/wx/wxuimessage.h 2026/04/29 17:05:00 1.1.1.1 +++ nono/wx/wxuimessage.h 2026/04/29 17:05:16 1.1.1.3 @@ -4,6 +4,10 @@ // Licensed under nono-license.txt // +// +// UI スレッドへのメッセージ機構 (GUI 側) +// + #pragma once #include "wxnono.h" @@ -20,12 +24,17 @@ class WXUIMessage wxObjectEventFunction function); // イベントハンドラの接続を解除する - static void Disconnect(UIMessage::ID id, wxObjectEventFunction function); + static void Disconnect(UIMessage::ID id, wxEvtHandler *dest, + wxObjectEventFunction function); // UIMessage を処理する // (VM スレッドで実行される) static void Process(UIMessage::Queue& queue); + // すべてのハンドラが解除されているかチェックする (開発用) + static void AssertAllDisconnected(); + private: - static std::array dest_table; + static std::array< std::vector, UIMessage::ID_MAX> + dest_table; };