Commit Graph

3332 Commits

Author SHA1 Message Date
Vadim Zeitlin
f239af65af Allow setting LCID used by wxAutomationObject.
Default user-locale-dependent LCID may be inappropriate for some situations,
notably Microsoft Excel uses localized formula names for non-English LCIDs.
So add a way to change the LCID to use at wxAutomationObject level while
preserving the old behaviour by default.

Closes #14540.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72265 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-31 10:31:55 +00:00
Robin Dunn
6d4b1e2759 wxDC::GetHandle support for wxMSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72225 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-28 19:31:09 +00:00
Vadim Zeitlin
b6a49c2b75 Add wxWebView::GetNativeBackend() method.
This allows to use platform-specific methods in user code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72210 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-24 21:59:21 +00:00
Vadim Zeitlin
a977376af3 No real changes, just avoid overloaded virtual wxWebView::SetPage().
Instead, have two public non-virtual SetPage() methods forwarding to a private
DoSetPage(), as usual.

This avoids the need for "using wxWebView::SetPage" which is needed to avoid
warnings about hiding the other base class virtual when implementing one of
them and which was forgotten in wxMSW version resulting in warnings when using
g++ to compile it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72200 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-24 20:45:10 +00:00
Vadim Zeitlin
4e3eeddebd Fix wxMSW wxTextEntry compilation in wxUSE_DYNLIB_CLASS==0 case.
Simply don't define DoAutoCompleteFileNames() as it needs wxDynamicLibrary to
compile and work.

Closes #14510.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72183 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-23 15:03:57 +00:00
Vadim Zeitlin
7d17efb14d Define wxGUIAppTraits for wxGTK/Windows port.
Closes #14505.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-23 15:03:30 +00:00
Vadim Zeitlin
6c32fb8f9d Add support for CURRENCY and SCODE to MSW OLE helpers.
This allows to call OLE Automation methods taking parameters or returning
values of these types.

Closes #14225.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72081 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-14 20:10:58 +00:00
Vadim Zeitlin
e27f554012 Use the same console event loop in wxBase and wxCore in wxMSW.
Refactor the console event loop code into separate files to untangle it from
the GUI version and ensure that it doesn't depend on the GUI at all. It can
now be defined in the base library and simply reused by the core one.

This also makes the console event loop usable for other ports under Windows,
e.g. wxGTK.

Closes #14426.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72008 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-10 23:52:00 +00:00
Robin Dunn
65fb4b3a4f Make a couple virtuals protected so they can be overridden.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71998 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-10 06:42:15 +00:00
Robin Dunn
e9fed11291 Revert r71595 for now, as the bug it fixed is the lesser of two evils with the potential bugs it causes. See #14453.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71981 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-08 03:48:55 +00:00
Vadim Zeitlin
69bacfaacf Fix wxMSW compilation without PCH.
Include wx/bitmap.h as we need its GetHBITMAP() method in wx/msw/dib.h.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71925 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-01 22:39:41 +00:00
Vadim Zeitlin
26cdd42d2c Define wxEntry() with WinMain-compatible signature for all Windows ports.
Make wxEntry(HINSTANCE, ...) available in wxGTK under Windows too.

Refactor the headers to allow this and extract Windows-specific wxEntry()
declarations in wx/msw/init.h from wx/msw/app.h for consistency with the
normal wxEntry(int, char**) declared in wx/init.h.

Closes #14423.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71890 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-30 16:33:28 +00:00
Vadim Zeitlin
954fd05108 Disable creation of wxDIB from wxBitmap in non-wxMSW ports.
wxDIB can now be used with wxGTK under Windows, i.e. when not using wxMSW
version of wxBitmap but it can't be created from wxBitmap then as it doesn't
have a corresponding HBITMAP.

Simply disable this functionality when not using wxMSW.

Closes #14414.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71798 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-17 21:35:10 +00:00
Vadim Zeitlin
b33e9f4031 Add wxUSE_COMPILER_TLS to allow disabling compiler TLS support.
Compiler TLS support is broken under Win32/MSVC when used for a code which is
part of a dynamically loaded DLL, so allow disabling it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71792 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-17 21:34:47 +00:00
Vadim Zeitlin
017dc06b50 Use wxString::t_str() in calls to Windows API functions in wxMSW.
Use t_str() instead of wx_str() to make the code work correctly in UTF-8 build
in which wx_str() returns a pointer to UTF-8 buffer while we need a wchar_t
pointer for Windows.

Closes #14371.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71640 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-03 19:16:59 +00:00
Steve Lamerton
f40f8e1722 Use wxCOMPtr throughout wxWebViewIE to simplify the code and reduce the chance of memory leaks. Also mark PPV_ARGS_CHECK as inline so it can be used from multiple libraries.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71639 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-03 17:41:32 +00:00
Vadim Zeitlin
125afca0c0 Add wxMSW_CONV_LPCTSTR() and related macros and use them in wxBase.
Add macros hiding the ugly casts needed to pass wxStrings to Windows API
functions and use them in a couple of places in wxBase to simplify the code.

