Commit Graph

58711 Commits

Author SHA1 Message Date
Artur Wieczorek
f239eba7b0 Fix bug when a wxToolBar tool is deleted from its click handler
Deleting a tool from its own event handler resulted in at least in an assert
and could also lead to a crash as an already deallocated pointer was
dereferenced.

Fix this by checking if the tool with the same ID is still available after the
event handler finishes.

Closes #16762.

(this is a backport of faffaaae29 from master)
2015-09-01 18:53:27 +02:00
Paul Cornett
234f081527 Add gtk_cell_renderer_set_padding() compatibility function
(cherry picked from commit 83ce88402c)
2015-09-01 08:44:23 -07:00
Paul Cornett
5a18f1caa0 Update internal sorting state in wxDataViewColumn::SetSortOrder()
This allows a subsequent wxDataViewModel::Resort() to actually work, see #15626

(cherry picked from commit e77c48331b)
2015-09-01 08:24:49 -07:00
John Roberts
3cae6b0b82 Don't show wxDatePickerCtrl as being disabled when it isn't in wxOSX.
Use setDrawsBackground: to fix the background colour and adjust the text
colour whenever the control is enabled or disabled.

Closes #16807.

(this is a backport of 9bedba0bf3 from master)
2015-08-26 15:59:39 +02:00
sbrowne
9153da02e7 Don't use extra margins around content of wxStaticBox in wxOSX.
This makes top and left borders for the controls inside the box the same as
right and bottom ones.

Closes #16808.

(this is a backport of bd177b0635 from master)
2015-08-26 15:59:38 +02:00
sbrowne
723e61a4b5 Adjust inset border values for OS X >= 10.6.
The bottom border was off by one pixel, use the values tested to work for OS X
10.[6789].

See #16808.

(this is a backport of cb0625b9d9 from master)
2015-08-26 15:59:38 +02:00
Tim Kosse
3379b053bd Don't allow rich text content in non-rich wxTextCtrl in wxOSX.
Explicitly disable rich text content and automatic quotation marks replacement
in normal multiline text controls to make them behave closer to single line
ones and also multiline ones on other platforms.

Closes #16805.

(this is a backport of 262ed2c133 and
 3465d659fee0313a6dc650074432c3c435e4a83e from master)
2015-08-26 15:59:20 +02:00
Tim Kosse
0329fe3e0a Fix initial position of controls with layout insets in wxOSX.
For such controls (e.g. wxButton, wxChoice, wxGauge), their initial position
was different from the one specified when creating them, even though calling
SetPosition() later did position them at exactly the position passed as
argument.

Closes #16780.

(this is a backport of a4681572cc from master)
2015-08-26 15:55:25 +02:00
mj_smoker
aefc0ecf82 Handle wxTE_PROCESS_ENTER with wxTE_PASSWORD correctly in wxOSX.
Controls with wxTE_PASSWORD style didn't send wxEVT_TEXT_ENTER even if they
also had wxTE_PROCESS_ENTER. Fix this by checking for the latter style before
mapping the enter presses to default button activation.

Closes #14930.

(this is a backport of 8e0799e3e5 from master)
2015-08-26 15:55:25 +02:00
sbrowne
53269a7cba Do use disabled control text color for wxStaticText in OS X.
Contrary to an old comment, using it seems to work, while using
secondarySelectedControlColor results in incorrect appearance, different from
the other disabled controls and, worse, makes the labels unreadable as their
colour is too close to that of the background inside nested panels.

Closes #10524.

(this is a backport of c269398588 and
 e7327959e06ae051a85622cbde9d0a6b7b1fba53 from master)
2015-08-26 15:54:52 +02:00
John Roberts
1b4a7cd671 Fix handling of "Cancel" button in wxSearchCtrl under OS X.
Pressing it results in a control action with an empty, but not null, string.
Recognize it correctly.

Closes #16869.

(this is a backport of 7065e26fb3 from master)
2015-08-26 15:53:39 +02:00
Rob Krakora
76ee2fa0a0 Implement sending wxIconizeEvent in wxOSX.
Translate windowDid{Miniaturize,Deminiaturize} callbacks to calls to
SendIconizeEvent().

Closes #16718.

