Commit Graph

67538 Commits

Author SHA1 Message Date
Kvaz1r
a23b3783b6 Add precondition checks to operations in the listctrl sample
Avoid showing assert failures in debug builds if a menu item not
applicable in the current state is selected and just show an error
instead.

Closes #18572.

Closes https://github.com/wxWidgets/wxWidgets/pull/1694
2020-01-06 00:47:26 +01:00
Vadim Zeitlin
89be9ac316 Fix comment for wxUSE_NATIVE_DATAVIEWCTRL in setup.h
The values of the option in the comment were inversed when it was added
in 028afa194a, fix this now.
2020-01-03 18:05:02 +01:00
Paul Cornett
833ae03c6a Draw bitmap in disabled state when wxStaticBitmap control is not enabled on GTK3
See #18638
2019-12-29 09:14:08 -08:00
Paul Cornett
8db62d179c Move code for creating a disabled bitmap to wxBitmap
To allow using it from multiple places
2019-12-29 09:08:40 -08:00
Vadim Zeitlin
dda052d38a Fix activation loss when hiding floating frame TLW in wxMSW
Generalize the fix of d6fb86a81c and
explicitly activate the parent when a TLW with wxFRAME_FLOAT_ON_PARENT
style is hidden or minimized and not only when it is destroyed.

Closes #18535.
2019-12-29 16:47:49 +01:00
Ian McInerney
577faedb65 Fix docs for wxDEPRECATED_MSG macro
Add the missing macro definition.

Closes https://github.com/wxWidgets/wxWidgets/pull/1689
2019-12-29 15:37:13 +01:00
Vadim Zeitlin
8b90073c83 Send kill focus events to modal dialogs earlier in wxGTK
Ensure that the dialog is still alive when it gets the kill focus event
for its child which had focus just before the dialog was closed (or any
other events generated by this child when it detects that it's losing
focus, such as wxEVT_SPINCTRL) by resetting focus when the dialog is
being hidden and not when it's being destroyed.

This makes the events order more consistent with wxMSW but also, most
importantly, safer, as wxEVT_KILL_FOCUS handlers could previously easily
reference the fields of an already half-destroyed wxDialog-derived
object by the time they were run during wxTopLevelWindowGTK destructor
execution.

Closes #18145.
2019-12-29 01:40:28 +01:00
Artur Wieczorek
38cec22d4c Use division assignment operator to simplify the statement 2019-12-28 23:34:17 +01:00
Artur Wieczorek
c6e188610d Don't allocate colour tables if palletes are not in use 2019-12-28 23:32:34 +01:00
Artur Wieczorek
a5934f33e2 Fix building image sample with wxUSE_PALETTE==0 2019-12-28 23:31:51 +01:00
Paul Cornett
8b2f413b42 Fix wxStaticBitmap with HiDPI bitmaps for GTK3
See #18638
2019-12-28 13:07:28 -08:00
Vadim Zeitlin
bcb0d42d7a Fix harmless warning from the last commit
This is yet another fix related to recent wxBMPHandler changes: this one
is trivial, as it just avoids gcc signed/unsigned comparison warning,
but is still needed for the clean build.

See #18634.
2019-12-28 02:36:07 +01:00
Vadim Zeitlin
ca065c5004 Fix Unix build by avoiding the use of BITMAPINFOHEADER struct
The code from the previous commit used sizeof(BITMAPINFOHEADER), but
this struct is only defined under MSW, so this broke the build under the
other platforms.

Luckily, we don't actually need the struct itself, but just its size, so
simply hardcode it here as it's fixed (part of the BMP format) and not
going to change.

See #18634.
2019-12-28 02:19:54 +01:00
Eric Jensen
cccda9ef6b Fix loading colour palette from BMP file
Only BITMAPINFOHEADER data are explicitly read and processed so for a bitmap
with BITMAPV4HEADER or BITMAPV5HEADER we have to forward stream position
to the end of the actual header in order to start reading colour table
from the right position.

Closes #18634.
2019-12-28 00:18:10 +01:00
Vadim Zeitlin
d583fb017b Merge branch 'msw-thread-priority'
Fix wxThread::SetPriority() documentation and avoid a spurious error
message.

Closes https://github.com/wxWidgets/wxWidgets/pull/1683
2019-12-28 00:06:40 +01:00
Lauri Nurmi
84f7e925e5 Fix wxThread::SetPriority() documentation
The documentation's notes about MSW limitations about setting priority
before creating the thread do not appear to be true (anymore). Thread
priority is already set by Create() if SetPriority() was called earlier.
Setting it immediately just failed, because the thread did not exist
yet, but this was fixed by the previous commit.
2019-12-28 00:06:28 +01:00
Vadim Zeitlin
2c4f42608b Avoid spurious error from wxThread::SetPriority() in wxMSW
Just skip calling ::SetThreadPriority() if the thread hadn't been
created yet: this was useless and just resulted in an error message.
2019-12-28 00:06:27 +01:00
Artur Wieczorek
bb9c8b11de Add demonstration of affine transformations to drawing sample
This adds a demonstration of drawing with affine 2D transformation applied
to wxDC. Transformation paramaters (translation, scale, rotation angle)
can be set/reset with new menu "Transformation".
2019-12-27 20:17:19 +01:00
orbitcowboy
a7f31db8cd Fix mismatching delete in wxList code
Use delete, not free, to free a pointer allocated with new.

