Commit Graph

2313 Commits

Author SHA1 Message Date
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
Tobias Taschner
d7540a05c1 Fix Cocoa Xcode build.
Changes in abe10b8c00 broke building via the Xcode project file.
2016-02-10 16:57:32 +01:00
Tobias Taschner
abe10b8c00 Fix wxBase build under OS X
Due to recent changes in utils, stdpath and the removal of carbon, building on
OS X was broken by various compiler errors and linker issues.

Closes https://github.com/wxWidgets/wxWidgets/pull/210
2016-02-10 16:12:20 +01:00
Vadim Zeitlin
b1cb64f47f Remove old Cocoa port files from the files list
This should have been part of commit e7bf85055c.
2016-02-08 02:28:00 +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
36b5df11a5 Add AUI_MSW to AUI sources in upmake_script.pl too
This new variable was added to the generated upmake in
de96b0dae7 but not to the source script.
2016-02-07 14:41:59 +01:00
Vadim Zeitlin
3161c907a3 Add missing new line to upmake diagnostic message
Just a tiny cosmetic fix.
2016-02-07 14:39:30 +01:00
Vadim Zeitlin
602ea92143 Remove wxOSX/Carbon from the makefiles too
Update bakefile sources (and upmake files list) to remove the Carbon files
removed by 5ba67c67e4 and rebake.
2016-02-07 14:37:11 +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
Tobias Taschner
5ba67c67e4 Remove wxOSX/Carbon support.
Cocoa has been the default toolkit in wxWidgets for a long time. There is really no good reason to use Carbon in 2016 and this removes a lot of unused and unmaintained code.
2016-02-01 13:48:48 +01:00
Vadim Zeitlin
6a3b6600dd Test builds with newer g++, clang and OS X on Travis CI
Configure the build matrix to test building on more platforms and using clang
as well and also test C++11 builds using both g++ and clang.
2016-01-24 21:26:43 +01:00
Vadim Zeitlin
844a7e426a Extract Travis before install script steps into a separate file
This allows to do make these steps more complicated, e.g. avoid using apt-get
under non-Linux (and even non-Debian/Ubuntu) platforms.

Also install GTK+ development package explicitly, while it's already available
on the older Travis Ubuntu 12.04 VMs, this is not the case for the newer 14.04
ones.
2016-01-24 21:25:31 +01:00
Vadim Zeitlin
b67ca545cc Add --enable-cxx11 configure option
Make it simpler to enable C++11 support when building wxWidgets, in particular
take care of using the correct standard library under OS X in this case.

Notice that currently we still build the library using C++98 if no C++11
compiler is available, even with this option. We may want to change this to
give an error in such case later instead.

Also skip the check for <type_traits> in configure when C++11 is used, we know
that it's available in this case, so don't waste time checking for it (there
are probably several more checks that could be skipped in C++11 mode too...).
2016-01-24 21:22:15 +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
72c47669ab Add wx/generic/collheaderctrl.h to the list of GUI headers
This file is used by the public wx/collheaderctrl.h but wasn't previously
installed, breaking the build of any code including that header under Unix.

Closes #17309.
2016-01-02 13:26:26 +01:00
Vadim Zeitlin
f8f69118cd Restore wxPython build scripts
These scripts were removed in c9220befc7 but are
still referenced in wxPython build instructions, so restore them.

