Commit Graph

33407 Commits

Author SHA1 Message Date
Vadim Zeitlin
da5edc0fc1 Fix crash in wxMDIParentFrame dtor after taskbar branch merge.
wxFrame::m_taskBarButton needs to be initialized in its Init(), not Create(),
which is not necessarily used by the derived classes such as wxMDIParentFrame,
resulting in a guaranteed crash when deleting an uninitialized pointer later
in wxFrame dtor.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77688 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-14 00:59:48 +00:00
Artur Wieczorek
8474dc6489 Fix vertical positioning of text field in the combo box editor associated with wxPG property under wxMSW.
Vertical position of text field in wxOwnerDrawnComboBox control (instantiated at property selection) doesn't need any special adjustment.

Closes #16556.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77687 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-13 20:45:37 +00:00
Vadim Zeitlin
1447a23c83 Accept "default" as font family value in XRC.
Map it to wxFONTFAMILY_DEFAULT, just as we do for all other wxFontFamily enum
elements.

Closes #16549.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77686 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-12 11:31:25 +00:00
Vadim Zeitlin
c8e27bcaf7 Simplify Direct2D DLLs loading code a little.
Bail out earlier: if d2d1.dll is not there, it doesn't make sense to try to
load dwrite.dll.

Also use Load() return value directly instead of ignoring it and then checking
for IsLoaded().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77684 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-11 20:33:27 +00:00
Vadim Zeitlin
7dec99c0a8 Suppress error messages when checking for Direct2D availability.
Use wxDL_QUIET flag when loading Direct2D DLLs as we're prepared to handle
their absence and don't need to show error messages if they're not available.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77683 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-11 20:33:24 +00:00
Vadim Zeitlin
9ecf317092 Implement strike-through support in wxFont in wxOSX.
Implement support for this attribute in wxOSX too.

Closes #16547.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77682 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-11 17:05:33 +00:00
Vadim Zeitlin
6f10cd1982 Fix error message about ChangeWindowMessageFilter() on startup under XP.
Use wxDynamicLibrary::RawGetSymbol() (from inside wxDL_INIT_FUNC() macro)
instead of GetSymbol() to avoid the error message which was given every time a
new wxFrame was created after wxTaskBarButton changes under XP as
ChangeWindowMessageFilter() function is not available in it.

Also simplify the code a little and don't make pfnChangeWindowMessageFilter
static, we don't need to keep it around.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-11 17:05:29 +00:00
Vadim Zeitlin
b59176869a Fix Direct2D code compilation in non-Unicode build.
DirectWrite GDI interop only works with Unicode LOGFONTW, so use it explicitly
instead of LOGFONT which is LOGFONTA in non-Unicode build.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-11 11:37:10 +00:00
Vadim Zeitlin
c2d70a0340 Convert Direct2D source file to Unix EOL format.
No other changes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77668 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:52:24 +00:00
Vadim Zeitlin
1643a7dd51 Use ID2D1Bitmap instead of ID2D1Image.
ID2D1Image is not defined in v7.0A platform SDK used by VC10 and doesn't seem
to be needed here as we are only working with ID2D1Bitmaps (deriving from
ID2D1Image) anyhow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77667 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:52:16 +00:00
Vadim Zeitlin
8734eb3732 Don't use enum name for qualifying enum element.
This is a non-standard MSVC extension and can't be done in standard C++.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77666 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:52:13 +00:00
Vadim Zeitlin
ab3977ddc3 Remove PI definition from Direct2D wxGraphicsContext code.
The line defining PI didn't compile with VC10 because atan(1) is ambiguous
(argument could be float, double or long double). And it was not needed anyhow
as PI was not used anywhere (and if it were, we should be just using M_PI from
wx/math.h anyhow), so simply remove it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77665 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:52:10 +00:00
Vadim Zeitlin
39da0824d3 Don't skip wxHtmlContainerCell layout, even when the width is 0.
This ensures that wxHtmlContainerCell height is set to some reasonable value
instead of 0 and fixes infinite loop which occurred in some circumstances in
wxGTL when trying to allocate size for wxHtmlListBox as it oscillated between
having a vertical scrollbar with bigger width and not having it with smaller
width. The latter was wrong as decreasing the width to 0 didn't really obviate
the need for the vertical scrollbar and was just an artefact due to not
setting wxHtmlContainerCell height at all in this case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77663 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:52:04 +00:00
Vadim Zeitlin
1addaeaa75 Add wxUIActionSimulator::Select().
Add a helper to select an item in a wxChoice, wxComboBox, wxListBox or similar.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77662 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:52:01 +00:00
Vadim Zeitlin
060cf2666d Fix setting RTL direction for wxTextCtrl without wxTE_RICH in wxMSW.
Plain EDIT text controls don't support WS_EX_LAYOUTRTL, use WS_EX_RTLREADING
for them instead.

