code integration

This commit is contained in:
Sylvain Schneider
2026-07-04 21:17:38 +02:00
parent 8329318677
commit 888765ef6b
64 changed files with 52755 additions and 1 deletions

View File

@@ -0,0 +1,32 @@
#include "wxBusEvent.h"
wxDEFINE_EVENT(wx_BUSEVENT_MESSAGE, wxBusEvent);
//--------------------------------------------------------------
/* Constructor */
wxBusEvent::wxBusEvent(message_t message, const int id)
: wxCommandEvent(wx_BUSEVENT_MESSAGE, id)
, m_message(std::move(message))
{
// Nothing to do here
}
//--------------------------------------------------------------
/* Clone method for wxWidgets event system */
wxEvent *wxBusEvent::Clone() const
{
auto *clonedEvent = new wxBusEvent(m_message, GetId());
clonedEvent->SetEventObject(GetEventObject()); // Copy the event object
return clonedEvent;
}
//--------------------------------------------------------------
/* Get the message type ID */
wxBusEvent::MessageTypeID wxBusEvent::getMessageTypeID() const
{
return m_message ? m_message->getMessageTypeID() : 0; // Return 0 if message is null
}
//--------------------------------------------------------------
/* Get the message data */
wxBusEvent::message_t wxBusEvent::getMessage() const
{
return m_message;
}
//--------------------------------------------------------------

View File

@@ -0,0 +1,33 @@
#pragma once
#include <sdi_toolBox/desktop/eventBus/defs.h>
#include <sdi_toolBox/desktop/eventBus/message.h>
#include <wx/wx.h>
//--------------------------------------------------------------
class wxBusEvent : public wxCommandEvent
{
using MessageTypeID = sdi_toolBox::desktop::eventBus::MessageTypeID;
using message_t = std::shared_ptr<sdi_toolBox::desktop::eventBus::Message>;
public:
wxBusEvent() = delete; // Default constructor
virtual ~wxBusEvent() = default; // Default destructor
wxBusEvent(const wxBusEvent &other) = default; // Copy constructor
wxBusEvent(wxBusEvent &&other) noexcept = default; // Move constructor
wxBusEvent &operator=(const wxBusEvent &other) = delete; // Copy assignment
wxBusEvent &operator=(wxBusEvent &&other) noexcept = delete; // Move assignment
explicit wxBusEvent(message_t message, int id = wxID_ANY); // Constructor
[[nodiscard]] wxEvent *Clone() const override; // Clone method for wxWidgets event system
// Data management
[[nodiscard]] MessageTypeID getMessageTypeID() const; // Get the message type ID
[[nodiscard]] message_t getMessage() const; // Get the message data
protected:
message_t m_message;
};
//--------------------------------------------------------------
wxDECLARE_EVENT(wx_BUSEVENT_MESSAGE, wxBusEvent);