private void AddNodeToMap(IMapControl map, Image item, MouseButtonEventArgs eventArgs) { TypeManager typeManager = IoC.IoCContainer.GetInjectionInstance().GetInstance <TypeManager>(); INodeTypeProxy nodeType = null; if (item.Name == "IdeaImage") { nodeType = typeManager.GetNodeType("CompendiumIdeaNode"); } else if (item.Name == "ProImage") { nodeType = typeManager.GetNodeType("CompendiumProNode"); } else if (item.Name == "ConImage") { nodeType = typeManager.GetNodeType("CompendiumConNode"); } else if (item.Name == "QuestionImage") { nodeType = typeManager.GetNodeType("CompendiumQuestionNode"); } else if (item.Name == "MapImage") { nodeType = typeManager.GetNodeType("CompendiumMapNode"); } else if (item.Name == "DecisionImage") { nodeType = typeManager.GetNodeType("CompendiumDecisionNode"); } map.Navigator.AddNode(nodeType, "", eventArgs.GetPosition(map as UIElement)); }
public INodeSkin GetSkin(INodeTypeProxy nodeTypeProxy, string skinName) { //Dictionary<INodeTypeProxy, Dictionary<string, INodeSkin>> nodeTypes = _themes[_currentThemeName]; //Dictionary<string, INodeSkin> nodeSkins = nodeTypes[nodeTypeProxy]; foreach (ThemeSkin skin in _themes2[_currentThemeName].Skin) { if (skin.Name == skinName && skin.NodeType == nodeTypeProxy.Name) { object skinObject = Assembly.GetExecutingAssembly().CreateInstance(skin.Class); if (skinObject is INodeSkin) { INodeSkin skinObj = skinObject as INodeSkin; foreach (ThemeSkinProperty skinProperty in skin.Property) { skinObj.SkinProperties[skinProperty.Name] = skinProperty.Value; } return(skinObj); } } } return(null); //INodeSkin nodeSkin = nodeSkins[skinName]; // return nodeSkin; }
public void InitialiseNodeType(INodeTypeProxy nodeType) { if (!_isNodeTypeInitialised) { throw new NotSupportedException("This method has already been invoked."); } NodeType = nodeType; }
public void AddNode(Guid domainId, INodeTypeProxy nodeType, string originalId, Point location) { MapLocationState addParam = new MapLocationState() { Location = location }; Client.AddNodeAsync(domainId, new SoapNodeType() { Id = nodeType.Id, Name = nodeType.Name }, originalId, addParam); }
public virtual void AddNode(INodeTypeProxy nodeType, string originalId, Point location) { NodeService.AddNode(DomainId, nodeType, originalId, location); }
public INodeSkin GetSkin(INodeTypeProxy nodeTypeProxy, string skinName) { //Dictionary<INodeTypeProxy, Dictionary<string, INodeSkin>> nodeTypes = _themes[_currentThemeName]; //Dictionary<string, INodeSkin> nodeSkins = nodeTypes[nodeTypeProxy]; foreach (ThemeSkin skin in _themes2[_currentThemeName].Skin) { if (skin.Name == skinName && skin.NodeType == nodeTypeProxy.Name) { object skinObject = Assembly.GetExecutingAssembly().CreateInstance(skin.Class); if (skinObject is INodeSkin) { INodeSkin skinObj = skinObject as INodeSkin; foreach (ThemeSkinProperty skinProperty in skin.Property) { skinObj.SkinProperties[skinProperty.Name] = skinProperty.Value; } return skinObj; } } } return null; //INodeSkin nodeSkin = nodeSkins[skinName]; // return nodeSkin; }
public void AddNode(Guid domainId, INodeTypeProxy nodeType, string originalId, Point location) { MapLocationState addParam = new MapLocationState() { Location = location}; Client.AddNodeAsync(domainId, new SoapNodeType() { Id = nodeType.Id, Name = nodeType.Name }, originalId, addParam); }
internal void CompendiumMapDepthMap_KeyDown(object sender, KeyEventArgs e) { // TODO: This needs to be done better. if (e.OriginalSource is TextBox) { return; } INodeTypeProxy nodeType = null; if (e.Key == Key.I || e.Key == Key.A || e.Key == Key.P || e.Key == Key.D1 || e.Key == Key.NumPad1) { // I, A, P, ! or 1 nodeType = _typeManager.GetNodeType("CompendiumIdeaNode"); } else if (e.PlatformKeyCode == 187 || e.Key == Key.Add && Keyboard.Modifiers != ModifierKeys.Control) { // + or = nodeType = _typeManager.GetNodeType("CompendiumProNode"); } else if (e.PlatformKeyCode == 189 || e.Key == Key.Subtract && Keyboard.Modifiers != ModifierKeys.Control) { // - nodeType = _typeManager.GetNodeType("CompendiumConNode"); } else if (e.Key == Key.Q || e.Key == Key.Divide || e.PlatformKeyCode == 191) { // Q, ? or / nodeType = _typeManager.GetNodeType("CompendiumQuestionNode"); } else if (e.Key == Key.M) { // M nodeType = _typeManager.GetNodeType("CompendiumMapNode"); } else if (e.Key == Key.D) { // D nodeType = _typeManager.GetNodeType("CompendiumDecisionNode"); } else if (e.Key == Key.Delete) { Navigator.DeleteNodes(SelectedNodes); Navigator.DeleteRelationships(SelectedRelationships); } else if (Keyboard.Modifiers == ModifierKeys.Control && e.Key == Key.Enter) { if (SelectedNodes.Length == 1) { NPDHelper.ShowNodePropertiesDialog(SelectedNodes[0]); } } else if (Keyboard.Modifiers == ModifierKeys.Shift && e.Key == Key.R) { //Ctrl+R NodeSorter.SortLeftToRight(); } else if (e.Key == Key.Down) { translateTransform.Y -= 10; } else if (e.Key == Key.Up) { translateTransform.Y += 10; } else if (e.Key == Key.Left) { translateTransform.X += 10; } else if (e.Key == Key.Right) { translateTransform.X -= 10; } else if (Keyboard.Modifiers == ModifierKeys.Control && e.Key == Key.Add) { Zoom(new Point(this.ActualWidth / 2, this.ActualHeight / 2), 0.2); } else if (Keyboard.Modifiers == ModifierKeys.Control && e.Key == Key.Subtract) { Zoom(new Point(this.ActualWidth / 2, this.ActualHeight / 2), -0.2); } else if (e.Key == Key.Back) { Navigator.GoBack(); } if (nodeType != null) { Navigator.AddNode(nodeType, "", _currentMousePosition); } }
private void CanvasContextMenu_Loaded(object sender, RoutedEventArgs e) { MenuItem addNodeMenuItem = new MenuItem(); addNodeMenuItem.Header = new TextBlock() { Text = "Load Nodes", FontWeight = FontWeights.Bold }; this.Items.Add(addNodeMenuItem); AddAddNodeMenuItem("Map Node", delegate(object sender2, RoutedEventArgs e2) { INodeTypeProxy nodeType = TypeManager.GetNodeType("CompendiumMapNode"); Navigator.AddNode(nodeType, "", Location); }); AddAddNodeMenuItem("Idea Node", delegate(object sender2, RoutedEventArgs e2) { INodeTypeProxy nodeType = TypeManager.GetNodeType("CompendiumIdeaNode"); Navigator.AddNode(nodeType, "", Location); }); AddAddNodeMenuItem("Question Node", delegate(object sender2, RoutedEventArgs e2) { INodeTypeProxy nodeType = TypeManager.GetNodeType("CompendiumQuestionNode"); Navigator.AddNode(nodeType, "", Location); }); AddAddNodeMenuItem("Pro Node", delegate(object sender2, RoutedEventArgs e2) { INodeTypeProxy nodeType = TypeManager.GetNodeType("CompendiumProNode"); Navigator.AddNode(nodeType, "", Location); }); AddAddNodeMenuItem("Con Node", delegate(object sender2, RoutedEventArgs e2) { INodeTypeProxy nodeType = TypeManager.GetNodeType("CompendiumConNode"); Navigator.AddNode(nodeType, "", Location); }); AddAddNodeMenuItem("Decision Node", delegate(object sender2, RoutedEventArgs e2) { INodeTypeProxy nodeType = TypeManager.GetNodeType("CompendiumDecisionNode"); Navigator.AddNode(nodeType, "", Location); }); Separator seperator1 = new Separator(); this.Items.Add(seperator1); MenuItem pasteMenuItem = new MenuItem(); pasteMenuItem.Header = "Paste"; pasteMenuItem.Click += new RoutedEventHandler(pasteMenuItem_Click); this.Items.Add(pasteMenuItem); Separator seperator2 = new Separator(); this.Items.Add(seperator2); MenuItem assignVideoMenuItem = new MenuItem(); assignVideoMenuItem.Header = "Choose Video..."; assignVideoMenuItem.Click += new RoutedEventHandler(assignVideoMenuItem_Click); this.Items.Add(assignVideoMenuItem); }
private void LoadXml(XmlReader xmlReader) { while (xmlReader.ReadToFollowing("Theme")) { string themeName = xmlReader.GetAttribute("Name"); string themeAssembly = xmlReader.GetAttribute("Assembly"); Dictionary <INodeTypeProxy, Dictionary <string, INodeSkin> > theme; if (_themes.ContainsKey(themeName)) { theme = _themes[themeName]; } else { theme = new Dictionary <INodeTypeProxy, Dictionary <string, INodeSkin> >(); _themes.Add(themeName, theme); } while (!(xmlReader.Name == "Theme" && xmlReader.NodeType == XmlNodeType.EndElement) && xmlReader.Read()) { if (xmlReader.Name == "Skin" && xmlReader.NodeType == XmlNodeType.Element) { string skinNameXmlValue = null; string skinClassXmlValue = null; string skinAssemblyXmlValue = null; string skinNodeTypeXmlValue = null; INodeSkin skin = null; if (xmlReader.NodeType == XmlNodeType.Element) { skinNameXmlValue = xmlReader.GetAttribute("Name"); skinClassXmlValue = xmlReader.GetAttribute("Class"); skinAssemblyXmlValue = xmlReader.GetAttribute("Assembly"); skinNodeTypeXmlValue = xmlReader.GetAttribute("NodeType"); } Dictionary <string, INodeSkin> nodeTypes; INodeTypeProxy nodeType = IoC.IoCContainer.GetInjectionInstance().GetInstance <TypeManager>().GetNodeType(skinNodeTypeXmlValue); if (nodeType != null && theme.ContainsKey(nodeType)) { nodeTypes = theme[nodeType]; } else { nodeTypes = new Dictionary <string, INodeSkin>(); theme.Add(nodeType, nodeTypes); } if (!string.IsNullOrEmpty(skinClassXmlValue) && !string.IsNullOrEmpty(skinNodeTypeXmlValue)) { object skinObject = Assembly.GetExecutingAssembly().CreateInstance(skinClassXmlValue); if (skinObject is INodeSkin) { skin = skinObject as INodeSkin; if (!nodeTypes.ContainsKey(skinNameXmlValue)) { nodeTypes.Add(skinNameXmlValue, skin); } } else if (skinObject == null) { throw new NotSupportedException("The provided theme does not exist."); } else { throw new NotSupportedException("The provided theme is not a skin."); } } while (!(xmlReader.Name == "Skin" && xmlReader.NodeType == XmlNodeType.EndElement)) { if (xmlReader.Name == "Property" && xmlReader.NodeType == XmlNodeType.Element) { string stylePropertyName = xmlReader.GetAttribute("Name"); string stylePropertyValue = xmlReader.ReadElementContentAsString(); stylePropertyValue = stylePropertyValue.Trim(); skin.SkinProperties[stylePropertyName] = stylePropertyValue; } else { xmlReader.Read(); } } } else { xmlReader.Read(); } } } }