Commit Graph

609 Commits

Author SHA1 Message Date
Tobias Taschner
3206df50c4 Add Microsoft Visual Studio 2017 solution file for building wxMSW
Allow building with VS15 out of the box.

Closes https://github.com/wxWidgets/wxWidgets/pull/353
2017-01-16 17:02:10 +01:00
Vadim Zeitlin
59bd1178f1 Fix build with RTTI turned off using MSVC makefiles
Rebake these makefiles using fixed version of bakefile (pre-0.3.0).

See https://github.com/vslavik/bakefile/pull/85

Closes #17767.
2017-01-04 12:01:14 +01:00
Vadim Zeitlin
395d453c94 Link with oleacc.lib when using MSW gcc makefiles
This library is now required when wxUSE_ACCESSIBILITY==1, but was only linked,
using a compiler-specific pragma, when using MSVC resulting in link errors
with gcc.

Fix this by adding the library to the bakefile for non-MSVC compilers and
rebaking.
2017-01-04 11:50:18 +01:00
mirh
26a58e9d48 Don't use thread-safe statics with MSVS when targeting XP
Disable thread-safe initialization for static local variables in Visual Studio
2015 when XP toolset is used as this results in crashes when using DLLs under
XP, see #13116.

Closes #17403.
2016-07-02 14:30:42 +02:00
Vadim Zeitlin
7f603c959f Move wxPanel::HasTransparentBackground() to wxControlContainer
This MSW-specific hack is actually needed by all windows containing more than
one control, even if they don't derive from wxPanel (which is just the most
commonly used class for such windows), otherwise the parts of the window not
covered by the child controls won't have the correct appearance when the
window itself is inside a wxNotebook.

So do this for all classes inheriting from wxNavigationEnabled<>, notably this
fixes the wrong background for all kinds of picker controls (wxDirPickerCtrl,
wxFilePickerCtrl, ...) when they're used inside a wxNotebook.

After moving this method out of wxPanel, src/msw/panel.cpp became empty, so
also delete it and remove it from {bake,make,project} files.
2016-06-07 22:08:51 +02:00
Vadim Zeitlin
45919829c0 Add gtk/mimetype.* files to bakefiles and rebake
This should have been part of 4dfde501df, see
https://github.com/wxWidgets/wxWidgets/pull/293
2016-06-07 14:38:41 +02:00
Vadim Zeitlin
690ca5a1b4 Merge branch 'scintilla366' of https://github.com/pkulchenko/wxWidgets
Update bundled Scintilla version to 3.6.6.
2016-06-04 19:47:49 +02:00
Vadim Zeitlin
675d9d779d Add wxSecretStore
Add a new class allowing to store passwords and other sensitive information
using the OS-provided facilities.

Add implementations for all the main platforms, documentation and a new sample
(which contains an ad hoc unit test as the real unit test for this class would
probably be a bad idea as it wouldn't run in non-interactive contexts and
could show OS level dialog boxes if it did).
2016-06-04 18:29:15 +02:00
Paul Kulchenko
4ad886ca86 Update build files to add new lexer in Scintilla 3.6.6 (LexJSON). 2016-06-02 21:45:09 -07:00
Paul Kulchenko
8919528996 Updated makefiles to add NO_CXX11_REGEX to compile Scintilla 3.6.6+ where C++11 not fully supported. 2016-06-02 14:36:54 -07:00
Vadim Zeitlin
c15f75b81d Use custom draw in wxMSW wxHeaderCtrl to support colours
Add a helper wxMSWImpl::CustomDraw class which will be reused in the other
places too and, for now, use it just to implement support for custom colours
in wxHeaderCtrl.

Notice that the control took care of the custom font on its anyhow and that
background colour is ignored when themes are enabled, so the net effect of
this change is that now changing the header foreground colour works, while
it was ignored before.
2016-04-17 17:01:08 +02:00
Vadim Zeitlin
246ae58c19 Replace wxTreeItemAttr and wxListItemAttr with wxItemAttr
The two existing structs were completely identical, just replace them with a
single wxItemAttr.

Notice that wxDataViewItemAttr is not quite the same, although pretty similar,
so it remains separate for now. It would be nice to combine it with this one
too in the future, e.g. to make it simpler to make items bold in a wxListCtrl.
2016-04-16 19:04:52 +02:00
Andrea Zanellato
cf5fa7d5f1 Add support for wxAuiManager and wxAuiPaneInfo to XRC
Add XRC handler for wxAuiManager and include the existing wxAuiNotebook
handler into it (but notice that wxAuiToolBar handler added by a later #15686
in f269f868d7 remains separate).

Also update the AUI dialog in the sample and stop hardcoding its size in
pixels.

