Commit Graph

2762 Commits

Author SHA1 Message Date
Vadim Zeitlin
603c73dbba Implement wxStackWalker for wxMSW under x86-64.
Use 64 bit debug help functions instead of 32 bit ones and add code for
dealing with x86-64 stack frames.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69845 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-27 19:52:13 +00:00
Vadim Zeitlin
fc4070fc9d Add support for VK_OEM_102 key under wxMSW.
This is the "<>|" key on German keyboard and is also used in many other
layouts so failing to handle it resulted in not receiving EVT_KEY_XXX events
for these keys in wxWidgets programs.

Closes #13558.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-27 19:50:53 +00:00
Vadim Zeitlin
feb32e3165 Hack wxMSW wxNotebook to show the text controls correctly initially.
Add an Update() call to ensure that text controls in the initially selected
notebook page are shown correctly. It's almost certainly not the right fix for
the real bug that results in text controls not being shown when the notebook
comes up but it doesn't cost much and at least allows us to get correct
appearance for the themed notebooks.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69793 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-22 13:18:45 +00:00
Vadim Zeitlin
60eabdbebf No changes, just remove extra whitespace from wxWebViewIE code.
Closes #13678.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69787 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-18 23:40:24 +00:00
Vadim Zeitlin
97aa7b9955 Provide HANDLE_PTR for the compilers without it such as VC6.
Also include wx/msw/wrapwin.h defininig HANDLE_PTR from wx/msw/webview_ie.h
that uses it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69784 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-17 16:43:34 +00:00
Vadim Zeitlin
f559d1a23c Move wxWebView-related definitions to webview_ie.cpp and fix them.
Ensure that all the GUIDs are defined by including initguid.h to fix linking
error with most versions of MinGW.

Use "wx" prefix to avoid clashes with the standard GUIDs if they do happen to
be defined.

Closes #13645.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-16 23:45:22 +00:00
Vadim Zeitlin
d6c37f5bc4 Fall back on ::GetMessagePos() if ::GetCursorPos() fails under MSW.
In some rare but reproducible cases GetCursorPos() can fail and return without
filling in the provided point. Fall back to GetMessagePos() if this happens:
this is not ideal but clearly better than using uninitialized position or hard
coding something like (0, 0).

Closes #13664.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69758 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-14 12:51:53 +00:00
Vadim Zeitlin
3e6807d701 Don't redefine symbols already defined in latest MinGW headers.
Closes #13645.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-14 12:51:49 +00:00
Robin Dunn
c78f085763 resolve multiple inheritance ambiguity
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69573 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-29 04:50:04 +00:00
Vadim Zeitlin
d0da5061ce Dirty hack to allow generic wxDatePickerCtrl to compile under MSW.
Don't make wxDateTimePickerCtrl methods pure virtual in its MSW-specific
version as the generic wx{Date,Time}PickerCtrl implementations not using these
methods also inherit from it currently. This is wrong and would need to be
fixed properly later but for now this hack at least allows the generic classes
to compile and, apparently, work under MSW again.

Remove the equally dirty hack used in the generic wxTimePickerCtrl to allow it
to compile which is not needed any more because this one replaces it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69489 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-20 16:45:48 +00:00
Vadim Zeitlin
e520c3f75c Added wxRichToolTip class.
It can be used to show more customizable tooltips than the native wxToolTip
but at the price of using generic implementation in some cases (actually
almost always now, with the exceptions of text control tooltips under MSW).

Extra features include:
 - The balloon-like tooltip form.
 - Possibility to show an icon.
 - Title display in a different form.

More customization could be added later. It should be also possible to fully
implement this class natively under MSW.

Update the dialogs sample to show the rich tooltips in action.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-18 21:57:02 +00:00
Vadim Zeitlin
46ea442ca2 Added wxNonOwnedWindow::SetShape(wxGraphicsPath).
TODO: Document.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-18 21:56:52 +00:00
Vadim Zeitlin
164db177a2 Don't use wxMSW version of wxNonOwnedWindow at all under WinCE.
This class becomes completely trivial under WinCE as its functionality
(setting the window shape) can't be implemented under this platform, so just
don't compile it at all there.

