Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NavigationView BottomMenuItems implementation #1997

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
9e2a21c
NavigationView BottomMenuItems
ad1Dima Feb 18, 2020
fd4493d
fix ItemInvoked fired twice when SelectionFollowFocus in enabled
ad1Dima Feb 19, 2020
20f1311
Fix SettingsItem AutomationProperties
ad1Dima Feb 21, 2020
fc7c157
Some tests fix
ad1Dima Mar 9, 2020
bcd6021
KeyboardNavigation fix
ad1Dima Mar 10, 2020
e5adc02
Merge from master
ad1Dima Mar 10, 2020
4aa83b6
trying to test fixing settingsItem at the end of list
ad1Dima Mar 24, 2020
7db5063
fix settingsItem reposition.
ad1Dima Apr 2, 2020
32a6778
Merge from master
ad1Dima Apr 2, 2020
98e2d21
add FooterMenuItemsSource
ad1Dima Apr 2, 2020
64602a9
move to single selection model
ad1Dima Apr 9, 2020
3da43e8
merge and fix HierarchicalNav
ad1Dima Apr 9, 2020
4f856fe
Fix settingsItem dobble creation
ad1Dima Apr 13, 2020
33b23cb
keep footer source unchanged on orientation changes
ad1Dima Apr 13, 2020
fe066b6
fix selection indicator animation on orientation changed
ad1Dima Apr 13, 2020
9cfa59b
merge from master
ad1Dima Apr 29, 2020
3c3a020
Fix footeritems data template
ad1Dima May 15, 2020
add929c
fix footer items automation properies
ad1Dima May 17, 2020
327ca14
Merge from master
ad1Dima May 19, 2020
07ada88
update navigationview masters
ad1Dima May 20, 2020
73f6ed3
Merge from master
ad1Dima May 21, 2020
0a8b15a
mark props as prewiew
ad1Dima May 29, 2020
dec5f5b
Add const for main/footer menu index paths
ad1Dima Jun 15, 2020
d3308a3
merge from master
ad1Dima Jun 16, 2020
658eb53
merge from master
ad1Dima Jun 19, 2020
e15b8b5
Tab focus navigation on selected item
ad1Dima Jun 20, 2020
b3647ce
Update Masters
ad1Dima Jun 23, 2020
d85f3be
fix arrow focus navigation
ad1Dima Jun 23, 2020
33542f3
Merge from master
ad1Dima Jul 6, 2020
f89ab9d
Fix static analysator errors
ad1Dima Jul 6, 2020
d027c9d
Merge from master
ad1Dima Jul 14, 2020
6c1b33a
forgotten merge change
ad1Dima Jul 14, 2020
55f1609
Merge branch 'master' of https://github.com/microsoft/microsoft-ui-xa…
ad1Dima Jul 21, 2020
ccac81c
Merge branch 'master' into user/ad1Dima/NavigationView_BottomMenuItem…
StephenLPeters Jul 21, 2020
402b9a3
fix EnsureLeftSettingsRetainsFocusAfterOrientationChanges test
ad1Dima Jul 23, 2020
d192202
Address PR comments
ad1Dima Aug 3, 2020
17854be
fix typo and navigationViewItem Error
ad1Dima Aug 4, 2020
aece0a2
Merge from master
ad1Dima Aug 5, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 68 additions & 0 deletions dev/Generated/NavigationView.properties.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ GlobalDependencyProperty NavigationViewProperties::s_CompactPaneLengthProperty{
GlobalDependencyProperty NavigationViewProperties::s_ContentOverlayProperty{ nullptr };
GlobalDependencyProperty NavigationViewProperties::s_DisplayModeProperty{ nullptr };
GlobalDependencyProperty NavigationViewProperties::s_ExpandedModeThresholdWidthProperty{ nullptr };
GlobalDependencyProperty NavigationViewProperties::s_FooterMenuItemsProperty{ nullptr };
GlobalDependencyProperty NavigationViewProperties::s_FooterMenuItemsSourceProperty{ nullptr };
GlobalDependencyProperty NavigationViewProperties::s_HeaderProperty{ nullptr };
GlobalDependencyProperty NavigationViewProperties::s_HeaderTemplateProperty{ nullptr };
GlobalDependencyProperty NavigationViewProperties::s_IsBackButtonVisibleProperty{ nullptr };
Expand Down Expand Up @@ -143,6 +145,28 @@ void NavigationViewProperties::EnsureProperties()
ValueHelper<double>::BoxValueIfNecessary(1008.0),
winrt::PropertyChangedCallback(&OnExpandedModeThresholdWidthPropertyChanged));
}
if (!s_FooterMenuItemsProperty)
{
s_FooterMenuItemsProperty =
InitializeDependencyProperty(
L"FooterMenuItems",
winrt::name_of<winrt::IVector<winrt::IInspectable>>(),
winrt::name_of<winrt::NavigationView>(),
false /* isAttached */,
ValueHelper<winrt::IVector<winrt::IInspectable>>::BoxedDefaultValue(),
winrt::PropertyChangedCallback(&OnFooterMenuItemsPropertyChanged));
}
if (!s_FooterMenuItemsSourceProperty)
{
s_FooterMenuItemsSourceProperty =
InitializeDependencyProperty(
L"FooterMenuItemsSource",
winrt::name_of<winrt::IInspectable>(),
winrt::name_of<winrt::NavigationView>(),
false /* isAttached */,
ValueHelper<winrt::IInspectable>::BoxedDefaultValue(),
winrt::PropertyChangedCallback(&OnFooterMenuItemsSourcePropertyChanged));
}
if (!s_HeaderProperty)
{
s_HeaderProperty =
Expand Down Expand Up @@ -462,6 +486,8 @@ void NavigationViewProperties::ClearProperties()
s_ContentOverlayProperty = nullptr;
s_DisplayModeProperty = nullptr;
s_ExpandedModeThresholdWidthProperty = nullptr;
s_FooterMenuItemsProperty = nullptr;
s_FooterMenuItemsSourceProperty = nullptr;
s_HeaderProperty = nullptr;
s_HeaderTemplateProperty = nullptr;
s_IsBackButtonVisibleProperty = nullptr;
Expand Down Expand Up @@ -570,6 +596,22 @@ void NavigationViewProperties::OnExpandedModeThresholdWidthPropertyChanged(
winrt::get_self<NavigationView>(owner)->OnPropertyChanged(args);
}

void NavigationViewProperties::OnFooterMenuItemsPropertyChanged(
winrt::DependencyObject const& sender,
winrt::DependencyPropertyChangedEventArgs const& args)
{
auto owner = sender.as<winrt::NavigationView>();
winrt::get_self<NavigationView>(owner)->OnPropertyChanged(args);
}

void NavigationViewProperties::OnFooterMenuItemsSourcePropertyChanged(
winrt::DependencyObject const& sender,
winrt::DependencyPropertyChangedEventArgs const& args)
{
auto owner = sender.as<winrt::NavigationView>();
winrt::get_self<NavigationView>(owner)->OnPropertyChanged(args);
}

void NavigationViewProperties::OnHeaderPropertyChanged(
winrt::DependencyObject const& sender,
winrt::DependencyPropertyChangedEventArgs const& args)
Expand Down Expand Up @@ -877,6 +919,32 @@ double NavigationViewProperties::ExpandedModeThresholdWidth()
return ValueHelper<double>::CastOrUnbox(static_cast<NavigationView*>(this)->GetValue(s_ExpandedModeThresholdWidthProperty));
}

