Commit Graph

34443 Commits

Author SHA1 Message Date
Hartwig
aa13cb8491 Addition of missing overrides to datecctrl.h and datetimectrl.mm 2015-11-22 09:38:20 +01:00
Artur Wieczorek
363492e50b Fix initialization of custom colours for colour dialog in wxSystemColourProperty::QueryColourFromUser.
Use number of custom colours taken from wxColourData instead of using explicit numeric value.
2015-11-18 20:16:06 +01:00
Artur Wieczorek
17d5429276 Fix choosing custom colour with opacity in wxColourProperty (wxPG).
Invoke colour dialog with opacity option enabled when wxColourProperty is used with alpha support enabled (wxPG_COLOUR_HAS_ALPHA attribute is set).
2015-11-18 20:13:24 +01:00
Vadim Zeitlin
e58e3f67aa Merge branch 'colour_dialogs_alpha' of https://github.com/a-wi/wxWidgets
Add support for alpha channel to wxColourPicker and wxColourDialog in wxGTK.

Closes #14127.
2015-11-17 22:47:49 +01:00
Vadim Zeitlin
cc27d305a2 Restore wxSTC built-in key mappings for non-Mac platforms
This was broken by bfdf70d14a, so keep one of
the changes done there conditional on the platform to avoid changing behaviour
for the non-Mac ones.

Closes #17251.
2015-11-16 03:18:06 +01:00
Vadim Zeitlin
7c82b9a504 Really fix MSW message logging with wxDEBUG_LEVEL>=2
Now the code not only compiles, but also actually works, unlike before when %p
was used with non-pointer types.

Closes #17095.
2015-11-16 03:00:36 +01:00
JulianSmart
76190de960 Only use scaled content factor for bitmaps on Mac 2015-11-15 18:54:10 +00:00
Artur Wieczorekl
59f5fe993b Add support for alpha channel in wxColourPicker (wxGTK).
Showing opacity slider is controlled by new flag wxCLRP_SHOW_ALPHA.
2015-11-15 16:38:55 +01:00
Artur Wieczorek
51c51d8d15 Add support for alpha channel in wxColourDialog (wxGTK).
Showing opacity slider is controlled by wxColourData::GetChooseAlpha().
2015-11-15 16:38:41 +01:00
JulianSmart
a797c9d956 Make wxBitmap ctors consistent wrt passing scale for conversion from wxImage; HiDPI adaptation for propgrid buffer and wxRTC images 2015-11-15 12:49:25 +00:00
Vadim Zeitlin
fdbed751dc Fix MSVC wxMSW build with wxDEBUG_LEVEL>=2
This was broken since 39ad820bee which added
wxSEH_TRY to wxWndProc() which uses a local object with dtor when
wxDEBUG_LEVEL>=2 and so broke its compilation with MSVC which doesn't allow
the use of dtors in functions also using SEH.

Closes #17095.
2015-11-15 01:10:02 +01:00
Vadim Zeitlin
ac0505e7d8 Merge branch 'colour_dialogs_alpha_generic' of https://github.com/a-wi/wxWidgets into wip
Add support for alpha channel to wxGenericColourDialog.

See #14127.
2015-11-15 00:56:13 +01:00
Artur Wieczorek
d04e256993 Optimize drawing of small bitmaps with alpha in wxMSW
Don't erase alpha channel of the entire destination image after drawing on it
using AlphaBlend(), we only need to do it for the area corresponding to the
bitmap drawn on it. This speeds things up when drawing small bitmaps with
alpha on a big bitmap without alpha selected into wxMemoryDC which is a common
case.

See #16766.
2015-11-15 00:56:12 +01:00
Vadim Zeitlin
1f347637a6 Merge wchar_t-surrogates branch
Fix several problems with surrogates in UTF-16-encoded wchar_t strings:
correct bugs in UTF-8 and UTF-32 conversion code and add surrogates support to
wxText{Input,Output}Stream classes.

Closes #17070.
2015-11-15 00:56:07 +01:00
Vadim Zeitlin
88408d536f Avoid bogus debug errors from wxWindow::SetId() in wxMSW
::SetWindowLong() can return 0 even if no error occurred but the previous
value of the ID just was 0, so we need to examine the last error to know
whether there really was an error -- and also to reset it to 0 before calling
the function as it wouldn't reset it if it succeeds, it only sets it if it
fails.
2015-11-15 00:56:05 +01:00
Bronek Kozicki
4ce23e5217 Fix GTK error wxApp::CleanUp() when GUI is not initialised
For the programs that use wxWidgets but can also run using just CLI, exiting
the program would show a bogus GTK error

GLib-GObject-CRITICAL **: g_type_class_unref: assertion 'g_class != NULL' failed

Fix this by only releasing the references to GTK_TYPE_WIDGET if we had
acquired it in the first place.