Closes #14338.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-01 22:34:13 +00:00
Robin Dunn
5ad24e6dbb Adjust the client area origin and the client size of the MSW wxStaticBox according to the guidelines on http://msdn.microsoft.com/en-us/library/aa511279.aspx. This is so widgets that are children of the static box will not overlap the label or box borders.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-30 03:13:35 +00:00
Vadim Zeitlin
364f3b0700 Don't use wxCHECK_W32API_VERSION() in #if when it can be undefined.
wxCHECK_W32API_VERSION() is only defined when using MinGW, don't use it an #if
test which is always parsed but only in a separate test inside #ifdef __GNUG__
test which is parsed only when we do use MinGW.

This fixes harmless but annoying warning from MSVC 10.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71545 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-23 21:16:41 +00:00
Vadim Zeitlin
1e20681c9e Implement constrained best size calculation in wxMSW wxListCtrl.
This fixes wxListbook controller size to avoid spurious scrollbars.

Closes #13898.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71394 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-09 14:24:47 +00:00
Vadim Zeitlin
ae4375b878 Fix wxStaticBitmap best size calculation in wxMSW.
Take the control borders into account by overriding DoGetBestClientSize()
instead of DoGetBestSize().

Also invalidate the default best size computed before we have any valid image
when setting the initial image in Create().

Closes #4099.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71380 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-09 14:23:57 +00:00
Dimitri Schoolwerth
ae580de376 Fixed parts of toolbar background not being drawn with older comctl32.dll.
When using comctl32.dll versions older than 6.0 toolbar icons would not have their background drawn. Fix this in a rough way by always completely erasing the background like was done before. Regression since r62971.

Closes #13512.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71341 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-02 14:44:45 +00:00
Vadim Zeitlin
7e7ba0dfc5 Add missing "flags" argument to wxNotificationMessage ctor in wxMSW.
It was impossible to specify the flags when creating wxNotificationMessage in
wxMSW, cotrary to the other ports and the documentation.

Fix this by adding the missing argument to the ctor and simply passing it to
the base class one, we don't have to do anything else as the existing code
already calls GetFlags() later so it should respect these flags without any
more changes.

Closes #14245.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71312 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-28 22:25:23 +00:00
Robin Dunn
70175534bf Make wxTaskBarIcon's ctor have the same API on all platforms even though setting the icon type can only be done on wxOSX-cocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71242 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-20 05:41:54 +00:00
Vadim Zeitlin
badf8578b2 Add default ctor to wxMSW private WindowHDC helper class.
Allow to use objects of this class without any valid HWND, this is useful for
the derived classes which may, or may not, need the corresponding HDC.

See #14194.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71208 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-16 14:29:59 +00:00
Vadim Zeitlin
6f3320bf3d No real changes, just some typo fixes for previous commits.
Fix wxCOMPtr comment and don't use "s_" for non-static variable.

Closes #14227.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71202 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-16 12:12:15 +00:00
Vadim Zeitlin
580ffdf4c0 Use new style directory selection dialog under Vista and later.
Use IFileDialog in wxDirDialog implementation if possible, it shows a much
more user-friendly dialog than the one used by SHBrowseForFolder().

Closes #11401.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71201 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-15 23:18:12 +00:00
Vadim Zeitlin
09278fdb79 Added wxCOMPtr<> helper class.
This allows to avoid error-prone manual AddRef() and Release() calls when
writing COM code in wxMSW.

See #11401.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71200 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-15 23:18:08 +00:00
Vadim Zeitlin
e911dd0a5a Hide combobox popup when it is hidden itself in wxMSW.
It was possible to hide the main part of a combobox control but keep its popup
shown and this notably happened in wxGrid when TAB was pressed while a
wxChoice cell editor was dropped down.

Avoid this Cheshire combobox syndrome by explicitly dismissing the popup when
a combobox is hidden.

Closes #3113.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71104 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-05 18:40:20 +00:00
Vadim Zeitlin
a24fb9f847 Refactor: move wxComboBox::MSWDoPopupOrDismiss() down to wxChoice.
No real changes, just make this method available in wxChoice for the next
commit needs.

See #3113.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71103 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-05 18:40:15 +00:00
Vadim Zeitlin
2415cf6725 Remove support for MetroWerks CodeWarrior compiler.
This compiler doesn't exist any more and was probably unsupported even in 2.8,
let alone 2.9, so remove all the __MWERKS__ tests to simplify things.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71102 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-05 18:40:11 +00:00
Vadim Zeitlin
f7dd07f64d No real changes, just use clearer names for wxMSW wxToolTip methods.
Rename wxToolTip::DoAddOtherWindow() to DoAddHWND() as it should be used for
adding any window associated with the tooltip, either the main or an auxiliary
one. And rename wxToolTip::Add() to AddOtherWindow() because it shouldn't be
used for the main window.

See #14184.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71096 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-05 13:55:51 +00:00
Steve Lamerton
34326da778 Minor changes, just trim trailing spaces in webview code.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71034 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-28 18:00:30 +00:00
Vadim Zeitlin
b9e52a19e6 Implement horizontal mouse wheel events support for wxMSW.
Handle WM_MOUSEHWHEEL messages and translate them to the corresponding
wxMouseEvents.

