]> git.saurik.com Git - wxWidgets.git/commit
Changes to template Connect() to make it compile with MSVC7 and possible other
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 2 Feb 2009 20:38:56 +0000 (20:38 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 2 Feb 2009 20:38:56 +0000 (20:38 +0000)
commitf3ff831f3be88834579fc9a0ce17f24745650faf
tree261d1481bc3e653793dc99cdb175ac11c2fd7e6f
parent4c509aecb650100d0bca898ec05801a0fbcae1f4
Changes to template Connect() to make it compile with MSVC7 and possible other
not quite up-to-date compilers, to reduce repetitions and to allow using
methods of non-wxEvtHandler-derived classes as event callbacks:

1. Don't rely on compiler ability to deduce template parameter from the type
   of a parameter of a function used as another template parameter, at least
   MSVC7 can't do this and it's probably not the only one.
2. Do rely on compiler support for partial specialization to make
   wxEventFunctorMethod compile for non-wxEvtHandler-derived handlers while
   still keeping the old functionality for the wxEvtHandler-derived ones.
3. Don't make any difference between functions and functors, both are callable
   objects so use them as such, this allows to fold code for both cases.
4. Avoid the use of dynamic_cast<>.
5. Several naming changes:
 a) wxTypedEventType -> wxEventTypeTag (because this is what it is)
 b) Subscribe/Unsubscribe -> DoConnect/Disconnect (to follow the usual
    convention of public Foo calling private DoFoo and to avoid using up
    another name)
 c) Derived -> ObjClass (because it's not clear what does Derived mean)
6. Extend the unit test to cover more cases.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
include/wx/event.h
include/wx/msw/chkconf.h
src/common/event.cpp
tests/events/evthandler.cpp