Commit Graph

39762 Commits

Author SHA1 Message Date
Paul Cornett
9f9bb66d18 Fix for GTK2 wxSpinCtrl SetIncrement() not immediately updating increment
See #18735
2020-04-23 08:55:46 -07:00
Paul Cornett
c5faf9cfac Avoid passing float argument for "%f" printf specifier
"%f" takes a double. Eliminates some -Wdouble-promotion warnings.
2020-04-21 11:59:36 -07:00
Vadim Zeitlin
62372d4337 Merge branch 'webview_edge3' of https://github.com/TcT2k/wxWidgets
Update wxWebViewEdge for SDK 0.9.488.

It now requires Edge 84.0.488.0 or newer (currently Canary).

See https://github.com/wxWidgets/wxWidgets/pull/1814
2020-04-21 18:30:53 +02:00
Paul Cornett
896512c732 Change fractional point size from float to double
There doesn't seem to be any compelling reason to use float. Using double
is simpler, and avoids otherwise unnecessary float<->double conversions.
2020-04-21 09:00:04 -07:00
Paul Cornett
d551c156c4 Remove some duplicate code for getting hyperlink color 2020-04-21 08:35:07 -07:00
Jouk
9426490333 Fix for gtk1.x 2020-04-21 08:40:45 +02:00
Jorge Moraleda
e3b216b75e Consistent indentation in generic DVC 2020-04-20 19:50:26 -07:00
Jorge Moraleda
773a1876de In DVC, if current column was set by keyboard to something not editable and the user pressed Space/F2 then do not edit anything because focus is visually on that column and editing something else would be surprising. But if the current column was set by mouse to something not editable, treat the situation as if there was whole-row focus, because the mouse click could very well be targeted on the row rather than on an individual cell. 2020-04-20 19:43:34 -07:00
Tobias Taschner
26aa9c492e Implement wxWebViewEvent::GetNavigationAction() for Edge
Set the user initiated flag from the SDK
2020-04-20 23:20:23 +02:00
Tobias Taschner
7d1c40ecf5 Updated wxWebViewEdge for SDK to 0.9.488
Requires Edge 84.0.488.0 or newer

Another SDK release before 1.0 includes some
breaking changes regarding naming
2020-04-20 23:00:10 +02:00
Paul Cornett
f655a52fba Allow wxSizer::Fit() to work properly when called from TLW ctor on GTK3
Style information affecting sizes may not be updated by GTK until TLW is shown
See #16088
2020-04-20 07:17:28 -07:00
Paul Cornett
e70b449084 Avoid "Theme parsing error" with GTK3 < 3.20
'caret-color' CSS property is not recognized prior to 3.20
2020-04-19 23:05:48 -07:00
Vadim Zeitlin
b3ccebad5e Merge branch 'ole-init-module'
Do OLE initialization from a module to fix problems due to
uninitializing it too early.

See https://github.com/wxWidgets/wxWidgets/pull/1807
2020-04-19 22:22:55 +02:00
Paul Cornett
8649f2548e Avoid some deprecation warnings from GTK2 headers 2020-04-19 11:09:09 -07:00
Paul Cornett
6bafaeee6f Round GdkRGBA color values when converting to GdkColor
Should be slightly more accurate, and may avoid discrepancies
when converting wxColour to wxString and back again
2020-04-19 10:10:55 -07:00
Vadim Zeitlin
5ecc553afb Add wxToastNotifMsgModule dependency on wxOleInitModule
This ensures that OLE is still initialized when this module cleanup
occurs, as it must be when IToastNotificationManagerStatics COM pointer
is destroyed.

Closes #18730.
2020-04-19 17:07:04 +02:00
Vadim Zeitlin
893f3a6c00 Add wxDirect2DModule dependency on wxOleInitModule
This avoids the need for calling CoInitializeEx() and CoUninitialize()
in this module itself, it's enough to ensure that wxOleInitModule does
it before, or after, before this one is initialized, or uninitialized,
respectively.

This replaces the earlier fix of 450019dc21 (Ensure COM is still active
when Direct2D renderer is in use, 2015-12-30).

See #17308.
2020-04-19 17:04:36 +02:00
Vadim Zeitlin
05059b64f1 Remove unneeded wxOleInitialize() from wxClipboard code
There is no need to do it here when it had been already done on startup.

No real changes, just cleanup.
2020-04-19 17:02:32 +02:00
Vadim Zeitlin
071760b7f4 Move OLE initialization to a module
Previously this was done in wxMSW-specific wxApp version, which meant
that initialization was done after the modules initialization and,
especially problematically, uninitialization was done before modules
uninitialization, which resulted in problems when doing anything using
OLE from the modules OnExit().

