public static NodeMapData GetNode(ScriptableNodeMapData scriptableNode) { NodeMapData node; if (scriptableNode is ScriptableIconNodeMapData) { ScriptableIconNodeMapData scriptableIconNode = (ScriptableIconNodeMapData)scriptableNode; IconNodeMapData iconNode = new IconNodeMapData(scriptableIconNode.Id); if (!String.IsNullOrEmpty(scriptableIconNode.ImageSource)) { Uri imageSourceUri = new Uri(scriptableIconNode.ImageSource); iconNode.ImageSource = imageSourceUri; } node = iconNode; } else { node = new TextNodeMapData(scriptableNode.Id); } // Properties node.Description = scriptableNode.Description; node.Label = scriptableNode.Label; node.Dimension = GetDimension(scriptableNode.Dimension); node.Position = GetPosition(scriptableNode.Position); node.IsHidden = scriptableNode.IsHidden; node.BackgroundColor = GetColor(scriptableNode.BackgroundColor); node.SelectionColor = GetColor(scriptableNode.SelectionColor); // Attributes foreach (KeyValuePair<string, ScriptableAttributeMapData> kvp in scriptableNode.Attributes) { ScriptableAttributeMapData scriptableAttribute = kvp.Value; AttributeMapData attribute = new AttributeMapData(scriptableAttribute.Name, scriptableAttribute.Value); attribute.SemanticType = (SemanticType)scriptableAttribute.SemanticType; attribute.SimilarityMeasure = scriptableAttribute.SimilarityMeasure; attribute.IsHidden = scriptableAttribute.IsHidden; node.Attributes.Add(kvp.Key, attribute); } return node; }
public static NodeMapData GetNode(ScriptableNodeMapData scriptableNode) { NodeMapData node; if (scriptableNode is ScriptableIconNodeMapData) { ScriptableIconNodeMapData scriptableIconNode = (ScriptableIconNodeMapData)scriptableNode; IconNodeMapData iconNode = new IconNodeMapData(scriptableIconNode.Id); if (!String.IsNullOrEmpty(scriptableIconNode.ImageSource)) { Uri imageSourceUri = new Uri(scriptableIconNode.ImageSource); iconNode.ImageSource = imageSourceUri; } node = iconNode; } else { node = new TextNodeMapData(scriptableNode.Id); } // Properties node.Description = scriptableNode.Description; node.Label = scriptableNode.Label; node.Dimension = GetDimension(scriptableNode.Dimension); node.Position = GetPosition(scriptableNode.Position); node.IsHidden = scriptableNode.IsHidden; node.BackgroundColor = GetColor(scriptableNode.BackgroundColor); node.SelectionColor = GetColor(scriptableNode.SelectionColor); // Attributes foreach (KeyValuePair <string, ScriptableAttributeMapData> kvp in scriptableNode.Attributes) { ScriptableAttributeMapData scriptableAttribute = kvp.Value; AttributeMapData attribute = new AttributeMapData(scriptableAttribute.Name, scriptableAttribute.Value); attribute.SemanticType = (SemanticType)scriptableAttribute.SemanticType; attribute.SimilarityMeasure = scriptableAttribute.SimilarityMeasure; attribute.IsHidden = scriptableAttribute.IsHidden; node.Attributes.Add(kvp.Key, attribute); } return(node); }
public static GraphMapData AnbToGraph(Chart chart) { if (chart == null) { throw new ArgumentNullException(); } GraphMapData graph = new GraphMapData(); foreach (ChartItem chartItem in chart.chartItemCollection.chartItems) { if (chartItem.end != null) { IconNodeMapData node = new IconNodeMapData(chartItem.end.entity.attrEntityId); graph.Add(node); node.Label = chartItem.attrLabel; SolidColorBrush backgroundColor = Conversion.HexColorToBrush(chartItem.ciStyle.font.attrBackColour); node.BackgroundColor = backgroundColor.Color; foreach (Anb.Attribute attribute in chartItem.attributeCollection.attributes) { AttributeMapData objAttribute = new AttributeMapData(attribute.attrAttributeClass, attribute.attrValue); node.Attributes.Add(objAttribute.Name, objAttribute); } } else { EdgeMapData edge = new EdgeMapData(chartItem.link.attrEnd1Id, chartItem.link.attrEnd2Id); graph.Add(edge); edge.Label = chartItem.link.linkStyle.attrType; } } return graph; }
/*/// <summary> /// Gets the default edge type (direction) to be used in the /// event that the 'directed' attribute of an edge is not included /// </summary> /// <param name="defaultEdgeType">The value of the edgedefault attribute</param> private static GraphType GetDefaultEdgeType(string defaultEdgeType) { GraphType determinedEdgeType = GraphType.Undirected; if (defaultEdgeType != null && defaultEdgeType.ToLower().Equals("directed")) { determinedEdgeType = GraphType.Directed; } return determinedEdgeType; }*/ /// <summary> /// Reads an XML node from the specified XmlReader /// </summary> /// <param name="reader">Reader from which to read the node from</param> private NodeMapData ReadNode(XmlReader reader, NodeTypes defaultNodeType) { NodeMapData objNode; string nodeId = reader.GetAttribute("id"); if (defaultNodeType == NodeTypes.Icon) { objNode = new IconNodeMapData(nodeId); } else { objNode = new TextNodeMapData(nodeId); } if (reader.ReadToDescendant("data")) { Attributes.Attribute newAttribute = null; AttributeValue newAttributeValue = null; // Loop over all data elements. These are the attributes do { // Record the attributes string dataKey = reader.GetAttribute("key"); string dataValue = reader.ReadElementContentAsString(); // Determine if we are dealing with a node property if (dataKey.StartsWith(NODE_PROPERTY_PREFIX)) { string propName = dataKey.Substring(NODE_PROPERTY_PREFIX.Length); switch (propName) { case "Description": objNode.Description = dataValue; break; case "DisplayValue": objNode.Label = dataValue; break; case "SelectionColor": SolidColorBrush selectionColor = Conversion.HexColorToBrush(dataValue); objNode.SelectionColor = selectionColor.Color; break; case "ImageSource": ((IconNodeMapData)objNode).ImageSource = new Uri(dataValue, UriKind.RelativeOrAbsolute); break; case "Height": double height = double.Parse(dataValue); objNode.Dimension = new Size(objNode.Dimension.Width, height); break; case "Width": double width = double.Parse(dataValue); objNode.Dimension = new Size(width, objNode.Dimension.Height); break; case "Position": string[] splitPosition = dataValue.Split(','); objNode.Position = new Point(double.Parse(splitPosition[0]), double.Parse(splitPosition[1])); break; case "IsHidden": objNode.IsHidden = bool.Parse(dataValue); break; case "BackgroundColor": SolidColorBrush backgroundColor = Conversion.HexColorToBrush(dataValue); objNode.BackgroundColor = backgroundColor.Color; break; default: // TODO prop is for a different version of SnagL break; } // TODO do we only want to do whats above when what is commented out below fails? /*// Attempt to set the node propety if ((SetExportablePropertyValue(dataKey, objNode, dataValue))) _logger.WriteLogEntry(LogLevel.INFO, string.Format("The Node property [{0}] was set to '{1}'", dataKey, dataValue), null, null); else { // The property might be for the view model so try // and set the view model if ((SetExportablePropertyValue(dataKey, objNode, dataValue))) _logger.WriteLogEntry(LogLevel.INFO, string.Format("The NodeVM property [{0}] was set to '{1}'", dataKey, dataValue), null, null); else _logger.WriteLogEntry(LogLevel.ERROR, string.Format("Unable to set the property [{0}] to the specified value [{1}]", dataKey, dataValue), null, null); }*/ } else // Determine if we are dealing with an attribute { if (dataKey.StartsWith(NODE_ATTRIBUTE_PREFIX)) { // Determine if we are dealing with a descriptor or a value if (dataKey.EndsWith(ATTRIBUTE_DESCRIPTOR_SUFFIX)) newAttribute = CreateAttribute(dataValue); else if (dataKey.EndsWith(ATTRIBUTE_VALUE_SUFFIX)) { newAttributeValue = new AttributeValue(dataValue); } } else // If we are here, we are not dealing with SnagL formatted GraphML { // We are dealing with an unknown data element so we // are going to treat it like a new attribute // Determine if we are dealing with a descriptor or a value newAttribute = new Attributes.Attribute(dataKey); newAttributeValue = new AttributeValue(dataValue); } // Check if we have a valid Attribute and AttributeValue class if (newAttribute != null && newAttributeValue != null) { AttributeMapData objAttribute = new AttributeMapData(newAttribute.Name, newAttributeValue.Value); objNode.Attributes.Add(objAttribute.Name, objAttribute); objAttribute.SemanticType = newAttribute.SemanticType; objAttribute.SimilarityMeasure = newAttribute.PreferredSimilarityMeasure; objAttribute.IsHidden = !newAttribute.Visible; newAttribute = null; newAttributeValue = null; } } } while (reader.LocalName == "data" || (string.IsNullOrEmpty(reader.LocalName) && reader.ReadToNextSibling("data"))); } return objNode; }
public static NodeMapData GetNode(NodeViewModelBase uiNodeVM) { NodeMapData objNode; if (uiNodeVM.GetType().Equals(typeof(IconNodeViewModel))) { objNode = new IconNodeMapData(uiNodeVM.ParentNode.ID); // Property IconNodeViewModel iconNodeVM = (IconNodeViewModel)uiNodeVM; if (iconNodeVM.ImageSource != null) { ((IconNodeMapData)objNode).ImageSource = new System.Uri(iconNodeVM.ImageSource, UriKind.Relative); } } else { objNode = new TextNodeMapData(uiNodeVM.ParentNode.ID); } // Properties objNode.Description = uiNodeVM.Description; objNode.Label = uiNodeVM.DisplayValue; Size dimension = new Size(uiNodeVM.Width, uiNodeVM.Height); objNode.Dimension = dimension; objNode.Position = uiNodeVM.Position; objNode.IsHidden = uiNodeVM.IsHidden; objNode.BackgroundColor = uiNodeVM.BackgroundColor.Color; objNode.SelectionColor = uiNodeVM.SelectionColor.Color; // Attributes foreach (KeyValuePair<string, AttributeValue> uiNodeVMAttrKVP in uiNodeVM.ParentNode.Attributes) { Attributes.Attribute uiNodeVMAttribute = GlobalAttributeCollection.GetInstance(uiNodeVM.Scope).GetAttribute(uiNodeVMAttrKVP.Key); AttributeMapData objNodeAttribute = new AttributeMapData(uiNodeVMAttrKVP.Key, uiNodeVMAttrKVP.Value.Value); objNode.Attributes.Add(objNodeAttribute.Name, objNodeAttribute); objNodeAttribute.SemanticType = uiNodeVMAttribute.SemanticType; objNodeAttribute.SimilarityMeasure = uiNodeVMAttribute.PreferredSimilarityMeasure; objNodeAttribute.IsHidden = !uiNodeVMAttribute.Visible; } return objNode; }
private static IconNodeMapData SeedToNode(string seed) { string[] splitSeed = SplitOnFirstColon(seed); string seedType = splitSeed[0]; string seedAddress = splitSeed[1]; IconNodeMapData seedNode = new IconNodeMapData(seedAddress); return seedNode; }
private static IconNodeMapData DataToNode(Data data) { IconNodeMapData node = new IconNodeMapData(data.address); if (data.attr0 != null) { AttributeMapData objAttribute = new AttributeMapData("attr0", data.attr0); node.Attributes.Add("attr0", objAttribute); } if (data.attr1 != null) { AttributeMapData objAttribute = new AttributeMapData("attr1", data.attr1); node.Attributes.Add("attr1", objAttribute); } if (data.attr2 != null) { AttributeMapData objAttribute = new AttributeMapData("attr2", data.attr2); node.Attributes.Add("attr2", objAttribute); } if (data.attr3 != null) { AttributeMapData objAttribute = new AttributeMapData("attr3", data.attr3); node.Attributes.Add("attr3", objAttribute); } if (data.attr4 != null) { AttributeMapData objAttribute = new AttributeMapData("attr4", data.attr4); node.Attributes.Add("attr4", objAttribute); } if (data.attr5 != null) { AttributeMapData objAttribute = new AttributeMapData("attr5", data.attr5); node.Attributes.Add("attr5", objAttribute); } if (data.attr6 != null) { AttributeMapData objAttribute = new AttributeMapData("attr6", data.attr6); node.Attributes.Add("attr6", objAttribute); } if (data.attr7 != null) { AttributeMapData objAttribute = new AttributeMapData("attr7", data.attr7); node.Attributes.Add("attr7", objAttribute); } if (data.attr8 != null) { AttributeMapData objAttribute = new AttributeMapData("attr8", data.attr8); node.Attributes.Add("attr8", objAttribute); } return node; }