See #13520.
2016-03-09 01:11:16 +01:00
Vadim Zeitlin
b7227f2bf3 Add files new in Scintilla 3.6.3 to bakefile and rebake
Also update MSVS 201x project file manually to match.
2016-03-05 17:59:37 +01:00
Vadim Zeitlin
72e68c9d9d Update MSVS 200x projects after 3.1.1 version change
Rebake them using bakefile to really take the version change into account.
2016-03-05 15:46:15 +01:00
Vadim Zeitlin
7eee3576cf Update version to 3.1.1
Update misc/scripts/inc_release script: remove non-existent any more files and
update the version in the MSVS 200x project files not generated by bakefile
any more and MSVS 201x project files which were not previously taken into
account.

Run it and rebake.
2016-03-03 23:23:06 +01:00
Vadim Zeitlin
30393a178f Use long version string in the DLL names in MSVS 201x projects
This makes them compatible with the makefiles and MSVS 200x projects.

Notice that wxVersionString will need to be set to "32", not "320", when 3.2.0
release is done, as the micro version component is only used in the DLL names
for the development releases but not stable ones.
2016-03-03 23:23:06 +01:00
Vadim Zeitlin
ffce5b09f8 Include src/generic/activityindicator.cpp in wxUniv sources
This generic implementation should be used for wxUniv too, otherwise any code
using wxActivityIndicator, such as the widgets sample, simply failed to link
when using it.

Closes #17394.
2016-02-24 19:52:33 +01:00
Vadim Zeitlin
b095c9d7c0 Remove extra CRs from wx_adv.vcxproj.filters
This confused upmake and was just generally strange.
2016-02-21 17:17:23 +01:00
Vadim Zeitlin
80d4993119 Merge wxNotificationMessage for OS X and MSW 8+
Closes https://github.com/wxWidgets/wxWidgets/pull/92
2016-02-18 23:09:05 +01:00
Tobias Taschner
49b82e72f2 Add native wxAuiToolbarArt for MSW.
Using UXTheme or generic fallback for executables without manifest.
2016-02-10 20:40:45 +01:00
Tobias Taschner
9345482fbf Add Win8+ toast notification to wxNotificationMessage.
Since Windows 8 there are native toast notifications available via WinRT defined in windows.ui.notifications.h. This adds support for these notifications via wxNotificationMessage. These notifications have to be explicitly enabled via wxNotificationMessage::MSWEnableToasts() because they require a start menu shortcut to the application.
2016-02-10 20:38:12 +01:00
Tobias Taschner
72db8a6265 Add basic support to use WinRT APIs.
Some Windows8+ APIs are only accessible via WinRT which is based on COM. However there are a few dependencies to get to the interfaces via functions defined in roapi.h. Using RoInitialize, RoUninitialize, etc. directly from it's windows headers adds dependencies to the WinRT dlls leaving the resulting exe unable to launch on earlier Windows versions. The wxWinRT functions wrap this with dynamic loading. Additionally wxWinRT::TempStringRef adds a convenient wrapper to HSTRING which is used extensively in WinRT APIs.
2016-02-10 20:38:11 +01:00
Tobias Taschner
bf5e403a68 Restructure wxNotificationMessage.
wxNotificationMessage has been refactored to always use wxNotificationMessageImpl (this was previously already done in the MSW implementation)

This adds various features and fixes to wxNotificationMessage:
- OS X Notification Center implementation
- Generic "toast" notifications
- SetIcon() to specify a custom icon
- AddAction() to add actions to notifications
- Events to get notify of notification clicks, dismiss or actions
2016-02-10 20:38:10 +01:00
Vadim Zeitlin
f0da6aa0ae Allow using wxCollapsibleHeaderCtrl in wxGTK too
The implementation file for this control somehow wasn't used in wxGTK build,
fix this and, in fact, include it in common sources as there is only a generic
implementation of this control so far.

Closes #17309.
2016-02-08 02:28:00 +01:00
Vadim Zeitlin
0095e801a2 Define wxOutDirName variables in MSVS properties file
This will be useful for allowing other projects, not necessarily located at
the same level of the file hierarchy as the projects for building the library,
to refer to the location of the libraries more easily.
2016-02-05 22:43:23 +01:00
Peter Tissen
cfd4da8fdb Copy wx/msw/setup0.h to setup.h if none already exists
Automatically create setup.h when using a git checkout with MSVS.

Closes https://github.com/wxWidgets/wxWidgets/pull/52
2016-01-02 17:26:17 +01:00
Vadim Zeitlin
5cce48186c Link with shlwapi.lib and version.lib under MSW
These libraries are required now that we don't load the functions from them
dynamically (see e78be14ac1)

Closes #17180
2015-10-07 18:56:33 +02:00
Vadim Zeitlin
de96b0dae7 Implement native wxAuiTabArt for MSW
This wxAuiTabArt implementation uses Windows uxtheme API to draw AUI tabs. A
fallback to generic tab art is implemented for the bottom tabs or if uxtheme
is not available (disabled by user or no manifest file).

