Commit Graph

2410 Commits

Author SHA1 Message Date
Vadim Zeitlin
f3ff831f3b 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
2009-02-02 20:38:56 +00:00
Vadim Zeitlin
f57254320e don't always disable new events code; leave it enabled for MSVC8+
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58620 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-02 11:39:48 +00:00
Vadim Zeitlin
33f4afdbc0 define MIIM_BITMAP &c in wx/msw/missing.h instead of msw/menu.cpp as menuitem.cpp now needs them too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58562 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-31 20:52:44 +00:00
Vadim Zeitlin
0580ddb24f no real changes, just remove unnecessary code; use wxScopedArray instead of raw one
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58553 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-31 14:04:23 +00:00
Vadim Zeitlin
79f9ea0541 remove the recently added MSWFindMenuBarItem() as we already had FindItemInMenuBar() for the same purpose; just change the latter to return a non-const pointer; this fixes help string display in the status bar for the window menu items
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58478 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-28 09:14:07 +00:00
Vadim Zeitlin
1483e5db8d refactor WM_COMMAND messages handling in MDI frames to avoid duplicating code unnecessarily and generally streamline it; added possibility to use custom menu commands in the "Window" menu and specifying accelerators for them now works too (show this in the sample); finally added standard ids for the MDI window menu commands
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-27 16:47:41 +00:00
Vadim Zeitlin
67fdb6f9af added CreateAccelTable() helper which creates the accel table for just this menu
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58461 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-27 16:45:24 +00:00
Vadim Zeitlin
7e6d684052 add more wxUSE_MENUS guards
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58447 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-26 23:38:08 +00:00
Václav Slavík
26dd7154d5 Automatically adjust toolbar's tool size if the provided bitmaps
don't fit into the default size.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58444 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-26 23:20:17 +00:00
Vadim Zeitlin
51181d2911 use a virtual function instead of wxDynamicCast(wxMDIParentFrame) in wxFrame code: this not only makes the code cleaner but should also remove the last dependency on MDI code when linking wx applications not using MDI
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58443 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-26 23:18:47 +00:00
Vadim Zeitlin
0a03dc7a13 remove duplicated HitTest implementation from wxCheckListBox, it already inherits wxListBox::HitTest() (which was however lacking an overload taking 2 coordinates, added now)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58406 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-25 18:10:24 +00:00
Vadim Zeitlin
0a1f778483 add wxDrawStateBitmap() (closes #10289)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58397 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-25 14:38:44 +00:00
Vadim Zeitlin
eab1336c90 added (MSW-only) wxListCtrl::OnGetItemColumnAttr() (#10018)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-25 13:27:48 +00:00
Vadim Zeitlin
2ddb8ccf60 convert COM arguments to wx lazily to improve performance and allow calling Invoke/handling events involving parameters which can't be mapped to wx types at all (new GetNativeParameters() method can be used to access them) (closes #9606)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58384 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-25 12:25:43 +00:00
Vadim Zeitlin
bb24f84b70 add IsOk() (closes #9872)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58383 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-25 12:04:25 +00:00
Vadim Zeitlin
d6dae1b443 minor fixes for custom controls support in wxFileDialog: slightly improve documentation, make variable names more clear and add more WinCE checks (closes #10416)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58353 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-24 14:04:25 +00:00
Vadim Zeitlin
be8b43858c added (wxMSW-only) wxToolTip::SetMaxWidth() and improve its default behaviour (#2817)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-23 13:26:20 +00:00
Robert Roebling
81a1c6869e Call SetDataSource() from OnEnter() so that querying/accessing the data is possible from then on, rename to MSWxxx
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58276 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-21 17:44:55 +00:00
Vadim Zeitlin
6fa6d65956 allocate size for the extra controls in the file dialog (#9679)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58270 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-21 15:32:02 +00:00
Robert Roebling
51c9c13c05 Add wxDataFormat GetMatchingPair() which wxGTK and wxMSW already had under different names
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58260 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-21 14:01:31 +00:00
Vadim Zeitlin
c6212a0cb7 set m_isBeingDeleted to true (only) in SendDestroyEvent(); call it as early as possible during the window destruction to ensure that destroy event handlers can still access the full window object
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58246 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-20 18:33:33 +00:00
Vadim Zeitlin
952555f7b1 compilation fix after NULL cast removal; also used it to get rid of an ugly OnTimerEvent(*(wxTimerEvent *)NULL) call
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58229 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-19 14:40:13 +00:00
Vadim Zeitlin
d3b9f782ef don't use annoying and unneeded in C++ casts of NULL to "T *" in all other files neither
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-19 13:55:27 +00:00
Vadim Zeitlin
41fb347540 correct Id tags
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58225 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-19 13:30:34 +00:00
Vadim Zeitlin
150ac0dae3 added forward declaration of FrameSite apparently needed by mingw32 4.3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58193 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-18 12:30:40 +00:00
Vadim Zeitlin
213b5041fe export wxActiveX stuff from core (not media) DLL (closes #8991)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58151 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-16 17:44:16 +00:00
Francesco Montorsi
5249958203 don't use hardcoded constant 200; use wxSTACKWALKER_MAX_DEPTH instead
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58093 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-14 14:38:00 +00:00
Vadim Zeitlin
9b53796d59 fix memory leak of FrameSite (see #3935)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58087 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-13 23:04:03 +00:00
Vadim Zeitlin
cbc9abd710 disable new events for VC9 too, it fails when linking in DLL build (#10000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58044 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-12 15:16:39 +00:00
Vadim Zeitlin
58bd3862b8 fix the MSVC check in the last comment and accompanying comment
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58042 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-12 14:48:13 +00:00
Vadim Zeitlin
8e62855a3f disable new events for MSVC 7, it fails to compile it (#10000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58041 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-12 14:44:54 +00:00
Vadim Zeitlin
3c77890141 add more flexible and safer template Connect() overloads (#10000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58039 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-12 14:26:13 +00:00
Francesco Montorsi
2903e6998a just fix some $Id$ tokens
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58021 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-11 11:58:34 +00:00
Vadim Zeitlin
e721a2a2a4 added wxUSE_HEADERCTRL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58009 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-11 00:57:08 +00:00
Vadim Zeitlin
f0bb342fed added wxUSE_REARRANGECTRL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58006 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-11 00:44:02 +00:00
Francesco Montorsi
94a007ece4 a few more int/wxPolygonFillMode substitutions in wxRegion and wxGraphicsContext code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57915 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-08 16:43:56 +00:00
Francesco Montorsi
89efaf2b65 change generic ints to enums in wxDC (closes #9959)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57907 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-08 14:21:53 +00:00
Francesco Montorsi
c9760e58d5 remove old (and unused) MSW-only wxFontEnumerator header
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57891 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-07 17:42:21 +00:00
Vadim Zeitlin
14eb37a05e call ProcessPendingEvents() from wxAppConsoleBase::ProcessIdle() too, not only from wxAppBase::ProcessIdle(); do not call it from wxConsoleEventLoop::Dispatch() as this results in unwanted reentrancies in the socket code when using it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57799 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-02 22:18:10 +00:00
Vadim Zeitlin
df21920b80 disable the events when we get a notification about socket being ready for IO and reenable them later after performing the IO in the Unix version to avoid continuous flood of ready notifications
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-02 21:53:30 +00:00
Vadim Zeitlin
14372de82e move Read/Write() to common code, there was almost nothing platform-specific in it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57613 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-27 22:49:46 +00:00
Vadim Zeitlin
cf21e2fc0b remove the now unused Connect_Timeout()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57609 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-27 21:49:35 +00:00
Vadim Zeitlin
2b036c4b23 our sockets are always non-blocking anyhow so throw away all the code dealing with checking if they're blocking; also merge Unix/Win32 versions of connect() and accept() handling as they were almost identical except for the different checking of the return value which was factored out into a platform-specific GetLastError() function
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-27 17:15:22 +00:00
Francesco Montorsi
64afee8513 remove the long deprecated wxTabCtrl class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-27 14:58:12 +00:00
Vadim Zeitlin
9af42efda6 added wxEventLoop::DispatchTimeout()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57571 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-26 22:28:34 +00:00
Vadim Zeitlin
c6b1063250 refactor Input/Output_Timeout: don't duplicate the same code in MSW/Unix code and also don't duplicate it for input and output, one function is enough for both
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57558 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-25 20:27:35 +00:00
Vadim Zeitlin
bb20575e6e rename gsockmsw files to sockmsw
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57549 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-25 18:41:13 +00:00
Vadim Zeitlin
07792edb2e use void pointers, not char ones, in socket IO functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57546 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-25 18:29:08 +00:00
Vadim Zeitlin
ae322a4870 undid change accidentally committed as part of r57093 but which didn't have anything to do with it and resulted in #10253
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57497 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-22 13:34:12 +00:00
Vadim Zeitlin
1c7ae45ab5 fix for compilation with newer DMC headers (see #10112)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-21 02:48:45 +00:00