Closes https://github.com/wxWidgets/wxWidgets/pull/129
2015-11-15 00:56:04 +01:00
JulianSmart
ec2d9a2f89 Ensure paragraph properties are preserved when inserting a fragment in wxRTC 2015-11-14 18:50:30 +00:00
JulianSmart
6993b73042 Implement freeze/thaw in Do/Undo to considerably speed up commands with a large number of actions (commit omitted part) 2015-11-14 18:47:33 +00:00
JulianSmart
f2bc1f5e1d Fixes for list style dialog and bullet drawing when no left subindent is specified 2015-11-14 18:37:12 +00:00
JulianSmart
f48374a949 Added line height to wxRTC to allow faster scrolling if needed 2015-11-14 18:31:39 +00:00
ARATA Mizuki
e570e8b6ac Fix conversion from wchar_t string with surrogates to UTF-8
Correctly account for the second half of the surrogate in
wxMBConvUTF8::FromWChar() implementation, this makes it actually work for the
strings containing surrogates on the platforms using UTF-16 encoding for
wchar_t (such as MSW).

See #17070.
2015-11-13 19:36:34 +01:00
Vadim Zeitlin
823a2337f6 Make wxTextStream classes work with surrogates under MSW
On the platforms using UTF-16 for wchar_t we can't read nor write Unicode data
one wchar_t at a time as a single half of a surrogate character can't be
converted to or from the encoding of the stream.

To fix this, we may need to store the last wchar_t already read from the
stream but not returned yet in wxTextInputStream::NextChar() and store,
without writing it, the wchar_t passed to wxTextOutputStream::PutChar() until
the second half of the surrogate is written.

See #17070.
2015-11-13 19:36:33 +01:00
Vadim Zeitlin
5cff8c1232 Fix return value of wxMBConvUTF32::cWC2MB() in presence of surrogates
UTF-32 conversions only estimate, from above, the size of the output buffer
needed, so the value returned from the first call to FromWChar(NULL) in
cWC2MB() can be inexact for them and we need to return the value returned by
the second call to FromWChar() doing the real conversion from cWC2MB() itself
to ensure that we return the correct output length.

See #17070.
2015-11-13 19:36:33 +01:00
Vadim Zeitlin
048ba4b509 Fail to convert wide string with incomplete surrogates to UTF-8
Correctly fail if the wide string being converted is UTF-16 encoded (which can
only happen on platforms using 16 bit wchar_t, i.e. MSW) and ends in the
middle of a surrogate pair.

Notice that other conversions still wrongly encode invalid wchar_t sequences
such as 0xd800 not followed by anything, this will need to be fixed in the
future, but for now at least make it work for the most commonly used
conversion.

See #17070.
2015-11-13 19:36:32 +01:00
JulianSmart
308727daed Avoid invisible caret on wxOSX because of hiding the caret multiple times 2015-11-13 15:44:03 +00:00
Vadim Zeitlin
6602eb3384 Fix test for wxOSX in wxSTC code
Use "#ifdef", not "#if", to check for __WXMAC__ to avoid warnings about using #if
without argument under the other platforms.

See #16243.
2015-11-11 15:51:12 +01:00
Dimitri Schoolwerth
890d7e2bec Restore missing system metric values in wxOSX/Cocoa
During the transition of wxSystemSettings from a Carbon to Cocoa
implementation some previously available values weren't implemented any
more. Fix by restoring the missing values for GetMetric() :
wxSYS_SCREEN_X, wxSYS_SCREEN_Y, and (stub) wxSYS_DCLICK_MSEC.

Used values for Cocoa's wxSystemSetting::GetColour() and GetFont() have
also been compared to the Carbon implementation and found to be intact.

Regression since 515fcc66e6 .

Closes #17141
2015-11-09 15:50:29 +04:00
Vadim Zeitlin
6cfae2d658 Support wxICON_PRINT and wxICON_HELP_FOLDER in wxOSX art provider
Map them to the corresponding built-in constants.

Closes #8778.
2015-11-09 03:54:03 +01:00
Vadim Zeitlin
fbf59742a4 Don't always turn on wxTE_PROCESS_ENTER in wxOSX
This style was unconditionally used for all multiline controls for some
reason, meaning that wxEVT_TEXT_ENTER could be received even for the controls
not using wxTE_PROCESS_ENTER explicitly, which was unexpected.

Don't do this any more to conform to the expected behaviour.

Also do use wxTE_PROCESS_ENTER for the text control supposed to allow handling
"Enter" in the text sample: surprisingly, it didn't have this style before,
although it was clearly supposed to.

Closes #1913.
2015-11-09 03:51:18 +01:00
Vadim Zeitlin
a1a06bee7e Set up standard key mappings in wxSTC under OS X
Let users use the familiar key combinations which don't work out of the box in
Scintilla for some reason.

Closes #16243.
2015-11-09 03:43:32 +01:00
Vadim Zeitlin
bfdf70d14a Fix handling of keys with Ctrl modifier in wxSTC under OS X
The real Ctrl key is represented by "meta" modifier bit under OS X as the
"ctrl" bit is used for the Cmd key, but the previously used KeyDown() method
didn't support the meta bit at all, so key combinations using Ctrl didn't
work.

Also remove obsolete code which mapped "meta" to "ctrl", probably predating
the mapping of Cmd to "ctrl" at wx API level.

