Commit Graph

68535 Commits

Author SHA1 Message Date
Vadim Zeitlin
3307000baa Add wxGrid::GetSelectedRowBlocks() and GetSelectedColBlocks()
These functions are much simpler to use in the application code using
wxGrid in row- or column-only selection mode than GetSelectedBlocks()
itself because they take care of deduplicating, ordering and squashing
together the adjacent ranges, so that the application can use their
results directly, unlike with GetSelectedBlocks().
2020-05-27 03:19:34 +02:00
Tomay
9990d91dfc Fix generated documentation for wxZipEntry::GetInternalName()
Remove the group around it to avoid problems due to the existence of
another overload.

This completes the changes of ca59d38cfd (Add missing static to
wxZipEntry::GetInternalName() documentation, 2020-05-25).

Closes https://github.com/wxWidgets/wxWidgets/pull/1876
2020-05-27 01:46:59 +02:00
Vadim Zeitlin
d48013a322 Disable OpenGL functions deprecation warnings in wxOSX
Don't generate dozens of deprecation warnings (one for each OpenGL
function used in the code) for any program using wxGLCanvas being built
using macOS 10.14 or later SDK.

Closes https://github.com/wxWidgets/wxWidgets/pull/1875
2020-05-27 00:28:21 +02:00
Vadim Zeitlin
445ccb23cc Simplify using wxIntSortedArray in wxGridSelection code
There is no need to specify the comparison function when defining the
variables of this type when we can just specify it once when defining
the array type itself.

No real changes.
2020-05-26 16:37:26 +02:00
Vadim Zeitlin
340a86b3de Use more efficient storage for wxIntSortedArray
As this array contains ints, store them in wxVector<int> instead of
taking twice as much memory (in 64 bit builds) by storing them in
wxVector<void*>.
2020-05-26 16:34:02 +02:00
Vadim Zeitlin
92b6a55fd6 Fix returning duplicates from Get{Row,Col}Selection()
The "unique" rows/columns arrays used in the implementation of these
functions were not unique at all, as we happily added duplicates of the
existing items into them. Fix this by checking that a row/column is not
already present before adding it.

Add a (previously failing) unit test checking that this works correctly
with overlapping selected blocks.
2020-05-26 16:32:05 +02:00
Vadim Zeitlin
f268c02c19 Use "uniqueCols" for an array containing column indices
No real changes, just don't use misleading "Rows" in the name of a
variable containing column indices.
2020-05-26 16:31:34 +02:00
Vadim Zeitlin
f1425dad13 Don't hard code grid lines colour in wxGrid
Use wxSYS_COLOUR_BTNFACE instead of the hardcoded value of this colour
in "Windows Classic" theme, which was probably used back when the commit
73145b0ed1 (Applied patches by Scott Pleiter:, 2002-12-09), which was
supposed to change wxGrid to use system colours (among other things),
was done.

Nowadays wxSYS_COLOUR_BTNFACE is 0xF0F0F0 rather than 0xC0C0C0, which is
quite different visually, but it still seems better to use the system
colour rather than the fixed value, especially for platforms with dark
mode support.

Closes https://github.com/wxWidgets/wxWidgets/pull/1866
2020-05-26 15:11:02 +02:00
Vadim Zeitlin
37b2918c9c Don't consume all 'C'/Insert key presses in wxGrid
Skip the key events other than Ctrl-C/Ins which are used for copying
grid contents to the clipboard, notably Alt-C which should still be
usable for opening the menus.

This fixes a problems introduced in 67c1c412c6 (Implement support for
copying wxGrid cells to clipboard, 2020-04-26), see #13562.
2020-05-26 02:00:18 +02:00
Tomay
ca59d38cfd Add missing static to wxZipEntry::GetInternalName() documentation
Closes https://github.com/wxWidgets/wxWidgets/pull/1872
2020-05-25 22:46:15 +02:00
Vadim Zeitlin
e2562b08a4 Explain that wxApp::OnInitCmdLine() must not call Parse()
Make it clear that this method should only set up the command line
options to recognize, but not actually parse them.

See #18771.
2020-05-25 22:40:11 +02:00
PB
824b36fdc5 Really close the <Import> tag in the comment in wxwidgets.props
Corrects a mistake introduced in a supposed fix in commit a27a7e0,
where the XML-tag-closing slash was wrongly places inside the quotes.

