When label editing is finished then property label has to be always updated. If there is a text which is cached in the corresponding cell then it also needs to be updated.
See #16982.
Spurious wxEVT_PG_LABEL_EDIT_ENDING events shouldn't be generated also if wxPropertyGrid::DoEndLabelEdit() function is reentered multiple times (constraint for selected column should be removed from the guard because column index is set to 1 after first reentry and no longer reflects original value stored in the event object).
Closes#16864.
By preventing sending wxEVT_PG_LABEL_EDIT_ENDING events recursively (recursive generation can happen due to the calling wxPropertyGrid::RefreshProperty() directly or indirectly from within wxEVT_PG_LABEL_EDIT_ENDING event handler) spurious events are not sent to the application and wxPropertyGrid::DoEndLabelEdit() function is not reentered.
Closes#16864.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78500 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Check that __cplusplus is defined before testing its value to avoid warnings
when compiling C code, e.g. regex library.
Notice that in master a check for __cplusplus covering a bigger part of this
file was added to solve the same problem, but it doesn't seem like a good idea
to stop defining other symbols which had been previously defined in 3.0, so
keep this check as narrow as possible here.
By default, to prevent wxPG from stealing focus from other controls, focus is moved to the grid only if it was already in one of its child controls.
When newly introduced wxPG_EX_ALWAYS_ALLOW_FOCUS flag is set then wxPG can take focus on the entire grid area (on canvas) even if focus is moved from another control.
Default wxPG behavior remains unchanged because wxPG_EX_ALWAYS_ALLOW_FOCUS flag must be explicitly set with wxPropertyGrid::SetExtraStyle function.
Closes#16993.
(cherry picked from commit 7394dd8e1f)
wxAcceleratorEntry::ParseAccel() incorrectly assumes that every
single-character accelerator must be a direct character code. But
that's not true, a human-friendly name for a key (e.g. "Down") may be
translated with a single character in some languages (or because a
translator decides to use a Unicode arrow…).
Amend the test to check if the character is a 7bit ASCII one. That
would be extremely unlikely to be a translation.
(cherry picked from commit 166f5c0abb)
The assert in wxGtkTreeSelectionLock ctor failed after the first time this
object was created as it doesn't reset the selection function to NULL with
wxGTK2, fix this by checking for different values depending on whether it's
actually the first time we do it or not.
In the future we should just reset the selection function to NULL as it does
work in GTK+ 3, also update the comment explaining the problem to mention this.
(cherry picked from commit 24c0401e81)
This works around GTK+ critical error messages that we get otherwise with GTK+
since the change done in its commit 7401794de6b084fea469af297b7c144724b8492c
which appeared in 3.22.8 release and is still present in the latest version.
These messages happen because gtk_combo_box_popdown() ends up being called
during the widget destruction if it's still shown, so just hide the combobox
before destroying it to avoid them.
Closes https://github.com/wxWidgets/wxWidgets/pull/449
(cherry picked from commit 404f0f8587)
If the passed string cannot be represented in the target encoding in the
wxCFStringRef constructor, create a reference to an empty string instead of a
null ref. Most users of wxCFStringRef cannot handle a null wxCFStringRef.
Closes#17825.
(cherry picked from commit a2b04536d3)
The value of "growablerows" and "growablecols" elements is not just a
list of numbers, but a list of numbers with optional weights, specified
after a colon.
Update the XRC schema to account for the weights too.
See #17802.
(cherry picked from commit 0d73253111)
wxEncodingToCodepage() can be used when wxUSE_FONTMAP==0
Also avoid unreachable code warning with MSVC when using whole program optimization
(cherry picked from commit 64f1d760c6)
GtkToolbar uses item minimum size as actual size, so don't use 0 as minimum
for toolbar children.
See #17756, #17704
(cherry picked from commit 2155eb2fde)
webkitgtk apparently manipulates our scrollbar GtkAdjustment directly, setting
all members to zero to disable it. Since we never do that, those values were
unexpected. This is a better fix for the problem papered over by 45d66f592
(cherry picked from commit ccd1d40dd9)
Add wxHAS_STDPATHS_INSTALL_PREFIX to make checking for
wxStandardPaths::GetInstallPrefix()'s availability simpler, as the
condition under which it is compiled is nontrivial.
Fixes compilation after 2c24ee9216 on
Cygwin, which is a UNIX, but its wxStandardPaths implementation is a
Windows one.
(cherry picked from commit 13862ad8e6)
Avoid the problems 64753769 attempted to address in a much simpler way:
when a "size-allocate" is in progress, call gtk_widget_size_allocate()
directly, rather than deferring a call to gtk_widget_queue_resize().
See #17585
(backport of d5681ee4a8)
Since MSVC 14, VC CRT uses standard-conforming 2 digits for the exponent
instead of the non-standard 3 used previously.
(cherry picked from commit 7122288416)
This header uses (i.e. forward declaration wouldn't be sufficient)
wxTextEntry, so it must include the header declaring it.
(cherry picked from commit 9db6f6ca1a)
The changes introduced in ea160f0 accidentally omitted this search
location, so only wx's own install prefix was searched. This probably
went undetected for so long because these two are often, but not always,
the same.
Fixes#17740.
(cherry picked from commit 2c24ee9216)