Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
        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);
        }
Esempio n. 5
0
 public virtual void AddNode(INodeTypeProxy nodeType, string originalId, Point location)
 {
     NodeService.AddNode(DomainId, nodeType, originalId, location);
 }
Esempio n. 6
0
        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;
        }
Esempio n. 7
0
        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);
 }
Esempio n. 9
0
        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);
            }
        }
Esempio n. 10
0
        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);
        }
Esempio n. 11
0
 public virtual void AddNode(INodeTypeProxy nodeType, string originalId, Point location)
 {
     NodeService.AddNode(DomainId, nodeType, originalId, location);
 }
Esempio n. 12
0
        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();
                    }
                }
            }
        }