(this is a backport of 31e1387541 from master)
2015-08-26 15:53:39 +02:00
John Roberts
f313ecf9b6 Fix wxSearchCtrl appearance under OS X 10.10 Yosemite.
Avoid centered look which renders the control unusable under this version.

Closes #16871.

(this is a backport of 563329f89f from master)
2015-08-26 15:53:38 +02:00
John Roberts
38e410a273 Fix generating events for WXK_NUMPAD_ENTER in wxOSX.
This allows to properly detected numeric keypad "Enter" key in the code,
notably in wxTextCtrl inside wxWidgets itself.

Closes #16415.

(this is a backport of 4f69410cd8 from master)
2015-08-26 15:53:38 +02:00
John Roberts
9fe3c3f774 Handle WXK_NUMPAD_ENTER correctly in wxOSX wxTextCtrl.
Basically just do the same thing for it as for WXK_RETURN.

See #16415.

(this is a backport of a79a2c0c8a from master)
2015-08-26 15:53:38 +02:00
John Roberts
acec4b363b Fix printing all pages without dialog prompt in wxOSX.
Do set from and to pages if we're not asking the user to choose them,
otherwise nothing is printed at all.

Closes #16294.

(this is a backport of 896e148da5 from master)
2015-08-26 15:53:38 +02:00
Vadim Zeitlin
2eb5cb50bb Don't keep using invalid wxSound object in the sound sample.
If creating a sound object fails, delete it to ensure that it is recreated
later.

This fixes a minor bug: previously, if an invalid file was used as sound file,
only the first attempt to play it resulted in an error and all the subsequent
ones were just silently ignored. Now every attempt to play an invalid file
results in an error message, as expected.

(this is a backport of a788351eb6 from master)
2015-08-26 15:53:38 +02:00
Vadim Zeitlin
37f97729c6 No real changes, just get rid of a variable in wxOSX wxSound code.
Don't define a variable which is used exactly once, testing for the async flag
directly is just as, or even more, readable and shorter.

(this is a backport of 605149ed07 from master)
2015-08-26 15:53:38 +02:00
Vadim Zeitlin
7d15904e1a Fix wxSound::Create() and IsOk() return values in wxOSX.
Don't pretend that we created wxSound object successfully without actually
doing it: this means that now passing an invalid (e.g. non-existent or using
wrong format) file to wxSound::Create()/ctor will return false/result in
IsOk() returning false later, just as in the other ports.

It also means that playing a successfully created wxSound object won't give
any error messages, as unexpectedly happened before.

(this is a backport of a6a3ad0d66 from master)
2015-08-26 15:53:38 +02:00
Vadim Zeitlin
7c81707a7e Add error handling to wxSound under wxOSX.
Don't assume that we can open any file as a sound, check for the return value
from AudioServicesCreateSystemSoundID().

(this is a backport of ba4d3d31a6 from master)
2015-08-26 15:53:37 +02:00
Tobias Taschner
d62674e81d Avoid run-time warnings for OS X version checks under 10.10+.
Implement workaround in UMAGetSystemVersion() function which produced the following
warning on the console for every application launch on OS X 10.10+:

WARNING: The Gestalt selector gestaltSystemVersion is returning 10.9.5 instead
of 10.10.5. Use NSProcessInfo's operatingSystemVersion property to get correct
system version number.*

Workaround for 3.0 branch instead of correct implementation in commit 658eca2896
2015-08-25 11:41:02 +02:00
Vadim Zeitlin
79676e1e9d Fix wxGTK build after wxLaunchDefaultBrowser() fix backport.
2dd407609b uses wxGetTopLevelGDK() only
available in master and not in 3.0 branch, avoid it by just using the default
screen (which also avoids having to add another GTK+ version check for
gdk_window_get_screen() which is only available since 2.24).
2015-08-24 17:20:58 +02:00
Cătălin Răceanu
e4eb6920fd Improve formatting of identifiers in wxTextCtrl documentation.
Render "std" in fixed-width font.

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

(cherry picked from commit 8d4d4c45b1)
2015-08-24 08:05:05 -07:00
Cătălin Răceanu
e9a5d5b7d1 Correct document of wxListView constructor.
The documented default values of constructor arguments didn't correspond to
the reality.

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

