Commit Graph

63 Commits

Author SHA1 Message Date
Vadim Zeitlin
a156d5fa40 Extract wxPenInfoBase in a separate header
This allows to avoid dependency of wx/graphics.h on wx/pen.h.
2017-09-10 01:24:16 +02:00
Stefan Csomor
f045323934 Adding native macos Cocoa implementation for overlays into build files 2017-09-09 23:34:50 +02:00
Artur Wieczorek
8d03282378 Move IUnknown implementation to the separate files
IUnknown interface is used sometimes (e.g. in WinRT implementation of
wxNotificationMessage) alone, without other OLE routines, so it is
helpful to have its code in the separate file to avoid coupling with main
OLE code when only IUnknown implementation is required.
2017-05-09 17:27:21 +02:00
Vadim Zeitlin
572db9c0a1 Extract setting WINVER/_WIN32_WINNT to a separate file
This will allow reusing it from other places.
2017-01-13 23:39:52 +01: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
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
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
Sebastian Dröge
6ea8ba1e9c Add GstPlayer 1.7.2.1+ based GStreamer backend
Use new simpler API available in the latest GStreamer if available.

Closes #226.
2016-03-05 02:52:59 +01:00
Tobias Taschner
1125dd8c12 Remove remaining unused carbon implementation code.
Remove code and files which should have already been removed in 5ba67c67e4.
2016-03-04 15:34:51 +01:00
Vadim Zeitlin
39ad5135f8 Add activityindicator.cpp to wxQt sources
Similar to ffce5b09f8 but for wxQt port.
2016-02-26 12:11:28 +01:00
Vadim Zeitlin
96a1125ad8 Add wxQt variables to upmake files list
Put them here too for consistency with all the other ports.
2016-02-26 12:07:52 +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
f037e1206d Merge wxiOS fixes
Make it build again and add instructions about how to build and use it.

Closes https://github.com/wxWidgets/wxWidgets/pull/213
2016-02-22 23:53:30 +01:00
Vadim Zeitlin
bd9fb66578 Install wx/osx/carbon/region.h header under OS X
This file was mistakenly removed from the list of wxOSX headers in
602ea92143.

And don't install wx/osx/core/stdpaths.h which doesn't exist any longer (see
abe10b8c00).

Closes #17381.
2016-02-21 17:18:46 +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
Vadim Zeitlin
a8b1894628 Add wx/osx/core/colour.h back to the list of installed headers
This file was accidentally removed by 602ea92143.

Closes #17374.
2016-02-15 01:28:45 +01:00
Vadim Zeitlin
bfbdd37a1a Merge native MSW appearance for AUI toolbars
Closes https://github.com/wxWidgets/wxWidgets/pull/200
2016-02-13 12:31:49 +01:00
Tobias Taschner
efa5906b8d Add wxIOS wxSystemSettingsNative after the removal of Carbon.
Building for iOS used the carbon version of wxSystemSettingsNative which included ifdefs to build with iOS. This adds a wxIOS specific settings.mm file to provide an iOS stub implementation.
2016-02-11 11:20:34 +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
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
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
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
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
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
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
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
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
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
Vadim Zeitlin
5ceb470c91 Correct wx/osx/activityindicator.h file name in "make install".
It's in osx, not osx/cocoa subdirectory.
2015-07-18 15:01:10 +02:00
Roberto Perpuly
aa5dbad410 Use FSEvents in wxFileSystemWatcher on OS X
The FSEvents API allows for creating watches in entire trees of
directories in an efficient manner.

Closes #16969.
2015-06-06 02:37:35 +04: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
Dimitri Schoolwerth
11a5b83e2c Add OS X implementation of wxAppProgressIndicator.
Closes #16638.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78499 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-15 20:09:10 +00: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