Closes https://github.com/wxWidgets/wxWidgets/pull/105
2015-10-04 00:28:00 +02:00
Vadim Zeitlin
eae9cf1641 Put systhemectrl.{cpp,h} in alphabetic order in the MSBuild project
No real changes, just keep files a bit better organized.

See #16414.
2015-10-04 00:11:16 +02:00
Vadim Zeitlin
d22574a042 Remove wrong inclusion of systhemectrl.cpp from MSBuild project
This got somehow added in 2fff3cd29f (bug in
upmake?).

See #16414.
2015-10-04 00:11:16 +02:00
Vadim Zeitlin
a3fc5c5400 Update MSBuild wxHTML project to match the old MSVC one
The MSBuild project was not updated in c5d29608b1
so do it now, using upmake.

See #16923.
2015-10-04 00:11:16 +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
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
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
Vadim Zeitlin
c5d29608b1 Build src/html/chm.cpp as part of wxMSW.
In native MSW builds this file is not needed as wxUSE_LIBMSPACK is always 0
anyhow, but it is required when cross-compiling or using Cygwin and libmspack
was detected by configure.

Closes #16923.
2015-08-14 13:55:07 +02:00
Peter Tissen
328743bf2d Add Microsoft Visual Studio 2015 solution file for building wxMSW.
Allow building with VC14 out of the box.

Closes https://github.com/wxWidgets/wxWidgets/pull/48
2015-07-21 23:07:06 +02:00
Vadim Zeitlin
294f9dcf17 Add files added to Scintilla 3.5.5 since 3.4.1 to MSBuild projects.
These files are not generated by bakefile, so add new files to them manually.
2015-06-15 02:17:53 +02:00
ARATA Mizuki
28e80e5b58 Update Scintilla from 3.5.2 to 3.5.5 2015-06-15 01:32:08 +02:00
ARATA Mizuki
43057d1c43 Update Scintilla from 3.4.4 to 3.5.2 2015-06-15 01:32:06 +02:00
ARATA Mizuki
40a18a74f9 Update Scintilla from 3.4.1 to 3.4.2 2015-06-15 01:32:05 +02:00
Vadim Zeitlin
6c36ea4ffe Regenerate XRC MSBuild project after wxActivityIndicator handler addition.
This should have been part of d2ddb2c7c0.
2015-03-25 18:55:58 +01:00
Vadim Zeitlin
d2ddb2c7c0 Add XRC handler for wxActivityIndicator control.
The only attribute for this control is a boolean "running" which can be set to
start the indicator on load.

Update the schema, documentation and the XRC sample.
2015-03-20 00:08:38 +01:00
Vadim Zeitlin
3f84cb17ca Add wxActivityIndicator control.
This is a simple animated control indicating some program activity.

Provide native GTK+ (for > 2.20) and OS X implementations as well as a generic
one used under MSW.

Update the sample and the documentation.
2015-03-20 00:08:37 +01:00
Vadim Zeitlin
f1cc587a99 Mark MSVS *.props files as using CR LF as well.
For consistency with *.vcxproj and *.sln.
2015-03-19 21:46:05 +01:00
Vadim Zeitlin
3c59f46b64 Convert even more CRLF files to use LF in the git repository.
Somehow more files appear as modified now, after fixing "all" of them in the
previous commit. Convert these files as well. Will there be more in the next
clone?
2015-03-19 21:15:11 +01:00
Vadim Zeitlin
c3e5751c36 Convert all CRLF files to use LF to fix git confusion.
Having CRLF files in the repository with eol=crlf breaks just about
everything, e.g. any rebase/merge involving these files would fail.
Try to fix this by making sure the files use LF in the repository and CRLF is
only used in the working copy.
2015-03-19 15:10:48 +01:00
Vadim Zeitlin
453897149f Add wxAddRemoveCtrl class.
This is a simple high level helper combining an arbitrary control showing
multiple items with the buttons allowing to add items to and remove items from
this control, but using the buttons and the layout appropriate for the current
platform.

Add the implementation itself, an example of using it to the dialogs sample
and the documentation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-09 00:26:11 +00:00
Vadim Zeitlin
a2915312c2 Add include/wx/richtext/richtexttabspage.h to the MSBuild project.
This seems like an occidental omission.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78339 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-03 01:07:47 +00:00
Vadim Zeitlin
503d4e7f06 Remove files not being compiled from richtext MSBuild project.
Several sources in this project are actually not compiled at all, but are
included from other files, so they don't appear in the master sources list.

Update the project accordingly, for consistency with the earlier versions of
MSVC.

If these files should appear in it, they need to be added to RICHTEXT_HDR
variable.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78338 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-03 01:07:43 +00:00