Commit Graph

67489 Commits

Author SHA1 Message Date
Maarten Bent
083f4b3c32 Rename manifests to use underscores 2019-12-13 21:44:26 +01:00
Ian McInerney
b17aa08c26 Allow automatic OS-provided tabbing to be disabled in wxOSX
macOS 10.12+ implements automatic tabbing in the OS. This adds
entries to the menus and also adds a tab bar. Some applications
might want to disable this, so provide an interface for doing this.

Closes https://github.com/wxWidgets/wxWidgets/pull/1674
2019-12-09 22:46:04 +01:00
Vadim Zeitlin
7ecd55f02b Mention that changelog shouldn't be modified directly
Explain that the changes are stored in git notes and the changelog is
only updated before a release now.
2019-12-09 22:45:06 +01:00
Ian McInerney
540fed9216 Implement background color attribute for wxDataViewCtrl in wxOSX
Add support for this attribute for text-like cells to the native macOS
version too, to bring it up to parity with the generic and GTK ones.

Closes https://github.com/wxWidgets/wxWidgets/pull/1673
2019-12-09 22:45:06 +01:00
Václav Slavík
c4af8be615 wxIsPlatform64Bit: don't launch uname needlessly
Don't execute uname in Unix version of  wxIsPlatform64Bit () to
determine if the current platform is 64-bit capable if the binary is
already a 64bit one.

This is consistent with how MSW implementation behaves and avoids a
pointless invocation when running 64-bit binaries.

As an added benefit, this prevents user harassment by macOS 10.15 if
they launch a wx application from a "protected" location like ~/Desktop
or ~/Downloads - apparently stat()ing CWD is considered evil and
privacy-invading these days.
2019-12-08 19:44:49 +01:00
Paul Kulchenko
1c754fe71c Make wxAuiNotebook wxAuiTabCtrl-related methods public
Allow retrieving the active tab control or tab at the given position.

Closes #16262.
2019-12-07 15:13:06 +01:00
Vadim Zeitlin
0425050ad8 Use native wxDragImage by default in the sample
There doesn't seem to be any reason to default to the generic version.

Closes https://github.com/wxWidgets/wxWidgets/pull/1671
2019-12-07 14:53:49 +01:00
catalinr
392e119bbe Fix dragimag sample compilation with modern compiler under MSW
Don't "override" UpdateBackingFromWindow() method of the base class
unless it really exists, which is only the case for the generic
wxDragImage implementation but not the native MSW one.

See https://github.com/wxWidgets/wxWidgets/pull/1671
2019-12-07 14:52:41 +01:00
Vadim Zeitlin
155885a3dd Reformat splitter sample to follow wx style guidelines
Put "{" and "}" on their own lines. Also use spaces around "if"
condition and omit unnecessary comparisons with NULL.

No real changes.

See https://github.com/wxWidgets/wxWidgets/pull/1672
2019-12-07 14:47:51 +01:00
Xiaofeng Wang
1222ac3d7f Fix crash in the splitter sample due to replacing null window
The sample could crash after the following sequence of actions:

1. Resize splitter to hide the right/left window.
2. Activate replace menu action.

Fix this by checking if the window being replaced is non-null.

