private void InitializeNavigator(List <Node> pages) { var brushes = new SolidColorBrush[] { new SolidColorBrush(Color.FromRgb(250, 250, 250)), new SolidColorBrush(Color.FromRgb(251, 192, 45)), new SolidColorBrush(Color.FromRgb(126, 87, 194)), new SolidColorBrush(Color.FromRgb(33, 150, 243)), new SolidColorBrush(Color.FromRgb(244, 81, 30)) }; for (int i = 0; i < pages.Count; i++) { var page = pages[i]; // 홈페이지 처리 if (page.PageName.ToLower() == "homepage") { Logo.MouseDown += delegate { Controller.Navigate(page.PageUrl); }; continue; } var view = new NavigatorView(page); view.Navigate += delegate(string url) { Controller.Navigate(url); }; view.Margin = new Thickness(5, 5, 5, 0); view.SetBrush(brushes[i % brushes.Length]); Navigator.Children.Add(view); } LoadFoldState(); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { string staticId = request.GetString(); string query = request.GetString(); NavigatorView view; if (!NavigatorView.TryParse(staticId, out view)) { return; } // TODO Create SearchResult class instead of Dictionary IDictionary <NavigatorCategory, IList <RoomData> > categories = view.GetCategories(query, session.Info); router.GetComposer <SearchResultSetComposer>().Compose(session, staticId, query, categories); }
private void GetcollapseStyle(NavigatorView nav, AttributeParser foldState, int deep = 0) { var prefix = ""; for (int i = 0; i < deep; i++) { prefix += '\t'; } var expended = nav.SubPagesContainer.Visibility == Visibility.Visible; foldState.SetAttribute(prefix + nav.Name.Content.ToString(), expended.ToString()); foreach (var subNav in nav.SubPagesContainer.Children) { if (subNav is NavigatorView) { GetcollapseStyle((NavigatorView)subNav, foldState, deep + 1); } } }
public override void Compose(Yupi.Protocol.ISender session) { using (ServerMessage message = Pool.GetMessageBuffer(Id)) { NavigatorView[] views = NavigatorView.GetSorted(); message.AppendInteger(views.Length); foreach (NavigatorView view in views) { message.AppendString(view.DisplayName); // TODO Could not find out where this is being used in client?! message.AppendInteger(1); // Count Saved Searches message.AppendInteger(1); // Saved Search Id message.AppendString("query"); message.AppendString("filter"); message.AppendString("localization"); } session.Send(message); } }
private void SetCollapseStyle(NavigatorView nav, AttributeParser.Attribute attr, int deep = 0) { var prefix = ""; for (int i = 0; i < deep; i++) { prefix += '\t'; } if (prefix + nav.Name.Content.ToString() == attr.Name) { var visibility = attr.Value == true.ToString() ? Visibility.Visible : Visibility.Collapsed; nav.SubPagesContainer.Visibility = visibility; } else { foreach (var subNav in nav.SubPagesContainer.Children) { if (subNav is NavigatorView) { SetCollapseStyle((NavigatorView)subNav, attr, deep + 1); } } } }
private void OnGetRelatedNodesByIdCompleted(object sender, ReturnedNodesEventArgs e) { int count = 0; int length = e.Nodes.Length - 1; if (Views.ContainsKey(FocalNodeId)) { CurrentView = Views[FocalNodeId]; } else { CurrentView = new NavigatorView(); Views.Add(FocalNodeId, CurrentView); SingleDepthNodeRenderer focalNodeRenderer = null; foreach (INodeProxy nodeProxy in e.Nodes) { if (nodeProxy.Id == FocalNodeId) { if (FocalNode == null) { FocalNode = nodeProxy; focalNodeRenderer = new SingleDepthNodeRenderer(CurrentView, FocalNode, ThemeManagementObject, "Focal"); CurrentView.NodeRenderers.Add(focalNodeRenderer.Node.Id, focalNodeRenderer); focalNodeRenderer.NodePositionUpdating += new EventHandler(OnNodePositionUpdating); focalNodeRenderer.NodeDoubleClicked += new EventHandler <NodeClickedArgs>(OnNodeDoubleClicked); } } else { SingleDepthNodeRenderer nodeRenderer = new SingleDepthNodeRenderer(CurrentView, nodeProxy, ThemeManagementObject, "Default"); nodeRenderer.NodeIndex = count; nodeRenderer.NodeCount = length; CurrentView.NodeRenderers.Add(nodeRenderer.Node.Id, nodeRenderer); nodeRenderer.NodePositionUpdating += new EventHandler(OnNodePositionUpdating); nodeRenderer.NodeDoubleClicked += new EventHandler <NodeClickedArgs>(OnNodeDoubleClicked); count++; } } if (focalNodeRenderer == null) { return; } foreach (INodeRenderer nodeRenderer in CurrentView.NodeRenderers.Values) { foreach (IDescriptorProxy descriptor in nodeRenderer.Node.Descriptors) { if (!CurrentView.RelationshipRenderers.ContainsKey(descriptor.Relationship.Id)) { bool relationshipIsPresent = true; foreach (IDescriptorProxy alternateDescriptor in descriptor.Relationship.Descriptors) { if (!CurrentView.NodeRenderers.ContainsKey(alternateDescriptor.Node.Id)) { relationshipIsPresent = false; break; } } if (relationshipIsPresent) { ImprovedArrow arrow = new ImprovedArrow(CurrentView, descriptor.Relationship); CurrentView.RelationshipRenderers.Add(descriptor.Relationship.Id, arrow); } } } } } RendererNodesEventArgs rendererNodesEventArgs = new RendererNodesEventArgs(CurrentView); if (GetCurrentNodesCompleted != null) { GetCurrentNodesCompleted.Invoke(sender, rendererNodesEventArgs); } }
public MapDepthNodeRenderer(NavigatorView parentNavigatorView, INodeProxy nodeProxy, ThemeManager themeManager, string skinName) : base(parentNavigatorView, nodeProxy, themeManager, skinName) { }
public SingleDepthNodeRenderer(NavigatorView parentNavigatorView, INodeProxy nodeProxy, ThemeManager themeManager, string skinName) : base(parentNavigatorView, nodeProxy, themeManager, skinName) { }
private void OnGetRelatedNodesByIdCompleted(object sender, ReturnedNodesEventArgs e) { int count = 0; int length = e.Nodes.Length - 1; if (Views.ContainsKey(FocalNodeId)) { CurrentView = Views[FocalNodeId]; } else { CurrentView = new NavigatorView(); Views.Add(FocalNodeId, CurrentView); SingleDepthNodeRenderer focalNodeRenderer = null; foreach (INodeProxy nodeProxy in e.Nodes) { if (nodeProxy.Id == FocalNodeId) { if (FocalNode == null) { FocalNode = nodeProxy; focalNodeRenderer = new SingleDepthNodeRenderer(CurrentView, FocalNode, ThemeManagementObject, "Focal"); CurrentView.NodeRenderers.Add(focalNodeRenderer.Node.Id, focalNodeRenderer); focalNodeRenderer.NodePositionUpdating += new EventHandler(OnNodePositionUpdating); focalNodeRenderer.NodeDoubleClicked += new EventHandler<NodeClickedArgs>(OnNodeDoubleClicked); } } else { SingleDepthNodeRenderer nodeRenderer = new SingleDepthNodeRenderer(CurrentView, nodeProxy, ThemeManagementObject, "Default"); nodeRenderer.NodeIndex = count; nodeRenderer.NodeCount = length; CurrentView.NodeRenderers.Add(nodeRenderer.Node.Id, nodeRenderer); nodeRenderer.NodePositionUpdating += new EventHandler(OnNodePositionUpdating); nodeRenderer.NodeDoubleClicked += new EventHandler<NodeClickedArgs>(OnNodeDoubleClicked); count++; } } if (focalNodeRenderer == null) { return; } foreach (INodeRenderer nodeRenderer in CurrentView.NodeRenderers.Values) { foreach (IDescriptorProxy descriptor in nodeRenderer.Node.Descriptors) { if (!CurrentView.RelationshipRenderers.ContainsKey(descriptor.Relationship.Id)) { bool relationshipIsPresent = true; foreach (IDescriptorProxy alternateDescriptor in descriptor.Relationship.Descriptors) { if (!CurrentView.NodeRenderers.ContainsKey(alternateDescriptor.Node.Id)) { relationshipIsPresent = false; break; } } if (relationshipIsPresent) { ImprovedArrow arrow = new ImprovedArrow(CurrentView, descriptor.Relationship); CurrentView.RelationshipRenderers.Add(descriptor.Relationship.Id, arrow); } } } } } RendererNodesEventArgs rendererNodesEventArgs = new RendererNodesEventArgs(CurrentView); if (GetCurrentNodesCompleted != null) { GetCurrentNodesCompleted.Invoke(sender, rendererNodesEventArgs); } }