See #16243.
2015-11-09 03:27:03 +01:00
Corey Daley
a118c4243a Implement support for wxHSCROLL in wxTextCtrl under OS X
Make the associated NSTextContainer of infinite size and tell it not to track
the NSTextView width if wxHSCROLL is specified.

Closes #4022.

Closes https://github.com/wxWidgets/wxWidgets/pull/124
2015-11-09 02:56:02 +01:00
David Connet
591d888fa0 Fix wxMSW compilation with wxUSE_INKEDIT==1
Include wx/dynlib.h as wxDynamicLibrary is used to load the inked.dll.

Closes #17219.
2015-11-08 19:09:27 +01:00
Paul Kulchenko
223c5cda2b Show as many tabs in wxAuiNotebook as possible
Currently, when a tab is closed in wxAuiNotebook, the tabs are not moved right
to use free space (on the right side of he rightmost tab), which requires
clicking "left" button to make tabs visible.

This commit changes the behaviour to keep as many tabs shown as possible.

Closes #17233.
2015-11-08 19:09:27 +01:00
Dimitri Schoolwerth
67004ff75f Provide wxCheckOsVersion() implementation for wxOSX/Carbon
Duplicate the definition from the common code used for all non-OS X
ports to fix wxOSX/Carbon linking error.

See https://github.com/wxWidgets/wxWidgets/pull/62 .
2015-11-08 18:42:18 +04:00
Artur Wieczorek
9409b7eb80 Don't use directly wxColourData data members in wxGenericColourDialog.
wxColourData data members are public for backwards compatibility only and shouldn't be used directly.
2015-11-02 23:19:33 +01:00
Artur Wieczorek
fa7c2de28d Add slider labels in wxGenericColourDialog. 2015-11-02 23:19:23 +01:00
Artur Wieczorek
880ad7f6f8 Add alpha channel support to wxGenericColourDialog.
Added opacity slider and custom colours (with alpha) previews (implemented with wxStaticBitmap controls). This feature is controlled by wxColourData::GetChooseAlpha().
2015-11-02 23:19:19 +01:00
Artur Wieczorek
809a07a65d Add opacity control feature to wxColourData.
Added internal flag (with corresponding accessors) which purpose is to enable/disable modifying the opacity of the colours in colour dialogs.
2015-11-02 23:19:16 +01:00
Artur Wieczorek
3dc013920b Fix type of member variable in wxGenericColourDialog
Variable to hold the size should be of type wxSize, not wxPoint.
2015-11-02 23:19:12 +01:00
Artur Wieczorek
7399fb3428 Optimize wxGenericColourDialog
Variable to hold the size of the custom colour box doesn't need to be a member variable since it's used only locally in wxGenericColourDialog::CalculateMeasurements.
2015-11-02 23:19:09 +01:00
Vadim Zeitlin
6af5329710 Fix waiting for threads in MSW in presence of events
We need to handle WAIT_OBJECT_0+2 value which can be returned by
WaitForThread() since 6c40531fb7 as it now waits
for two objects and not just one, failure to do this resulted in an endless
stream of asserts if any Windows messages were pending when we started waiting
for the thread.
2015-11-02 18:17:03 +01:00
Paul Cornett
3e75b231b0 fix GdkCursor memory leaks 2015-11-02 08:50:39 -08:00
Paul Cornett
9f8deb74a7 avoid gdk_cursor_new(), deprecated in GTK+ 3.16 2015-11-02 08:28:18 -08:00
Paul Cornett
ed817dd366 Fix drawing checkbox and radiobutton in checked state with GTK+ >= 3.14, see #17240 2015-11-01 19:46:01 -08:00
Vadim Zeitlin
98176fd7ac Really fix OS version detection for Windows 8.1 and later
Fix several problems in d61b52a60e.

See #15321.

Closes https://github.com/wxWidgets/wxWidgets/pull/114
2015-10-31 18:08:47 +01:00
Vadim Zeitlin
d61b52a60e Use RtlGetVersion() to retrieve the real OS version in wxMSW
Unlike GetVersionEx(), this function still returns the real version and not
the fiction concocted by the OS for each program depending on its manifest.

Also use OSVERSIONINFOEXW instead of OSVERSIONINFOEX as RtlGetVersion() only
exists in the Unicode version.

Closes #15321.
2015-10-30 23:20:47 +01:00
Vadim Zeitlin
98bd4f1936 Remove unused helpxxxx.{h,cpp} stub files from wxOSX
These files seem to be left overs from a long, long time ago.
2015-10-25 18:29:47 +01:00
Eran Ifrah
3ec4b5cc22 Avoid fold margin corruption in wxStyledTextCtrl under MSW
Don't use the content scale factor when creating bitmaps in InitPixMap(), this
is wrong and results in badly sized bitmaps at least under MSW (and possibly
GTK too).

Closes #17069.
2015-10-25 18:01:25 +01:00
Tim Stahlhut
fb5d1a002c Fixes for wxQt build under Cygwin
Include the missing headers, notable QtGui/QFont from wx/fontutil.h which uses
a QFont object.

Closes #16750.
2015-10-25 18:00:05 +01:00