From 24c95b0f33f1438e7cb85c31c88f6d597a36031a Mon Sep 17 00:00:00 2001 From: twanvl Date: Tue, 7 Dec 2010 21:22:22 +0000 Subject: [PATCH] * compatibility with wxWdigets 2.9+: Handle MOUSE_CAPTURE_LOST event * use wxBORDER_THEME for custom controls git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1553 0fc631ac-6414-0410-93d0-97cfa31319b6 --- src/gui/symbol/control.cpp | 2 +- src/gui/symbol/part_list.cpp | 7 ++++++- src/gui/symbol/part_list.hpp | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/gui/symbol/control.cpp b/src/gui/symbol/control.cpp index 6d81b89b..bad624ac 100644 --- a/src/gui/symbol/control.cpp +++ b/src/gui/symbol/control.cpp @@ -23,7 +23,7 @@ // ----------------------------------------------------------------------------- : SymbolControl SymbolControl::SymbolControl(SymbolWindow* parent, int id, const SymbolP& symbol) - : wxControl(parent, id) + : wxControl(parent, id, wxDefaultPosition, wxDefaultSize, wxBORDER_THEME) , SymbolViewer(symbol, true) , parent(parent) { diff --git a/src/gui/symbol/part_list.cpp b/src/gui/symbol/part_list.cpp index f1dce78c..de4eb005 100644 --- a/src/gui/symbol/part_list.cpp +++ b/src/gui/symbol/part_list.cpp @@ -29,7 +29,7 @@ DEFINE_EVENT_TYPE(EVENT_PART_ACTIVATE); SymbolPartList::SymbolPartList(Window* parent, int id, SymbolPartsSelection& selection, SymbolP symbol) - : wxScrolledWindow(parent, id, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER | wxVSCROLL) + : wxScrolledWindow(parent, id, wxDefaultPosition, wxDefaultSize, wxBORDER_THEME | wxVSCROLL) , selection(selection) , state_icons(9,8) { @@ -218,6 +218,10 @@ void SymbolPartList::onMotion(wxMouseEvent& ev) { } } } +void SymbolPartList::onLoseCapture(wxMouseCaptureLostEvent&) { + // We already test for wrong release with HasCapture() + // but stupid wxwidget people decided to throw assertion failures +} void SymbolPartList::onLeftDClick(wxMouseEvent& ev) { // double click = activate @@ -551,4 +555,5 @@ BEGIN_EVENT_TABLE(SymbolPartList, wxScrolledWindow) EVT_CHAR (SymbolPartList::onChar) EVT_PAINT (SymbolPartList::onPaint) EVT_SIZE (SymbolPartList::onSize) + EVT_MOUSE_CAPTURE_LOST(SymbolPartList::onLoseCapture) END_EVENT_TABLE () diff --git a/src/gui/symbol/part_list.hpp b/src/gui/symbol/part_list.hpp index 41e8f8e1..3e85a05b 100644 --- a/src/gui/symbol/part_list.hpp +++ b/src/gui/symbol/part_list.hpp @@ -72,6 +72,7 @@ class SymbolPartList : public wxScrolledWindow, public SymbolView { void onLeftDClick(wxMouseEvent& ev); void onLeftUp (wxMouseEvent& ev); void onMotion (wxMouseEvent& ev); + void onLoseCapture(wxMouseCaptureLostEvent&); void onChar(wxKeyEvent& ev); void onPaint(wxPaintEvent&); void onSize(wxSizeEvent&);