wxWidgets/wxPython/demo/dllwidget/test_dll.cpp
Robin Dunn 4a61305d36 Added wxDllWidget from Vaclav Slavik which allows wx widgets derived
from wxWindow to be loaded from a C++ .dll (or .so) and be used in a
wxPython program, without the widget having to be SWIGged first.

Various updates for distribs


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12890 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-06 19:59:37 +00:00

55 lines
1.1 KiB
C++

#include <wx/defs.h>
#include <wx/window.h>
#include <wx/msgdlg.h>
#include "../dllwidget.h"
class TestWindow : public wxWindow
{
public:
TestWindow(wxWindow *parent, long style)
: wxWindow(parent, -1)
{
SetBackgroundColour(wxColour("white"));
}
int HandleCommand(int cmd, const wxString& param)
{
if (cmd == 1)
{
SetBackgroundColour(wxColour("red"));
Refresh();
}
if (cmd == 2)
{
SetBackgroundColour(wxColour(param));
Refresh();
}
else if (cmd == 3)
{
wxMessageBox("Message from embedded widget:\n\n" + param);
}
return 0;
}
private:
DECLARE_ABSTRACT_CLASS(TestWindow)
};
IMPLEMENT_ABSTRACT_CLASS(TestWindow, wxWindow)
//DECLARE_DLL_WIDGET(TestWindow)
static int SendCommandToTestWindow(wxWindow *wnd, int cmd, const wxString& param)
{
return wxStaticCast(wnd, TestWindow)->HandleCommand(cmd, param);
}
BEGIN_WIDGET_LIBRARY()
REGISTER_WIDGET(TestWindow)
END_WIDGET_LIBRARY()