Closes https://github.com/wxWidgets/wxWidgets/pull/1870
2020-05-25 19:12:53 +02:00
Vadim Zeitlin
faea4da8ff Force enable live resizing in wxAUI for GTK 3 too
Do for GTK 3 the same thing as was already done for macOS in 68030cae69
(Added wxAUI_MGR_LIVE_RESIZE flag for live sash sizing, the default on
wxOSX, 2009-01-07) and for the same reasons: sash feedback is simply
invisible with this port and so can't be used.
2020-05-25 18:02:14 +02:00
Vadim Zeitlin
f6727a17a2 Add wxAuiManager::AlwaysUsesLiveResize()
This allows to check if it's worth specifying wxAUI_MGR_LIVE_RESIZE or
not and allows to get rid of the corresponding menu item in the sample
if it doesn't do anything anyhow.
2020-05-25 18:01:09 +02:00
Vadim Zeitlin
4f7eb2b145 Freeze frame using AUI during wxAuiManager::Update() under MSW
Disable unnecessary intermediate repaints and redraw everything at once
at the end when the window is thawed.
2020-05-25 17:52:08 +02:00
Vadim Zeitlin
74bc08535b Replace wxAuiManager_HasLiveResize() hack with normal accessor
For some unknown reason a free function taking "*this" was used instead
of just an accessor. Add the latter to make this code less unusual.
2020-05-25 17:52:08 +02:00
Vadim Zeitlin
758a81bc89 Allow using wxWindowUpdateLocker conditionally
This can be useful if the window needs to be frozen only if some
run-time condition holds true.
2020-05-25 17:52:08 +02:00
Vadim Zeitlin
152f3154be Make wxWindowUpdateLocker ctor explicit
No real changes, just avoid using ctor allowing implicit conversions
when none are desired.
2020-05-25 17:52:08 +02:00
valid-ptr
b9a3d528c0 Remove redundant Repaint() calls in wxAuiManager
There is no need to call Repaint() immediately after calling Update()
which already calls it.
2020-05-25 17:52:08 +02:00
PB
a27a7e084e Close the <Import> tag in the comment in wxwidgets.props
Closes https://github.com/wxWidgets/wxWidgets/pull/1868
2020-05-25 16:19:46 +02:00
Vadim Zeitlin
7338f30167 Document wxDataViewEvent::GetProposedDropIndex()
This method was added back in d3e8d3f271 (Support or disable "insert"
for drag/drop wxDataViewCtrl on OSX, 2018-07-16) but didn't appear in
the documentation at all, so describe it, at least minimally.

See #18167.
2020-05-25 01:52:32 +02:00
Vadim Zeitlin
3dd91d24c2 Slightly simplify proposed drop index determination
No real changes, just reorganize the code in a way that should hopefully
be more clear to understand.
2020-05-25 01:52:32 +02:00
Vadim Zeitlin
60e0e9a8fc Make RefreshDropHint() code slightly shorter and simpler
Use an alias instead of typing the same long m_dropItemInfo.m_row
multiple times.

Remove unnecessary use of std::max().
2020-05-25 01:52:32 +02:00
Vadim Zeitlin
155e2beafd Use symbolic constant instead of hardcoded 15/85%
It's still hardcoded, but now it has a name, which explains what it is
and can be searched for.

No real changes.
2020-05-25 01:52:32 +02:00
Vadim Zeitlin
64374fba59 Use consistent name for Konstantin S. Matveyev in git log
Map the existing emails/user names to a single combination.
2020-05-25 01:48:43 +02:00
valid-ptr
74a60516b9 Respect border styles for text part of generic wxSpinCtrlDouble
Specifying e.g. wxBORDER_NONE for wxSpinCtrlDouble should work, i.e.
remove the border from the wxTextCtrl used by it internally in the
generic version, so add wxBORDER_MASK to the list of styles respected by
this wxTextCtrl.

Closes https://github.com/wxWidgets/wxWidgets/pull/1864
2020-05-25 01:48:43 +02:00
Vadim Zeitlin
2665c024c8 Merge branch 'cmake-project-version-warning' of https://github.com/MaartenBent/wxWidgets
CMake: set the project version.

See https://github.com/wxWidgets/wxWidgets/pull/1867
2020-05-25 01:34:52 +02:00
Vadim Zeitlin
a087d7c8da Merge branch 'fix-stc-ime' of https://github.com/wangqr/wxWidgets
Fix position of IME in wxSTC in wxMSW.

See https://github.com/wxWidgets/wxWidgets/pull/1852
2020-05-25 01:33:00 +02:00
Vadim Zeitlin
0ce6ce1a8f Merge branch 'wx-props'
Make props file work for builds using any prefix/DLL combinations.

