Commit Graph

68113 Commits

Author SHA1 Message Date
Vadim Zeitlin
28a9f50bc7 Merge branch 'grid-align-overflow'
Fix overflow in wxGrid cells with non-default alignment.

See https://github.com/wxWidgets/wxWidgets/pull/1775
2020-04-04 18:46:18 +02:00
Artur Wieczorek
372a609e82 Use ellipsis character instead of "..." approximation
This way editor button label will be shorter.
2020-04-04 18:07:46 +02:00
Artur Wieczorek
c7b789d351 Increase wxPropertyGrid line height under wxGTK3
Line height calculation based on the font size is not right for wxGTK3
because native buttons (used as in-line editor buttons) don't scale down
well and they are not displayed properly within the line.
Minimal button size when the label is displayed properly is 35 so this
has to be minimal line height under wxGTK3.

Closes #18715.
2020-04-04 18:02:40 +02:00
Artur Wieczorek
a3cbcc2c6c Fix positioning the buttons in wxPGMultiButton
For the sake of consistency with editor buttons created with
wxPropertyGrid::GenerateEditorButton(), the borders around the buttons
should be taken into account while positioning the buttons
in wxPGMultiButton.
2020-04-04 17:41:46 +02:00
Vadim Zeitlin
c90bb2596a Upgrade libjpeg to the latest 9d version
This library version includes some optimizations as well as security
fixes.
2020-04-04 00:46:40 +02:00
Robin Dunn
ce8085808c Documentation updates 2020-04-03 14:10:35 -07:00
Robin Dunn
ba5cc4b49a gtk animation ctrl needs to see the generic impl too 2020-04-03 13:37:01 -07:00
Robin Dunn
e258a9d982 Move the animation Impl classes to private headers 2020-04-03 13:22:35 -07:00
Robin Dunn
4545d93924 Move wxAnimationDecoderList-related methods to wxAnimation 2020-04-03 12:49:15 -07:00
Vadim Zeitlin
0f2fe27e04 Add more top-level references to XRC
Try to make XRC existence more discoverable.
2020-04-03 14:58:51 +02:00
Robin Dunn
af4ca01148 wxAnimationGTKImpl::GetFrame got lost somwhere 2020-04-02 15:05:21 -07:00
Robin Dunn
784f330838 Add assignment operator to wxAnimation 2020-04-02 14:35:30 -07:00
Robin Dunn
80c9513a80 Minor documentation tweaks 2020-04-02 14:21:21 -07:00
Robin Dunn
8153605cf0 No need for wxRTTI in wxAnimationImpl 2020-04-02 13:48:53 -07:00
Robin Dunn
f780f3cfef Remove default case from switch 2020-04-02 13:48:04 -07:00
Robin Dunn
6f79567f3b Use better names for the Impl accessor methods 2020-04-02 13:21:49 -07:00
Robin Dunn
a7fd4db107 Use wxDECLARE_NO_COPY_CLASS in the Impl classes 2020-04-02 13:14:38 -07:00
Robin Dunn
06bda3e5de Revert change that ended up just moving some lines 2020-04-02 12:59:26 -07:00
Robin Dunn
c532edfe67 Fix class names in the header 2020-04-02 12:51:16 -07:00
Robin Dunn
52d4bad3df Apply suggestions from code review
Co-Authored-By: VZ <vadim@wxwidgets.org>
2020-04-02 12:35:58 -07:00
Vadim Zeitlin
7c6da45663 Document change in wxGTK wxTextCtrl creation behaviour
It now doesn't send any events, which is correct, but different from the
behaviour in the previous wx versions.
2020-04-02 09:10:36 -07:00
Vadim Zeitlin
b4eb5438a4 Add a unit test for wxTextCtrl event generation on creation
Check that creating a wxTextCtrl doesn't generate any events to verify
that this problem doesn't exist in other ports, after fixing it in
wxGTK in 3e7e7dd24c (Avoid generating wxEVT_TEXT when wxTextCtrl initial
value is not empty, 2020-04-01).
2020-04-02 09:10:36 -07:00
Paul Cornett
6240ecf153 Fix virtual call of Destroy() in wxDocChildFrameAny
Allow derived class override to be called.
See #18694
2020-04-02 09:03:35 -07:00
Robin Dunn
6039be5291 More documentation updates 2020-04-01 15:27:34 -07:00
Robin Dunn
fb69a2975f Add missing wxOVERRIDE, and some other cleanup 2020-04-01 14:55:08 -07:00
Vadim Zeitlin
a40ead0ccf Remove unnecessary Refresh() from wxGrid::OnDPIChanged()
The entire TLW is already refreshed when the DPI changes, so it's
unnecessary to refresh wxGrid window itself.
2020-04-01 23:43:17 +02:00
Robin Dunn
6b6a930e9c Update GTK animation classes for the new pattern 2020-04-01 14:16:15 -07:00
Vadim Zeitlin
9463415998 Fix check mark size in wxGrid after DPI change
Moving wxGrid window to a monitor with different DPI now correctly
changes the check mark size as expected.
2020-04-01 22:39:45 +02:00
Robin Dunn
f641601ea9 Remove the wxOVERRIDEs too 2020-04-01 13:37:38 -07:00
Vadim Zeitlin
d41d159576 Replace wxGridCellBoolRenderer::ms_sizeCheckMark with a local var
This variable is (now) only used in a single function, so there is no
reason to declare it as a class member.