See #11583.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77658 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:51:42 +00:00
Vadim Zeitlin
6ea435350e Avoid generating wxEVT_MENU_OPEN and CLOSE for disabled menus in wxMSW.
Check if a top level menu is disabled and consume WM_[UN]INITMENUPOPUP that
Windows still generates for it when it's clicked for some reason.

Closes #2168.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77657 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:51:33 +00:00
Vadim Zeitlin
b488f468a3 Make skipping event in wxEVT_PAINT handler work correctly in wxMSW.
This should result in the default handler still being called and painting the
window, but the latter didn't happen because we called ::EndPaint(), and so
validated the window and reset its update region, before passing WM_PAINT to
DefWindowProc() in this case.

Closes #16381.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77655 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:51:26 +00:00
Vadim Zeitlin
9dbf785a99 Work around buggy printer drivers not returning correct DEVMODE size.
Apparently at least one printer driver doesn't report the memory needed by its
own DEVMODE struct correctly, resulting in a crash due to a buffer overflow
when printing using it.

Work around this by allocating slightly more memory than what we really need.

Closes #16274.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77654 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:51:21 +00:00
Vadim Zeitlin
9a377ec117 Implement wxListBox::EnsureVisible() for wxMSW.
Manually check whether the item is currently visible and scroll the listbox
just enough if it isn't.

Closes #3224.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77653 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:51:17 +00:00
Vadim Zeitlin
ed1e48b1ed Delete pending objects before destroying wxConfig during cleanup.
This allows these objects to save their state in wxConfig, as e.g. top level
windows using wxPersistenceManager do.

