Commit Graph

34325 Commits

Author SHA1 Message Date
John Roberts
bedbdb116d Fix scrolling behaviour of wxSearchCtrl under OS X
Make it behave in the same way as single line wxTextCtrls do.

See #17178.
2015-10-03 18:05:48 +02:00
Paul Cornett
beffb32d2d Avoid invalidating best size for foreground/background color change 2015-10-02 10:11:58 -07:00
Paul Cornett
3423e6533b Fix memory leak introduced in 3b047b58
Also, use memcpy() instead of strcpy() since we already have the length,
and use static_cast instead of reinterpret_cast.
2015-10-02 09:12:17 -07:00
Vadim Zeitlin
d1dfcd1497 Fix some g++ warnings in D2D graphics code
Avoid warnings about a class with virtual methods having non-virtual dtor and
not handling an enum value in a switch.

See #16625.
2015-09-29 00:54:25 +02:00
Vadim Zeitlin
2a9a42fd23 Don't pretend that we implement IWICBitmapSource::CopyPalette()
We don't and it's unclear how to do it, so just return
WINCODEC_ERR_PALETTEUNAVAILABLE instead of pretending that we copied the
palette when we didn't.

See #16625.
2015-09-29 00:49:37 +02:00
Vadim Zeitlin
576b0033c0 Fix wrong use of wxCHECK2_MSG in D2D graphics code
This was supposed to be wxCHECK_MSG().

See #16625.
2015-09-29 00:46:27 +02:00
Vadim Zeitlin
db415ad04d Compilation fixes for C++98 compilers in D2D graphics code
Don't use ">>" token in nested templates, this is not allowed in C++98 but
only C++11.

Also don't use "= NULL" on pure virtual functions.

See #16625.
2015-09-29 00:44:08 +02:00
Vadim Zeitlin
827e3d455a Build fixes for PCH-less build for D2D graphics context
Include the required headers in all cases currently, ideal would be to include
them only inside "#ifndef WX_PRECOMP" but it's probably not a big problem to
just do it always.

See #16625.
2015-09-29 00:42:26 +02:00
Joost Nieuwenhuijse
ccc94f46e0 Fix wxSlider getting disabled after changing color in wxMSW
The changes of f88585b4ab could result in
wxSlider getting disabled when its background colours was changed because
wxWindow::IsEnabled() could return false if the control was currently disabled
because its parent was disabled, for example -- but wxSlider wouldn't get
enabled back even after the parent was enabled.

Closes #12271.

Closes https://github.com/wxWidgets/wxWidgets/pull/103
2015-09-28 17:47:16 +02:00
Vadim Zeitlin
00c63cfd3a Really get rid of warnings in casts to WPARAM in wxMSW wxListCtrl
Finally really fix the problem with an explicit cast to WPARAM needed to fix
the warning for MinGW but provoking a warning with MSVC: this cast was added
in 612bbde52f, reverted in
77cfdec054 and added back in
36e5a9a7c4 and so we were back to having
warnings in MSVC 64 bit builds.

Work around them by defining NO_ITEM constant differently for MinGW and MSVC
to satisfy both of them.
2015-09-28 15:34:14 +02:00
Vadim Zeitlin
0f4e5e9e28 Suppress harmless MSVC C4324 warning in 64 bit builds
We don't care about the change of size to wx_error_mgr struct due to the use
of __declspec(align()) in libjpeg headers, so just suppress the warning.
2015-09-28 15:34:13 +02:00
Tobias Taschner
76a75ddc6a Fix text colour for items drawn using wxRenderer::DrawItemText()
After the addition and usage of DrawItemText() in
b7a89f8746 custom colors in wxDataViewCtrl where
ignored, restore the correct behavior (custom color for unselected items) by
avoiding changing the colour for the normal items in this function.

Closes #17164.
2015-09-28 15:34:12 +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
Tobias Taschner
60a3d76045 Fix handling of wxALIGN_CENTER in wxMSW DrawItemText()
Test for wxALIGN_CENTER_HORIZONTAL only, not wxALIGN_CENTER, when choosing the
horizontal alignment to use, as the latter includes wxALIGN_CENTER_VERTICAL
and so would wrongly center an item using wxALIGN_CENTER|wxALIGN_RIGHT
horizontally, for example.