No real changes.
2020-04-01 22:33:02 +02:00
Robin Dunn
1cf191f5d6 Update docs 2020-04-01 13:31:03 -07:00
Robin Dunn
085f08aefe Remove the generic-specific methods from the wxAnimation API 2020-04-01 13:30:49 -07:00
Robin Dunn
cd74255da3 Ensure the animation is ok before getting its impl 2020-04-01 12:58:35 -07:00
Robin Dunn
606f365ea3 Verify the animation impl type matches the animation ctrl type 2020-04-01 12:39:48 -07:00
Robin Dunn
e464453073 * Switch wxAnimation to be a facade over a wxAnimationImpl class.
* Implement wxAnimationGenericImpl
* Update wxGenericAnimationCtrl as needed
2020-04-01 11:53:19 -07:00
Paul Cornett
3e7e7dd24c Avoid generating wxEVT_TEXT when wxTextCtrl initial value is not empty
See #18714
2020-04-01 10:23:44 -07:00
NancyLi1013
d781764d6d Add vcpkg installation instructions for wxMSW
Closes https://github.com/wxWidgets/wxWidgets/pull/1777
2020-04-01 13:24:24 +02:00
Vadim Zeitlin
f2923d49e1 Update native wxGrid header on DPI change
Simply resize all columns to their effective widths when using native
wxHeaderCtrl for the grid.
2020-04-01 01:08:41 +02:00
Vadim Zeitlin
5525e0ed3f Update grid row/column sizes when switching DPI
Because the size of the text (usually) shown in the grid changes, the
size of its columns/rows should change as well when DPI changes. Scale
them by the DPI ratio if necessary, i.e. if any of them were set to
non-default values to achieve this.

Note that this is not ideal because it can result in rounding errors and
hence in slight change of row/column size when moving the grid window to
another display with a different DPI and then back, but to prevent this
from happening we'd need to store the column/rows sizes in DIPs inside
wxGrid and convert them to actual physical pixels everywhere, which
would require much more changes. Still, if the round trip problems turn
out to be a real problem in practice, we probably will need to do this.

Also note that this doesn't take care of the grid with a native header,
but this will be addressed by upcoming commits.
2020-04-01 00:58:59 +02:00
Vadim Zeitlin
5e761ad99f Add minimal DPI change handler to wxGrid
This handler redoes wxGrid layout and refreshes it to at least avoid
ugly display artifacts when moving wxGrid window between displays with
different DPI.
2020-04-01 00:46:39 +02:00
Robin Dunn
85bd16fb06 Trim trailing whitespace 2020-03-31 14:02:39 -07:00
Robin Dunn
aa30a6d46e commit suggested change
Co-Authored-By: VZ <vadim@wxwidgets.org>
2020-03-31 13:53:56 -07:00
Robin Dunn
f3b916a99e commit suggested change
Co-Authored-By: VZ <vadim@wxwidgets.org>
2020-03-31 13:26:51 -07:00
Vadim Zeitlin
393f5c8e2b Use less arbitrary column/row sizes in the grid sample
Base the sizes on the default column/row size instead of just hardcoding
pixel, or even DIP, values.
2020-03-31 19:38:18 +02:00
Vadim Zeitlin
f48c3f1e83 Sprinkle grid sample with FromDIP() to improve its appearance
Make frame sizes and column/row sizes more appropriate for high DPI
displays.
2020-03-31 19:38:18 +02:00
Vadim Zeitlin
104733550e Use wxGridCellAttrPtr typedef
No real changes, just make the code slightly shorter.
2020-03-31 19:37:39 +02:00
Vadim Zeitlin
ca30169767 Restore overflowing for cells with non-default vertical alignment
Since the changes in a40acbb28e (Add CanOverflow function to
wxGridCellAttr, 2020-02-06), cells with non-default vertical alignment
didn't overflow any more, even if their horizontal alignment was
unchanged and still defaulted to left-aligned.

This was due to assuming that if the alignment of wxGridCellAttr itself
was different from wxALIGN_LEFT, it meant that it wasn't left-aligned,
which seems logical but is in fact false, as the alignment can also be
wxALIGN_INVALID, in which case the real alignment is taken from the
default grid attribute.

Fix this by using GetNonDefaultAlignment() to get the alignment value
effectively used and add a unit test, as well as an example in the
sample, showing that this now works correctly.
2020-03-31 19:32:47 +02:00
Vadim Zeitlin
5834bef2f7 Fix memory leaks in wxGrid unit tests
Use smart pointers to ensure that various objects are released, as they
have to be.
2020-03-31 19:32:47 +02:00
Vadim Zeitlin
59ad458d39 Scale default wxGrid constants by DPI
In particular, this makes default column width better suited for high
DPI displays, as it was too narrow before.

Also mark a couple of obsolete constants as such with a comment.
2020-03-31 14:48:54 +02:00
Vadim Zeitlin
06af121e9c Add wxObjectDataPtr::release()
This makes it possible to use wxObjectDataPtr inside functions returning
raw pointers owned by the caller, such as custom GetAttr() in the grid
sample.
2020-03-31 02:57:01 +02:00