Closes #17289.
2015-12-15 14:53:12 +01:00
Maarten Bent
5f2ccde269 Fix AppVeyor mingw build with USE_GUI=1
Closes #142
2015-12-05 16:00:29 -07:00
Bryan Petty
f8f531687c Release script improvements. 2015-11-15 13:56:52 -07:00
Bryan Petty
92323b5705 Disable USE_GUI in MinGW AppVeyor build for now. 2015-11-09 18:27:42 -07:00
Dimitri Schoolwerth
522837d0d6 Update OS X and iOS related build files
Some files only appear in Cocoa builds now which iOS is not a part of,
resulting in link errors. Add (Carbon's) settings.cpp and (Cocoa's)
stdpaths.mm to the list of iOS sources to fix this.
The regenerated Xcode projects also include other additions since the
last time they were updated using makeprojects.applescript (and
overwrites project changes that were made manually).
2015-11-09 22:47:56 +04:00
Vadim Zeitlin
69584dd3b4 Show make version as well in AppVeyor MinGW builds
Also remove quotes which are not needed in Windows shell and show just the
first line of the versions.
2015-11-07 23:37:42 +01:00
Vadim Zeitlin
1d1c54cc6c Display binutils version in AppVeyor MinGW build
Just to get more information about the mysteriously failing ar command.
2015-11-06 20:31:07 +01:00
Bryan Petty
2090988484 Added initial AppVeyor config. 2015-11-04 07:31:05 -07:00
Bryan Petty
0b2263c25d Updated links and mailing list addresses. 2015-10-30 20:06:09 -06:00
Bryan Petty
89b0692fff Updated release instructions with requirements. 2015-10-30 00:34:44 -06:00
Vadim Zeitlin
065c7b34eb Remove unused wx/osx/treectrl.h
This file is not included anywhere and doesn't seem to be used.
2015-10-25 18:33:06 +01:00
Vadim Zeitlin
a5e36d3124 Remove unused png{hand,read}.h files from wxOSX
These files don't seem to be used anywhere.
2015-10-25 18:31:33 +01:00
Vadim Zeitlin
98bd4f1936 Remove unused helpxxxx.{h,cpp} stub files from wxOSX
These files seem to be left overs from a long, long time ago.
2015-10-25 18:29:47 +01:00
Vadim Zeitlin
535b73c1f1 Install new wx/osx/cocoa/stdpaths.h header
Add this header, new since 0938141f3e (see
https://github.com/wxWidgets/wxWidgets/pull/89), to the files list and update
the makefile.

Closes #17208.
2015-10-15 22:09:10 +02: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
aa970c3da3 Remove all mentions of msevc4prj from bakefiles
Neither eVC nor wxWinCE port it was used for are supported any longer, so
simplify the bakefiles by removing the checks for it.
2015-10-07 18:14:55 +02:00
Tobias Taschner
515fcc66e6 Reuse wxSystemSettings from wxCocoa in wxOSX/Cocoa
Use of NSColor’s various system defined color values seem to get more
appropriate colors than the carbon implementation.

Closes #17141
2015-10-04 01:09:27 +02:00
Tobias Taschner
0938141f3e Add Cocoa implementation of wxStandardPaths
Previously wxStandardPathsCF was used for all Mac builds and it used
FSFindFolder() (CoreFoundation) calls in Carbon builds, but many hard coded
values in Cocoa builds. The Cocoa implementation uses NSFileManager and
NSBundle to retrieve the folder locations from the system.

Closes https://github.com/wxWidgets/wxWidgets/pull/89
2015-10-04 01:05:57 +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
ebd33579fd Manage VC[789] project files with upmake too
Update the old style MSVC project files for wxWidgets itself (but not the
samples etc) from upmake instead of bakefile too, as the latest upmake version
can handle them.
2015-10-04 00:11:16 +02:00
Vadim Zeitlin
2ee9e28fc2 Also update richtext MSVS project from upmake
This project was accidentally omitted from the list of projects updated by
upmake, add it too now.
2015-10-04 00:11:15 +02:00
Vadim Zeitlin
4b12516d42 Replace upmake and dependent modules with a monolithic script
Remove the Perl modules composing upmake from wxWidgets repository, it's too
difficult to maintain them both here and at https://github.com/vadz/upmake and
just keep the wxWidgets-specific upmake_script.pl here and generate
build/upmake_script itself from it using fatpack.

This also updates upmake to the latest 0.3 version, as a side effect.
2015-10-04 00:11:10 +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
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
Tobias Taschner
b012e559bc Add missing collheaderctrlg.cpp to cocoa xcode project. 2015-09-21 15:30:34 +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
Tobias Taschner
5f75b7506f Remove Hildon framework support.
The Hildon framework was used for Nokia 770 and other Maemo devices.
This platform discontinued and hasn't seen a new release since 2011.
2015-08-26 22:49:53 +02:00
Tobias Taschner
26a0a24f38 Remove MS-DOS source files.
Last work on the MS-DOS files was 10 years ago and it's not a viable platform in 2015 any more.
2015-08-26 21:09:41 +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
Vadim Zeitlin
9bc3ab1ea7 Add wxNativeWindow allowing to easily embed native widgets in wx.
Implement the class for wxMSW, wxGTK and wxOSX/Cocoa, show it in the widgets
sample and add documentation for it.
2015-08-03 17:57:42 +02:00