Commit Graph

60431 Commits

Author SHA1 Message Date
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
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
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
VZ
744c3e773e Merge pull request #98 from TcT2k/osx_collpane_enhancement
Improve wxCollapsiblePane appearance on OS X
2015-09-21 16:26:47 +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
Tobias Taschner
b012e559bc Add missing collheaderctrlg.cpp to cocoa xcode project. 2015-09-21 15:30:34 +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
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
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
Vadim Zeitlin
d72006f5b8 Don't force the use of DEBUG on application in autoconf macros
If WX_STANDARD_OPTIONS() is not used, we shouldn't add any debugging nor
optimization options to C{,XX}FLAGS as the application presumably handles it
on its own, it was completely unexpected to see -O2 appear in CXXFLAGS.

Fix this by only doing anything if DEBUG variable is defined. Even this is not
optimal as it's such a common name that it could clash with an unrelated
variable in the application configure script, but doing anything else risks
breaking existing scripts relying on it being named like this.
2015-09-20 02:23:06 +02:00
Vadim Zeitlin
9589eaa113 Document "expmode" argument of exported array macros
At least mention the previously missing "expmode" argument in the
documentation.

Closes #17156.
2015-09-19 19:56:41 +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
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
cc0a53dc96 Don't use -fno-strict-aliasing for optimized build
There doesn't seem to be any need for it, the library compiles fine without it
and the few warnings generated with -Wstrict-aliasing=2 are harmless (i.e. the
strict aliasing rule is not really broken).
2015-09-19 03:28:50 +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
2e424fcf38 Add wxCONTROL_SPECIAL menu toggle to renderer sample.
wxCONTROL_SPECIAL is currently only used by DrawTreeItemButton().
2015-09-18 21:29:15 +02:00
Vadim Zeitlin
e5fe3977f4 Merge branch 'system-theme'
Improvements for list/tree control appearance under MSW, see #16414.
2015-09-17 14:53:12 +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
Vadim Zeitlin
7851535d02 Document wxAppConsole::Yield() and fix wxYield() documentation
Don't say that wxYield() is deprecated because it isn't.

Do document wxAppConsole::Yield() if only to redirect to
wxEvtLoopBase::Yield().
2015-09-15 21:09:07 +02:00
Vadim Zeitlin
f137753f28 Don't log drag events as well as move ones in the text sample
Dragging the mouse (even accidentally by a pixel or two) resulted in a
confusing "Unknown event" line in the log, so don't log these messages neither
just as we already don't log the mouse motion events.
2015-09-15 01:30:38 +02:00
Vadim Zeitlin
7f856bd633 Add a test for wxEVT_CONTEXT_MENU to the text sample.
Log a message if this message is received, which shows that it currently isn't
for the control with wxTE_RICH style under MSW.
2015-09-15 01:29:29 +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
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
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
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
67fadfbbf1 Avoid GCC warning: base class should be explicitly initialized in the copy constructor 2015-09-06 21:27:37 -07:00
Paul Cornett
02f22eff71 avoid GCC warning: "__WXMSW__" is not defined 2015-09-06 21:24:32 -07:00