Commit Graph

16988 Commits

Author SHA1 Message Date
Vadim Zeitlin
d50abc2d3e Make wxWS_EX_VALIDATE_RECURSIVELY default (and only) behaviour
In practice, almost everybody using validators also seems to use this style,
so make it the default (this hadn't been done when it was originally
introduced because of compatibility concerns, but now, 15+ years later, it's
probably safe enough to change this).
2016-02-09 23:38:23 +01:00
wxBen
526a627fa8 Allow customizing wxRibbon highlight colours
Add wxRIBBON_ART_BUTTON_BAR_LABEL_XXX settings.

Closes #16784.
2016-02-08 02:28:00 +01:00
Vadim Zeitlin
026659297b Fix path/URL confusion in wxLaunchDefaultBrowser()
Add a helper wxLaunchBrowserParams struct with clearly distinct "url" and
"path" fields and GetPathOrURL() accessor which returns whichever is
appropriate.

This makes the code more clear and ensures that we never pass URLs (but only
file paths) to xdg-open under Unix as it doesn't handle them.

See #17227.
2016-02-07 19:32:18 +01:00
Vadim Zeitlin
53bd62a23a Remove more unused wxOSX/Carbon headers
These should have been removed in 5ba67c67e4 too.
2016-02-07 14:20:45 +01:00
Paul Cornett
fc8d3f6fba Implement wxTextEntryBase::Clear() using Remove() instead of SetValue()
This avoids problems with SetValue() overrides not doing the intended thing
(for example wxComboBox). See #16654
2016-02-06 21:43:43 -08:00
Lauri Nurmi
4281cb4daa Use enums, not typedef enums, in all public headers. 2016-02-07 01:11:25 +02:00
Vadim Zeitlin
57fa59b81c Merge branch 'listctrl-checkboxes-generic' of https://github.com/MaartenBent/wxWidgets
Implement checkboxes support for the generic version of wxListCtrl too so it's
not available under all platforms.
2016-02-06 19:18:58 +01:00
Vadim Zeitlin
7a8684a8bd Add RAII wrapper for GTKDisableEvents/GTKEnableEvents() calls
Ensure GTKEnableEvents() is called automatically on scope exit whenever
GTKDisableEvents() is called.

This fixes a couple of potential bugs where GTKEnableEvents() could be not
called if wxCHECK() condition failed and makes the code shorter and safer.
2016-02-06 19:13:35 +01:00
Vadim Zeitlin
6768695d14 Extract wxGtkTreePath from src/gtk/dataview.cpp
Put this class into its own header so that it could be reused from other
places.

No real changes.
2016-02-06 19:13:35 +01:00
Andreas Falkenhahn
6a01623a80 Add wxListBox::GetTopItem() and GetCountPerPage()
Implement these methods for all the major ports, add them to the widgets
sample and documentation.

Closes #17189.
2016-02-06 19:13:35 +01:00
Maarten Bent
7dd65abaf7 Implemented checking checkboxes. 2016-02-06 17:20:40 +01:00
Maarten Bent
415292c614 Implemented logic. 2016-02-06 17:12:56 +01:00
Paul Cornett
413d7c220c Fix running with GTK+ 2.22 or earlier when built with 2.24
Previous versions define gdk_window_get_visual as gdk_drawable_get_visual
2016-02-05 23:14:48 -08:00
Vadim Zeitlin
3631a2d142 Merge branch listctrl-with-checkboxes
Add support for native checkboxes to wxMSW wxListCtrl.

Closes https://github.com/wxWidgets/wxWidgets/pull/153
2016-02-06 01:20:01 +01:00
Maarten Bent
90386df305 Notify Windows shell about file associations changes
This is documented as being required in the MSDN and, in practice, is
necessary for Windows to update the icon cache and show the new icon.

Closes https://github.com/wxWidgets/wxWidgets/pull/195
2016-02-06 00:56:46 +01:00
Vadim Zeitlin
a2ecb7a320 Don't test for old compilers in C++11 mode in configure
This makes configure faster when C++11 is enabled by avoiding spending time on
compiling unnecessary checks in this case.
2016-02-06 00:16:10 +01:00
Tim Kosse
dc48f595b3 Need to include wx/vector.h, otherwise wxVector is undeclared if configured with --disable-precom-headers --disable-any. 2016-02-05 10:07:09 +01:00
Vadim Zeitlin
cb26668204 Don't destroy the native window in wxNativeWindow itself by default
Leave ownership of the native window to the user code as it may want to reuse
it for some other purpose and provide an explicit Disown() function that can
be called if the user really wants wxWidgets to take ownership of the native
window.

In particular, this avoids problems when using ARC under OS X which resulted
in a double "release" before.
2016-02-04 18:46:47 +01:00
Vadim Zeitlin
536defd91c Get rid of TARGET_CARBON as well
Don't define this symbol in configure and don't test for it.

Also remove a stray reference to wxUSE_OSX_CARBON not removed by the previous
commit.
2016-02-03 18:18:37 +01:00
Tobias Taschner
5ba67c67e4 Remove wxOSX/Carbon support.
Cocoa has been the default toolkit in wxWidgets for a long time. There is really no good reason to use Carbon in 2016 and this removes a lot of unused and unmaintained code.
2016-02-01 13:48:48 +01:00
Vadim Zeitlin
8581f6851e Fix handling of wxGA_PROGRESS in wxGauge under MSW
This was broken by the refactoring during the addition of OS X implementation
of wxAppProgressIndicator in 11a5b83e2c, restore
this functionality by explicitly calling the code initializing the progress
indicator in wxGaugeBase from wxMSW implementation.

Closes #17301.
2016-01-31 20:11:06 +01:00
Artur Wieczorek
1237e932ad Fix setting wxBK_HITTEST_xxx flags in wxNotebook::HitTest
The state represented by TCHT_ONITEM Win API flag is not a superposition
TCHT_ONITEMICON and TCHT_ONITLABEL states but it represents a separate state.
The fact that binary value of TCHT_ONITEM is bitwise-OR operation on
TCHT_ONITEMICON and TCHT_ONITEMLABEL doesn't matter here. The same applies to
wxBK_HITTEST_xxx flags where state represented by wxBK_HITTEST_ONITEM is not a
superposition of wxBK_HITTEST_ONICON and wxBK_HITTEST_ONLABEL.

Add note to wxBookCtrl::HitTest documentation that wxBK_HITTEST_ONICON,
wxBK_HITTEST_ONLABEL, wxBK_HITTEST_ONITEM are mutually exclusive bits.

See https://github.com/wxWidgets/wxWidgets/pull/159
2016-01-31 03:06:33 +01:00
Vadim Zeitlin
a016e6b896 Allow suppressing warnings from wxImage::LoadFile()
Add wxImage::SetLoadFlags() and static SetDefaultLoadFlags() to allow
suppressing the warning messages that can be logged when loading some files,
notably PNG ones with invalid sRGB profiles which, unfortunately, seem to be
rather common and result in annoying warnings about them with libpng 1.6+.