(cherry picked from commit f3da2e27e9)
2015-08-24 08:03:24 -07:00
dasimx
eed42abba5 Don't change the clipboard in wxNotebook::SetPageImage() in wxOSX.
For some reason the implementation of this method (see #12754) also put the
image on the clipboard, which was completely unexpected and unnecessary, so
just don't do it.

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

(cherry picked from commit 10a4d15b27)
2015-08-24 07:49:17 -07:00
Paul Cornett
bb89014bc2 Fix clipped cell contents with custom renderers and GTK3, see #17116
(cherry picked from commit b1fa69a2ce)
2015-08-20 21:16:29 -07:00
Paul Cornett
65b17ab188 fix wxHyperlinkCtrl opening URL twice, see #13813
(cherry picked from commit 0ff96c620f)
2015-08-18 23:06:52 -07:00
Paul Cornett
2dd407609b use gtk_show_uri() in wxLaunchDefaultBrowser() implementation for GTK+
(cherry picked from commit 22eec38806)
2015-08-18 23:06:30 -07:00
JulianSmart
2611aeca04 Corrected wxRTC font dialog spin button behaviour 2015-08-18 16:42:45 +01:00
Paul Cornett
51e766093e IsShown() now returns false for non-selected wxNotebook pages, see #4343 2015-08-15 11:09:03 -07:00
Václav Slavík
05862e608d Only set native label if nonempty in wxWindowMac::SetPeer()
Some native controls don't take kindly to being set setStringValue: with
a value invalid for the control (such as empty string for
NSPathControl). Don't do this if the label is empty anyway to avoid
problems with wxNativeWindow when the underlying native control is like
that.

(This is backport of db9baf9 from master)
2015-08-15 18:56:53 +02:00
Vadim Zeitlin
f8249a7275 Don't process events handled in user code in generic scrolling code.
Undo the change introduced, probably accidentally, by r11369 (12 years ago)
and skip the default handling of all events except wxEVT_SIZE and wxEVT_PAINT,
which are special for the reasons explained in the comments in the code, if
the user code has already handled the event.

This allows to customize scrolling by selectively handling some scrolling
events only and generally makes sense.

Closes #15684.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75252 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
(cherry picked from commit de54520c95)
2015-08-10 09:22:09 -07:00
Paul Cornett
f5dccf312d enable wxGraphicsContext offset for wxMemoryDC, see #17091
(cherry picked from commit 941834fd0e)
2015-08-10 09:09:54 -07:00
Paul Cornett
b8abf338c8 Make rectangle size the same as is drawn by raster-based wxDCs
Outlined rectangles are one pixel larger with vector-based drawing,
adjust them to get consistent behavior.
Ellipses do not appear to need adjustment.
See #17091

(cherry picked from commit 4623c5ad9c)
2015-08-09 22:08:20 -07:00
Paul Cornett
20448fbcd3 Fix wxListBox mouse wheel scrolling with GTK3
Allow default handling for GDK_SCROLL_SMOOTH when we don't handle it. Closes #17097

(cherry picked from commit bf6f3e35e8)
2015-08-09 21:05:10 -07:00
Tobias Taschner
3e7579d733 Fix wxGetWinVersion() for Windows 10
Check for Windows 10 was implemented as check for version 6.4 but the final version of Windows 10 actually returns 10.0.
2015-08-05 20:37:49 +02:00
Tobias Taschner
f7b8fdd275 Fix wxGetOsDescription() for Windows 10.
Check for Windows 10 was implemented as check for version 6.4 but the final
version of Windows 10 actually returns 10.0.

(this is a backport of c87c432033)
2015-08-05 20:30:45 +02:00
Fulvio Senore
097466149a Don't show the last page number when printing if it wasn't defined.
Show just the current page in the printing progress messages if the last page
has its default "infinitely big" value.

Closes #16987.

(cherry picked from commit 1cd916fc0a)
2015-08-04 20:46:41 -07:00
Olly Betts
1033ba59d2 Fix typo in GetOperatingSystemDescription() docs.
Fix the case of wxGetOSDescription() in the link.

Closes #17003.

(cherry picked from commit 716656ae47)
2015-08-04 20:40:49 -07:00
Catalin
2bf36da6ba Improved wxStandardPaths docs.
(cherry picked from commit e606d83e88)
2015-08-04 20:38:33 -07:00
Catalin
bed07cc212 Correctly map MAC_CHARSET to wxFONTENCODING_MACROMAN in wxMSW.
Recognize MAC_CHARSET when mapping MSW charsets to wx font encodings.

(cherry picked from commit 6e72126894)
2015-08-04 20:33:30 -07:00
Vadim Zeitlin
7bc0fe7e58 Ensure we never create empty bitmap in wxHtmlWindow::OnPaint().
Doing this resulted in an assert from wxBitmap ctor and was useless anyhow,
just skip the drawing code if the window is reduced to empty client area.

(cherry picked from commit bede8a3296)
2015-08-04 20:22:02 -07:00
Simon Richter
0ebeb6fa73 Remove duplicate code from wxGTK wxDataViewCtrl.
Code checking got wxDATAVIEW_CELL_INSENSITIVE was repeated twice, leave just
one copy of it.

Closes #17047.

(cherry picked from commit 711827a6ee)
2015-08-04 20:21:07 -07:00
Vadim Zeitlin
a5cf08fcbd Correct wxAuiNotebook::SetUniformBitmapSize() documentation.
This function used the same documentation as Split() for some reason, document
it correctly now.

Closes #17049.

(cherry picked from commit b7f3d0d752)
2015-08-04 20:20:21 -07:00
Vadim Zeitlin
6de38c1f0e Document wxDC::{Set,Get}Logical{Scale,Origin}() functions.
They are relatively important, especially the origin-related ones as
SetUserScale() can (should?) be used instead of SetLogicalScale(), but
SetLogicalOrigin() can be more convenient than SetDeviceOrigin(), so provide
at least skeletal documentation for them.

(cherry picked from commit 394b04b7e4)
2015-08-04 20:19:11 -07:00
Vadim Zeitlin
17e6fa15c5 Skip drawing empty AUI panes.
This seems to be unnecessary and generates GTK+ warnings as it results in
passing rectangle with negative (after accounting for padding/margins) size to
gtk_paint_box() in wxAuiGtkTabArt, as could be seen e.g. when closing
"wxTextCtrl 2" tab in the aui sample.

(cherry picked from commit 1f16829c01)
2015-08-04 20:15:07 -07:00
Vadim Zeitlin
b0c688d810 Fix assert when adding controls to wxAuiToolBar.
The code was always wrong as it added the control to a new sizer when it was
still element of an old one, but this went unnoticed until the changes of
efce9b2306 which now trigger an assert.

Fix this by deleting the old sizer, and thus breaking the association between
it and the controls inside it, before adding the controls to the new one.

Closes #17080.

(cherry picked from commit 0e5f3612df)
2015-08-04 20:14:42 -07:00
Vadim Zeitlin
a45354d3ed Correct the documentation of wxFrame ctor parent argument.
It doesn't result in the frame floating over its parent, this is what
wxFRAME_FLOAT_ON_PARENT style is for, it just means that the frame is
minimized/restored when its parent is.

(cherry picked from commit 6339837ffa)
2015-08-04 20:12:57 -07:00
Vadim Zeitlin
417d242e77 Provide correct documentation for wxWindow::SetPosition().
Just refer to Move(), this is trivial but necessary as otherwise Doxygen
"helpfully" reuses the first comment in the section for the otherwise
undocumented SetPosition() which didn't make any sense at all.

(cherry picked from commit 949d2eeaa5)
2015-08-04 20:11:55 -07:00
Vadim Zeitlin
90cec63a53 Don't use "u" option with ar(1).
It seems like it was never really needed as we always delete the archive
before creating it anyhow and there is no advantage in "updating" it if it
doesn't exist. Worse, with recent ar versions (like the one from binutils 2.25
in Debian Sid), using "u" results in a somewhat unclear warning

ar: `u' modifier ignored since `D' is the default (see `U')

so just get rid of it to avoid the warning.

(cherry picked from commit 004b5a4f49)
2015-08-04 20:11:12 -07:00