public void SetGrandparentUsingAnonCtorAndMaintainExplicitParentValue() { var layout = new StackLayout { Visual = Maui.Controls.VisualMarker.Material, Children = { new StackLayout { Visual = Maui.Controls.VisualMarker.Default, Children = { ImplicitDefaultView()} } } }; var layout2 = layout.Children[0] as StackLayout; IVisualController view = layout2.Children[0] as View; var target = view.EffectiveVisual; Assume.That(((IVisualController)layout).EffectiveVisual.IsMaterial()); Assume.That(((IVisualController)layout2).EffectiveVisual.IsDefault()); Assert.IsTrue(!target.IsMaterial(), "EffectiveVisual should be Default"); Assert.IsTrue(target.IsDefault(), "EffectiveVisual should be Default"); }
/// <summary> /// Applies icon data to its visual.(For MapData, after checking its ItemState). /// </summary> /// <seealso cref="IconVisualController.SetVisual(Sprite)"> /// At the end ApplyIconVisual() method calls VisualController:SetVisual(Sprite) method. /// </seealso> public void ApplyIconVisual() { visualController = GetComponentInChildren <IconVisualController>(); Sprite visual; switch (data.type) { case ItemType.Map: switch (data.mapData.basicData.state) { case ItemState.Locked: visual = data.mapData.locked; break; case ItemState.Unlocked: visual = data.mapData.basicData.icon; break; default: throw new System.Exception("Item.data.state has a problem"); } break; case ItemType.Body: visual = data.bodyData.basicData.icon; break; case ItemType.Extra: visual = data.extraData.basicData.icon; break; case ItemType.Special: visual = data.specialData.basicData.icon; break; case ItemType.Flag: visual = data.flagData.basicData.icon; break; default: visual = Sprite.Create(new Texture2D(200, 200), new Rect(Vector2.zero, Vector2.one * 200f), Vector2.one * 0.5f); Debug.Log("Control ItemType in debug mod. Track it backward."); break; } visualController.SetVisual(visual); }
public async Task VisualPropagationPageLevel() { Shell shell = new Shell(); ContentPage page = new ContentPage(); shell.Items.Add(CreateShellItem(page)); // setup title view StackLayout titleView = new StackLayout() { BackgroundColor = Colors.White }; Button button = new Button(); titleView.Children.Add(button); Shell.SetTitleView(page, titleView); IVisualController visualController = button as IVisualController; Assert.AreEqual(page, titleView.Parent); Assert.AreEqual(VisualMarker.Default, ((IVisualController)button).EffectiveVisual); page.Visual = VisualMarker.Material; Assert.AreEqual(VisualMarker.Material, ((IVisualController)button).EffectiveVisual); }
static void AddExplicitMaterialToScrollView(ScrollView parent, View child) { parent.Content = child; IVisualController controller = child; Assume.That(child.Visual == Maui.Controls.VisualMarker.Material, "child view Visual should be Material"); }
static void AddImplicitToDefault(StackLayout parent, View child) { parent.Children.Add(child); IVisualController controller = child; Assume.That(child.Visual == Maui.Controls.VisualMarker.MatchParent, "child view Visual should be MatchParent"); }
static void AddExplicitLTRToScrollView(ScrollView parent, View child) { parent.Content = child; IVisualController controller = child; Assume.That(controller.EffectiveVisual.IsDefault(), "child view Visual should be Default"); Assume.That(child.Visual == Maui.Controls.VisualMarker.Default, "child view Visual should be Default"); }
static void AddExplicitDefaultToLayout(StackLayout parent, View child) { parent.Children.Add(child); IVisualController controller = child; Assume.That(controller.EffectiveVisual.IsDefault(), "child view Visual should be Default"); Assume.That(child.Visual == Maui.Controls.VisualMarker.Default, "child view Visual should be Default"); }
static void AddExplicitMaterialToLayout(StackLayout parent, View child) { parent.Children.Add(child); IVisualController controller = child; Assume.That(controller.EffectiveVisual.IsMaterial(), "child view EffectiveVisual should be Material"); Assume.That(child.Visual == Maui.Controls.VisualMarker.Material, "child view Visual should be Material"); }
static void AddImplicitToMaterialScrollView(ScrollView parent, View child) { parent.Content = child; IVisualController controller = child; Assume.That(controller.EffectiveVisual == Maui.Controls.VisualMarker.Material, "child view EffectiveVisual should be Material"); Assume.That(child.Visual == Maui.Controls.VisualMarker.MatchParent, "child view Visual should be MatchParent"); }
static void AddImplicitToMaterial(StackLayout parent, View child) { parent.Children.Add(child); IVisualController controller = child; Assume.That(controller.EffectiveVisual.IsMaterial(), "child view EffectiveVisual should be Material"); Assume.That(child.Visual == Forms.VisualMarker.MatchParent, "child view Visual should be MatchParent"); }
static View ImplicitDefaultView() { var view = new View(); IVisualController controller = view; Assume.That(((View)view).Visual == Maui.Controls.VisualMarker.MatchParent, "New view Visual should be MatchParent"); return(view); }
static ScrollView ImplicitDefaultScrollView() { var layout = new ScrollView(); IVisualController controller = layout; Assume.That(controller.EffectiveVisual == Maui.Controls.VisualMarker.Default, "New view EffectiveVisual should be Default"); Assume.That(layout.Visual == Maui.Controls.VisualMarker.MatchParent, "New view Visual should be MatchParent"); return(layout); }
static StackLayout ImplicitDefaultLayout() { var layout = new StackLayout(); IVisualController controller = layout; Assume.That(controller.EffectiveVisual == Forms.VisualMarker.Default, "New view EffectiveVisual should be Default"); Assume.That(layout.Visual == Forms.VisualMarker.MatchParent, "New view Visual should be MatchParent"); return(layout); }
public void SetParentAndInheritExplicitParentValue() { var layout = ExplicitMaterialLayout(); IVisualController view = ImplicitDefaultView(); AddImplicitToMaterial(layout, (View)view); var target = view.EffectiveVisual; Assert.IsTrue(target.IsMaterial(), "EffectiveVisual should be Material"); Assert.IsTrue(!target.IsDefault(), "EffectiveVisual should be Material"); }
static StackLayout ExplicitDefaultLayout() { var layout = new StackLayout { Visual = Maui.Controls.VisualMarker.Default }; IVisualController controller = layout; Assume.That(controller.EffectiveVisual == Maui.Controls.VisualMarker.Default, "Explicit Default view EffectiveVisual should be Default"); Assume.That(layout.Visual == Maui.Controls.VisualMarker.Default, "Explicit Default view Visual should be Default"); return(layout); }
static StackLayout ExplicitMaterialLayout() { var layout = new StackLayout { Visual = Maui.Controls.VisualMarker.Material }; IVisualController controller = layout; Assume.That(controller.EffectiveVisual.IsMaterial(), "Explicit RTL view EffectiveVisual should be Material"); Assume.That(layout.Visual == Maui.Controls.VisualMarker.Material, "Explicit RTL view Visual should be Material"); return(layout); }
static ScrollView ExplicitMaterialScrollView() { var layout = new ScrollView { Visual = Maui.Controls.VisualMarker.Material }; IVisualController controller = layout; Assume.That(controller.EffectiveVisual == Maui.Controls.VisualMarker.Material, "Explicit RTL view EffectiveVisual should be Material"); Assume.That(layout.Visual == Maui.Controls.VisualMarker.Material, "Explicit RTL view Visual should be Material"); return(layout); }
static View ExplicitDefaultView() { var view = new View { Visual = Maui.Controls.VisualMarker.Default }; IVisualController controller = view; Assume.That(controller.EffectiveVisual.IsDefault(), "Explicit Default view EffectiveVisual should be Default"); Assume.That(((View)view).Visual == Maui.Controls.VisualMarker.Default, "Explicit Default view Visual should be Default"); return(view); }
public void SetParentAndMaintainExplicitValue() { var layout = ExplicitMaterialLayout(); IVisualController view = ExplicitDefaultView(); AddExplicitDefaultToLayout(layout, (View)view); var target = view.EffectiveVisual; Assert.IsTrue(!target.IsMaterial(), "EffectiveVisual should be Default"); Assert.IsTrue(target.IsDefault(), "EffectiveVisual should be Default"); Assert.AreEqual(Maui.Controls.VisualMarker.Default, ((View)view).Visual); }
public void ListViewVisualIsInheritedByImageInViewCells() { var lv = new ListView { Visual = Maui.Controls.VisualMarker.Material, ItemTemplate = new DataTemplate(() => new ViewCell { View = new Label() }) }; lv.ItemsSource = Enumerable.Range(0, 10); ViewCell cell = lv.TemplatedItems[0] as ViewCell; IVisualController target = cell.View; Assert.AreEqual(Maui.Controls.VisualMarker.Material, target.EffectiveVisual, "ViewCell View is not Material"); }
public void SetParentUsingCtorAndInheritParentValue() { IVisualController view = ImplicitDefaultView(); var layout = new StackLayout { Visual = Maui.Controls.VisualMarker.Material, Children = { (View)view } }; Assume.That(((IVisualController)layout).EffectiveVisual.IsMaterial()); Assume.That(((View)view).Visual == Maui.Controls.VisualMarker.MatchParent); var target = view.EffectiveVisual; Assert.IsTrue(target.IsMaterial(), "EffectiveVisual should be Material"); Assert.IsTrue(!target.IsDefault(), "EffectiveVisual should be Material"); Assert.AreEqual(Maui.Controls.VisualMarker.MatchParent, ((View)view).Visual); }
public void SetVisualToMatchParentAndInheritParentValue() { var layout = ImplicitDefaultLayout(); var layout2 = ExplicitMaterialLayout(); IVisualController view = ExplicitDefaultView(); AddExplicitMaterialToLayout(layout, layout2); AddExplicitDefaultToLayout(layout2, (View)view); ((View)view).Visual = Maui.Controls.VisualMarker.MatchParent; var target = view.EffectiveVisual; Assert.IsTrue(target.IsMaterial(), "EffectiveVisual should be Material"); Assert.IsTrue(!target.IsDefault(), "EffectiveVisual should be Material"); }
public void ScrollViewSetsVisualAndGrandchildMaintainsParentExplicitValue() { var layout = ImplicitDefaultScrollView(); var layout2 = ExplicitMaterialScrollView(); IVisualController view = ImplicitDefaultView(); AddExplicitMaterialToScrollView(layout, layout2); AddImplicitToMaterialScrollView(layout2, (View)view); layout.Visual = Maui.Controls.VisualMarker.Default; var target = view.EffectiveVisual; Assert.IsTrue(target == Maui.Controls.VisualMarker.Material, "EffectiveVisual should be Material"); Assert.AreEqual(Maui.Controls.VisualMarker.MatchParent, ((View)view).Visual); Assert.AreEqual(Maui.Controls.VisualMarker.Material, layout2.Visual); }
public void SetGrandparentAndInheritExplicitParentValue() { var layout = ExplicitMaterialLayout(); var layout2 = ExplicitDefaultLayout(); IVisualController view = ImplicitDefaultView(); AddExplicitDefaultToLayout(layout, layout2); AddImplicitToDefault(layout2, (View)view); var target = view.EffectiveVisual; Assume.That(((IVisualController)layout).EffectiveVisual.IsMaterial()); Assume.That(((IVisualController)layout2).EffectiveVisual.IsDefault()); Assert.IsTrue(!target.IsMaterial(), "EffectiveVisual should be Default"); Assert.IsTrue(target.IsDefault(), "EffectiveVisual should be Default"); }
public void SetGrandparentUsingCtorAndMaintainExplicitParentValue() { IVisualController view = ImplicitDefaultView(); var layout2 = new StackLayout { Visual = Forms.VisualMarker.Default, Children = { (View)view } }; var layout = new StackLayout { Visual = Forms.VisualMarker.Material, Children = { layout2 } }; var target = view.EffectiveVisual; Assume.That(((IVisualController)layout).EffectiveVisual.IsMaterial()); Assume.That(((IVisualController)layout2).EffectiveVisual.IsDefault()); Assert.IsTrue(!target.IsMaterial(), "EffectiveVisual should be Default"); Assert.IsTrue(target.IsDefault(), "EffectiveVisual should be Default"); }
public void GrandparentSetsVisualAndGrandchildMaintainsParentExplicitValue() { var layout = ImplicitDefaultLayout(); var layout2 = ExplicitDefaultLayout(); IVisualController view = ImplicitDefaultView(); AddExplicitDefaultToLayout(layout, layout2); AddImplicitToDefault(layout2, (View)view); layout.Visual = Maui.Controls.VisualMarker.Material; var target = view.EffectiveVisual; Assert.IsTrue(!target.IsMaterial(), "EffectiveVisual should be Default"); Assert.IsTrue(target.IsDefault(), "EffectiveVisual should be Default"); Assert.AreEqual(Maui.Controls.VisualMarker.MatchParent, ((View)view).Visual); Assert.AreEqual(Maui.Controls.VisualMarker.Default, layout2.Visual); }
public void ReParentAndInheritNewParentValue() { var layout = ExplicitMaterialLayout(); IVisualController view = ImplicitDefaultView(); var layout2 = ExplicitDefaultLayout(); AddImplicitToMaterial(layout, (View)view); ((View)view).Parent = layout2; Assume.That(((IVisualController)layout2).EffectiveVisual.IsDefault()); var target = view.EffectiveVisual; Assert.IsTrue(!target.IsMaterial(), "EffectiveVisual should be Default"); Assert.IsTrue(target.IsDefault(), "EffectiveVisual should be Default"); Assert.AreEqual(Maui.Controls.VisualMarker.MatchParent, ((View)view).Visual); }
internal static void SetVisualfromParent(Element child) { IVisualController controller = child as IVisualController; if (controller == null) { return; } if (controller.Visual != VisualMarker.MatchParent) { controller.EffectiveVisual = controller.Visual; return; } if (child.Parent is IVisualController parentView) { controller.EffectiveVisual = parentView.EffectiveVisual; } }
internal static void PropagateVisual(Element target, Element source) { IVisualController targetController = target as IVisualController; if (targetController == null) { return; } if (targetController.Visual != VisualMarker.MatchParent) { targetController.EffectiveVisual = targetController.Visual; return; } if (source is IVisualController sourceController) { targetController.EffectiveVisual = sourceController.EffectiveVisual; } }
public void ReParentParentAndInheritNewGrandParentValue() { var layout = ExplicitMaterialLayout(); var layout2 = ImplicitDefaultLayout(); IVisualController view = ImplicitDefaultView(); var layout3 = ExplicitDefaultLayout(); AddImplicitToMaterial(layout, layout2); AddImplicitToMaterial(layout2, (View)view); layout2.Parent = layout3; Assume.That(((IVisualController)layout2).EffectiveVisual.IsDefault()); Assume.That(view.EffectiveVisual.IsDefault()); var target = ((View)view).Visual; Assert.AreEqual(Maui.Controls.VisualMarker.MatchParent, target); }