See https://github.com/wxWidgets/wxWidgets/pull/97
2015-09-28 15:33:46 +02:00
JulianSmart
965786a0fa Suppressed double hiding/deletion of caret which can cause the caret to go missing from a different window that's currently focused 2015-09-28 14:18:34 +01:00
JulianSmart
40430585d6 Removed erroneous variable declaration 2015-09-28 14:17:21 +01:00
JulianSmart
7c7ec1b792 Block events to avoid accidental button disabling 2015-09-28 14:15:40 +01:00
Roger Sanders
4acb4cf476 Fix crashes in wxMSW when reinitializing the library.
Reset pointers to functions loaded from msimg32.dll when the library is
uninitialized as they may change if it's re-initialized again and msimg32.dll
is reloaded at a different address.

Also do the same thing for the function pointers from gdi32.dll for
consistency, even though it doesn't seem to be actually required in this case.

Closes #17167.
2015-09-27 12:22:37 +02:00
Vadim Zeitlin
44472777e2 Fix dialogs title bar broken by Windows CE removal changes
Restore the code setting WS_CAPTION that was mistakenly removed in
8282c1be0f

See https://github.com/wxWidgets/wxWidgets/pull/81

Closes #17161.
2015-09-25 00:40:16 +02:00
Bogdan Iordanescu
b2c3ad614f Add support for hiding sizer items in XRC
Handle the `<hideitems>` property for sizers and document it.

Also group `minsize` together with `hideitems` in `stdSizerProperties`, which
is used by all sizer classes except `wxStdDialogButtonSizer` in the XRC
schema.
2015-09-24 14:48:11 +02:00
Tobias Taschner
42338fb5fd Fix wxUxThemeEngine on WinXP after DrawItemText() addition
The recent addition of DrawThemeTextEx in
b7a89f8746 (Add wxRendererNative::DrawItemText()
for list-like controls) broke initialization of uxtheme on WinXP as
DrawThemeEx is only available on Vista+.

Closes https://github.com/wxWidgets/wxWidgets/pull/101/
2015-09-24 14:41:42 +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
5846144614 Use full paths when checking for existence in wxGenericFileDialog
Use full path to the selected file before checking whether it exists,
otherwise the check could fail even if the file does exist but the current
directory is different from the one it is in.

See #16698.
2015-09-24 14:31:14 +02:00
Vadim Zeitlin
81c6c6eeed Build fix for wxDataViewCtrl after wxSystemThemedControl changes
wxSystemThemedControl is a template class and can't be used without template
arguments even though MSVC somehow compiled it -- but g++, quite justifiably,
refused to do it.
2015-09-23 01:19:54 +02:00
Vadim Zeitlin
fad14c4660 Fix horribly mangled declarations in wxMSW ActiveMovie code
Due to a typo (missing closing parenthesis after GetMediaParameterName()), all
the method and interface declarations in a span of 150 lines were parsed as
arguments of STDMETHOD macro resulting in something completely nonsensical,
but, by some unfortunate miracle, compilable.

Any code relying on any of these declarations definitely could never work as
the interfaces were incorrectly declared and any attempt to use them would
have resulted in a crash, so this code was either totally broken or these
declarations were unused -- not sure which one, but for now just fix the typo.
2015-09-23 01:05:54 +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
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
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
Jouk
6fbc2bd0b7 Add collheaderctrlg.cpp to OpenVMS makefile 2015-09-22 10:40:03 +02:00
Vadim Zeitlin
47e2fe4e55 PCH-less build fix for wxGenericCollapsibleHeaderCtrl
Add missing wx/dcclient.h inclusion.
2015-09-22 01:29:21 +02:00
Tobias Taschner
90e939522f Implement wxRendererNative::DrawCollapseButton() for OSX.
The button can be painted using theme services.
2015-09-21 16:11:16 +02:00
Tobias Taschner
3c44dd85a0 Only draw focus rect on MSW in wxCollapsibleHeaderCtrl.
It is a native look on MSW but looks out of place on other plalforms.
2015-09-21 16:10:28 +02:00
Vadim Zeitlin
2f1e8c5402 Initialize wxFontRefData::m_sizeUsingPixels in wxMSW
Don't leave the variable uninitialized, even though it's not totally obvious
which value should it have for wxFontRefData objects created from native
fonts, using "true" seems more appropriate and is definitely better than not
initializing the field at all.
2015-09-20 18:29:06 +02:00
Andreas Falkenhahn
02c8973a57 Refresh wxListCtrl with wxLC_HRULES in SetColumnWidth() in wxMSW
This is necessary to avoid corrupted rules display after changing the column
width.

