Commit Graph

47 Commits

Author SHA1 Message Date
Vadim Zeitlin
adf8f9d0cd Handle multiple item insertion and deletion in wxSelectionStore.
Rename the existing but not implemented and never used OnItemAdd() method to
OnItemsInserted() and add OnItemsDeleted(), which is more efficient than
OnItemDelete() when many items are being removed from the control at once.

This is not used yet, but will be used in wxDataViewCtrl soon and maybe in the
other controls later.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77904 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-27 20:46:21 +00:00
Vadim Zeitlin
06ab4da3f3 Add wxSelectionStore::IsEmpty() helper.
Just a simple and potentially (although not right now) more efficient
equivalent to GetSelectedCount() == 0.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77903 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-27 20:46:18 +00:00
Vadim Zeitlin
d058c09e9f Add possibility to iterate over all selected items in wxSelectionStore.
This is necessary for retrieving all the selected items at once: while doing
this is not recommended for a control with a potentially very large number of
items, it must be possible to allow using wxSelectionStore for wxDataViewCtrl
implementation as wxDataViewCtrl must implement its GetSelections() method.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77902 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-27 20:46:15 +00:00
Vadim Zeitlin
31f0808ee2 reenable this tests under wxUniv/x11 port. EventPropagationTestCase::MenuEvent cause the problem, not these. MenuEvent will be fixed later
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77825 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:42:29 +00:00
Vadim Zeitlin
4363f9b578 These test will cause test_gui segmentation fault, disable for now.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77785 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:40:15 +00:00
Vadim Zeitlin
c2e18d75e5 Fix wxCALL_FOR_EACH() to work with more than 2 arguments with MSVC.
Due to a bug in MSVC handling of __VA_ARGS__ (see
https://connect.microsoft.com/VisualStudio/feedback/details/380090/variadic-macro-replacement)
wxCALL_FOR_EACH() didn't work correctly as long as more than two arguments
were used with it.

Work around the bug by protecting __VA_ARGS__ from being incorrectly passed as
a single token to the macro being called on every step: this was already done
for wxCALL_FOR_EACH itself with wxCALL_FOR_EACH_, but we need to do it for all
the helper macros too.

Also add a test checking that this does, actually, work.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77689 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-14 00:59:53 +00:00
Vadim Zeitlin
f4b80e5337 Remove MSVC6 support.
Don't support this compiler any more, this allows to get rid of tons of
MSVC6-specific workarounds, in particular we can now use Bind() and natural
template functions calls in the library code.

Also remove MSVC6 project and solution files and don't generate them when
bakefile_gen is ran any more (removing the remaining occurrences of msvc6prj
from the bakefiles results in weird bake-time errors, so it's simpler to just
leave them there).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-15 22:32:17 +00:00
Vadim Zeitlin
910f1a96d2 Add wxOleConvertVariant_ReturnSafeArrays flag for better SAFEARRAY handling.
While we can't change the type of wxVariant to which SAFEARRAYs are converted
by default, it's much more convenient to work with the variant objects of the
correct type, i.e. using wxVariantDataSafeArray, when dealing with SAFEARRAYs,
so add a flag which can be set to tell a wxAutomationObject to behave in this
way.

Closes #14700.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75004 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-14 15:08:35 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
f94a952846 PCH-less build fix for DynamicLibraryTestCase.
Include wx/log.h needed by wxLogWarning().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72763 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-24 23:41:04 +00:00
Vadim Zeitlin
e282b73a5b Test for the shared library existence in DynamicLibraryTestCase.
Trying to understand why does the test fail in some build slaves builds.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72758 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-24 23:13:38 +00:00
Vadim Zeitlin
b785d15d50 Add missing header to fix MiscGUIFuncsTestCase compilation.
Need full wxPanel declaration here now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72609 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-03 07:58:56 +00:00
Vadim Zeitlin
92c9a59d7a Fix wxFindWindowAtPoint() unit test to pass under GTK.
We need to ensure that all windows are realized before querying their
positions on screen, so add an extra wxYield().

Also adjust the tests slightly as the windows are now all created in the
beginning of the function.

Finally, use Destroy() instead of wxDELETE() for windows.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72608 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-03 00:16:53 +00:00
Vadim Zeitlin
44040e5eca Added a simple unit test for wxWindow::ClientToScreen().
Check that this function works consistently for the TLW and its children and
grand-children.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72607 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-03 00:16:30 +00:00
Vadim Zeitlin
ab45fb147b Avoid creating children of wxButton in MiscGUIFuncsTestCase.
This doesn't work in wxGTK, use a normal wxWindow instead of wxButton in this
case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72606 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-03 00:16:07 +00:00
Vadim Zeitlin
0825f0ba2b Fix wxFindWindowAtPoint() with nested windows in wxMSW.
Return the deepest child of the window and not the first one as this function
needs to return the window that is at the top of Z-order.

Closes #14591.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72470 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-13 17:12:42 +00:00
Steve Lamerton
e7aa703d4b Delete buttons when we are finished so they do not overlap later controls and cause test failures.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70872 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-11 15:27:40 +00:00
Vadim Zeitlin
bb5a951418 Use __WINDOWS__ for OS checks and __WXMSW__ for GUI checks (round 2).
This is continuation of r70796 and serves the same purpose.

Closes #14065, #14066.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70808 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-04 20:31:42 +00:00
Vadim Zeitlin
e18a74e240 Take disabled windows into account in wxFindWindowAtPoint() in wxMSW.
Use ChildWindowFromPointEx(CWP_SKIPINVISIBLE) to ensure that we find the
disabled children (by not using CWP_SKIPDISABLED).

Add a unit test to check for the correct behaviour in all cases and document
it.

Closes #2942.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70794 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-04 00:29:17 +00:00
Vadim Zeitlin
2db3b9a6a4 Fix unit test build with wxUSE_ZIPSTREAM or wxUSE_TARSTREAM == 0.
Disable the tests using wxZipEntry when it's unavailable. Also do the same for
wxTarEntry.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70349 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-15 12:28:57 +00:00
Dimitri Schoolwerth
e3778b4d9c No code changes, fixed some typos.
Changed several occurrences of "it's" where "its" is meant, as well as a few other minor typos.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-30 10:57:04 +00:00
Vadim Zeitlin
2ab92d62cf Add a simple unit test for wxParseCommonDialogsFilter().
Verify that this function (which is used for parsing the wildcard strings used
with file-related dialogs) works as expected and also asserts when given
invalid input.

See #4489.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-23 14:53:38 +00:00
Vadim Zeitlin
f9ee3f4710 Revert r66070: "Unload bogus XRC resources in "garbage" unit test."
This change is not needed any longer after r66219 which fixed the real
underlying problem, i.e. that attempting to load an invalid XRC file resulted
in failures when loading all subsequent XRC files.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-21 13:00:06 +00:00
Vadim Zeitlin
d97ee1b955 Unload bogus XRC resources in "garbage" unit test.
Leaving invalid XRC entries in wxXmlResource internal list of loaded resources
resulted in failures in the XRC unit test which executed after this one.

It seems that loading an invalid resource shouldn't prevent the other ones
from loading correctly later and this probably should be corrected at
wxXmlResource level but for now work around this problem in the test itself.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66070 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-08 16:28:51 +00:00
Vadim Zeitlin
2a0ca9dbaf Fix warnings about signed/unsigned comparisons inside wxMax() and friends.
wxMax, wxMin and wxClip work correctly when called with a mix of signed and
unsigned arguments but give warnings about comparing them when compiled with
g++.

Cast both arguments to the result type, which is defined consistently with
standard C rules for implicit promotion, before comparing them to avoid this.

Also add more tests to check that using these functions in this case doesn't
provoke warnings.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65933 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-27 20:23:55 +00:00
Václav Slavík
fd7c5da65e Add wxImplicitConversionType tests.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65921 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-25 09:43:04 +00:00
Stefan Csomor
6eb1e122cb using proper dylib for darwin
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64643 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 15:24:01 +00:00
Jaakko Salli
109e2ca434 Added wxIsPod<>. Use it in wxAny instead of wxIsMovable<>.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64589 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-14 15:12:37 +00:00
Francesco Montorsi
69fc85873d moved non-interactive tests for wxDynamicLibrary, wxGet/SetEnv, wxTempFile, wxCopyFile to appropriate CppUnit test suites;
removed wxFile and wxTextFile tests (complete testsuites already exist for them)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64583 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-13 14:30:55 +00:00
Francesco Montorsi
8e73dcda17 fix building without PCH
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64513 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-06 15:44:32 +00:00
Francesco Montorsi
49e323a5b5 remove some tests from the console sample:
- wxLog already has a better cppunit test class
- wxLocale test in the console sample didn't work on Windows and wasn't very useful

move some tests from the console sample to CppUnit tests:
- wxPathList => PathListTestCase
- wxModule => ModuleTestCase

remove some tests about removed functions of wxMimeTypesManager

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64511 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-06 14:21:27 +00:00
Vadim Zeitlin
009f89f75d Make the assert in SettingsTestCase::GlobalFonts() more informative.
Show the index of the font and the face name which was invalid.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62707 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-24 00:01:51 +00:00
Jaakko Salli
7db064f60f Added typeinfo.h which implements wxTypeId, using C++ RTTI if available. wxAny and Unbind<>() code are updated to use it. Added and updated related unit tests.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62690 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-19 19:27:24 +00:00
Vadim Zeitlin
791f7574a0 Fix buffer overflow in wxURLDataObject.
The code in CFSTR_SHELLURLDataObject::GetDataHere() was confused by
ANSI/Unicode and ended up overwriting output buffer because of it. Moreover,
this function was actually completely unnecessary as the base class version
did work correctly.

Closes #11102 (thanks to Tim Kosse).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61788 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-30 17:25:42 +00:00
Vadim Zeitlin
a15239a6fd correct test failures under MSW, it shouldn't assume that all predefined fonts have non-empty facenames
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60675 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-17 11:52:26 +00:00
Vadim Zeitlin
174649c955 fix tests for the release builds
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59848 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-25 13:32:53 +00:00
Francesco Montorsi
8057186b81 PCH less build fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59823 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-25 00:25:37 +00:00
Francesco Montorsi
e3527f7bc5 make sure that wxSystemSettings::GetFont/GetColour return values are always valid
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59820 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-24 23:13:02 +00:00
Francesco Montorsi
a17023d376 fix building tests in release mode
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59750 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-22 23:02:55 +00:00
Vadim Zeitlin
cc14bd0058 added wxStaticCast() unit test
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59740 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-22 21:04:28 +00:00
Vadim Zeitlin
657a8a3598 first round of debug/release merge: introduce wxDEBUG_LEVEL, for now defined as 1 if __WXDEBUG__ is defined, i.e. no real changes; don't use __WXDEBUG__ in the headers to keep debug and release builds ABI-compatible; add functions to customize or disable asserts handling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59711 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-21 23:36:37 +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
Vadim Zeitlin
fbfd8b1ace compilation fix for PCH-less build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55804 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-22 17:33:41 +00:00
Vadim Zeitlin
841a25bbc3 added a simple test for wxGetDisplayXXX() functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-22 16:03:45 +00:00
Vadim Zeitlin
604fba2d34 made wxDELETE[A]() template functions instead of macros; they now also check that their argument is fully declared (#9685)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-02 22:49:01 +00:00
Vadim Zeitlin
c8f80d2758 throw away the now invalid items in wxSelectionStore::SetItemCount() (bug 1929823) and added a unit test for this class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-31 15:22:10 +00:00