Closes #16397.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77652 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:51:11 +00:00
Vadim Zeitlin
8f8baa1de3 No changes, just remove a left-over "#if 0".
Remove OSX-specific #if which was not used any more.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77651 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:51:09 +00:00
Vadim Zeitlin
dc65fa8d5a Allow recursive calls to wxEventLoop::Yield().
There doesn't seem to be any reason to forbid them and this change allows
wxExecute() without wxEXEC_NOEVENTS to work without assertion failures when
called from inside wxYield().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:51:06 +00:00
Vadim Zeitlin
36f51e1479 Fix AssocQueryString() error reporting in wxMSW.
Don't report ERROR_NO_ASSOCIATION as an (unexpected) error, it is perfectly
normal to get it if a command is not defined for the given extension.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77649 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:51:02 +00:00
Vadim Zeitlin
42def6f4ee No changes, just use wxEventLoop::IsYielding() accessor.
Use IsYielding() instead of testing m_isInsideYield directly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77648 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:50:59 +00:00
Bryan Petty
124129a45f Rename appprog.{h,cpp} to appprogress.{h.cpp}.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77645 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:58:55 +00:00
Bryan Petty
db13dbc1f6 Move wxAppProgressIndicator into its own header.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77641 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:58:12 +00:00
Bryan Petty
49ed30caae Use the usual WXHWND instead of wxWidget.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77639 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:57:50 +00:00
Bryan Petty
3caf0f6889 Fix mingw warning of using anonymous type in wxTaskBarButtonImpl fields.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77637 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:57:30 +00:00
Bryan Petty
0c6b03c392 Fix coding nits.
- enums shouldn't be DLL-exported,
- Placement of "{"
- Always have dtor of wxGuage and wxFrame.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:57:20 +00:00
Bryan Petty
cf5b3021c6 Don't link shlwapi directly.
For MSVC use #pragma comment to link shlwapi, and for MinGW use dynamic
loading of this library.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77635 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:57:06 +00:00
Bryan Petty
ce1f959dd9 Use wxGA_PROGRESS style for wxGauage in the progress dialog.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77632 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:56:37 +00:00
Bryan Petty
95e8cf9dfb Intergrate wxAppProgressIndicator into wxGuage.
Update the progress bar of taskbar button if wxGuage has wxGA_PROGRESS style.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77631 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:56:29 +00:00
Bryan Petty
04039e01ad Suppress warning: type uses the anonymous namespace.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77630 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:56:15 +00:00
Bryan Petty
6609b57dd7 Fix mingw warning: passing NULL to non-pointer argument.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77629 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:56:05 +00:00
Bryan Petty
31350e35cf Fix warning of reorder: m_appID.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77628 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:55:56 +00:00
Bryan Petty
6b527d5eca Add parent pointer of the classes: item -> category -> jump list.
The parent of wxTaskBarJumpListItem is wxTaskBarJumpListCategory, the
parent of wxTaskBarJumpListCategory is wxTaskBarJumpList. After this change,
users do not need to call the update method of jump list manually.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:55:21 +00:00
Bryan Petty
1ef98f2533 Support setting AppUserModelID of wxTaskBarJumpList.
Specifies a unique Application User Model ID (AppUserModelID) for the
application whose taskbar button will hold the custom Jump List built
through the methods of this class. This parameter is optional.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77622 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:55:01 +00:00
Bryan Petty
e464ed176f Rename access method of custom categories.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77621 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:54:51 +00:00
Bryan Petty
2b8c76daff Rename wxJumpList to wxTaskBarJumpList etc.
Class name wxJumpList is overly generic.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77620 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:54:40 +00:00
Bryan Petty
de7b819cdc Move implementation of jump list to class wxJumpListImpl.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77619 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:54:30 +00:00
Bryan Petty
6795b5c1af Fix rebase error.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77618 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:54:20 +00:00
Bryan Petty
30015f9cfe Implement jump list feature: adding custom categories.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77617 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:54:08 +00:00
Bryan Petty
dc51580b1a Implement getting recent and frequent category.
- New class wxJumpListCategory to represent a category in the jump list.
- Api for accessing recent and frequent category.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77616 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:53:57 +00:00
Bryan Petty
e903ebda55 Reset progress state to no progress when destructing.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77615 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:53:47 +00:00
Bryan Petty
4f4b6b8c3c Fix mingw build error.
1. Load "ChangeWindowMessageFilter" dynamically when wxUSE_DYNLIB_CLASS is true.
2. Redefine interface: IObjectArray, IObjectCollection, IPropertyStrore etc.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77614 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:53:37 +00:00
Bryan Petty
d73285aeb3 Support adding a separator in the task list when setting jump list.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77613 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:53:28 +00:00
Bryan Petty
b8815e8ac3 Implement wxAppProgressIndicator.
An helper class used for updating the progress of taskbar button.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77612 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:53:17 +00:00
Bryan Petty
615773842c Redeclare the interfaces and support setting tasks of jump list roughly.
- Interfaces including: ITaskbarList3, IShellLink, ICustomDestinationList.
- New API for setting tasks of jump list: wxJumpList::SetTasks.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77611 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:53:05 +00:00
Bryan Petty
dd06fa3aa8 Add new api for appending a separator to the thumbnail toolbar.
Actually, when calling AppendSeparator we are appending a disable
ThumbBarButton without background, which can simulate the behavior
of appending a separator.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77610 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:52:55 +00:00
Bryan Petty
4c08974648 Add docs for several interfaces of wxThumbBarButton.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77609 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:52:43 +00:00