See #17158.
2015-09-20 13:35:58 +02:00
Tobias Taschner
870a545345 Fix recently introduced crash in MSW wxTaskbarButton::New()
Fixed regression introduced in f7458dd03f ("Use
wxComPtr<> instead of raw pointers in wxTaskbarButton code", see #16557).

Closes https://github.com/wxWidgets/wxWidgets/pull/96
2015-09-19 19:55:03 +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
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
Tobias Taschner
ba4bfc5414 Implement wxRenderer::DrawItemSelectionRect() better for wxMSW
Use "LISTVIEW" theme element for drawing the selection rectangle for more
native appearance.

See #16414.
2015-09-17 14:49:10 +02:00
Tobias Taschner
f7458dd03f Use wxCOMPtr<> instead of raw pointers in wxTaskBarButton code
Simplify the code and ensure its safety by using smart pointers instead of raw
Release() calls.

Closes #16557.
2015-09-17 13:45:39 +02:00
Vadim Zeitlin
07380ba0b5 Copy fonts more faithfully and efficiently in wxGTK
Use pango_font_description_copy() to copy fonts instead of
pango_font_description_to_string() and pango_font_description_from_string()
via wxNativeFontInfo::{To,From}String() respectively.

This is not only more efficient but also preserves the original family whereas
wxNativeFontInfo::FromString() helpfully replaces any fonts it doesn't know
about with the normal font name. That behaviour is probably wrong on its own,
but for now at least avoid silently changing fonts when copying them.
2015-09-16 03:39:07 +02:00
Rick Nelson
7e8c2cc4a5 Fix handling of relative URLs starting with "/" in wxHTML
Don't interpret them relatively to the current path, so that an URL like
"/pictures/foo.png" in the file "/webpages/bar.html" is resolved correctly and
not as "/webpages/pictures/foo.png" as it was previously.

See #17148.
2015-09-16 00:26:33 +02:00
Tim Kosse
3b047b58ce Escape filenames in wxFileDataObject::GetDataSize/GetDataHere
On wxGTK, wxFileDataObject::SetData calls g_filename_from_uri which
percent-decodes URIs. No corresponding percent-encoding was done in
wxFileDataObject::GetDataSize/GetDataHere. Use g_filename_to_uri instead in so
that filenames are properly escaped.

This commit also fixes the data being truncated if it contains non-ASCII
characters on wide-character builds, see the memcpy arguments in the original
code.
2015-09-14 11:42:38 +02:00
Vadim Zeitlin
7f08dbbf78 Another work around for VC8 compiler bug after ZIP64 changes
Apply the same fix as in ba851346b5 in another
place where the same bug occurs.
2015-09-11 14:59:32 +02:00
Paul Cornett
5905857dba Avoid bug in VS 2015 code generation
When using Whole Program Optimization, pItem->OnDrawItem() incorrectly calls the
base class wxOwnerDrawn::OnDrawItem() instead of the appropriate override, for
example wxCheckListBoxItem::OnDrawItem(). The problem can be avoided by not
using an unnecessary cast to wxListBoxItem*.
2015-09-09 22:38:42 -07:00
Vadim Zeitlin
ba851346b5 Try to work around VC8 compiler bug after ZIP64 changes
Add an explicit cast to ensure that both branches of the ternary operator have
the same type.
2015-09-09 03:39:17 +02:00
Paul Cornett
87202a9b02 Improve link color getters, and suppress deprecation warnings
Use default colors when link style is not set
2015-09-07 20:20:12 -07:00
Paul Cornett
8bceeba143 Show widget at GTK+ level regardless of "child visibility" status, see #17134, #4343 2015-09-07 09:43:18 -07:00