Closes https://github.com/wxWidgets/wxWidgets/pull/1672
2019-12-07 14:45:38 +01:00
Artur Wieczorek
9fbf97ae97 Check __WXOSX_COCOA__ instead of wxOSX_USE_COCOA
wxOSX_USE_COCOA is available only in wxOSX files.
2019-12-06 21:09:36 +01:00
Artur Wieczorek
1d45886c8f Don't attempt to get RGB components of invalid colour 2019-12-06 20:44:18 +01:00
Artur Wieczorek
67b64ee70f Add support for creating Cairo pen from wxPen with non-solid colour
Cairo colour patterns support only RGBA colours and therefore it is not
possible to create a colour pattern from wxPen with non-RGB colour
(non-solid colour). As a workaround under wxOSX for solid wxPen with
non-solid colour we can convert it to Cairo surface pattern (stiple)
because under wxOSX non-solid colour is actually represented by a pattern
image.
2019-12-06 20:40:57 +01:00
Artur Wieczorek
55478d95a5 Add support for creating Cairo brush from wxBrush with non-solid colour
Cairo colour patterns support only RGBA colours and therefore it is not
possible to create a colour pattern from wxBrush with non-RGB colour
(non-solid colour). However under wxOSX, when we have a solid wxBrush with
non-solid colour, we can convert it to Cairo surface pattern (stiple)
because under wxOSX non-solid colour is actually represented by a pattern
image.
2019-12-06 20:34:57 +01:00
Artur Wieczorek
389944a116 wxOSX: Implement function to retrieve pattern image for non-solid colour
Under wxOSX non-solid wxColour with NSColor backend is represented by
pattern image and it would be useful to have ability to get it e.g. to help
dealing with non-solid wxColours by frameworks not supporting such colours,
like e.g. Cairo.
2019-12-06 20:33:35 +01:00
Artur Wieczorek
994971e2df Draw horizontal/vertical lines with optimized function only on non-scaled DCs
It turned out that drawing horizontal/vertical lines with optimized function based on ExtTextOut() Win API works as expected only for non-scaled DC. Therefore we can use this optimized way of drawing only for non-rotated and non-scaled DCs.
On not-scaled DCs we can use optimized function to draw also 0-pixel width lines (as a 1-pixel wide lines for compatibility with Win API).

Closes #18612.
2019-12-06 00:08:15 +01:00
Stefan Csomor
31c7073571 macOS: silence warning in non-ARC build
see f1aa3c1c9a
2019-12-05 20:36:29 +01:00
Paul Cornett
bba090e3a4 Fix wxOSX build with wxUSE_DRAG_AND_DROP==0 2019-12-05 08:59:55 -08:00
Vadim Zeitlin
6f95676f3e Merge branch 'grid-delete-rows-crash-fix'
Don't use invalid grid cell coordinates when deleting grid rows.

See https://github.com/wxWidgets/wxWidgets/pull/1669
2019-12-05 17:35:05 +01:00
Dummy
edc5474a73 Add @since annotation to a couple of wxPGProperty methods
Document that these methods have been added in 3.1.0.

Closes #18613.
2019-12-05 17:33:27 +01:00
Paul Kulchenko
e8b917e7a4 Use system colours if the contrast is sufficient in AUI tabs
Improve colour selection in AUI tab art code: prefer to use the system
colours and only fall back on the replacement ones if the contrast is
too small for the text using system colours to be readable.

Closes #18601.
2019-12-05 17:30:19 +01:00
Artur Wieczorek
f3eea70870 Refactor: Remove duplicated line of code 2019-12-04 23:35:41 +01:00
Artur Wieczorek
64ae98e671 Create CGFont when a new font is set
CTFont and CGFont are used in parallel so both
need to be stored when a new font is set.

Closes #18610.
2019-12-04 23:35:19 +01:00
Paul Kulchenko
8cb9272458 Make wxAuiGenericTabArt text readable on dark background
Select the appropriate text colour depending on the background to ensure
that it remains readable even when using themes/modes using dark
background colours -- which wasn't at all the case before.

Closes #18601.
2019-12-04 19:26:45 +01:00
Vadim Zeitlin
462e7b7732 Avoid using invalid index in wxDisplayFactory under Mac
Partially work around currently unimplemented cache invalidation in
wxMac and do it on the fly if an invalid index is passed to
GetDisplay() to at least avoid crashing, even if this doesn't fully
solve the problem, e.g. we still can use stale information.