Closes #15331.
2016-01-31 02:22:55 +01:00
Vadim Zeitlin
bc8293a9e5 Update wxMenu::UpdateUI() parameter comment and documentation
The argument to this method should basically just never be used, so while we
still keep it for compatibility (because it doesn't cost anything to do it),
make it clear that it should never be specified in the new code and, also,
that this function is actually only used inside wxWidgets and shouldn't be
normally called from outside of the library at all.
2016-01-30 21:39:09 +01:00
Kinaou Herve
38cd4b4769 Don't make wxAuiFloatingFrame root of a top navigation domain
This allows the accelerators associated with it to propagate to the parent
frame, which is what we want to happen in practice.

Closes #16870.
2016-01-30 18:41:18 +01:00
Zane U. Ji
71dfb3b414 Fix invisible captions in high contrast mode
Don't use black text on dark background.

Closes #16186.
2016-01-30 18:27:10 +01:00
Vadim Zeitlin
5dd5d68e67 Revert "Fix fields initialization in wxCommandEvent copy ctor."
This reverts commit 62763ad541 which seems to
have been completely unnecessary as the fields had been already initialized
and this commit actually broke initialization of the propagation level of the
copied wxCommandEvent objects.

Add a unit test proving that things do work.

Closes #16739.
2016-01-30 05:02:54 +01:00
Vadim Zeitlin
585b49474d Restore sending wxEVT_CONTEXT_MENU for wxTE_RICH controls in wxMSW
Since the changes to use IRichEditOleCallback in wxMSW wxTextCtrl (i.e.
bd650ec3d9 in master), wxEVT_CONTEXT_MENU was
not sent for it any more as the control consumed it after using the callback.

Send the event manually before the default handling takes place to fix this.
2016-01-30 01:03:32 +01:00
Vadim Zeitlin
b4d835090f Merge branch 'bitmap_image_conversion' of https://github.com/a-wi/wxWidgets
Closes #14582.
2016-01-30 00:05:19 +01:00
Vadim Zeitlin
fbe7fc85b2 Suppress harmless warning in a standard header with VC14
imagehlp.h from 8.1 SDK contains an extraneous "typedef" in an enum
declaration which results in several warnings when building, avoid them.
2016-01-29 22:35:17 +01:00
Vadim Zeitlin
0dc57e9e23 Avoid 1px gaps between consecutive underlined words in wxHTML
At least when using standard fonts under MSW, the underlines under the
consecutive words didn't overlap, resulting in ugly gaps between them when
using more than one word as the link text, for example.

Work around this by drawing an extra, slightly offset, underlined space when
the previous cell was drawn underlined.
2016-01-29 17:19:29 +01:00
Vadim Zeitlin
96f5a24f6d Consider g++ ABI up to 1010 to be compatible with 1002
This is not completely true, but the changes in the versions 9 and 10 of g++
ABI don't (seem to?) affect wxWidgets, so allow using later versions of the
compiler for building the code using the libraries created using earlier ones.
2016-01-24 21:18:54 +01:00
mgimenez
78b19e6811 Add wxTextEntryDialog::ForceUpper()
Just forward it to wxTextCtrll::ForceUpper().

Closes #17291.
2016-01-22 14:41:06 +01:00
Artur Wieczorek
a99e58e074 Add method to convert wxDIB to wxImage enforcing alpha channel values (wxMSW).
wxDIB::ConvertToImage called with Convert_AlphaAuto converts wxDIB to wxImage with automatic checking if 32 bpp DIB contains real alpha values (legacy way).
When it is called with Convert_AlphaAlwaysIf32bpp then automatic checking is disabled and 32 bpp DIB is unconditionally converted to ARGB wxImage.
2016-01-21 17:31:48 +01:00
Tobias Taschner
58c7e6d54f Add wxStaticBitmap::SetScaleMode() to control bitmap display size
This allows a bitmap to scale with the size of the wxStaticBitmap control.
Scaling can be controlled to fill the control with or without changing the
bitmaps aspect ratio.
2016-01-20 18:55:14 +01:00
Paul Cornett
03aae8254f remove unused private member variables 2016-01-16 11:04:27 -08:00
Paul Cornett
e5e3f6fffa remove useless wxMax(), an unsigned value is never less than 0 2016-01-16 10:59:02 -08:00
Paul Cornett
56701052eb remove const from pass-by-value parameters 2016-01-16 10:55:01 -08:00
Paul Cornett
c557f66eaf Fix SetWindowStyleFlag() override
Base class SetWindowStyle() is not virtual
2016-01-16 10:40:23 -08:00
Maarten Bent
418a96d44c Support native MSW check-boxes in wxListCtrl. 2016-01-15 20:55:32 +01:00
Jens Göpfert
abd46cb99a Add support for multimedia keys to wxMSW and wxGTK
Add WXK_XXX constants for the standard multimedia keys and generate events
corresponding to them under wxGTK and wxMSW.

Closes https://github.com/wxWidgets/wxWidgets/pull/157
2016-01-08 23:22:24 +01:00
Vadim Zeitlin
777b7537c1 Change WXK_SPECIALx constants to follow the other WXK_XXX values
These constants were defined in the middle of the wxKeyCode enum, value-wise,
which made it difficult to end new elements to the enum as they could clash
with the existing ones if they were simply added at the end.
2016-01-08 23:13:25 +01:00
Pete Stieber
5948602f4f Make wx/dirdlg.h safe to include as first wx header
Include wx/defs.h to get wxUSE_DIRDLG value from it, otherwise it could be
undefined, and hence evaluate to 0 (unfortunately without even a warning with
some compilers), if this header was the first wx header to be included.
2016-01-05 01:29:19 +01:00
htalbot
c0e75f27d1 Allow predefining wxHAS_MODE_T to avoid mode_t conflicts
This symbol can now be predefined to avoid conflicts with mode_t definition in
wx/filefn.h when wxWidgets is used in applications also using another library
which also defines mode_t.

Closes https://github.com/wxWidgets/wxWidgets/pull/165
2016-01-03 17:25:05 +01:00
Stefano D. Mtangoo
28bc1bdac0 Allow specifying the replacement character in wxString::ToAscii()
Don't hardcode "_" as the replacement character but accept the one specified
by the user.

Closes https://github.com/wxWidgets/wxWidgets/pull/116
2016-01-03 00:40:11 +01:00
Vadim Zeitlin
017bbdf516 Define ToDIP() in wxHAVE_DPI_INDEPENDENT_PIXELS case too
Previously any code using this function wouldn't link under GTK+ 3 or OS X
where wxHAVE_DPI_INDEPENDENT_PIXELS are defined.

Closes #17310.
2015-12-31 00:26:04 +01:00
Vadim Zeitlin
52a4fac626 Add proper support for wxUSE_NATIVE_PROGRESSDLG
This symbol was wrongly added to include/wx/msw/setup0.h directly in
075ef6551e, so it didn't work when
cross-compiling from Unix (which doesn't use this file) and would have been
lost after any future modification of include/wx/setup_inc.h where it should
have been added in the first place.

Do this now and also make the check for this symbol in wx/progdlg.h a bit more
readable.
2015-12-30 18:54:35 +01:00
Vadim Zeitlin
ed0b899fe5 Fix the build when using mismatching strict ANSI modes with MinGW
Don't use __STRICT_ANSI__ to determine whether a function is available or not
as its value can be different when building the library and the application,
resulting in mysterious link errors.

Instead use the same approach as in aa30a2f97ade6fe019f2f288917296b009bf4221
and just declare the functions that are available but just not declared in
strict ANSI mode manually.

Closes #15793.
2015-12-28 01:27:49 +01:00
Vadim Zeitlin
2c2b9051d8 Merge branch 'toolbar_change_placing' of https://github.com/a-wi/wxWidgets
Fix several problems related to SetToolPacking() in wxMSW.
2015-12-17 02:09:21 +01:00
JulianSmart
24580198b8 Fixed includes for generic image list 2015-12-14 23:17:01 +00:00
Artur Wieczorek
0a917b86b7 Initialize padding while creating a toolbar.
If padding value (stored in m_toolPacking) has been assigned prior to creating the toolbar (with SetToolPacking) then apply this padding to just created toolbar.
Otherwise initialize this variable with current padding retrieved from the toolbar to let GetToolPacking return proper padding value.
Implemented new method MSWSetPadding() to set padding for native toolbar.
2015-12-14 22:19:32 +01:00
JulianSmart
16d8d6c4a4 wxFileIconsTable::SetSize allows an application to set a different icon size in its initialisation, to adapt directory and file controls for HiDPI. 2015-12-13 20:22:02 +00:00
JulianSmart
0484975fed Added wxImageList::GetSize to retrieve the size originally passed 2015-12-13 19:17:40 +00:00
JulianSmart
b2e35d25c1 Implemented wxToolBar::SetToolPacking on Windows 2015-12-13 17:49:35 +00:00
Vadim Zeitlin
69b66e9e2e Add wxTextEntry::ForceUpper()
Allow automatically converting lower-case letters entered into wxTextCtrl to
upper-case equivalents. Provide generic fallback and implement the method
natively for all the major platforms.

Also update the text sample to show it in action.
2015-12-08 03:02:46 +01:00
Vadim Zeitlin
99d9a81e28 Fix crash when unbinding event handlers from other handlers
Calling Unbind() on another handler from the currently executing handler which
had been bound after (and hence executed before) the handler being unbound
resulted in a crash previously as the iterators used in the loop over all
dynamic event handlers became invalid.

Fix this by storing the dynamic event table entries in a vector instead of a
list (which is also more memory and speed efficient anyhow) and null the
deleted entries instead of removing them to avoid invalidating the iterators
and only really remove them once we finish iterating.

Closes #17229.
2015-12-08 03:02:37 +01:00
Vadim Zeitlin
929b077894 Remove comments and declarations copy-pasted from wxMSW
Mentioning MSW-specific styles in wxOSX or wxQt code doesn't make sense.

Closes https://github.com/wxWidgets/wxWidgets/pull/146
2015-12-07 14:37:34 +01:00
Paul Cornett
cc48c42e17 remove no-longer-needed OnInternalIdle() override 2015-12-06 20:24:59 -08:00
Paul Cornett
9cf8232ba8 check for macro '__sun' rather than 'sun', see #17258 2015-12-03 21:37:32 -08:00
JulianSmart
d0dc318b9d Set the default back to using the native progress dialog 2015-12-01 20:25:10 +00:00
JulianSmart
075ef6551e Made the generic progress dialog the default for wxMSW until we have corrected two kinds of seizure-inducing flicker 2015-11-30 23:07:34 +00:00
JulianSmart
78fe0ac3d8 Fix for breakage with multiple books 2015-11-29 19:29:04 +00:00
Vadim Zeitlin
9990959c99 Get rid of unnecessary wxColour::InitFromComponents() in wxOSX
This method was confusing and dangerous as it didn't actually initialize the
wxColour object because it didn't set its m_cgColour and so attempting to use
wxColour "initialized" using this method resulted in a crash whenever its
GetPixel(), GetCGColor() or CreateCGColor() methods were called.

Just merge this function with InitCGColorRef() which is the only remaining
place where it's used after rewriting wxColour(NSColor) ctor.
2015-11-27 00:19:37 +01:00
Vadim Zeitlin
3fc74d5a0f Fix wxColour(NSColor) ctor and use it in wxOSX code
wxColour ctor from NSColor added in b478f24288
didn't work correctly as it didn't initialize wxColour::m_cgColour and so any
attempts to use the colour created by it resulted in an immediate crash (so
the code added in 16671f229a likely didn't work
neither).

It also assumed that the NSColor given to it was always in the RGBA colorspace
and crashed if it wasn't (so 56ebe6dfac fixed
compilation at the price of making the code crash at run-time). Now explicitly
request the RGBA colorspace and leave the colour uninitialized, which is
better than crashing, if it can't be obtained.

After making this ctor safe to use, there is no reason to reproduce its logic
in wxColourDialog and wxFontDialog, so just use it from there.

Also make the ctor explicit as it's a non-trivial operation which shouldn't be
performed implicitly and document that it doesn't take ownership of NSColor,
unlike the similar ctor from CGColorRef.
2015-11-26 23:57:29 +01:00
Steve Browne
bbb6dbea1b Added wxWindow::ToDIP functionality. 2015-11-24 12:47:31 -05:00
Steve Browne
633d04ca92 Changed several places using hard-coded size values to use FromDIP instead. 2015-11-24 12:21:43 -05:00
Hartwig
474461601f Addition of overrides in diverse headers 2015-11-22 10:16:01 +01:00
Hartwig
308de8b69d Addition of overrides in anybutton.h, collpaneg.h, notebook.h, spinctlg.h, srchctrl.h and radiobox.h 2015-11-22 10:15:41 +01:00
Hartwig
5f7c4fa859 Addition of overrids in scrolbar.h, slider.h and vscroll.h 2015-11-22 10:14:29 +01:00
Hartwig
6802052efb Addition of overrides in colrdlgg.h ad fontdlgg.h 2015-11-22 10:13:27 +01:00
Hartwig
44715066da Addition of overrides in checklst.h and listbox.h 2015-11-22 10:12:58 +01:00
Hartwig
b67c5a9395 Addition of missing overrides in dirdlgg.h and filedlgg.h 2015-11-22 09:54:05 +01:00
Hartwig
c09ff65f7e Addition of missing overrides in statusbr.h and toolbar.h 2015-11-22 09:52:21 +01:00
Hartwig
f659422405 Addition of missing overrides in private.h 2015-11-22 09:50:27 +01:00
Hartwig
ed2d6152ec Addition of missing overrides in textctrl.h 2015-11-22 09:47:31 +01:00
Hartwig
da7c2e67b9 Addition of missing overrides to webkit.h 2015-11-22 09:45:47 +01:00
Hartwig
0b6b645412 Addition of missing overrides to splitter.h 2015-11-22 09:45:35 +01:00
Hartwig
57e10b695d Addition of missing overrides in glcanvas.h 2015-11-22 09:44:15 +01:00
Hartwig
1eb241e97b Addition of missing overrides in toplevel.h 2015-11-22 09:44:01 +01:00
Hartwig
612972a50c Addition of missing overrides to dataview.h 2015-11-22 09:42:01 +01:00
Hartwig
aa13cb8491 Addition of missing overrides to datecctrl.h and datetimectrl.mm 2015-11-22 09:38:20 +01:00
Hartwig
2a6d18547c Addition of missing overrides to frame.h 2015-11-22 09:36:45 +01:00
Hartwig
1da514f1b9 Addition of missing overrides in window.h 2015-11-22 09:34:47 +01:00
Hartwig
74a1ec3ead Addition of missing overrides to apptrait.h 2015-11-22 09:28:33 +01:00
Hartwig
e64489d5be Addition of missing overrides to app.h 2015-11-22 09:27:37 +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
Troels Knakkergaard
2460410278 Add wxListCtrl::GetAlternateRowColour()
Simple accessor matching the existing setter.

Closes #17250.
2015-11-16 03:10:16 +01: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
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
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
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
JulianSmart
1675e641e6 Implement freeze/thaw in Do/Undo to considerably speed up commands with a large number of actions 2015-11-14 18:44:45 +00:00
JulianSmart
f48374a949 Added line height to wxRTC to allow faster scrolling if needed 2015-11-14 18:31:39 +00: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
79f62505bb Fix clang warnings about inconsistent missing "override" keyword
Add wxCLANG_WARNING_SUPPRESS() and wxCLANG_WARNING_RESTORE() and use them to
suppress -Winconsistent-missing-override warnings.

Closes https://github.com/wxWidgets/wxWidgets/pull/99
2015-11-08 19:11:53 +01:00
Dimitri Schoolwerth
a1863a397c Fix wxOSX/Carbon build after wxDataViewRenderer changes
Since 361c6357b4 wxDataViewRenderer's
SetAttr and SetEnabled became pure virtual class methods which aren't
implemented for wxOSX/Carbon. Fix by defining the same empty stubs for
these methods as were previously present in the base class.
2015-11-08 18:42:14 +04:00
Dimitri Schoolwerth
ef62616b12 Fix wxOSX/Carbon build after Enable{Max,Min}imizeButton() addition
Define stubs for pure virtual base class methods.

See #17133.
2015-11-08 18:42:12 +04:00
ARATA Mizuki
d399d544f1 Suppress clang warning [-Winconsistent-missing-override] in DECLARE_HELP_PROVISION(). 2015-11-06 16:33:36 +09:00
ARATA Mizuki
450d9ce2b5 Suppress clang warning [-Winconsistent-missing-override] for GetClassInfo() in wxDECLARE_ABSTRACT_CLASS. 2015-11-06 16:33:36 +09:00
ARATA Mizuki
f90205951c Add macros to conditionally suppress clang warnings.
The added macros wxCLANG_WARNING_{SUPPRESS,RESTORE} are similar to
wxGCC_WARNING_{SUPPRESS,RESTORE}, but the `wxCLANG_' version will expand to
compiler pragmas only when the warning name is known to the compiler.

They use clang's __has_warning feature.
2015-11-06 16:33:16 +09: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
Bryan Petty
0b2263c25d Updated links and mailing list addresses. 2015-10-30 20:06:09 -06:00
Vadim Zeitlin
04a784dfd3 Hide wxSlider labels too when it's hidden in wxOSX
Derive wxSlider from wxCompositeWindow to ensure that Show() (and other
methods) affect the slider labels as well.

Closes #2388.
2015-10-25 18:47:29 +01:00
Vadim Zeitlin
ce3dab46c1 Remove unused headers from wx/osx/slider.h
wx/control.h is already included from wx/slider.h so including it from here is
useless and including wx/slider.h is even worse as it's very confusing because
this header itself is already included from wx/slider.h.

No real changes.
2015-10-25 18:36:39 +01:00
Vadim Zeitlin
065c7b34eb Remove unused wx/osx/treectrl.h
This file is not included anywhere and doesn't seem to be used.
2015-10-25 18:33:06 +01:00
Vadim Zeitlin
a5e36d3124 Remove unused png{hand,read}.h files from wxOSX
These files don't seem to be used anywhere.
2015-10-25 18:31:33 +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
Vadim Zeitlin
3f33ecc773 No changes, just remove redundant "inline" from wxOSX headers
There is no need for them in the methods declared in the class declaration
anyhow, so just remove them.

No real changes.
2015-10-25 18:20:32 +01:00
Vadim Zeitlin
e9b379fe2a Fix TAB navigation inside wxStaticBox in wxOSX
Derive wxStaticBox from wxStaticBoxBase for consistency with the other ports
and to make it derive from wxNavigationEnabled<>, which is necessary for TAB
navigation to work.

Closes #3842.
2015-10-25 18:13:59 +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
Vadim Zeitlin
db966da330 Use explicit dllexport attribute for g++ 4.7 and later
The bug that resulted in creating huge DLLs that took inordinate amounts of
memory and time to link with g++ 4.5 has been fixed in 4.7, so don't export
everything when using it, as this results in even smaller DLLs.

The situation with 4.6 is unknown, so leave behaviour with it unchanged.

See 49d2c0adc3
2015-10-25 13:42:23 +01:00
Vadim Zeitlin
9c1bc3c019 Define LVS_EX_DOUBLEBUFFER ourselves if SDK headers don't do it
This should fix compilation with MinGW after the changes of
2a6e411887 which started using this style.

See #17177.
2015-10-25 13:36:25 +01:00
Andreas Falkenhahn
d45ba8ce62 Add wxTE_{RIGHT,CENTER} support for multiline wxTextCtrl in wxOSX
Just use -[NSTextView setAlignment].

Closes #13702.
2015-10-22 00:06:45 +02:00
Vadim Zeitlin
5e29b26d9e Preserve Win32 last error in wxTlsKey::Get()
::TlsGetValue() resets the last error code which means that the previous last
error is lost, but it shouldn't as we might be in the middle of logging it
with wxLogSysError(). So preserve the last error explicitly.

Closes #17209.
2015-10-16 20:20:42 +02:00
John Roberts
b9b9a30bc7 Don't rely on getting PAGE_CHANGED event in wxOSX wxNotebook
The user code may handle this event, meaning that its handler in wxNotebook
itself is never invoked, but this broke actually changing the pages.

Fix this by doing the page change in the code handling the underlying OS X
event directly.

Closes #17197.
2015-10-13 14:34:02 +02:00
Andreas Falkenhahn
9dd48eab61 Fix wxDataViewCtrl compilation when wxUSE_SPINCTRL==0
Just don't define wxDataViewSpinRenderer in this case.
2015-10-11 17:07:15 +02:00
Vadim Zeitlin
154ebfd1d9 Rename wxBoxSizer::m_minSize to avoid clash with the base class
wxSizer already has m_minSize field, use m_calculatedMinSize for the field of
the derived wxBoxSizer class to avoid confusion, just as wxFlexGridSizer
already did.

Also add a new unit test checking that GetMinSize() still works after this
change.
2015-10-11 01:00:38 +02:00
Paul Cornett
a0173ec13e add compatibility header for older GTK3 versions 2015-10-10 11:38:06 -07:00
Václav Slavík
ec510a0c4b Even more workaround for clang warnings about typeid() side effects.
Even after 5aae7c7387 and
d2c1fce24e clang would still emit the
warning in code using templates via
WX_DECLARE_ANY_VALUE_TYPE(wxAnyValueTypeImpl<T>).

Silence the warning by putting the typeid() expressions into a trivial
helper function with two wxAnyValueType reference arguments, so the
class the macro is used in doesn't come into play (it shouldn't in the
previous version of the code either, but clang apparently thought it
did).

Hopefully really closes #16968.
2015-10-10 09:51:47 +02:00
Vadim Zeitlin
cb83c4e0de Fix wxStandardPaths compilation with gcc after recent changes
Forward declare struct _GUID to allow referencing it in this header without
including the full <windows.h> or even <guiddef.h>.

This fixes compilation with gcc after the changes of
a0fb808087

Closes https://github.com/wxWidgets/wxWidgets/pull/108
2015-10-05 00:50:01 +02:00
Tobias Taschner
4ac0250f90 Fix cell selection drawing in wxDVC on MSW with system theme
Keyboard focus rect when selecting a column was nearly invisible against the
light background. Now the correct theme parts are used when drawing with UX
theme and the old behavior (white focus rect) is used everywhere else.

See #16414
2015-10-04 01:13:27 +02:00
Tobias Taschner
0938141f3e Add Cocoa implementation of wxStandardPaths
Previously wxStandardPathsCF was used for all Mac builds and it used
FSFindFolder() (CoreFoundation) calls in Carbon builds, but many hard coded
values in Cocoa builds. The Cocoa implementation uses NSFileManager and
NSBundle to retrieve the folder locations from the system.

Closes https://github.com/wxWidgets/wxWidgets/pull/89
2015-10-04 01:05:57 +02:00
Tobias Taschner
a0fb808087 Add wxStandardPaths::GetUserDir() to get Desktop, Download etc
All major supported platforms have well defined per-user directories to store
Downloads, Music, Pictures, Videos and the Desktop files. The new method
wxStandardPaths::GetUserDir() allows for a unified way to access these on MSW,
OS X and Unix (if XDG user dirs specification is implemented for the latter).

See https://github.com/wxWidgets/wxWidgets/pull/89
2015-10-04 01:05:23 +02:00
Vadim Zeitlin
02942c1b14 Merge branch 'prewinxp_cleanup' of https://github.com/TcT2k/wxWidgets
Remove the code checking for Windows versions < XP and update the documention
to not mention them any more neither.

Closes https://github.com/wxWidgets/wxWidgets/pull/82
2015-10-04 00:54:05 +02:00
Vadim Zeitlin
de96b0dae7 Implement native wxAuiTabArt for MSW
This wxAuiTabArt implementation uses Windows uxtheme API to draw AUI tabs. A
fallback to generic tab art is implemented for the bottom tabs or if uxtheme
is not available (disabled by user or no manifest file).

Closes https://github.com/wxWidgets/wxWidgets/pull/105
2015-10-04 00:28:00 +02:00
Tobias Taschner
1a8bcd4d88 Add support for mouse hover state to wxAuiTabArt
This allows wxAuiNotebook to support drawing its tabs differently depending on
whether the mouse is hovering above them or not.

See https://github.com/wxWidgets/wxWidgets/pull/105
2015-10-04 00:27:22 +02:00
Tobias Taschner
44bcc3a723 Add ellipsizeMode parameter to wxRenderNative::DrawItemText()
Instead of the default end ellipsize mode used in the native and generic
implementation, allow specifying the mode with an additional parameter.

Closes https://github.com/wxWidgets/wxWidgets/pull/97
2015-09-28 15:34:08 +02:00
Vadim Zeitlin
9add303f76 Move wxEllipsize{Flags,Mode} to wx/gdicmn.h
This will allow using these constants from other headers without having to
include wx/control.h.

See https://github.com/wxWidgets/wxWidgets/pull/97
2015-09-28 15:23:13 +02:00
Tobias Taschner
6973f13cd1 Remove wxApp::GetShell32Version().
This method was only used for checks for Windows 9x versions of shell32.

See ticket: #17120
2015-09-27 19:08:14 +02:00
Vadim Zeitlin
31473d5ff9 Build fix after removing DOS checks
After removing the "#if ...DOS...", the following #elif also must be adjusted.

See https://github.com/wxWidgets/wxWidgets/pull/100
2015-09-24 15:12:19 +02:00
Tobias Taschner
2eccc1a57d Remove remaining MSDOS support code
The remaining DOS source files where already removed in
26a0a24f38. This removes the remaining __DOS__
and __DJGPP__ (the DOS gcc) code paths.

Closes https://github.com/wxWidgets/wxWidgets/pull/100
2015-09-24 14:38:22 +02:00
Vadim Zeitlin
854fce33a7 Don't disable wxUSE_CRASHREPORT in Win64 builds
Creating minidumps works in 64 bit builds since quite some time (see
603c73dbba), so there is no reason to forcefully
disable it any more.

Closes #17162.
2015-09-24 14:35:00 +02:00
Vadim Zeitlin
b0be28dae5 Always include sys/types.h from wx/filefn.h
It looks like the preprocessor checks were meant to avoid including this file
under MacOS 9 and all the other platforms should have it, so it should be safe
to include (although it still doesn't define off_t with MSVC, only _off_t).
2015-09-23 00:56:49 +02:00
Vadim Zeitlin
87baba95b8 Remove last traces of Symantec compiler support
Delete a couple of leftover __SYMANTEC__ checks.
2015-09-23 00:54:20 +02:00
Vadim Zeitlin
1e20b249bf Use DLL declarations consistently for wxCollapsibleHeaderCtrl
Export this class and its base classes (to avoid MSVC warnings about using
non-DLL-exported base classes for a DLL-exported one) from core DLL.
2015-09-23 00:52:42 +02:00
Vadim Zeitlin
8a0dc9ecdb Implement wxCollapsibleHeaderCtrlBase::Create()
This method was declared but not implemented, so do implement it and delegate
to it from wxGenericCollapsibleHeaderCtrl::Create().
2015-09-23 00:52:41 +02:00
Vadim Zeitlin
ac02d331e4 Initialize wxHtmlSelectionState::m_bgMode in ctor
Don't leave the variable uninitialized to avoid warnings from static code
analyzer and to ensure that it is never used before being initialized (while
this does seem to be the case already, it's not exactly obvious).
2015-09-23 00:52:40 +02:00
Vadim Zeitlin
dfb60af47f Disable check in wxLongLong::ToLong() for LP64 platforms
The check is redundant there as conversion can never fail and just results in
warnings from static code analyzers.
2015-09-23 00:52:33 +02:00
Tobias Taschner
8282c1be0f Remove Windows CE support
Windows CE doesn't seem to be supported by Microsoft any longer. Last CE
release was in early 2013 and the PocketPC and Smartphone targets supported by
wxWidgets are long gone.

The build files where already removed in an earlier cleanup this commit
removes all files, every #ifdef and all documentation regarding the Windows CE
support.

Closes https://github.com/wxWidgets/wxWidgets/pull/81
2015-09-23 00:52:30 +02:00
Vadim Zeitlin
3545e9d778 Disable OLE support if wxDataObject is disabled in wxMSW
wxDataObject is a basic requirement for too many OLE-related things.

See #17159.
2015-09-20 13:52:20 +02:00
Andreas Falkenhahn
e37842419e Add dependency of generic wxDatePickerCtrl on wxComboCtrl
The generic implementation requires wxComboCtrl, so pull it in if
wxDatePickerCtrl is enabled.

Explicitly testing for the platform here is ugly, as it duplicates the checks
in wx/datectrl.h and will get out of date when/if they're changed there, but
there just doesn't seem to be any other way.

See #17159.
2015-09-20 13:51:04 +02:00
Andreas Falkenhahn
bf41f447bf Check for dependency of wxAnimationCtrl on wxStreams
Disable the compilation of wxAnimationCtrl if stream support was disabled,
it's impossible to load animations without it.

See #17159.
2015-09-20 13:50:01 +02:00
VZ
7e6836e9f5 Merge pull request #95 from TcT2k/collpane_enhancement
Improve wxCollapsiblePane appearance

Provide native look under MSW and improve the generic appearance (which is now also used under OS X) as well.
2015-09-19 19:49:15 +02:00
Tobias Taschner
d35e102007 Remove private wxDisclosureTriangle control.
Remove the private and undocumented control and it's usage in wxGenericCollapsiblePane. The class used a low resolution bitmap which looks bad on high resolution displays. The generic implementation using wxRendererNative::DrawCollapseButton() is better fit even on OS X.
2015-09-19 17:30:33 +02:00
Tobias Taschner
df24d925df Add wxCollapsibleHeaderCtrl widget.
This simple class has a collapsed state which is indicated by a small button and a label. It is now used in the generic implementation of wxCollapsiblePane.

It could be used in more complex layouts than wxCollapsiblePane and is therefore available and documented to the user.
2015-09-19 17:30:32 +02:00
Vadim Zeitlin
e563066c76 Avoid gcc -Wstrict-alias=2 warnings in wxAny
While wxWidgets itself is compiled with -fno-strict-aliasing, the user code
including wx headers can be compiled without it and, worse, even with
-Wstrict-aliasing=2 which would give tons of warnings (two for each
instantiation of the template class) of possibly breaking strict aliasing rule.

Fix this by using a union to cast between two pointers of different types
instead of using a reinterpret cast.
2015-09-19 03:25:57 +02:00
Tobias Taschner
ef5ff89008 Add wxRendererNative::DrawCollapseButton() for use in collapsible pane like controls.
Add a new method that should be used for controls like wxCollapsiblePane.

It is implemented natively for wxMSW (Windows Vista+) and provides a generic fallback for other ports and WinXP.
2015-09-19 00:06:42 +02:00
Tobias Taschner
2fff3cd29f Add wxSystemThemedControl and use it in wxMSW
wxSystemThemedControl allows to use the "system theme" (i.e. the theme used by
the system applications such as file manager and which can, surprisingly, be
different from the default one). Currently it is only implemented for wxMSW
and does nothing under the other platforms.

Use wxSystemThemedControl for wxDataViewCtrl, wxListCtrl and, optionally, if
wxTR_TWIST_BUTTONS style is specified, wxTreeCtrl to give them more native
appearance under MSW.

Closes #16414.
2015-09-17 14:49:13 +02:00
Tobias Taschner
b7a89f8746 Add wxRendererNative::DrawItemText() for list-like controls
Add a new method that should be used for drawing the elements of list-like
controls (i.e. wx{List,Tree,DataView}Ctrl and similar).

Implement it for wxMSW natively and provide a straightforward generic fallback
for the other ports.

See #16414.
2015-09-17 14:49:13 +02:00
Artur Wieczorek
865c8565af Fixed setting colours of wxSlider and wxRadioBox in wxMSW.
Sibling windows (like labels and radio buttons) need to be explicitly
refreshed when foreground or background colour is changed. This is implemented
by invoking newly implemented method wxSubwindows::Refresh every time the
colour of the control is changed.

Note: Setting foreground colour of wxRadioBox still doesn't work correctly
when themes are enabled.

Closes #17142.
2015-09-12 03:01:30 +02:00
Vadim Zeitlin
2879ec5422 Fix wxiOS build after Enable{Max,Min}imizeButton() addition
Define stubs for pure virtual base class methods.

See #17133.
2015-09-07 12:47:38 +02:00
Paul Cornett
27a8d28029 more use of wxOVERRIDE 2015-09-06 17:20:42 -07:00
Lauri Nurmi
50daf1feab Add mouse wheel handlign to wxGenericCalendarCtrl
Mimics the scrolling behaviour of native MSW and GTK calendars by allowing to
increment/decrement the month by scrolling anywhere on the generic calendar.

Additionally, use horizontal scrolling to increment/decrement the year.

Closes https://github.com/wxWidgets/wxWidgets/pull/88
2015-09-06 14:39:59 +02:00
John Roberts
fe9a5f47f4 Add wxTopLevelWindow::Enable{Maximize,Minimize}Button()
Allow to disable maximize and minimize buttons dynamically just as we already
allow to disable the "Close" button using EnableCloseButton().

Currently implemented for MSW and OSX only.

Closes #17133.
2015-09-06 14:17:46 +02:00
John Roberts
6055d8d0a5 Implement wxTopLevelWindow::EnableCloseButton() for wxOSX
Just forward this wx method to Cocoa standardWindowButton:NSWindowCloseButton.

See #17133
2015-09-06 14:16:39 +02:00
Paul Cornett
2fbd2a7800 Implement SetVisited()/GetVisited()
and set the visited state when the link is clicked
2015-09-03 09:30:42 -07:00
Vadim Zeitlin
602783facb Merge branch 'dvc-type-check'
Various fixes to make wxDataViewCtrl behaviour more homogeneous across all
ports.
2015-09-03 00:01:24 +02:00
Tobias Taschner
e6b31adefe Fix OS X wxWebView ignoring JavaScript window.open() calls
On OS X (tested on 10.10.5) calls to window.open() with a different target
than _self were simply ignored. No navigation and no EVT_WEBVIEW_NEWWINDOW as
expected.

Unfortunately WebKit does not call the decidePolicyForNewWindowAction delegate
method in these cases. A new delegate method createWebViewWithRequest has been
implemented to handle this case and send EVT_WEBVIEW_NEWWINDOW as in other
ports.

Closes https://github.com/wxWidgets/wxWidgets/pull/85
2015-09-01 18:29:34 +02:00
Paul Cornett
83ce88402c Add gtk_cell_renderer_set_padding() compatibility function 2015-09-01 08:41:15 -07:00
Vadim Zeitlin
361c6357b4 Use wxDataViewRenderer::PrepareForItem() in all ports
wxOSX and wxGTK previously used their own methods for handling the enabled
state and the attributes of the items being rendered, change them to reuse the
same methods as the generic implementation, i.e. SetEnabled() and SetAttr()
and remove the port-specific GtkSetAttr(), OSXApplyAttr() and so on.

This has the advantage of ensuring that the logic is the same for all
platforms (e.g. item enabled status wasn't handled in the same way in wxGTK as
in the other ports previously) and hopefully makes the code simpler by cutting
down on the number of virtual methods.

Notice that GtkSupportsAttrs() optimization was removed as it didn't seem to
be worth the bother (we basically saved a call to a virtual model method at a
price of a virtual renderer method call) and preserving it would have
complicated things needlessly.
2015-08-31 22:20:33 +02:00
Artur Wieczorek
c63b1604b3 Use native renderer to draw rectangle indicating that wxPG category property is selected.
Because on some ports native renderers require a valid reference to the windows be drawn then it is necessary to implement and use new wxPGCellRenderer::DrawCaptionSelectionRect method which passes this  additional argument.
2015-08-30 19:46:34 +02:00
Vadim Zeitlin
a49567109a Consistently check for type mismatch in all ports in wxDataViewCtrl.
Move the checks for the type mismatch between the type of the value returned
by wxDataViewModel and the type expected by wxDataViewRenderer into common
code. This avoids duplicating the same code in wxGTK and wxOSX and, more
importantly, means that this check is also performed in wxMSW when using the
generic version, so that the problems such as the one fixed in 3ff8c3c ("add
missing wxDataViewDateRenderer::GetDefaultType()") would be visible there too.
2015-08-29 00:03:15 +02:00
Artur Wieczorek
bbecebd4ba Use Boolean expression instead of conditional statement to get Boolean value. 2015-08-27 19:17:49 +02:00
Artur Wieczorek
7ce6cff5ab Extend functionality of wxPropertyGridInterface::SetPropertyColoursToDefault method.
SetPropertyTextColour, SetPropertyBackgroundColour methods are able to set colours recursively for sub-properties but SetPropertyColoursToDefault method is not.
For the sake of consistency, SetPropertyColoursToDefault method is extended to have the same capabilities as SetPropertyTextColour and SetPropertyBackgroundColour. Behaviour and signature in default case (no recursion) is preserved.
For internal purposes there were also implemented helper methods in wxPGProperty class: SetDefaultColours, ClearCells.
2015-08-27 19:14:52 +02:00
Tobias Taschner
f1abb351af Remove MicroWindows support.
MicroWindows (aka Nano-X) support hasn’t been updated since 2010 and last work for it in wxWidgets happened more than 10 years ago.
2015-08-27 11:00:16 +02:00
Tobias Taschner
5f75b7506f Remove Hildon framework support.
The Hildon framework was used for Nokia 770 and other Maemo devices.
This platform discontinued and hasn't seen a new release since 2011.
2015-08-26 22:49:53 +02:00
Tobias Taschner
26a0a24f38 Remove MS-DOS source files.
Last work on the MS-DOS files was 10 years ago and it's not a viable platform in 2015 any more.
2015-08-26 21:09:41 +02:00
Paul Cornett
3ff8c3c100 add missing wxDataViewDateRenderer::GetDefaultType()
Avoids "Wrong type returned from the model" debug message.
Should have been part of 615b4969 (r78288)
2015-08-20 09:51:11 -07:00
Vadim Zeitlin
a2d6341e4f Disable warnings in the standard gdiplus.h header with MSVC14.
There is nothing we can do about these (harmless) warnings, so just disable
them.

Closes #17113.
2015-08-20 12:24:16 +02:00
Stefan Csomor
9b7fd47266 adding conditionals for NSString bridges 2015-08-19 17:39:52 +02:00
Paul Cornett
0ff96c620f fix wxHyperlinkCtrl opening URL twice, see #13813 2015-08-18 23:02:33 -07:00
JulianSmart
84b3644680 Corrected wxRTC font dialog spin button behaviour 2015-08-18 16:36:16 +01:00
Paul Cornett
9cfda3ca4d IsShown() now returns false for non-selected wxNotebook pages, see #4343 2015-08-15 11:04:20 -07:00
Tobias Taschner
b9d46f0719 Add ZIP64 support to wxZipInputStream and wxZipOutputStream.
Zip archives with sizes larger 4GB or containing files larger than 4GB or more
than 65k files are saved in ZIP64 format which adds a few additional footers
and extra fields to allow to exceed these limits.

This implements the PKWARE specification available at:
https://www.pkware.com/support/zip-app-note

It has been tested for compatibility with Windows internal ZIP folders, OSX
Archive Utility and 7-zip.

Closes https://github.com/wxWidgets/wxWidgets/pull/72
2015-08-14 15:39:45 +02:00
Tobias Taschner
0f39ea0963 Add support for UTF8 filenames in wxZipInputstream.
Zip files may mark filenames and comments via bit 11 in the general purpose
flags. If this flag is set use wxConvUTF8 instead of the default wxConv.
2015-08-14 15:38:50 +02:00
Artur Wieczorek
c746fee94a Compilation fixes for wxUSE_INTL==0 build.
Closes https://github.com/wxWidgets/wxWidgets/pull/70
2015-08-10 18:42:46 +02:00
Artur Wieczorek
75467841ee Moved "edit" icon from wxEditableListBox to wxArtProvider.
"Edit" icon definition used internally in wxEditableListBox is moved to
wxDefaultArtProvider and exposed as wxART_EDIT.

While there is no native version of this icon yet, it could be added in the
future and in the meanwhile this commit will be useful to use only standard
bitmaps in wxEditableListBox.
2015-08-09 01:39:41 +02:00
Artur Wieczorek
244ec264af Factor out duplicated code for bitmap scaling in wxArtProvider.
Move duplicated code responsible for rescaling bitmaps in wxArtProvider to the
shared wxArtPrvider::RescaleBitmap() method.

Additionally, make this new method work even in wxUSE_IMAGE==0 case.

See #17071.

See https://github.com/wxWidgets/wxWidgets/pull/64.
2015-08-08 01:04:46 +02:00
Tobias Taschner
8bd14648cd Remove Cocoa code and precompiler defines targeting OS X versions prior to OS X 10.7. 2015-08-07 16:25:28 +02:00
Tobias Taschner
3f63ad5c61 Add constants for OS X 10.10. 2015-08-07 16:02:24 +02:00
Tobias Taschner
2b3633b3c0 Add wxCheckOsVersion() to implement platform based OS version checks.
Windows implements VerifyVersionInfo api since Win2k. Starting with Windows 8.1 GetVersionEx is deprecated and may not return the expected version number if the application does not contain the correct compatibility information in its manifest. VerifyVersionInfo works independent of manifest in the executable (and is the recommend way to check).

Existing code may already use wxPlatformInfo::CheckOSVersion() so the method forwards the call to wxCheckOsVersion if initialized for the current system.
2015-08-06 11:32:38 +02:00
Tobias Taschner
a8c98a1191 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-04 15:04:33 +02:00
Vadim Zeitlin
9bc3ab1ea7 Add wxNativeWindow allowing to easily embed native widgets in wx.
Implement the class for wxMSW, wxGTK and wxOSX/Cocoa, show it in the widgets
sample and add documentation for it.
2015-08-03 17:57:42 +02:00
Tobias Taschner
658eca2896 Avoid run-time warnings for OS X version checks under 10.10+.
Remove UMAGetSystemVersion() function calling which produced the following
warning on the console for every call:

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

Replace UMAGetSystemVersion with wxPlatformInfo::CheckOSVersion() which
internally uses wxGetOSVersion, which uses Gestalt calls not resulting in this
runtime warning.

Closes https://github.com/wxWidgets/wxWidgets/pull/55
2015-08-02 03:15:11 +02:00
Suzumizaki-Kimitaka
28587c97d8 Add support for Unicode to wxStackWalker.
Use wide-char versions of debug help functions if available, falling back to
the narrow char ones otherwise.

Also improve 64 bit support by using 64 bit versions of the functions if
available as well.

Closes #15138.
2015-07-27 02:44:36 +02:00
Vadim Zeitlin
39ad820bee Check for Win32 exceptions inside our WindowProc().
Don't let unhandled Win32 (i.e. structured) exceptions escape from wxWndProc()
as they can just disappear into thin air when running under WOW64 as 32 bit
exceptions can't propagate through 64 bit kernel. So catch them immediately
and pass them to the global handler while we have the chance to do it, as
we're never going to get it in the outer __try/__catch block in wxEntry() in
src/msw/main.cpp.

In particular, this allows to catch crashes in wxEVT_PAINT handlers, such as
the one in debughlp sample, again.

Closes #16656.
2015-07-27 02:30:40 +02:00
Artur Wieczorek
e0f5b49a07 Fixed searching the elements in wxArrayPGProperty.
Use dedicated Index() function to search elements in wxArray instead of calling custom function.
2015-07-20 21:50:30 +02:00
Vadim Zeitlin
46ab9cb041 Rename HandleMiniaturize() to have OSX prefix and make it non-virtual.
This method doesn't really have to be virtual and this change will allow to
backport the commit adding wxIconizeEvent generation to 3.0 branch.

See #16718.
2015-07-18 15:32:00 +02:00
Rob Krakora
31e1387541 Implement sending wxIconizeEvent in wxOSX.
Translate windowDid{Miniaturize,Deminiaturize} callbacks to calls to
SendIconizeEvent().

See #16718.
2015-07-18 02:29:17 +02:00
Artur Wieczorek
a0afc17c75 Use wxNullBitmap explicitly instead of wxPG_NULL_BITMAP.
wxPG_NULL_BITMAP macro is not useful because is used only once. In the rest of wxPG code wxNullBitmap is used explicitly many times so for the sake of consistency we can resign from using this macro.
2015-07-17 22:29:37 +02:00
Vadim Zeitlin
fc3d2bac2a Avoid bogus assert after calling wxDatePickerCtrl::SetRange() in wxMSW.
If the old value didn't lie inside the new range, it was changed by the native
control internally but the value stored by wxDatePickerCtrl itself remained
unchanged, resulting in asserts later when the mismatch between them was
detected.

Closes #13189.
2015-07-17 17:59:40 +02:00
Artur Wieczorek
403dd5673f Use enum instead of macros to represent wxPropertyGrid::DoSelectProperty flags. 2015-07-16 21:04:25 +02:00
Artur Wieczorek
4588acb21b Use wxEmptyString instead of dedicated wxPropertyGridInterface member variable. 2015-07-16 21:00:38 +02:00
Artur Wieczorek
79794391e9 Declare wxPG_DEFAULT_IMAGE_SIZE as wxDefaultSize constant.
wxDefaultSize is an equivalent of wxSize(-1,-1) but is more portable.
2015-07-15 21:45:27 +02:00
Vadim Zeitlin
af7ed311ed Fix wx2stclen() return values after upgrade to Scintilla 3.5.5.
The fix to the length allocated for the buffer (which was off by 1) in
wx2stc() in 9f81ac16f0 exposed another bug,
which used to compensate for that one, in wx2stclen(), so fix it too.

See #16776.
2015-07-11 22:41:34 +02:00
Vadim Zeitlin
9c88e76752 Remove the never implemented wxPoint2D::SetPolarCoordinates().
This method was declared but never implemented, just remove it.

Closes #17065.
2015-07-09 14:38:49 +02:00
Vadim Zeitlin
610076aabd Merge branch with the changes upgrading to Scintilla 3.5.5.
Closes #16776.
2015-07-05 17:00:36 +02:00
Vadim Zeitlin
73119a37ae Remove obsolete _EXPORT macro not used under Win32.
This was a leftover from bad old Win16 days.
2015-07-05 16:55:26 +02:00
Vadim Zeitlin
30b523d1f2 Remove redundant tests for __WIN32__ in wxMSW code.
This is always defined, Win16 is not supported since ages and Win64 defines
both __WIN32__ and __WIN64__.
2015-07-05 16:55:25 +02:00
Vadim Zeitlin
e18c8fd29a Never use events for blocking sockets under Unix.
Events are not needed for this kind of sockets, using wxSOCKET_BLOCK is
supposed to ensure that calling socket IO operations blocks until the bytes
are read/written without dispatching any events.

See #17031.
2015-07-05 16:45:07 +02:00
Vadim Zeitlin
82f3234d95 Avoid g++ 3.4.5 warning about wxMSWOwnerDrawnButtonBase dtor.
Fixing the warning for recent g++ versions introduced it for the old one, so
work around this inside our workaround.

See #17005.
2015-07-04 18:25:05 +02:00
Vadim Zeitlin
c6c19dc580 Remove extraneous semicolons after wxDECL_FOR_STRICT_MINGW32().
This macro shouldn't be followed by a semicolon because it can be empty, so
remove the extra semicolons to avoid -Wpedantic g++ warnings about it.
2015-07-01 00:39:05 +02:00
Artur Wieczorek
2770f76de5 Fix wxPropertyGridManager::SelectProperty
Call wxPropertyGridpageState::DoSelectProperty with explicitly set flags instead of casting from bool to unisgned int. It cannot be guaranteed that 0/1 values of this implicit conversion will be mapped to the proper flags also int the future.
2015-06-29 20:03:25 +02:00
Artur Wieczorek
f48439cfc6 Fix casting variable in wxFlagsProperty::GetLabel
Cast GetLabel parameter to a proper type (unsigned int instead of int).
2015-06-28 19:31:48 +02:00
Paul Cornett
b7cf54d24a Avoid using gdk_window_freeze_updates() to implement Freeze()
Implement Freeze() by blocking the GtkWindow "expose-event"/"draw" signal
instead. Since the introduction of client-side windows in GTK+ 2.18,
gdk_window_freeze_updates() is unuseable because the impl_window (and thus the
update_freeze_count) for a given GdkWindow can change unpredictably. See #16795
2015-06-24 08:43:30 -07:00
Catalin
a2ebc9daf6 Add wxTextOutputStream::Write<>().
The new method allows to write into wxTextOutputStream anything that can be
streamed into wxString and allows to simplify the existing code.
2015-06-23 18:20:19 +02:00
Vadim Zeitlin
8741c2730b Make wxVSCROLL explicitly of int type.
Its value (0x80000000) is outside of the int type range on 32 bit platforms,
but we still want to allow using it as an initializer of int and/or long
variables for consistency with the other types, so cast it to int explicitly
to suppress -Wnarrowing warnings from recent g++ which were given when doing
this before.
2015-06-21 15:59:16 +02:00
Vadim Zeitlin
3195a0e538 Document wxPrintData::SetPaperSize().
Also remove strange (probably out of date?) comment from this method in the
header.

Closes #17035.
2015-06-21 02:24:50 +02:00
Vadim Zeitlin
6f2fdbae6a Fix typo in a comment.
s/minimzes/minimizes/
2015-06-19 13:40:41 +02:00
Nathan Ridge
ad21cc332a Relax the ABI compatibility requirements for GCC.
Allow a library and an application to differ in __GXX_ABI_VERSION
within the range 1002-1008. The ABI changes made in this range
do not affect wxWidgets.
2015-06-19 01:44:55 -04:00
Vadim Zeitlin
6787d2268a Improve workaround for MinGW math.h bug in strict ANSI mode.
Declare _hypot() function globally, predefining __NO_INLINE__ in wx/math.h is
not enough as <math.h> is also included from some other standard headers, e.g.
<algorithm>, and including them results in the same bug as in wx/math.h
(i.e. https://sourceforge.net/p/mingw/bugs/2250/).
2015-06-15 02:21:58 +02:00
ARATA Mizuki
28e80e5b58 Update Scintilla from 3.5.2 to 3.5.5 2015-06-15 01:32:08 +02:00
ARATA Mizuki
43057d1c43 Update Scintilla from 3.4.4 to 3.5.2 2015-06-15 01:32:06 +02:00
ARATA Mizuki
7ebb51a895 Update Scintilla from 3.4.3 to 3.4.4 2015-06-15 01:32:06 +02:00
ARATA Mizuki
40a18a74f9 Update Scintilla from 3.4.1 to 3.4.2 2015-06-15 01:32:05 +02:00
Vadim Zeitlin
c8a3c01424 Work around a bug in MinGW math.h.
Including standard math.h header with both -O2 and -std=c++NN options results
in compilation error due to a bug in the header, see MinGW bug report at
https://sourceforge.net/p/mingw/bugs/2250/

Work around this to allow the library to compile in release build with
-std=c++11. This is ugly but better than failing to compile at all.
2015-06-14 19:52:26 +02:00
Vadim Zeitlin
cc774bb301 Fix building and using the library with MinGW -std=c++{98,11} options.
These options enable "strict ANSI" mode in MinGW which omits declarations of
POSIX functions from the standard headers. To allow the library and, possibly
even more importantly, the user code including our headers, to compile with
these options, declare the functions that we need ourselves.

This might appear to go against the spirit of "strict ANSI" mode, but the only
alternative would be to not use such functions at all and silently cripple the
library when -std=c++NN is used, compared to -std=g++NN case, and this doesn't
seem appealing neither.

Closes #16984.
2015-06-14 19:52:26 +02:00
Artur Wieczorek
8e2f1b47aa Use wxS macro with string literals.
To make string literals notation consistent.
2015-06-12 23:39:00 +02:00
Artur Wieczorek
6cc7811394 Fixed minor typos in comments.
Yet another iteration.
2015-06-09 20:04:27 +02:00
Artur Wieczorek
c9417c41f5 Fix PCH-less build after cb6efbd.
Add missing wx/settings.h inclusion.
2015-06-09 18:03:56 +02:00
Artur Wieczorek
aeed3322f2 Fixed minor typos in comments. 2015-06-08 21:49:38 +02:00
Artur Wieczorek
c8088e479a Fixed minor typos in the name of variables. 2015-06-08 21:48:08 +02:00
Artur Wieczorek
cb6efbd3c3 Lay out various wxPG dialogs based on the current system screen design.
Currently, customizing some dialogs for small screen environment is done statically on the build stage by setting wxPG_SMALL_SCREEN to 1 (what is done for WXWINCE only).
Instead, we can do this for all platforms in a dynamic manner, based on the classification provided by wxSystemSettings::GetScreenType() function.
In order to do so there is introduced a static helper function wxPropertyGrid::IsSmallScreen() which is used to select right parameters (size, position) for several dialogs in order to display them correctly on the small screen.
2015-06-08 21:46:03 +02:00
Roberto Perpuly
aa5dbad410 Use FSEvents in wxFileSystemWatcher on OS X
The FSEvents API allows for creating watches in entire trees of
directories in an efficient manner.

Closes #16969.
2015-06-06 02:37:35 +04:00
Dimitri Schoolwerth
31145b8e3a Fix some typos, no code changes (besides strings) 2015-06-05 02:54:46 +04:00
Jan van Dijk
d2c1fce24e Further work around for clang warnings about typeid() side effects.
Apparently in some versions of the compiler even simply dereferencing a
pointer inside typeid() still provokes -Wpotentially-evaluated-expression.
Avoid this by dereferencing it outside and only using typeid() with
references.

Closes #16968.
2015-06-03 17:11:29 +02:00
Catalin
d31cfba540 Fixed wxAppConsole spelling in the comments. 2015-06-03 17:14:09 +03:00
Jan van Dijk
5aae7c7387 Work around clang warning about side effects inside typeid().
This warning was harmless but very annoying as it was given for each and every
inclusion of this header.

Closes #16968.
2015-06-02 02:07:39 +02:00
Vadim Zeitlin
e78b57308f Get rid of wxListCtrl::m_count in wxMSW.
This simplifies the code and fixes the bug with GetItemCount() returning wrong
(old) value in wxEVT_LIST_INSERT_ITEM event handler as m_count wasn't updated
by then yet.

Closes #3793.
2015-06-01 00:32:09 +02:00
Vadim Zeitlin
6a3cc8171b Remove declaration of wxWindow::GetAdjustedMinSize().
This deprecated method was never actually defined, so could never be used. The
fact that nobody complained about it would seem to be an indication that it is
not used anywhere, so just remove it.

See #17007.
2015-05-31 23:29:02 +02:00
Vadim Zeitlin
af3a5c8cb4 Avoid harmless warnings about non-virtual wxMSWOwnerDrawnButtonBase dtor.
Make the dtor protected to ensure that it's impossible to delete objects via
it as this is not supposed to be ever done anyhow.

Closes #17005.
2015-05-31 23:24:40 +02:00
Artur Wieczorek
67bfb78ace Replace wxT() with wxS() in wxPropertyGrid code. 2015-05-31 19:20:11 +02:00
Artur Wieczorek
5decea57f4 Don't declare wxPropertyGridManager::SetColumnTitle if wxUSE_HEADERCTRL == 0.
This method already has no definition in this case so there is no reason to declare it.
2015-05-31 19:20:08 +02:00
Artur Wieczorek
65dee275f2 Fix minor typos in comments. 2015-05-30 20:12:02 +02:00
Artur Wieczorek
fec5f36139 Use getter functions to get access to some properties of wxPropertyGridPageState.
Use existing GetColumnCount(), GetColumnWidth() functions instead of getting direct access to corresponding member variables.
2015-05-24 20:44:20 +02:00
Artur Wieczorek
b3ad8dae84 Use empty() member function to determine if arrays are empty in wxPG.
Use this dedicated function instead of checking if size() function returns zero/non-zero value.
2015-05-24 20:36:44 +02:00
Vadim Zeitlin
d07c4cb826 Really fix check for maximal argument number in wxPrintf().
Increment nargs before comparing it with wxMAX_SVNPRINTF_ARGUMENTS, if the
comparison is true for the post increment, the value is already invalid.
2015-05-24 02:47:00 +02:00
Vadim Zeitlin
0c223a8146 Fix buffer overrun in wxPrintf() format parsing code.
Parsing a format specifier with an asterisk (e.g. "%.*s") for the 64th
argument of wxPrintf() resulted in a buffer overrun as the check for the
maximal number of arguments didn't break out from the right loop.

Fix this by inserting an extra check for this.

Thanks Coverity for finding this one.
2015-05-24 01:53:08 +02:00
Artur Wieczorek
204a3d229c Use symbolic constants instead of numeric ones to represent masks filtering window style flags in wxPG. 2015-05-23 18:26:05 +02:00
Olly Betts
ecf85bf4cb Remove WXWIN_OS_DESCRIPTION.
This constant wasn't very useful as it contained the description of the OS on
the machine where the library was built, not the one on which the application
using it was running. It also wasn't used anywhere in wxWidgets and apparently
wasn't meant to be used outside of it.

Finally, putting the output of `uname -r` into it created problems with
creating reproducible builds as just a change in the kernel version changed
the build results.

Closes #17002.
2015-05-22 02:29:49 +02:00
Artur Wieczorek
7394dd8e1f Allow wxPG to take focus on the entire area even if wxPG is not a standalone control.
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.
2015-05-21 18:51:37 +02:00
Vadim Zeitlin
1430123e58 Reset the pointer to NULL after deleting it in wxCmdLineArgsArray.
This ensures that a dangling pointer can't be dereferenced later and fixes a
fatal bug if wxCmdLineArgsArray::operator=() was called more than once (which
is however not supposed to normally happen).
2015-05-17 22:34:18 +02:00
Artur Wieczorek
b6ab81584f Deprecate wxPGProperty::GetFlags() getter method.
Instead of using pass-trough getter just to check the bits of internal field there are implemented dedicated HasFlag() and HasFlagsExact() methods to do so.
2015-05-16 17:17:14 +02:00
Vadim Zeitlin
ea406d2f3a Don't make wxToolBarToolBase::Set{Normal,Disabled}Bitmap() virtual.
There is no need for this, these methods are not supposed to be overridden as
they are only ever called by wxToolBar itself and making them virtual just
confused things.

See #16985.
2015-05-12 17:04:59 +02:00
Vadim Zeitlin
0a6b08cca3 Don't cache cells being measured in wxHtmlListBox.
This can result in a crash if the measuring code is called, possibly
indirectly, from a method of a cell object itself and if that cell is
displaced from the cache while caching the cell created in OnMeasureItem().

Closes #16651.
2015-05-10 22:09:48 +02:00
Artur Wieczorek
91144a2247 Fixed setting property label with wxPGproperty::SetLabel
If there is a corresponding cell containing a cached text for column 0 then this text also needs to be updated when the label is changed.

See #16982.
2015-05-10 18:50:25 +02:00
Kevin B. McCarty
1ad4596e8c Fix setting "pressed" bitmap for wxToggleButton.
Move wxAnyButton::GetNormalState(), which allows wxToggleButton to override
what "normal" means for it, down to the platform-independent wxAnyButtonBase
class and use it now in wxGTK as well to correctly choose the pressed bitmap
for a toggle button in this state.

Closes #16771.
2015-05-09 19:22:28 +02:00