Esempio n. 1
0
        public void DetectsCategoryFromNamespace()
        {
            var nodeConfig = new MyNodeConfig();

            nodeConfig.NodeType = typeof(TestType);

            Assert.Equal("(GoodAI.BrainSimulator)", CategorySortingHat.DetectCategoryName(nodeConfig));
        }
Esempio n. 2
0
        public void DetectsCategoryFromGoodAiModulesNamespace()
        {
            var nodeConfig = new MyNodeConfig();

            nodeConfig.NodeType = typeof(FoobarType);

            Assert.Equal("(Foo)", CategorySortingHat.DetectCategoryName(nodeConfig));
        }
Esempio n. 3
0
        private void PopulateNodeListViewByCategory(string categoryName)
        {
            if (string.IsNullOrEmpty(categoryName))
            {
                return;
            }

            PopulateNodeListView(m_nodeInfoItems
                                 .Where(item => CategorySortingHat.DetectCategoryName(item.Config) == categoryName)
                                 .Select(item => item.ListViewItem));
        }
Esempio n. 4
0
        private void AddNodeButtonToCategoryMenu(MyNodeConfig nodeConfig)
        {
            ToolStripDropDownButton targetMenuButton =
                FindTargetMenuButton(CategorySortingHat.DetectCategoryName(nodeConfig));  // TODO: optimize with HashSet

            if (targetMenuButton == null)
            {
                return;
            }

            ToolStripItem newButton = new ToolStripMenuItem()
            {
                Text         = MyProject.ShortenNodeTypeName(nodeConfig.NodeType),
                DisplayStyle = ToolStripItemDisplayStyle.ImageAndText
            };

            ToolStripItemCollection targetItems = targetMenuButton.DropDownItems;

            InnerAddNodeButtonOrMenuItem(newButton, nodeConfig, targetItems, addSeparators: true);
        }