See https://github.com/wxWidgets/wxWidgets/pull/1860
2020-05-25 01:02:16 +02:00
Vadim Zeitlin
56be52b841 Explain in more details how to use wxWidgets.props
Also describe a manual change which needs to be done at the project
level when creating a new empty project in MSVS.
2020-05-25 01:01:57 +02:00
Vadim Zeitlin
7de85d7470 Restore correct best width of wxDatePickerCtrl in MSW
This partially reverts the changes of a98d8448fa (Fix size of
wxDateTimePickerCtrl after DPI change, 2019-01-13) to still use
DTM_GETIDEALSIZE, even if it returns wrong height value after a DPI
change, because it still computes the best width more precisely than we
do and using our code could result in the date being partially truncated
when using some date formats.
2020-05-24 22:47:28 +02:00
Vadim Zeitlin
e9e14063f2 Account for the extra border around the thumb in wxMSW wxSlider
Without the extra margin, part of the thumb was truncated when
wxSL_TICKS was not used, but wxSL_BOTH (which makes the thumb bigger
than without it) was.
2020-05-24 22:47:28 +02:00
Maarten Bent
7b4ee6100f CMake: set the project version 2020-05-24 22:20:06 +02:00
Maarten Bent
a9f1655c9c CMake: set policy for VERSION variables
Also update the description of other policies to the description on the CMake
website.
2020-05-24 22:20:05 +02:00
Artur Wieczorek
93318b2628 Use dedicated function to round values 2020-05-24 19:11:22 +02:00
Artur Wieczorek
8ebdf2c798 Fix disposing wxComboBox with data objects
Under wxOSX the order of calls to wxItemContainer::Clear()
and wxTextEntry::Clear() matters.
Number of data objects to delete in wxItemContainer::Clear()
is obtained by call to wxComboBox::Count(). Counter of items
in wxComboBox is reset by wxTextEntry()::Clear()
so this method has to be called after wxItemContainer::Clear().

Closes #18768.
2020-05-24 19:11:05 +02:00
Paul Cornett
2c62ac41c1 Set WM_CLASS class name as app display name
Gnome seems to use it as a fallback display name with X11. By default, it will
be the capitalized program name, which is what GTK would set it to anyway.
2020-05-23 11:14:00 -07:00
Lauri Nurmi
0b54f944bc Fix compilation of wxGrid unit tests with VC10 (VS2010)
VC10 does not support range-based for-loops, they were only introduced in
VC11 (VS2012): https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2012/hh409293(v=vs.110)

Closes https://github.com/wxWidgets/wxWidgets/pull/1863
2020-05-22 23:17:05 +02:00
Maarten Bent
442b82a6c5 CMake: add more STL checks and enable them in setup.h
Closes https://github.com/wxWidgets/wxWidgets/pull/1862
2020-05-22 23:15:52 +02:00
Artur Wieczorek
39d586421b Don't call GetSizeFromText() under wxOSX
We cannot use GetSizeFromText() to calculate
numeric box size under wxOSX because this function
calls GetSizeFromTextSize() which is implemented
only in wxMSW and wxGTK.
2020-05-21 22:50:54 +02:00
Vadim Zeitlin
53a35d15bc Merge branch 'dynlib-simplify'
Enhance wxDynamicLibrary error logging and simplify code by not checking
for dlopen() and dlerror() that are always available nowadays.

See https://github.com/wxWidgets/wxWidgets/pull/1849
2020-05-21 02:13:10 +02:00
Vadim Zeitlin
d83478e94d Document wxBookCtrl not sending events when deleting last page
Currently, DeletePage() and RemovePage() functions don't send any events
when deleting the last page of the control and while this is
inconsistent with the behaviour when deleting the other pages, it seems
too dangerous to change this now, as the existing application code might
not expect getting page change events with the invalid page index.

So just document the current behaviour.

Ideal would be to add a unit test checking that this is really the case
under all platforms, for now it was just checked manually under MSW and
GTK.

Closes https://github.com/wxWidgets/wxWidgets/pull/1848
2020-05-21 02:06:47 +02:00
Tomay
04322fa711 Fix references to wxZipEntry::GetNextEntry() in documentation
It should actually be wxZipInputStream::GetNextEntry().

Closes https://github.com/wxWidgets/wxWidgets/pull/1858
2020-05-21 01:59:00 +02:00
Vadim Zeitlin
17d759d579 Merge branch 'mediactrl-doc'
Improve wxMediaCtrl documentation.

See https://github.com/wxWidgets/wxWidgets/pull/1856
2020-05-21 01:57:33 +02:00
Vadim Zeitlin
96ad142ae1 Remove the mention of MCI-based backend from wxMediaCtrl docs
MCI is not used any more and the backend is not relevant any longer.
2020-05-21 01:55:59 +02:00
Artur Wieczorek
6c64f4994e Fix calculation of the size of wxSpinCtrlDouble numeric box
Every time spin control precision, minimal or maximal value changes there
is necessary to adjust numeric box size to the new dimension of displayed
number.

See #18734.
2020-05-20 22:33:10 +02:00
Stefan Csomor
250e211d7f re-adding lost assignement 2020-05-20 07:33:46 +02:00
ali kettab
a3e264e8a3 Make wxSetInputFocusToXWindow a member instead of free function
Also add a couple of workarounds for problems when using Xvfb.

See https://github.com/wxWidgets/wxWidgets/pull/1845
2020-05-20 00:02:40 +02:00
Stefan Csomor
609f77ff55 revert change of minimal project file in ced68e3efa 2020-05-19 16:08:57 +02:00
Jouk
e6938de551 Make gtk1.x happy 2020-05-19 15:00:30 +02:00