This both (slightly) reduces the amount of #if checks and should make the code
(slightly) smaller.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69434 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-15 00:20:56 +00:00
Vadim Zeitlin
bbcf2821a1 Move SetBackgroundBitmap() from wxPanel to new wxCustomBackgroundWindow.
wxCustomBackgroundWindow is a new class allowing to set a custom bitmap for
the background of any window. The relevant code was mostly moved from wxPanel
to which it was added only recently (before 2.9.2) making it unnecessary to
preserve compatibility.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69378 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-11 17:07:43 +00:00
Vadim Zeitlin
5bd0ee9966 Move wxTopLevelWindow::SetShape() down to wxNonOwnedWindow.
Also add wxNonOwnedWindow for wxMSW (which previously simply typedef'd it to
wxWindow) and document this class now that it provides some user-visible
functionality.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69364 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-10 10:53:23 +00:00
Vadim Zeitlin
4506b42ce9 Fix inheriting parent background colour in wxPanel in wxMSW.
wxPanel didn't inherit the background colour set for its parent any more in
wxMSW because its HasTransparentBackground() didn't return true unless the
panel was a child of wxNotebook. This was wrong because not only themed
notebook background should be inherited but also any solid background
explicitly set for a panel parent.

Fix this by returning true from MSWHasInheritableBackground(), which is used
by wxPanel::HasTransparentBackground() under MSW, if the window has an
explicitly set and inheritable background colour.

Closes #13487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-09 22:01:57 +00:00
Steve Lamerton
a1a1790666 Reuse existing MinGW defines for all compilers that are missing them.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-09 10:45:16 +00:00
Steve Lamerton
8acbf08b2a Fix various GCC warnings in wxWebView.
Closes #13532

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69318 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-06 17:55:43 +00:00
Steve Lamerton
3949871086 Store a pointer to each ClassFactory so we can correctly release it when the browser closes. This fixes a few more memory leaks.
See #13500

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69314 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-05 17:23:51 +00:00
Steve Lamerton
ad410224a3 Add new definitions required by MinGW for webview. Re-enable custom schemes as a result.
See #13509

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69292 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-02 16:20:15 +00:00
Steve Lamerton
2112ca2d61 Remove copied class definitions from missing.h. Disable custom scheme handling under MinGW as it lacks the correct definitions.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-02 12:21:22 +00:00
Steve Lamerton
9e0fb96615 Correctly initialise ref count in custom scheme class factory.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69266 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-01 19:22:28 +00:00
Vadim Zeitlin
569c7d8ccb Add wxTimePickerCtrl class.
Implement wxTimePickerCtrl natively for MSW and add a generic implementation
(very loosely based on the original class by Paul Breen) for the other
platforms.

Also update the calendar sample to show the new control.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69224 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-29 13:43:15 +00:00
Vadim Zeitlin
8957e55ed3 Refactor wxDatePickerCtrl to derive from wxDateTimePickerCtrl.
No real changes, just refactor wxMSW wxDatePickerCtrl to allow sharing code
with the upcoming wxTimePickerCtrl class. Even less changes for the other
platforms where wxDateTimePickerCtrl is trivial.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-29 13:43:02 +00:00
Steve Lamerton
e924e848f7 Fix compilation of wxWebView under mingw by adding missing definitions and dynamically loading urlmon.
Fixes #13509

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69209 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-28 14:54:56 +00:00
Vadim Zeitlin
c559c4b3ef Change wxSound ctor from in-memory data to use size_t/void *.
This constructor previously used int and, especially annoyingly, wxByte* for
the data. Use standard void* for untyped binary data instead.

Also document this ctor as it seems to be implemented in all ports.

Closes #13451.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-21 15:08:02 +00:00
Vadim Zeitlin
b481194f51 No changes, just extract wxCreateHiddenWindow() declaration in a header.
Add wx/msw/private/hiddenwin.h with wxCreateHiddenWindow() declaration instead
of declaring it manually in all the files using it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69170 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-21 15:07:32 +00:00
Steve Lamerton
882ecaa631 Use integral value for OLECMDID_OPTICAL_ZOOM as we cannot tell if an enum value is already defined or not.
Fixes #13475

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69085 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-14 16:45:50 +00:00
Steve Lamerton
9d2f31db0c Update wxWebView guards to stop backend compilation when wxUSE_WEBVIEW is 0.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69074 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-12 18:35:39 +00:00
Steve Lamerton
d60b34a413 Update setup files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69057 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-11 10:15:28 +00:00
Steve Lamerton
b2b31b87fb Merge the new wxWebView classes from the SOC2011_WEBVIEW branch.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69049 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-10 18:09:12 +00:00
Steve Lamerton
1d156af324 Merge in from trunk r68684 - r69046
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/SOC2011_WEBVIEW@69047 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-10 15:09:22 +00:00
Robin Dunn
01bd848eb9 Enable the HWND of the task dialog to be fetched with GetHandle if it is being used.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69041 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-10 03:26:37 +00:00
Vadim Zeitlin
b18ebec956 Make wxBU_EXACTFIT fir the button text more exactly.
Too big margins were added for the buttons with wxBU_EXACTFIT style making
them larger than strictly necessary. Reduce the margins to make them really
as small as possible.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68922 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 14:11:28 +00:00
Vadim Zeitlin
03dede4dc1 Add wxTextEntry::AutoCompleteDirectories().
As we already had MSW-specific AutoCompleteFileNames(), we can just as well
also add the also useful AutoCompleteDirectories() to be used with the text
controls used for path entry.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68918 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 14:11:13 +00:00
Vadim Zeitlin
524cb04066 Add new wxTreeListCtrl class.
This is a facade for wxDataViewCtrl allowing to easily work with multi-column
trees, possibly with an optional checkbox in the first column. Its API is very
similar to wxTreeListCtrl and it provides a simple migration path from the
latter.

