Skip to content

Commit

Permalink
Merge branch 'master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
ZenBird-zz committed Sep 30, 2020
2 parents 4b400c5 + 2144ec2 commit 6c66875
Show file tree
Hide file tree
Showing 8 changed files with 114 additions and 52 deletions.
10 changes: 9 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -123,4 +123,12 @@ indent_size = 4
charset = utf-8-bom
insert_final_newline = true
trim_trailing_whitespace = true
end_of_line = crlf
end_of_line = crlf

[**.md]
indent_style = space
indent_size = 4
charset = utf-8
insert_final_newline = true
trim_trailing_whitespace = true
end_of_line = crlf
3 changes: 3 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ name: Build CI Master
on:
pull_request:
branches: [ master ]
paths-ignore:
- 'docs/**'
- 'specs/**'

jobs:
build:
Expand Down
19 changes: 0 additions & 19 deletions DevCmd.cmd

This file was deleted.

5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# Project Reunion

![Build CI Master](https://github.com/microsoft/ProjectReunion/workflows/Build%20CI%20Master/badge.svg)
[![Feature Proposals](https://img.shields.io/github/issues/microsoft/projectreunion/feature%20proposal)](https://github.com/microsoft/ProjectReunion/issues?q=is%3Aissue+is%3Aopen+label%3A%22feature+proposal%22)
[![Bugs](https://img.shields.io/github/issues/microsoft/projectreunion/bug)](https://github.com/microsoft/ProjectReunion/issues?q=is%3Aissue+is%3Aopen+label%3Abug)


### What is Project Reunion?
Project Reunion is our vision for unifying and evolving the Windows developer platform to make it easier
Expand Down
4 changes: 2 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ on the identity + packaging + deployment transparent ideas that Project Reunion
supports for your app as well.

* **[C++/WinRT](https://github.com/microsoft/cppwinrt)**,
**[RUST/WinRT](https://github.com/microsoft/winrt-rs)**,
**[Rust/WinRT](https://github.com/microsoft/winrt-rs)**,
and **[C#/WinRT](https://github.com/microsoft/cswinrt)**
provide language-native projections of Windows,
Project Reunion, and your own custom types defined in metadata. Consume APIs from
Expand Down Expand Up @@ -282,4 +282,4 @@ lifecycle and state isolation help get your app ready to run wherever your custo
gets us to building a first version of Project Reunion exploring some basic common features.
[You can help by filing issues for features you'd like to see](https://github.com/microsoft/ProjectReunion/issues/new/choose)!
* [Contributor guide](contributor-guide.md) - How to contribute to Project Reunion.
* [FAQ](faq.md) - frequently asked questions about Project Reunion.
* [FAQ](faq.md) - frequently asked questions about Project Reunion.
10 changes: 9 additions & 1 deletion docs/contributor-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,12 @@ provided by the bot. You will only need to do this once across all repos using o

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
contact [[email protected]](mailto:[email protected]) with any additional questions or comments.
contact [[email protected]](mailto:[email protected]) with any additional questions or comments.

## Getting Started

You'll need Visual Studio 2019 installed to do work in a GUI, or at least the MSBuild and SDK toolchains to build from the command line. From Visual Studio, open the ProjectReunion.sln and hit build!

Or start a Developer Command Prompt or Developer Powershell for VS 2019, and use ```msbuild /p:configuration=release,platform=x86 projectreunion.sln``` to build.

If you don't have Visual Studio 2019 or Visual Studio Code installed you can download them [here](https://visualstudio.microsoft.com/downloads/).
51 changes: 45 additions & 6 deletions docs/roadmap.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
# Roadmap

Project Reunion is an umbrella of work that we will develop together over time.
Here's how we intend to roll out Project Reunion.
Project Reunion is an umbrella of work that we will develop together over time.

The roadmap for Project Reunion supports the primary goals of breaking down the barriers between Win32 and UWP and making the Windows developer platform more agile, compatible, modern and open.

For a general overview, see the [readme](https://github.com/microsoft/ProjectReunion/tree/master/docs) and [FAQ](https://github.com/microsoft/ProjectReunion/blob/master/docs/faq.md).

Here's how we intend to roll out Project Reunion:

<table>
<tbody>
<tr>
Expand All @@ -15,13 +21,12 @@ Here's how we intend to roll out Project Reunion.
<li>WinUI preview for UWP & Win32</li>
<li>Windows Virtual Desktop</li>
<li>WebView2 Preview</li>
<li>GitHub repo for Project Reunion</li>
<li>Engineering in the open</li>
<li>Project Reunion repo</li>
</ul>
</td>
<td>
<ul>
<li>WinUI Preview for UWP & Win32</li>
<li>WinUI "go-live" Preview</li>
<li>Project Reunion Preview</li>
</ul>
</td>
Expand All @@ -34,4 +39,38 @@ Here's how we intend to roll out Project Reunion.
</td>
</tr>
</tbody>
</table>
</table>

## 2020-2021 Focus Areas

The Windows platform team is currently focused on the four primary areas below for Project Reunion.

This isn't an exhaustive list: it's a sampling of some of the key infrastructure work we're doing to break down the barriers between Win32 and UWP and decouple the platform from the OS, plus some of the new functionality we're adding to enable new app capabilities and address top developer issues.

### 1. User experience

* [WinUI 3](https://github.com/microsoft/microsoft-ui-xaml/blob/master/docs/roadmap.md) - the Windows 10 native UI platform for Win32 and UWP
* [WebView2](https://docs.microsoft.com/microsoft-edge/webview2/) - embedding web content in Windows apps using the new Edge (Chromium) engine
* [React Native Windows](https://github.com/microsoft/react-native-windows/projects/30) - now targeting WinUI

### 2. Hardware light-up and delighters

* Touch, inking, display improvements

### 3. Platform fundamentals

* [Better options for app lifecycle management and power usage](https://github.com/microsoft/ProjectReunion/issues/111)
* [DirectWrite text rendering platform](https://github.com/microsoft/ProjectReunion/issues/112)
* Windowing [details forthcoming]

### 4. Platform unification and deployment

* Decoupling the Windows platform from the OS
* faster updates that you can start using on day 1
* Ensuring features work on all supported Windows versions
* initial min OS version = 1809
* polyfilling features as needed
* supporting both Win32 and UWP

* Moving engineering to GitHub
* [Proposals](https://github.com/microsoft/ProjectReunion/issues?q=is%3Aissue+is%3Aopen+label%3A%22feature+proposal%22) -> [Specs](https://github.com/microsoft/ProjectReunion/tree/master/specs) -> [Code](https://github.com/microsoft/ProjectReunion/tree/master/dev)
64 changes: 41 additions & 23 deletions specs/Picker-API_spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ are as described below:
The existing File/Folder pickers do not allow the developer to specify an arbitrary start location (even if the app has access). Currently, the start location is limited to a set of predefined enum values.

The Reunion picker dialog addresses the above issues. This Reunion API will be based upon the below
APIs in the Windows SDK. The Reunion Picker API will remove the deprecated APIs and add additional methods
APIs in the Windows SDK. The Reunion Picker API will supercede the existing APIs and add additional methods
for the functionality: File and folder picker, Multiple folder picker.

- Windows.Storage.Pickers.FileOpenPicker (https://docs.microsoft.com/en-us/uwp/api/Windows.Storage.Pickers.FileOpenPicker)
Expand All @@ -35,33 +35,50 @@ Picker APIs in Windows SDK with additional methods to support File + Folder pick

# Examples
## Show file and folder picker
```c#
```c#
var picker = new StorageItemPicker();
picker.FilterAndDescription.Insert("Images", "*.jpg, *.png");
picker.FiltersAndDescriptions.Insert("Images", "*.jpg, *.png");
picker.StartLocation = startLocation;
picker.PickableKinds = StorageItemPickerKinds.Folder | StorageItemPickerKinds.File;
IReadOnlyList<StorageItem> storageItems = await picker.PickMultipleItemsAsync();
picker.PickerKinds = StorageItemPickerKinds.Folder | StorageItemPickerKinds.FileOpen;
// multi-select will be automatically set
IReadOnlyList<Windows.Storage.IStorageItem> storageItems = await picker.ShowPickerAsync();

if(0 < storageItems.Count)
{
}
```
```
## Show single folder picker
```c#
```c#
var picker = new StorageItemPicker();
picker.PickerKinds = StorageItemPickerKinds.Folder;
Windows.Storage.IStorageItem folder = await picker.PickSingleItemAsync();
```
IReadOnlyList<Windows.Storage.IStorageItem> folder = await picker.ShowPickerAsync();
```
## Show multi folder picker
```c#
```c#
var picker = new StorageItemPicker();
picker.PickerKinds = StorageItemPickerKinds.Folder;
IReadOnlyList<Windows.Storage.IStorageItem> folders = await picker.PickMultipleItemsAsync();
```
picker.MultiSelect = true;
IReadOnlyList<Windows.Storage.IStorageItem> folders = await picker.ShowPickerAsync();
```
## Show multiple file picker
```c#
var picker = new StorageItemPicker();
picker.StartLocation = startLocation;
picker.MultuSelect = true;
picker.PickerKinds = StorageItemPickerKinds.FileOpen;
IReadOnlyList<Windows.Storage.IStorageItem> files = await picker.ShowPickerAsync();
```
## Show File Save picker
```c#
var picker = new StorageItemPicker();
picker.PickerKinds = StorageItemPickerKinds.FileSave;
IReadOnlyList<Windows.Storage.IStorageItem> fileToSave = await picker.ShowPickerAsync();
```

# Remarks
# API Notes
# API Details
```c#
```c#
namespace Microsoft.Reunion.Storage.Pickers
{
enum PickerViewMode
Expand All @@ -74,8 +91,9 @@ Picker APIs in Windows SDK with additional methods to support File + Folder pick

enum StorageItemPickerKinds
{
File = 0x1,
Folder = 0x2
FileOpen = 0x1,
Folder = 0x2,
FileSave = 0x4
};

runtimeclass StorageItemPicker
Expand All @@ -84,20 +102,20 @@ Picker APIs in Windows SDK with additional methods to support File + Folder pick

/// Properties
String StartLocation;
String CommitButtonText { set; }
String CancelButtonText { set; }
Windows.Foundation.Collections.IMap<String, String> FilterAndDescription{ get; }
PickerViewMode ViewMode;
String CommitButtonText;
String CancelButtonText;
Windows.Foundation.Collections.IPropertySet FiltersAndDescriptions{ get; };
ViewMode PickerViewMode;
StorageItemPickerKinds PickerKinds;
String SuggestedSaveFile;
String DefaultFileExtension;
Boolean MultiSelect;
Int64 Result{ get; }

/// Methods
Windows.Foundation.IAsyncOperation<Windows.Storage.IStorageItem> PickSingleItemAsync();
Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVector<Windows.Storage.IStorageItem>> PickMutipleItemsAsync();
Windows.Foundation.IAsyncOperation<Windows.Storage.StorageFile> PickSaveFileAsync();
Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Storage.IStorageItem> > ShowPickerAsync();
}
}
```
```

# Appendix

0 comments on commit 6c66875

Please sign in to comment.