From b6c2b7f164b42585ddf92d5cf075d3904f0e312d Mon Sep 17 00:00:00 2001 From: Nishi Date: Thu, 17 Sep 2026 02:04:54 +0900 Subject: [PATCH] document --- include/MwCXX/Widget/Document.h | 2 ++ src/widget/document.cc | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/include/MwCXX/Widget/Document.h b/include/MwCXX/Widget/Document.h index d92e26e..2f4c09c 100644 --- a/include/MwCXX/Widget/Document.h +++ b/include/MwCXX/Widget/Document.h @@ -19,8 +19,10 @@ namespace MwCXX { void SetText(MwCXX::String value); virtual void OnLayout(int value) {}; + virtual void OnDocumentActivate(MwCXX::String value) {}; void (*LayoutHandler)(MwCXX::Document* widget, int value); + void (*DocumentActivateHandler)(MwCXX::Document* widget, MwCXX::String value); }; }; // namespace MwCXX diff --git a/src/widget/document.cc b/src/widget/document.cc index fc30a0e..96e95a6 100644 --- a/src/widget/document.cc +++ b/src/widget/document.cc @@ -27,8 +27,15 @@ static void __OnLayout(MwWidget handle, void* user, void* call) { if(((MwCXX::Document*)user)->LayoutHandler != NULL) ((MwCXX::Document*)user)->LayoutHandler((MwCXX::Document*)user, *(int*)call); } +static void __OnDocumentActivate(MwWidget handle, void* user, void* call) { + ((MwCXX::Document*)user)->OnDocumentActivate((MwCXX::String)(char*)call); + if(((MwCXX::Document*)user)->DocumentActivateHandler != NULL) ((MwCXX::Document*)user)->DocumentActivateHandler((MwCXX::Document*)user, (MwCXX::String)(char*)call); +} + void MwCXX::Document::RegisterHandlers() { MwAddUserHandler(this->widget, MwNlayoutHandler, __OnLayout, (void*)this); + MwAddUserHandler(this->widget, MwNdocumentActivateHandler, __OnDocumentActivate, (void*)this); - this->LayoutHandler = NULL; + this->LayoutHandler = NULL; + this->DocumentActivateHandler = NULL; }