Commit Graph

662 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
4fc218c2a7 move evthandler.cpp to non-GUI test as it doesn't require the GUI
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58615 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-01 23:20:27 +00:00
Vadim Zeitlin
9b3ff3c04f test that the connected event handler is really called; some naming changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58614 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-01 23:19:45 +00:00
Vadim Zeitlin
b3f76d404f disable warning about using deprecated wxStripExtension() for MSVC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58612 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-01 22:20:59 +00:00
Vadim Zeitlin
b2238cc315 add a unit test for new events (see #10000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58611 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-01 22:12:12 +00:00
Vadim Zeitlin
6b522db5c8 correct wxDateTime DST begin/end computations for years > 2006 in USA (closes #10425)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58486 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-28 21:52:37 +00:00
Francesco Montorsi
004867dbc5 Change in wxWindow the access specifier of the wxEvtHandler event processing and queuing functions
from public to protected. Adapt wxWidgets code and wxWidgets samples to always use wxWindow::GetEventHandler()
when calling such functions on a wxWindow rather than directly using wxWindow::ProcessEvent, etc.
This enables correct event dispatching to the event handlers which have been pushed (with PushEventHandler) on the 
windows.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58381 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-25 11:58:39 +00:00
Vadim Zeitlin
62e3e6c2bc fix wxURI::GetUser() for URIs without password; added unit test case for it (closes #10412)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58272 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-21 17:02:11 +00:00
Vadim Zeitlin
fa97ee2490 implement wxTreeCtrl::ItemHasChildren() properly for virtual root item; added unit test for it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58177 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-17 13:16:25 +00:00
Vadim Zeitlin
9ebfc96354 compilation fix for VC7 which seems to somehow lose the default value for PopEventHandler() parameter inside scope guard templates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58176 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-17 13:01:47 +00:00
Vadim Zeitlin
c21dcf80f0 add wx/app.h for PCH-less compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58172 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-17 11:38:32 +00:00
Vadim Zeitlin
a79fe526de add wx/window.h for MSVC compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58161 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-16 23:01:04 +00:00
Vadim Zeitlin
166523d8d7 calling wcsnlen(NULL) does crash (under Debian and, according to the docs, should also crash with MSVC), contrary to what the comment claimed so don't do this
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58152 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-16 17:48:59 +00:00
Vadim Zeitlin
68888eeaa8 compilation fixes for 64 bit platforms
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58150 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-16 17:41:25 +00:00
Vadim Zeitlin
9eab67251b forward declare wxEvent before using it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58149 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-16 17:19:16 +00:00
Vadim Zeitlin
1649d2886b add a unit test checking that events are really propagated as they're supposed to
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58146 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-16 16:21:50 +00:00
Vadim Zeitlin
b44f5137ce link with wininet.lib under Windows to avoid linking errors in wxUSE_URL_NATIVE==1 build (#10338)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58118 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-15 13:33:51 +00:00
Francesco Montorsi
7c5ac499c8 provide our own implementation of wxStrnlen if it's not available; add tests for it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58069 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-13 12:01:30 +00:00
Francesco Montorsi
8d1a41016d assert when the item index is out of range in wxMSW's listctrl, just like generic listctrl does
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-12 19:34:42 +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
ef57fb9546 fix for the broken VC6 compiler (why do we have to still support it?)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58013 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-11 10:28:20 +00:00
Francesco Montorsi
9e48b1f56c add the 'GarbageTestCase' which helped me to spot some buggy load routines
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58002 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-11 00:39:22 +00:00
Francesco Montorsi
880706bedd disable test which asserted when trying to call wxListCtrl::GetItemRect() with an invalid index; not sure this is the best thing to do
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57978 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-10 17:40:32 +00:00
Francesco Montorsi
395f3aa8bd rewrite wxContractPath as wxFileName::ReplaceEnvVariable and wxFileName::ReplaceHomeDir; add test units and docs for them
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57867 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-07 00:38:46 +00:00
Vadim Zeitlin
b2eabfe866 abstract VC6 workaround inside a WX_CPPUNIT_ALLOW_EQUALS_TO_INT() macro
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57833 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-04 16:04:22 +00:00
Vadim Zeitlin
39e12b2d52 don't use \u in strings, VC6 doesn't support this
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57832 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-04 15:53:09 +00:00
Vadim Zeitlin
9540df9c2e use correct type for file offset
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57831 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-04 15:49:24 +00:00
Vadim Zeitlin
a54b285e7c allow using CPPUNIT_ASSERT_EQUAL(int, wxFileOffset) too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57820 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-04 00:47:10 +00:00
Vadim Zeitlin
3e98ba4589 trying to fix buildbot VC6 build error
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57819 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-03 19:29:46 +00:00
Vadim Zeitlin
1f30c75e44 fix memory leak in URL test
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-30 13:18:22 +00:00
Vadim Zeitlin
16685812c1 run wxURL test both with and without the event loop too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57663 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-30 12:53:44 +00:00
Vadim Zeitlin
6799c5e283 added wxURL test
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57662 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-30 12:53:04 +00:00
Vadim Zeitlin
9f4204f7ee make the test really use the different socket flags and disable the use of wxSOCKET_NOWAIT as some tests fail in this case
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-27 11:41:30 +00:00
Vadim Zeitlin
91bde3ec3e more CPPUNIT_ASSERT replacements with CPPUNIT_ASSERT_EQUAL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57584 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-27 11:22:59 +00:00
Vadim Zeitlin
1156062f77 also include wxSocket test in the GUI test as different event loop implementations may be used for console and GUI apps resulting in different bugs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57583 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-27 11:14:10 +00:00
Vadim Zeitlin
8d8087fc9b make the test really use the event loop in its second half (this already was the intention before but it didn't work correctly)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57582 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-27 11:12:47 +00:00
Vadim Zeitlin
6e7fd3ca03 test sockets both with and without event loop
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57574 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-26 22:58:20 +00:00
Vadim Zeitlin
c9e46deaa7 fix wxTimeSpan::Format() for negative spans with 0 hour component (#10055)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57474 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-21 12:16:06 +00:00
Vadim Zeitlin
c0ccc082e2 correct wrong #endif position which prevented ListCtrlTestCase::ItemRect() from being compiled under non-MSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57465 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-21 02:58:41 +00:00
Vadim Zeitlin
0468a58a4b don't show assert message boxes in debug build but throw an exception if an assert unexpectedly fails; do check that expected asserts are generated
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57459 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-21 02:28:55 +00:00
Vadim Zeitlin
6756186271 fix Get(Sub)ItemRect() after changes of r54437; added test for it (see #10175)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-21 02:13:58 +00:00
Vadim Zeitlin
6124b13407 replace CPPUNIT_ASSERTs with CPPUNIT_ASSERT_EQUALs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57390 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-17 09:47:39 +00:00
Vadim Zeitlin
3246a508ab don't test for best size not being 0, this doesn't pass under wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-12 16:29:11 +00:00
Vadim Zeitlin
497c7dffd1 compilation fixes for Unix build _with_ PCH
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57287 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-12 16:21:49 +00:00
Vadim Zeitlin
71d8948f12 add unit test for column reordering functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57279 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-12 14:16:06 +00:00
Vadim Zeitlin
059979d848 fix wxTextCtrl::Replace() under wxGTK; added unit test for it and describe its effect on the insertion point
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57253 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-11 16:46:25 +00:00
Vadim Zeitlin
e068310a5a added wxVector::resize()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57248 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-11 13:45:04 +00:00
Vadim Zeitlin
a1d4adc5ce use wxHeaderColumnSimple instead of wxHeaderColumn
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57162 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-07 15:58:59 +00:00
Vadim Zeitlin
e2bfe6731e - Rewrite wxHeaderCtrl to be virtual-like: even if we don't need an infinite
number of columns in it, it turns out that getting column information from
  the associated control is much easier than copying it into the control.
- Provide wxHeaderCtrlSimple derived class which can be used easily if
  callback approach of wxHeaderCtrl is not needed.
- Because of wxHeaderCtrl virtualization, port-specific implementations of
  wxHeaderColumn are not needed any more and were removed.
- Use wxHeaderCtrl in the generic wxDataViewCtrl: this means that column
  events are broken right now in it as they haven't been implemented by
  wxHeaderCtrl yet, this will be fixed a.s.a.p.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57161 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-07 14:47:55 +00:00
Vadim Zeitlin
20f4a2e41f forgot to update after renaming wxHeaderCtrlColumn to wxHeaderColumn
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57098 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-03 23:21:08 +00:00