Closes https://github.com/wxWidgets/wxWidgets/pull/1686
2019-12-23 16:50:39 +01:00
orbitcowboy
6e6e1cf25b Fix mismatching delete in wxTarOutputStream code
Free the buffer allocated with new[] using delete[] and not just
"delete".

Closes https://github.com/wxWidgets/wxWidgets/pull/1685
2019-12-23 16:49:06 +01:00
Vadim Zeitlin
dcb1f9e8f7 Fix another mismatching delete in IFF image handler code
This is similar to the previous commit and fixes the same problem in
another place.

See https://github.com/wxWidgets/wxWidgets/pull/1684
2019-12-23 16:48:06 +01:00
orbitcowboy
3b52ed60bb Fix mismatching delete in IFF image handler code
Use delete[] for a buffer allocated with new[].

Closes https://github.com/wxWidgets/wxWidgets/pull/1684
2019-12-23 16:46:22 +01:00
Artur Wieczorek
9689bd124e Use optimized function to draw horizontal/vertical lines only with wxCOPY raster operation mode
Optimized function to draw H/V lines is based on ExtTextOut() API and therefore raster operations modes other than wxCOPY are not applicable.

Closes #18635.
2019-12-19 22:36:59 +01:00
Vadim Zeitlin
00d113c341 Fix wxSocketImplUnix compilation under OpenVMS
Don't pass "const void*" pointer to ioctl(), it seems to be declared as
taking "void*" on this platform and so doesn't accept it.
2019-12-19 18:36:22 +01:00
Jouk
d90953d8c6 wxGTK1 : change type of wxMask.GetBitmap() from GdkBitmap* to wxBitmap 2019-12-19 09:20:36 +01:00
Jouk
c06e50f389 Add wxUSE_NATIVE_DATAVIEWCTRL to setup on OpenVMS 2019-12-19 09:08:13 +01:00
Vadim Zeitlin
ff66848b05 Merge branch 'oss-fuzz'
Add script used by OSS-fuzz service to the main repository itself
instead of having it in a separate one.
2019-12-17 02:08:06 +01:00
Vadim Zeitlin
7ecb687f24 Merge branch 'mac-dvc-check-icons'
Add back support for icons to Mac wxDataViewCheckIconTextRenderer OSX.

See https://github.com/wxWidgets/wxWidgets/pull/1680
2019-12-17 02:07:33 +01:00
Vadim Zeitlin
854b61cd05 Merge branch 'generic-dvc'
Add option for using generic wxDataViewCtrl and fixes to make it work
under GTK and Mac.

See https://github.com/wxWidgets/wxWidgets/pull/1680
2019-12-17 02:06:15 +01:00
Vadim Zeitlin
5de964cecc Add the script run by OSS-Fuzz
This script used to live in oss-fuzz repository itself (under
projects/wxwidgets), but it seems better to have it in the main
repository, as this will make modifying it, e.g. to add new fuzzers,
simpler.
2019-12-16 18:07:38 +01:00
Vadim Zeitlin
312960436f Add OSS-Fuzz badge to the README
The project asks to do it and it only seems right to do so.
2019-12-16 17:33:22 +01:00
Stefan Csomor
df6304caa6 add baselineOffset override to better align icons
Cocoa by default aligns the cell on the text baseline, which is not suitable for our needs, solved by subclassing NSTextAttachmentCell
2019-12-16 16:28:08 +01:00
Vadim Zeitlin
20269a58c0 Avoid spurious assert failures in wxGenericStaticBitmap
Don't trigger a confusing assertion failure about unknown scale mode if
a 0-sized window is being repainted.

It's not clear why should an empty window get repaint events in the
first place, but this does happen, at least under MSW, so guard against
it.
2019-12-16 15:08:35 +01:00
Vadim Zeitlin
b16a1453af Fix the build of Expat library with 32 bit TDM-gcc 5.1
Update to the version of Expat submodule which avoids the use of
rand_s() when using this old (but otherwise still supported) compiler.

Closes #18631.

Closes https://github.com/wxWidgets/wxWidgets/pull/1679
2019-12-16 15:04:55 +01:00
Vadim Zeitlin
7fa1afafc2 Re-add support for icons to Mac wxDataViewCheckIconTextRenderer
Icons were not supported any longer since the switch to the native
implementation in 235e61c311.