This commit doesn't solve these problems yet, because it leaves modules
initialization order undefined, but the upcoming commits using it will.
2020-04-19 16:59:59 +02:00
Paul Cornett
82b3efb88e Set title bar decorations under Wayland
By default GTK just gives you a close button
2020-04-18 16:26:22 -07:00
Artur Wieczorek
fbafe74414 Pass proper argument to wxFileDialog
File name only should be passed for `defaultFile' parameter otherwise
assertion in wxFileName::Assign() fails ("the file name shouldn't
contain the path").
2020-04-19 00:21:39 +02:00
Artur Wieczorek
5236801241 Simplify Boolean variable initialization 2020-04-19 00:20:14 +02:00
Jorge Moraleda
ede053def6 A DVC cell that has no value is not editable 2020-04-18 14:10:59 -07:00
Paul Cornett
48873dcbd3 Simpify wxSYS_COLOUR_HOTLIGHT implementation for GTK2
Also fixes a memory leak, and a Gtk-CRITICAL when running against 2.8
2020-04-18 12:46:30 -07:00
Vadim Zeitlin
1b4a5ece64 Add GTK 2.10 version checks around code using GtkLinkButton
Blindly repair compiling/running against GTK < 2.10 after the previous
commit.
2020-04-18 17:58:43 +02:00
Teodor Petrov
9c76bdefca Implement wxSYS_COLOUR_HOTLIGHT for GTK2 (requires GTK+ >= 2.10) 2020-04-18 14:17:17 +03:00
Vadim Zeitlin
1949b4e358 Remove useless wxMenu::Break() override in wxOSX
There is no real need to override a method not doing anything by default
just to do nothing in it explicitly.
2020-04-18 00:44:20 +02:00
Rick S
14717af39c Restore wxMenu::Break() functionality in wxMSW
This was broken in da319a87cd (Make wxMSW owner drawn menu item code
more clear and correct., 2014-03-27) for non-owner-drawn menus.

Closes #18692.
2020-04-18 00:42:27 +02:00
Vadim Zeitlin
cfe8c0dea7 Use dotted pens in wxGenericTreeCtrl everywhere
There hopefully isn't any reason preventing us from using dotted pens 20
years after the commit 00e12320ca (Some debug code. Removed flicker form
wxTreeCtrl. Changes.txt update., 1999-12-22) disabling them because they
were "too slow under XFree86" was made.
2020-04-18 00:25:44 +02:00
Anton Triest
e604d01302 Use appropriate system colour for lines in wxGenericTreeCtrl
Native control seems to use wxSYS_COLOUR_GRAYTEXT, so follow it in the
generic one.

Closes #18710.

Co-authored-by: pb101 <pb101@trac.wxwidgets.org>
2020-04-18 00:18:00 +02:00
Vadim Zeitlin
42a756d5fe Merge branches 'auidemo' and 'auibarmsw' of mimi89999/wxWidgets
Improve appearance of disabled AUI buttons

Use wxSYS_COLOUR_GRAYTEXT for the disabled buttons, it works better in
non-default themes.

Also show how a disabled button looks like in the aui sample.

See https://github.com/wxWidgets/wxWidgets/pull/1801

See https://github.com/wxWidgets/wxWidgets/pull/1803
2020-04-17 23:56:54 +02:00
Vadim Zeitlin
b90a74f6fe Minor formatting and code style fixes
Put braces around loop body.

Use const for local variables.

No real changes.
2020-04-17 23:30:07 +02:00
Vadim Zeitlin
736628f7a0 Fix crash due to dereferencing null pointer in list mode
TryAdvanceCurrentColumn() is called with NULL node in this case, so
avoid dereferencing it.
2020-04-17 23:30:07 +02:00
Vadim Zeitlin
c80626d33a Replace IsItemMultivalued() with IsItemSingleValued()
This allows to simplify logic when calling it by avoiding negation.

No real changes.
2020-04-17 23:30:07 +02:00
Vadim Zeitlin
84fb5f38be Don't call wxVariant::MakeNull() unnecessary
Simplify recently added code in wxDataViewModel::Compare().

No real changes.
2020-04-17 23:30:07 +02:00
Maarten Bent
4072c0634b Scale all sizers and spacers on a DPI change
Do not only scale the first sizer of a window, but scale all its child
sizers and spacers recursively.

Closes https://github.com/wxWidgets/wxWidgets/pull/1804

See #18649.
2020-04-16 15:07:57 +02:00
Vadim Zeitlin
e5d03323f9 Rename wxGridBlockCoords::ContainsCell/Block() to just Contains()
These methods do the same thing, so it seems better to use the same name
for them.

This is not really a backwards-incompatible change, as these methods
were just added in the parent commit, so nobody is using them yet.
2020-04-15 18:37:06 +02:00
Vadim Zeitlin
a5a7641616 Merge branch 'grid-selection-refactoring'
Completely overhauled selection handling in wxGrid.

Make various ways of extending selection (using Shift-arrow keys,
Ctrl-Shift-arrows, Shift-click etc) work as expected from the user point
of view instead of producing various bizarre results. Also improve
row/column header click selection as well as Ctrl/Shift-Space handling.

Internally, store selection as just a vector of blocks, independently of
the selection mode, and provide a simple API for iterating over it which
remains usable even with selections containing millions of cells (as
long as they're still composed of only a few blocks, which is the case
in practice).

Add more tests and add display of the current selection to the sample.

See https://github.com/wxWidgets/wxWidgets/pull/1772
2020-04-15 18:10:08 +02:00
mimi89999
bc886c1e09 Change AUI bar on msw to use wxSYS_COLOUR_GRAYTEXT for disabled buttons 2020-04-15 16:18:44 +02:00
Vadim Zeitlin
44c3e626b3 Extend current selection on {Ctrl,Shift}-Space
Extend the existing selection instead of adding a new block, as there is
no reason to keep the old selection as a separate block, when it's
always a subblock of the new one, and doing it resulted in wrong
behaviour when selecting 2 horizontally adjacent cells, pressing
Ctrl-Space and then pressing Shift-Left deselected the rightmost
selected column but still left its single cell, which was part of the
originally selected block, selected, which was surprising and looked
wrong.
2020-04-15 16:16:00 +02:00
Vadim Zeitlin
ae499c43f1 Don't set focus to unfocusable windows in wxGTK
Restore IsFocusable() check that was commented out, without any real
explanation, by c7bfb76a2c (A number of focus handling improvements:
Left clicking on a window only focuses the window if not processed.
wxControlContainer::SetFocus moved to wxControlContainerBase so that a
container now focuses the first child even on wxGTK. wxAuiBook is now a
container, need for correct navigation on wxGTK., 2007-08-18).

This is needed to avoid giving focus on click to the windows that
explicitly override AcceptsFocus() to return false, as e.g.
wxGridColLabelWindow and other wxGrid subwindow classes do. From the
user point of view, previously clicking on a grid row/column label just
disabled the user of arrow keys, which was very inconvenient (and didn't
happen under MSW).
2020-04-15 16:02:43 +02:00
Jorge Moraleda
429d9d8dfc Use null as value when sorting items in a DataView control by a column for which the item does not have a value. 2020-04-14 17:48:47 -07:00
Jorge Moraleda
a1f90ae0de Created method to find the first column that has a value instead of assuming that the expander column is the first one. Renamed method HasItemMultipleValues with IsItemMultivalued and made it const. 2020-04-14 17:48:47 -07:00
Jorge Moraleda
8a3b0a9fd6 Consolidate common logic into a single function and revert original test for IsList() to minimize code changes. 2020-04-14 17:48:47 -07:00
Jorge Moraleda
ea4a6ec0e9 Bug fix. Ensure travis builds without errors on all platforms. 2020-04-14 17:48:47 -07:00
Jorge Moraleda
c2e4bc422c Make HasValue virtual in wxDataViewModel and have implementations use it. This addresses issue https://trac.wxwidgets.org/ticket/18724 2020-04-14 17:48:47 -07:00
mimi89999
697bd07441 Change AUI to use system caption text color on all platforms
Don't hardcode black colour, it results in unreadable text when the
theme uses dark background. Note that this was already done under Mac,
but this commit does it under all platforms.

Also improve the contrast of various other colours when using
non-default background, this notably drastically improves readability of
the button labels when using the standard MSW "high contrast" mode.

Closes https://github.com/wxWidgets/wxWidgets/pull/1791
2020-04-15 02:19:25 +02:00
Vadim Zeitlin
51ea80b701 Allow selecting rows/columns in row-or-column selection mode
Don't blankly forbid selecting any blocks at all in this mode, this
didn't really make any sense.

Moreover, SelectBlock() not doing anything prevented wxGrid code
handling {Ctrl,Shift}-Space from doing anything in this mode and, worse,
broke the logic of DeselectBlock() which relied on using SelectBlock()
to select the remaining parts of the selection, so this commit fixes
using Ctrl-click for deselecting rows or columns in this selection mode,
which was previously completely broken.
2020-04-15 00:03:37 +02:00
Vadim Zeitlin
3ebc76eea5 Always explicitly set split orientation in DeselectBlock()
No real changes, just make the code more clear by always explicitly
selecting either wxHORIZONTAL or wxVERTICAL instead of default for the
former for no good reason (by symmetry, it is not a better choice than
wxVERTICAL).

Also list all wxGridSelection enum elements in the switch over selection
mode to avoid warnings about not handling wxGridSelectRows.
2020-04-15 00:01:56 +02:00
Artur Wieczorek
871a7db022 Improve wxPropertyGrid text editor layout under wxOSX
Text editor field can be slightly longer
to be displayed closer to the editor button.
2020-04-14 20:50:31 +02:00