Closes #18607.
2019-12-04 19:22:07 +01:00
Vadim Zeitlin
90d547feb6 Don't redraw current cell when the grid is frozen
Don't update the grid appearance when inside a sequence of batch
operations, it will be updated at the end of it anyhow and doing it in
the middle only results in extra flicker.
2019-12-03 02:56:46 +01:00
Vadim Zeitlin
e0b8ef85f2 Don't use invalid grid cell coordinates when deleting grid rows
Since the changes of dda6aa6bdc wxGrid
code could ask the grid table for the data of an invalid cell due to
redrawing the old, and now possibly invalid, current cell from inside
SetCurrentCell() called from wxGrid::Redimension().

Fix this by explicitly resetting the old current cell to an invalid
value when changing it in UpdateCurrentCellOnRedim().

Also avoid calling SetCurrentCell() entirely if the current cell doesn't
change, as this is just completely unnecessary and results in a possible
unexpected wxEVT_GRID_SELECT_CELL event.

See https://github.com/wxWidgets/wxWidgets/pull/1546
2019-12-03 02:47:08 +01:00
Vadim Zeitlin
7b36d72b44 Merge branch 'vc-pmdpi' of https://github.com/MaartenBent/wxWidgets
Add DPI Awareness option to nmake makefiles and MSVC projects.

See https://github.com/wxWidgets/wxWidgets/pull/1664
2019-12-03 02:29:25 +01:00
Vadim Zeitlin
7849d231d9 Merge branch 'build-option-fixes' of https://github.com/MaartenBent/wxWidgets
Miscellaneous build options fixes.

See https://github.com/wxWidgets/wxWidgets/pull/1661
2019-12-03 02:27:52 +01:00
Vadim Zeitlin
811be7ced7 Fix wxGridCellAttr::GetNonDefaultAlignment() for invalid inputs
The recent change of 19844d27ac fixed this
function for valid values of input/output parameters on input, but broke
it if the parameters had invalid value: in this case, we still need to
fill them even if this attribute doesn't have any specific alignment of
its own.

Account for this case too now, explain the logic of this function in the
comments inside it and extend the unit test to check for this case too.

Now the function should really conform to its documented (and expected,
including by the existing code in various grid renderers) behaviour.

Closes https://github.com/wxWidgets/wxWidgets/pull/1665
2019-12-03 02:26:49 +01:00
Vadim Zeitlin
00a56a28b6 Merge branch 'sock-event-fix'
Fix unwanted (and sometimes fatal) socket events for blocking sockets
under Unix.

See https://github.com/wxWidgets/wxWidgets/pull/1658
2019-12-03 02:25:18 +01:00
Vadim Zeitlin
14cfc2c2b2 Avoid clang -Wnon-virtual-dtor without triggering MSVC warnings
The change of 4990515aba resulted in
(disabled by default, but which may be enabled when building
applications using wxWidgets) MSVS 2017 warning C4265 ('class' : class
has virtual functions, but destructor is not virtual), so test for clang
explicitly instead of just testing for non-gcc.
2019-12-02 22:35:36 +01:00
Artur Wieczorek
7143ff46b0 Ensure bitmap image exists while querying for a row stride
Obtaining bytes per row makes sense only for bitmap image representation
so we have to ensure that the bitmap represenation exists before querying
for its row stride length. NSImage per se cannot provide this information.

Closes #18606.
2019-12-01 22:58:18 +01:00
Artur Wieczorek
a1cc2056bc Update NSImage with changes made to bitmap pixel data
In order to get access to wxBitmap's pixel data we actually have to work
with CGBitmapContext data and this context is created from NSImage by call
to wxBitmapRefData::EnsureBitmapExists() when we prepare to get access
to the data in wxBitmapRefData::GetRawAccess().
So, when we finish updating bitmap data we should update original NSImage
with actual CGBitmapContext data in wxBitmapRefData::EndRawAccess().

