public void DeleteAdaptiveView(IAdaptiveView view) { if (view == _base) { throw new ArgumentException("Cannot delete Base adaptive view!"); } AdaptiveView viewToDelete = view as AdaptiveView; if (viewToDelete != null) { AdaptiveView parent = viewToDelete.ParentView as AdaptiveView; if (parent != null) { // Remove this view from parent parent.RemoveChildView(viewToDelete); // Add child view to new parent foreach (AdaptiveView childView in viewToDelete.ChildViews) { if (childView != null) { parent.AddChildView(childView); } } } // Remove this view from views _views.Remove(viewToDelete); _document.OnDeleteAdaptiveView(viewToDelete); } }
public void ChangeParent(IAdaptiveView view, IAdaptiveView newParent) { if (view == _base) { throw new ArgumentException("Cannot change parent of Base adaptive view!"); } AdaptiveView viewToChange = view as AdaptiveView; AdaptiveView newParentView = newParent as AdaptiveView; if (viewToChange == null) { throw new ArgumentNullException("view"); } if (newParentView == null) { throw new ArgumentNullException("newParent"); } // Remove view from old parent AdaptiveView oldParentView = viewToChange.ParentView as AdaptiveView; if (oldParentView != null && oldParentView != newParentView) { oldParentView.RemoveChildView(viewToChange); } newParentView.AddChildView(viewToChange); _document.OnChangeAdaptiveViewParent(viewToChange, oldParentView); }
public IMasterStyle GetMasterStyle(Guid viewGuid) { if (viewGuid == Guid.Empty) { return(null); } // If it is base view. if (ParentDocument != null && ParentDocument.IsOpened && viewGuid == ParentDocument.AdaptiveViewSet.Base.Guid) { return(_masterStyle); } else { // If view style already exists, just return it. if (_masterStyles.Contains(viewGuid)) { return(_masterStyles[viewGuid]); } else if (ParentDocument != null && ParentDocument.IsOpened) { // Add view style if the adaptive view is in document adaptive view set. IAdaptiveView view = ParentDocument.AdaptiveViewSet.AdaptiveViews[viewGuid]; if (view != null) { return(AddMasterStyle(view as AdaptiveView)); } } return(null); } }
public override IRegionStyle GetRegionStyle(Guid viewGuid) { if (viewGuid == Guid.Empty) { return(null); } if (ParentDocument != null && ParentDocument.IsOpened && viewGuid == ParentDocument.AdaptiveViewSet.Base.Guid) { return(RegionStyle); } else { if (GroupStyles.ContainsKey(viewGuid)) { return(GroupStyles[viewGuid]); } else if (ParentDocument != null && ParentDocument.IsOpened) { IAdaptiveView view = ParentDocument.AdaptiveViewSet.AdaptiveViews[viewGuid]; if (view != null) { GroupStyle style = new GroupStyle(this, viewGuid); GroupStyles[viewGuid] = style; return(style); } } return(null); } }
private void LoadAdaptiveView(AdaptivVieweNode parent, IAdaptiveView curView) { //==============load current view================// //Set all Condition to LessOrEqual if (curView.Condition != AdaptiveViewCondition.LessOrEqual) { curView.Condition = AdaptiveViewCondition.LessOrEqual; } AdaptivVieweNode adaptive = new AdaptivVieweNode(curView); adaptive.ParentNode = parent; if (parent != null) { parent.Add(adaptive); } _adaptiveModel.AdaptiveViewsList.Add(adaptive); //==============load children views================// foreach (IAdaptiveView view in curView.ChildViews) { LoadAdaptiveView(adaptive, view); } }
private void LoadAdaptiveFromDocument(AdaptivVieweNode parentNode, IAdaptiveView parentView) { foreach (IAdaptiveView view in parentView.ChildViews) { AdaptivVieweNode node = new AdaptivVieweNode(view); parentNode.Add(node); node.ParentNode = parentNode; LoadAdaptiveFromDocument(node, view); } }
public AdaptivVieweNode(IAdaptiveView view) { _condition = AdaptiveViewCondition.LessOrEqual; Children = new ObservableCollection <AdaptivVieweNode>(); if (view != null) { AdaptiveView = view; _name = view.Name; _condition = view.Condition; _description = view.Description; _width = view.Width; _height = view.Height; _isChecked = false; } }
public IAdaptiveView CreateAdaptiveView(string name, IAdaptiveView parent) { AdaptiveView parentView = parent as AdaptiveView; if (parentView == null) { throw new ArgumentNullException("parent"); } AdaptiveView view = new AdaptiveView(this, name); parentView.AddChildView(view); _views.Add(view); _document.OnAddAdaptiveView(view); return(view); }
public bool MoveAdaptiveViewTo(IAdaptiveView view, int index) { if (view == _base) { throw new ArgumentException("Cannot move base adaptive view!"); } AdaptiveView viewToMove = view as AdaptiveView; AdaptiveView parentView = viewToMove.ParentView as AdaptiveView; if (parentView != null) { AdaptiveViews views = parentView.ChildViews as AdaptiveViews; if (views != null) { return(views.MoveItemTo(viewToMove, index)); } } return(false); }
private bool HasVisibleChildWidget(IGroup group, IAdaptiveView adaptiveView, bool recursive) { foreach (IWidget widget in group.Widgets) { IWidgetStyle style = widget.GetWidgetStyle(adaptiveView.Guid); if (style != null && style.IsVisible) { return(true); } } if (recursive) { foreach (IGroup childGroup in group.Groups) { return(HasVisibleChildWidget(childGroup, adaptiveView, recursive)); } } return(false); }
public JsAdaptiveView(HtmlServiceProvider service, IAdaptiveView view) { _service = service; _view = view; }
internal void PlaceMasterInternal(Master master, bool placeToChild) { if (master != null && !_masterGuidList.Contains(master.Guid) && ParentDocument != null && ParentDocument.IsOpened) { _masterGuidList.Add(master.Guid); if (_masters != null) { _masters.Add(master.Guid, master as Master); } // If this master is never placed in base view before. if (master.HasBeenPlacedInBaseView == false) { // If this view is base view, set the flag if (_viewGuid == ParentDocument.AdaptiveViewSet.Base.Guid) { master.HasBeenPlacedInBaseView = true; // If the widget is not created in base view, set the create view style as the base view style. // If the widget is IPageEmbeddedWidget, we don't update the child widgets style. if (master.CreatedViewGuid != ParentDocument.AdaptiveViewSet.Base.Guid) { MasterStyle createdViewStyle = master.GetMasterStyle(master.CreatedViewGuid) as MasterStyle; MasterStyle baseViewStyle = master.MasterStyle as MasterStyle; if (createdViewStyle != null) { Style.CopyStyle(createdViewStyle, baseViewStyle, null, null); } } } } // Place to child page view. if (placeToChild) { IAdaptiveView view = null; if (_viewGuid == ParentDocument.AdaptiveViewSet.Base.Guid) { view = ParentDocument.AdaptiveViewSet.Base; } else { view = ParentDocument.AdaptiveViewSet.AdaptiveViews[_viewGuid]; } if (view != null) { foreach (AdaptiveView childView in view.ChildViews) { PageView childPageView = ParentPage.PageViews[childView.Guid] as PageView; if (childPageView != null) { childPageView.PlaceMasterInternal(master, true); } } } } } }
internal void PlaceWidgetInternal(Widget widget, bool placeToChild) { if (widget != null && !_widgetGuidList.Contains(widget.Guid) && ParentDocument != null && ParentDocument.IsOpened) { _widgetGuidList.Add(widget.Guid); if (_widgets != null) { _widgets.Add(widget.Guid, widget as Widget); } // If this widget is never placed in base view before. if (widget.HasBeenPlacedInBaseView == false) { // If this view is base view, set the flag if (_viewGuid == ParentDocument.AdaptiveViewSet.Base.Guid) { widget.HasBeenPlacedInBaseView = true; // If the widget is not created in base view, set the create view style as the base view style. // If the widget is IPageEmbeddedWidget, we don't update the child widgets style. if (widget.CreatedViewGuid != ParentDocument.AdaptiveViewSet.Base.Guid) { WidgetStyle createdViewStyle = widget.GetWidgetStyle(widget.CreatedViewGuid) as WidgetStyle; WidgetStyle baseViewStyle = widget.WidgetStyle as WidgetStyle; if (createdViewStyle != null) { Style.CopyStyle(createdViewStyle, baseViewStyle, null, null); } } } } // Place to child page view. if (placeToChild) { IAdaptiveView view = null; if (_viewGuid == ParentDocument.AdaptiveViewSet.Base.Guid) { view = ParentDocument.AdaptiveViewSet.Base; } else { view = ParentDocument.AdaptiveViewSet.AdaptiveViews[_viewGuid]; } if (view != null) { foreach (AdaptiveView childView in view.ChildViews) { PageView childPageView = ParentPage.PageViews[childView.Guid] as PageView; if (childPageView != null) { childPageView.PlaceWidgetInternal(widget, true); } } } } } }
public JsGroupStyle(HtmlServiceProvider service, IGroup group, IAdaptiveView adaptiveView) { _service = service; _group = group; _adaptiveView = adaptiveView; }
public int IndexOf(IAdaptiveView view) { return(base.IndexOf(view as AdaptiveView)); }