Add the class itself, documentation for it and minimal unit tests.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68916 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 14:11:03 +00:00
Vadim Zeitlin
ea11bf3abc Add new wxBannerWindow class.
A simple banner showing either a bitmap or some text on gradient background.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68838 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 12:18:43 +00:00
Julian Smart
62f9f10d92 Rename identifier
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/SOC2011_WEBVIEW@68834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 11:26:46 +00:00
Vadim Zeitlin
1871b9facb No changes, just use symbolic NO_IMAGE constant instead of -1 or wxNOT_FOUND.
Existing declarations used -1 in several places to indicate the absence of the
image which wasn't especially clear and was also inconsistent with other
places that used wxNOT_FOUND which didn't make much sense in this context.

Add a new symbolic constant NO_IMAGE in wxWithImages and use it in the classes
deriving from it. This still doesn't help with wx{Tree,List}Ctrl but improves
clarity for the other classes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68810 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-21 14:08:49 +00:00
Vadim Zeitlin
36a96421b3 Replace wxComboBox::IsEmpty() with Is{List,Text}Empty().
IsEmpty() didn't exist in all ports (notably not wxMSW) and its meaning was
unclear anyhow, so remove it even from the ports where it did exist and add
clear Is{List,Text}Empty() replacements instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68808 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-21 12:06:16 +00:00
Steve Lamerton
467d261e9d Rename web library to webview.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/SOC2011_WEBVIEW@68789 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-19 10:45:16 +00:00
Steve Lamerton
4d0dddc7ad Rename LoadUrl to LoadURL. This corrects the capitalisation as it is an acronym, and brings it into line with GetCurrentURL.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/SOC2011_WEBVIEW@68760 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-17 10:55:59 +00:00
Steve Lamerton
e669ddde23 Const correct the wxWebView api.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/SOC2011_WEBVIEW@68755 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-17 10:26:09 +00:00
Steve Lamerton
c13d6ac1ea Rename wxWebHistoryItem to wxWebViewHistoryItem.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/SOC2011_WEBVIEW@68698 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-15 12:31:31 +00:00
Steve Lamerton
7d8d6163ad Rename wxWebFileHandler to wxWebViewArchiveHandler, wxWebHandler to wxWebViewHandler. Update the documentation and the sample. Add a constructor taking a wxString to specify the scheme in wxWebViewHandler.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/SOC2011_WEBVIEW@68689 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-14 12:15:34 +00:00
Steve Lamerton
94e0018723 Merge in from trunk r64802 - r68625
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/SOC2011_WEBVIEW@68626 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-10 18:10:42 +00:00
Steve Lamerton
3baf235f60 Use shared pointers to hold wxWebHandlers throughout.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/SOC2011_WEBVIEW@68605 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-08 15:12:33 +00:00
Vadim Zeitlin
ddae52629c Added wxTopLevelWindow::MSWGetSystemMenu() method.
Also generate events corresponding to WM_SYSCOMMAND messages for the custom
items of the system menu.

Add a small snippet to test the new functionality to the dialogs sample.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-08 09:32:42 +00:00
Vadim Zeitlin
960493053b Added private wxMenu::MSWNewFromHMENU() method.
Add a method allowing creation of a wxMenu object from a native menu handle.
This will be used to implement access to the system menu in an upcoming commit
but could also be useful for other purposes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-08 09:32:39 +00:00
Vadim Zeitlin
7112cdd1f3 Add support for wxHELP button to wxMessageDialog.
Implement support for wxHELP for wxMSW, wxGTK and wxOSX/Cocoa (at least when
showing the message box from the main thread, there doesn't seem to be any way
to show more than three buttons with CFUserNotificationDisplayAlert() so
"Help" button is not supported when using it).

This is useful not only on its own, i.e. to allow the user to ask for help,
but also because it brings the total number of buttons supported by the
message dialog to 4, meaning that more choices can be offered to the user
(which is rarely, but not quite never, useful).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68537 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-04 22:53:42 +00:00