Determine the enabled state using IsThisEnabled() instead of
IsEnabled(), because the latter returns false if the entire window is
disabled without its appearance being affected, e.g. if another window
is shown modally.
Selecting an already selected radio menu item didn't generate any events in
wxGTK nor in wxMSW with the top level (i.e. attached to a menu bar) menus but
did send them for popup menus under MSW.
Make the last case consistent with the rest of them and don't send any events
in this case neither.
Closes#16891.
Don't mix signed/unsigned integers in arithmetic operations when normalizing
wxDC scale factors: variable holding GCD value should be of the same type as
variables holding devExt and logExt to avoid wrong results of /= operation
when dividend is a negative value.
Closes#16908.
The only attribute for this control is a boolean "running" which can be set to
start the indicator on load.
Update the schema, documentation and the XRC sample.
This is a simple animated control indicating some program activity.
Provide native GTK+ (for > 2.20) and OS X implementations as well as a generic
one used under MSW.
Update the sample and the documentation.
This method allows to scale a pixel value by a DPI-dependent factor to the
value used by the underlying toolkit only if necessary, i.e. when not using
GTK+ 3 or OS X which already do this internally.
Set bNeedsUpdate flag for all columns even when the control is already empty,
this ensures that things will work if more items are added to it later.
See #10326.
New element can be added to the list not only by clicking "New item" button but also by clicking under the last element of the list and we need to determine its index in both cases because it is used later on in wxPGArrayEditorDialog::OnEndLabelEdit event handler.
Closes#16905.
Fix possible deadlock in the child which would happen if it continued to
produce output after the parent, that used wxExecute() with IO redirection to
launch it, exits.
Do this by preventing the child from inheriting the read ends of the standard
output and error pipes, just as it was already done for the write end of the
standard input pipe.
Closes#16898.
Simplify the code in wxExecute() by using SetHandleInformation() to make the
handle non-inheritable instead of duplicating it to achieve the same goal (the
old code worked under Windows 9x too, unlike the new one, but we don't care
about them any more).
See #16898.
Use both the contents and the header width when wxLIST_AUTOSIZE_USEHEADER is
given instead of just the latter.
Also make both wxLIST_AUTOSIZE_USEHEADER and the previously implemented
wxLIST_AUTOSIZE work efficiently for the virtual list controls by reusing
wxMaxWidthCalculatorBase already used in the generic wxDataViewCtrl.
Closes#10326.
When launching child processes it can be convenient to be able to switch to
them later, provide a method in wxProcess to do it.
Currently this is only implemented in wxMSW but could almost certainly be done
for wxOSX too (it can be done using Apple Script, so presumably there is a way
to do it programmatically as well) and could be also made to work at least
under some Unix systems by emulating what wmctrl does (or just launching it?).
Don't suspend the logs forever if showing the log dialog throws an exception
(this is unlikely but may happen when running unattended GUI tests or using
the dialog hooks throwing exceptions for any other purpose).
Don't use NSCriticalAlertStyle for wxICON_WARNING unconditionally, this
was a violation of the OS X guidelines. According to the hig HIG,
NSCriticalAlertStyle (aka caution icon) is only appropriate in rare
cases and only if the user is performing a task that might result in the
inadvertent and unexpected destruction of data.
It therefore doesn't make sense to use it for information warnings, but
only for _questions_, and so NSCriticalAlertStyle is only used if a
combination of wxICON_WARNING with either wxYES_NO or wxCANCEL is used.
This is useless at best and resulted in GTK+ warnings because we ended up
(somehow -- is there another bug lurking here?) with negative items height in
this case.
Closes#16862.
Round the double value before passing it to wxColour::Set() instead of relying
on the implicit conversion which is dangerous and correctly flagged as such by
g++.
When the TZ offset specified in the RFC 822 string was equal to the local TZ
offset but the date fell in the DST period, the result was one hour off.
Fix this by converting the date to the UTC explicitly, and then converting it
back to the local TZ to ensure that the DST is taken into effect.
See #15370.
This was broken due to a wrong cast from WPARAM (i.e. 32 bit unsigned int in
Win32) value containing the ID to WORD (i.e. 16 bit unsigned short) which
truncated the ID value.
Notice that MSDN documents the requirement for the IDs to be positive, but
negative IDs seem to work, at least with Windows 7, after this fix.
Closes#16880.
Don't send wxEVT_PG_SELECTED event when wxPG is ordered to unselect current property but no property is actually selected.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78519 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This avoids failing to set the host name if the system /etc/hosts file has any
host names that wouldn't fit in our buffer: at least under Linux/glibc,
gethostname_r() returns error if any such names exist even if we don't ask for
them.
Closes#16641.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78506 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Currently, wxEVT_PG_SELECTED event object generated when property is unselected doesn't refer to the property being unselected (in fact it doesn't refer to any property; pointer to the property is NULL) and therefore it is not possible to determine unselected property or to check its state.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78503 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use the correct, i.e. logical, as wxDC does the translation to physical
internally, coordinates for drawing the highlighted rows.
Closes#16815.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78502 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
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
Currently this only really works when using the standard US keyboard layout as
we don't have information about the mapping from the characters to the keyboard
keys for the other layouts, which is not ideal but better than nothing as it
allows e.g. Text("foo_bar") to really produce "foo_bar" in the currently
focused text control instead of "foo-bar" as before.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The changes of r69762 and r69960 cancelled each other out, leaving a long
switch statement which didn't do absolutely anything -- and doesn't seem to be
needed at all, so drop it.
See #13671.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775