See #18606.
2019-12-01 22:39:38 +01:00
Maarten Bent
e36cdaddfd Specify CPU parameter for AppVeyor nmake builds
Don't use DPI aware manifest with VC9.
Build minimal samples with msbuild and nmake.
2019-12-01 00:06:44 +01:00
Maarten Bent
7fd0b744a8 Update wxrc sln and vcxproj files
Specify all configuration types, add dependent projects.
Based on the minimal sample solutions and project file.
2019-11-30 23:26:15 +01:00
Maarten Bent
0f2308e3eb Update test sln and vcxproj files
Remove old configurations, add dpi manifest.
2019-11-30 23:24:54 +01:00
Maarten Bent
067c192112 Add DPI aware manifest to minimal.vcxproj 2019-11-30 23:11:04 +01:00
Maarten Bent
bed8cd7b52 Rebake after adding DPI awareness option 2019-11-30 22:52:48 +01:00
Vadim Zeitlin
36546b6f3f Merge branch 'grid-editors-placement'
Fix positions of the checkboxes drawn by wxGridCellBoolRenderer and
shown by wxGridCellBoolEditor so that there is no jump when starting or
stopping to edit grid cells with boolean values.

See https://github.com/wxWidgets/wxWidgets/pull/1662
2019-11-29 16:24:07 +01:00
Vadim Zeitlin
56bf5282d7 Merge branch 'gtk-fractional-font-scaling'
Apply system's fractional font scaling parameter when displaying text in
wxGTK.

See https://github.com/wxWidgets/wxWidgets/pull/1650
2019-11-29 05:04:56 +01:00
Vadim Zeitlin
abc8841f0b Use default wxCheckBox size in wxGridCellBoolEditor
Using wxRendererNative::GetCheckBoxSize() as the size of wxCheckBox just
doesn't work with GTK 3, as the control has additional padding between
its actual contents and the focus rectangle, which means that its actual
size must be greater than the size to be passed to DrawCheckBox() in
order to draw a checkbox of the same size.

However it isn't really necessary to resize wxCheckBox at all, it's
enough for DrawCheckBox() to produce a check mark of the same size as
that shown in a default-sized wxCheckBox and this does work in wxGTK.

So keep the default size of wxCheckBox to make everything work.

This means wxGetGridCheckBoxRect() is not useful any more, so replace it
with wxGetContentRect() which just positions a rectangle of the given
size inside another one (this should probably be moved somewhere else,
as it's more general than wxGrid).
2019-11-29 04:57:59 +01:00
Vadim Zeitlin
eadee05729 Don't change CSS for wxCheckNox with wxNO_BORDER in wxGTK 3
This makes the checkbox look ugly as it's clearly not supposed to be
rendered without the border at all, so it's better to do nothing than
mangle its CSS.

It could be better to add some virtual GTKTurnOffBorder() method that
could be overridden to do nothing in wxCheckBox and we should consider
doing this if there are other classes for which wxNO_BORDER breaks their
appearance, but for now, as long as it's the only case in which we need
to do this, just turn wxNO_BORDER off when calling PostCreation().
2019-11-29 04:31:14 +01:00
Maarten Bent
0833c8b861 Disable webview in GTK3 build on TravisCI
It does not pass the tests.
2019-11-29 01:11:37 +01:00
Maarten Bent
51254a148e Make wxSVGFileDC an abstract class 2019-11-29 01:10:43 +01:00
Maarten Bent
c6ce2a77bf Fix wxEditorDialogProperty type declaration 2019-11-29 00:23:26 +01:00
Maarten Bent
38c38e2274 CMake: private includes before public includes
This way, build-in headers (for example png headers) will always be included
before system headers.
2019-11-29 00:21:26 +01:00
Maarten Bent
4d72739714 CMake: fix using cotire with clang on Windows 2019-11-29 00:21:26 +01:00
Maarten Bent
147dab61b3 Check for more webkit packages on TravisCI 2019-11-29 00:21:26 +01:00
Maarten Bent
a45afd2f98 Add uninstall icon to installer script 2019-11-29 00:21:25 +01:00