void NavigationViewProperties::FooterMenuItems(winrt::IVector<winrt::IInspectable> const& value)
{
[[gsl::suppress(con)]]
{
static_cast<NavigationView*>(this)->SetValue(s_FooterMenuItemsProperty, ValueHelper<winrt::IVector<winrt::IInspectable>>::BoxValueIfNecessary(value));
}
}

winrt::IVector<winrt::IInspectable> NavigationViewProperties::FooterMenuItems()
{
return ValueHelper<winrt::IVector<winrt::IInspectable>>::CastOrUnbox(static_cast<NavigationView*>(this)->GetValue(s_FooterMenuItemsProperty));
}

void NavigationViewProperties::FooterMenuItemsSource(winrt::IInspectable const& value)
{
[[gsl::suppress(con)]]
{
static_cast<NavigationView*>(this)->SetValue(s_FooterMenuItemsSourceProperty, ValueHelper<winrt::IInspectable>::BoxValueIfNecessary(value));
}
}

winrt::IInspectable NavigationViewProperties::FooterMenuItemsSource()
{
return ValueHelper<winrt::IInspectable>::CastOrUnbox(static_cast<NavigationView*>(this)->GetValue(s_FooterMenuItemsSourceProperty));
}

void NavigationViewProperties::Header(winrt::IInspectable const& value)
{
[[gsl::suppress(con)]]
Expand Down
18 changes: 18 additions & 0 deletions dev/Generated/NavigationView.properties.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ class NavigationViewProperties
void ExpandedModeThresholdWidth(double value);
double ExpandedModeThresholdWidth();

void FooterMenuItems(winrt::IVector<winrt::IInspectable> const& value);
winrt::IVector<winrt::IInspectable> FooterMenuItems();

void FooterMenuItemsSource(winrt::IInspectable const& value);
winrt::IInspectable FooterMenuItemsSource();

void Header(winrt::IInspectable const& value);
winrt::IInspectable Header();

Expand Down Expand Up @@ -121,6 +127,8 @@ class NavigationViewProperties
static winrt::DependencyProperty ContentOverlayProperty() { return s_ContentOverlayProperty; }
static winrt::DependencyProperty DisplayModeProperty() { return s_DisplayModeProperty; }
static winrt::DependencyProperty ExpandedModeThresholdWidthProperty() { return s_ExpandedModeThresholdWidthProperty; }
static winrt::DependencyProperty FooterMenuItemsProperty() { return s_FooterMenuItemsProperty; }
static winrt::DependencyProperty FooterMenuItemsSourceProperty() { return s_FooterMenuItemsSourceProperty; }
static winrt::DependencyProperty HeaderProperty() { return s_HeaderProperty; }
static winrt::DependencyProperty HeaderTemplateProperty() { return s_HeaderTemplateProperty; }
static winrt::DependencyProperty IsBackButtonVisibleProperty() { return s_IsBackButtonVisibleProperty; }
Expand Down Expand Up @@ -157,6 +165,8 @@ class NavigationViewProperties
static GlobalDependencyProperty s_ContentOverlayProperty;
static GlobalDependencyProperty s_DisplayModeProperty;
static GlobalDependencyProperty s_ExpandedModeThresholdWidthProperty;
static GlobalDependencyProperty s_FooterMenuItemsProperty;
static GlobalDependencyProperty s_FooterMenuItemsSourceProperty;
static GlobalDependencyProperty s_HeaderProperty;
static GlobalDependencyProperty s_HeaderTemplateProperty;
static GlobalDependencyProperty s_IsBackButtonVisibleProperty;
Expand Down Expand Up @@ -245,6 +255,14 @@ class NavigationViewProperties
winrt::DependencyObject const& sender,
winrt::DependencyPropertyChangedEventArgs const& args);

static void OnFooterMenuItemsPropertyChanged(
winrt::DependencyObject const& sender,
winrt::DependencyPropertyChangedEventArgs const& args);

static void OnFooterMenuItemsSourcePropertyChanged(
winrt::DependencyObject const& sender,
winrt::DependencyPropertyChangedEventArgs const& args);

static void OnHeaderPropertyChanged(
winrt::DependencyObject const& sender,
winrt::DependencyPropertyChangedEventArgs const& args);
Expand Down
Loading