Closes #14105.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70962 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-22 00:27:02 +00:00
Julian Smart
7f6cf37004 Removed redundant DoEnable
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70881 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-12 11:42:49 +00:00
Robin Dunn
f2b6dd8c50 Make the CreateTool factories be public so they can be used from application code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70854 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-10 00:01:09 +00:00
Vadim Zeitlin
1580a10d87 Always provide wxMenuItem bitmap-related methods in wxMSW.
Define these methods even when wxUSE_OWNER_DRAWN is turned off for some
reason. This allows to avoid ugly tests for !defined(__WXMSW__) ||
wxUSE_OWNER_DRAWN in the code that just wants to set a bitmap for a menu item.

Closes #12664.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70801 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-04 00:29:55 +00:00
Vadim Zeitlin
bcdeea5a5b No changes, just add wxSpinCtrl::Init() to wxMSW.
Remove a "TODO" comment about adding it and initialize all member variables
there instead of doing it only in Create().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70799 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-04 00:29:48 +00:00
Vadim Zeitlin
7193abfbc8 Use wxPageSetupDialogData instead of old wxPageSetupData everywhere.
No real changes, just don't use the old and kept for compatibility only
wxPageSetupData name.

Closes #13992.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-20 21:55:55 +00:00
Vadim Zeitlin
82b30473f9 Make wxDragImage ctors taking hot spot point really deprecated in wxMSW.
They were documented as deprecated and deprecated in the generic version (and
actually not even available there any more without WXWIN_COMPATIBILITY_2_6)
but not in wxMSW, where we just had the weird wxLogDebug() statements that
were inconsistent with our handling of deprecation everywhere else.

Do deprecate them now, remove wxLogDebug() and also remove the deprecated
ctors and Create() overloads from the documentation.

Finally, remove the documentation of deprecated and available in the generic
version only ctor taking only wxCursor (closes #13967).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70584 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-15 00:35:25 +00:00
Vadim Zeitlin
0c6dff0370 Preserve focus when window is minimized and restored in wxMSW.
Add specific code to save and restore the focus when the window is minimized
and restored in wxMSW as the existing code in WM_ACTIVATE handler wasn't
enough because this event was generated too late when minimizing the window
(when it was already minimized and so the focus had been already lost) and too
early when restoring it (so the window was still minimized and restoring focus
failed).

This is still not perfect as we do in our code something Windows would be
expected to do automatically but for whatever reason, it doesn't do it for
wxWidgets programs, and this manual workaround at least prevents the annoying
total focus loss.

Closes #1599.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70513 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-05 14:18:28 +00:00
Vadim Zeitlin
7cee4f7621 No changes, just implement Raise() in wxTopLevelWindow in wxMSW.
Get rid of two identical implementations in wxFrame and wxDialog and only
override this function once in wxTopLevelWindow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70511 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-05 14:18:22 +00:00
Steve Lamerton
9447a0d6af Disable navigation sounds in wxWebViewIE. This brings the backend into line with the other backends. Also add a general method for changing INTERNETFEATURELIST settings.
See #13694

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70499 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-02 20:32:08 +00:00
Vadim Zeitlin
d9c4ffa893 Fix initial wxRadioBox buttons positions in wxMSW.
We only updated the button positions when the radio box was moved or resized
after being created but didn't do it initially, so a radio box created with
fixed position and size didn't lay out its buttons correctly. Do lay them out
immediately after creating the radio box to fix this.

Closes #13912.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70498 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-02 14:26:06 +00:00
Vadim Zeitlin
c7a49742ec Add support for stricken-through fonts.
Support stricken-through fonts in wxMSW and wxGTK (including special support
in wxStaticText and wxTextCtrl).

Closes #9907.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70446 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-23 11:28:28 +00:00
Vadim Zeitlin
0634700a96 Add wxFont ctor taking a single flags argument instead of style/weight/...
Currently this ctor just does the same thing as the existing ctors in a
different way but it will be extended to support wxFONTFLAG_STRIKETHROUGH in
the next commits.

See #9907.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70445 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-23 11:28:21 +00:00
Vadim Zeitlin
6627ac2da2 Remove more non-standard keywords from wxWebView MSW header.
Complete the changes of r70365 by removing the rest of __out, __in and
__nullterminated occurrences.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70366 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-16 12:56:09 +00:00
Steve Lamerton
96457e6705 Remove MSVC specific specifiers from wxWebView code.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70365 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-16 08:21:33 +00:00
Steve Lamerton
accc94d55c Implement IDocHostUIHandler in wxWebViewIE to improve the default behaviour. Disable built-in keyboard handlers, remove the 3D border and enable themes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70362 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-15 19:19:00 +00:00
Steve Lamerton
1f7d05f019 Add wxActiveXContainer::QueryClientSiteInterface to allow customisation of ActiveX controls.
Closes #13784.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70361 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-15 19:05:34 +00:00