Restore them now by using text attachments (thanks to Scott B for the
idea). The vertical alignment is still not right, but it's better than
nothing.

See #17473.
2019-12-15 19:27:58 +01:00
Vadim Zeitlin
334ff40716 Show wxDataViewCheckIconTextRenderer in the sample
Instead of using separate check and icon+text columns in the list model
page, use the combined check+icon+text column to verify that it works
(which is not the case current in the native Mac version).
2019-12-15 19:27:58 +01:00
Vadim Zeitlin
2e71e14dc4 Fix format specifier in an error message in dataview sample
Use "%zu" for a size_t value to avoid assert failures under LP64 (i.e.
all 64-bit Unix) systems.
2019-12-15 19:26:18 +01:00
Vadim Zeitlin
50ba73cbf4 Fix using unknown selector in Mac wxDataViewCtrl code
Don't call -[NSCell setTextColor:] unless it really handles it: testing
for "colText" validity was insufficient, as it could be set as a
fallback.

Also move the fallback assignments inside the branches where they're
really used.

This fixes a bug introduced in 540fed9216,
see https://github.com/wxWidgets/wxWidgets/pull/1673
2019-12-15 19:26:18 +01:00
Vadim Zeitlin
24042b2a2a Fix build with generic wxDataViewCtrl under Mac
Generic wxDataViewCheckIconTextRenderer is needed under Mac too if the
generic version of wxDVC is used.

Closes #18632.
2019-12-15 16:44:42 +01:00
Vadim Zeitlin
4203104d54 Fix using wxTreeListCtrl with generic wxDataViewCtrl in wxGTK
Restrict GTK workaround in wxTreeListModel::IsContainer() to the native
version, it does have a drawback when using the generic one as it
resulted in all items having the expander button.

See #18632.
2019-12-15 16:26:18 +01:00
Vadim Zeitlin
028afa194a Add wxUSE_NATIVE_DATAVIEWCTRL build option
It defaults to 1, but can be set to 0 to force using the generic version
of the control even under GTK or Mac, where the native version is used
by default.

This can, unfortunately, be useful to work around various but multiple
native control limitations.
2019-12-15 16:23:47 +01:00
Vadim Zeitlin
f3217573d7 Merge branch 'rc-manifest' of https://github.com/MaartenBent/wxWidgets
Fix using manifest from rc file with VC compiler.

See https://github.com/wxWidgets/wxWidgets/pull/1678
2019-12-15 03:44:39 +01:00
Vadim Zeitlin
55f148a2ea Avoid asserts when moving mouse in empty wxGridColLabelWindow too
The changes of the previous commit were insufficient, as we could also
use an invalid column index when handling mouse event in an empty grid.

Fix this by checking for the line validity in PosToEdgeOfLine() instead
of adding another ad hoc check to wxGridColLabelWindow itself, as it
seems reasonable for this function to verify that it uses valid indices.

See #18629.
2019-12-14 00:03:01 +01:00
Maarten Bent
cd1d15351c Fix concatenating manifest name in resource file 2019-12-13 22:21:40 +01:00
Maarten Bent
083f4b3c32 Rename manifests to use underscores 2019-12-13 21:44:26 +01:00
Vadim Zeitlin
9c1e8fde8f Avoid asserts when painting empty wxGridColLabelWindow
When the grid is empty, XToCol() has no choice but to return invalid
index (because there are no valid ones) when it's called from the
drawing code and passing such indices to GetColPos() results in an
assert, which is fatal inside wxEVT_PAINT handler.

Just short-circuit all this code by not doing anything in the case of
empty grid. This is sloppy, but simpler and more robust than any
alternatives.

Closes #18629.
2019-12-13 16:19:47 +01:00
Artur Wieczorek
395a30002e Always draw text with wxCOPY raster operation mode on wxGCDC
It is said in the wxDC::DrawText() documentation that current logical function is ignored by this function (e928566f). This should apply also to wxGCDC implementation for the sake of consistency and text drawing should be always done with wxCOPY mode regardless of the current mode set.
2019-12-12 13:50:19 +01:00
Robin Dunn
09c4033f43 OSXEnableAutomaticTabbing does not return a value 2019-12-11 12:07:43 -08:00
Artur Wieczorek
1d744026f2 Demonstrate drawing text with tab characters 2019-12-10 23:14:49 +01:00
Vadim Zeitlin
7b8cdd441d Return (0, 0) from wxMDIChildFrame::GetPosition() in wxGTK
This makes more sense for a page of a GtkNotebook, which is always
positioned at (0, 0) relative to its client area, and is also more
compatible with wxMSW.

Closes #18548.

Closes https://github.com/wxWidgets/wxWidgets/pull/1670
2019-12-10 22:42:00 +01:00