コード例 #1
0
 private void SetReflexilHandler(ITreeViewItem selectedTreeItem)
 {
     if (selectedTreeItem != null)
     {
         this.StudioPackage.SelectedTreeViewItem = selectedTreeItem;
     }
 }
コード例 #2
0
        public void Initialize(ITreeViewItem item, TreeViewFieldViewModel parentField)
        {
            if (item == null)
                throw new ArgumentNullException("item");

            if (parentField == null)
                throw new ArgumentNullException("parentField");

            ParentFieldViewModel = parentField;
            IsExpanded = false;

            Refresh(item);
        }
コード例 #3
0
		public DeobfuscateDialogViewModel(ITreeViewItem selectedItem, IAssemblyManagerService assemblyManagerService)
		{
			this.selectedItem = selectedItem;
			this.assemblyManagerService = assemblyManagerService;

			/// Set the default values for the settings
			this.KeepObfuscatorClasses = false;
			this.EnableControlFlowDeobfuscation = true;
			this.RenameClasses = true;

			this.DeobfuscateCommand = new DelegateCommand(ExecuteDeobfuscateCommand);

			GenerateMessage();
		}
コード例 #4
0
        private void btnGroupsRemoveNode_Click(object sender, RoutedEventArgs e)
        {
            ITreeViewItem sel = tvwGroups.SelectedItem as ITreeViewItem;

            if (sel == null)
            {
                return;
            }
            IList col   = sel.ParentList;
            int   index = col.IndexOf(sel);

            col.RemoveAt(index);
            if (col.Count == 0)
            {
                return;
            }
            if (index == col.Count)
            {
                --index;
            }
            ((ITreeViewItem)col[index]).IsSelected = true;
        }
コード例 #5
0
        public override ITreeViewItem InsertCopy(object obj)
        {
            var techObject = obj as TechObject;

            if (techObject == null)
            {
                return(null);
            }

            string selectedSubType = GetSelectedSubType();

            if (selectedSubType != null)
            {
                ITreeViewItem insertedItem = InsertSubType(selectedSubType,
                                                           techObject);

                insertedItem.AddParent(this);
                return(insertedItem);
            }

            return(null);
        }
コード例 #6
0
 private void GetFolderChilds(ITreeViewItem folder, JToken categories)
 {
     if (((TestRepositoryFolderTreeItem)folder).CurrentChildrens == null)
     {
         return;
     }
     foreach (var item in categories)
     {
         TestRepositoryFolderTreeItem tvv = new TestRepositoryFolderTreeItem();
         tvv.Id         = item["id"].ToString();
         tvv.Name       = item["name"].ToString();
         tvv.entityType = EntityFolderType.Module;
         tvv.Path       = ((TestRepositoryFolderTreeItem)folder).Path + '\\' + tvv.Name;
         tvv.Folder     = tvv.Name;
         if (((JArray)item["categories"]).Count > 0)
         {
             tvv.CurrentChildrens = new List <ITreeViewItem>();
             GetFolderChilds(tvv, item["categories"]);
         }
         ((TestRepositoryFolderTreeItem)folder).CurrentChildrens.Add(tvv);
     }
 }
コード例 #7
0
ファイル: Program.cs プロジェクト: Ajoni/netcdu
        static void Delete(TreeView tv)
        {
            var index = MessageBox.Query(50, 7, "Delete", $"About to delete {tv.SelectedItem}", "Cancel", "Delete");

            if (index == 1)
            {
                ITreeViewItem nodeToDelete = tv.SelectedItem;
                if (File.Exists(nodeToDelete.ToString()))
                {
                    File.Delete(nodeToDelete.ToString());
                }
                else
                if (Directory.Exists(nodeToDelete.ToString()))
                {
                    Directory.Delete(nodeToDelete.ToString(), true);
                }
                ((INetcduNode)nodeToDelete).Delete();

                tv.SelectedItem = nodeToDelete.Parent;
                tv.SetNeedsDisplay();
            }
        }
コード例 #8
0
        /// <summary>
        /// Создать объект дерева, описывающий базу по S88.
        /// </summary>
        /// <param name="selectedType">Выбранный на форме тип объекта</param>
        /// <returns></returns>
        private ITreeViewItem GetTreeItem(string selectedType)
        {
            ITreeViewItem treeItem = treeObjects
                                     .Where(x => x.DisplayText[0].Contains(selectedType))
                                     .FirstOrDefault();

            if (treeItem == null)
            {
                if (selectedType == "Ячейка процесса")
                {
                    return(new ProcessCell());
                }
                else
                {
                    return(new S88Object(selectedType));
                }
            }
            else
            {
                return(treeItem);
            }
        }
コード例 #9
0
        public POMNavPage(Context context)
        {
            InitializeComponent();

            mContext = context;

            ApplicationPOMsTreeItem mPOMsRoot = new ApplicationPOMsTreeItem(WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ApplicationPOMModel>());

            mItemTypeRootNode = mPOMsRoot;
            mPOMPage          = new SingleItemTreeViewSelectionPage("Page Object Models", eImageType.ApplicationPOMModel, mItemTypeRootNode, SingleItemTreeViewSelectionPage.eItemSelectionType.Multi, true,
                                                                    new Tuple <string, string>(nameof(ApplicationPOMModel.TargetApplicationKey) + "." + nameof(ApplicationPOMModel.TargetApplicationKey.ItemName), mContext.Activity.TargetApplication),
                                                                    UCTreeView.eFilteroperationType.Equals, showAlerts: false);

            mItemTypeRootNode.SetTools(mPOMPage.xTreeView);
            mPOMPage.xTreeView.SetTopToolBarTools(mPOMsRoot.SaveAllTreeFolderItemsHandler, mPOMsRoot.AddPOM, RefreshTreeItems);

            mContext.PropertyChanged += MContext_PropertyChanged;
            mPOMPage.OnSelect        += MainTreeView_ItemSelected;
            SetElementsGridView();
            xPOMFrame.Content       = mPOMPage;
            xPOMSplitter.Visibility = Visibility.Collapsed;
        }
コード例 #10
0
        private void selectedTreeViewItemChanged(ITreeViewItem selectedTreeItem)
        {
            string region = null;
            MenuItem menuItem = null;

            if (selectedTreeItem is IAssemblyDefinitionTreeViewItem)
            {
                IAssemblyDefinitionTreeViewItem assDef = (IAssemblyDefinitionTreeViewItem)selectedTreeItem;
                selectedItem = assDef.AssemblyDefinition.EntryPoint;
                region = ASSEMBLYTREEVIEWCONTEXTMENUREGION;
                menuItem = goToEntryPointAssemblyMenuItem;
            }
            else if (selectedTreeItem is IAssemblyModuleDefinitionTreeViewItem)
            {
                IAssemblyModuleDefinitionTreeViewItem modDef = (IAssemblyModuleDefinitionTreeViewItem)selectedTreeItem;
                selectedItem = modDef.ModuleDefinition.EntryPoint;
                region = MODULEDEFINITIONTREEVIEWCONTEXTMENUREGION;
                menuItem = goToEntryPointModuleMenuItem;
            }
            else
                selectedItem = null; //any other node has no EntryPoint

            if (selectedItem == null)
            {
                if (region != null)
                {
                    //we remove the menuitem it there is no EntryPoint
                    if (regionManager.Regions[region].Views.Contains(menuItem))
                        regionManager.Regions[region].Remove(menuItem);
                }
            }
            else
            {
                //and add it when there is one
                if (!regionManager.Regions[region].Views.Contains(menuItem))
                    regionManager.AddToRegion(region, menuItem);
            }
        }
コード例 #11
0
        protected override void OnDragDrop(ITreeViewItem item, IDataObject data)
        {
            SubCategory subCategory = item as SubCategory;

            if (subCategory.IsNullObj())
            {
                return;
            }

            TransactionDropDownData transactionDropDownData =
                data.GetData(typeof(TransactionDropDownData)) as TransactionDropDownData;

            if (transactionDropDownData.IsNullObj())
            {
                return;
            }

            EventTransactionDropped eventTransactionDropped = new EventTransactionDropped();

            eventTransactionDropped.TransactionDropDownData = transactionDropDownData;

            _aggregator.PublishEvent <EventTransactionDropped>(eventTransactionDropped);
        }
コード例 #12
0
        public void DeleteItemByObjectAndSelectParent(object itemObject, ITreeViewItem parentItem = null)
        {
            TreeViewItem parentTVI;

            if (parentItem != null)
            {
                parentTVI = SearchTVIRecursive((TreeViewItem)Tree.Items[0], parentItem);
            }
            else
            {
                parentTVI = (TreeViewItem)Tree.Items[0];
            }
            if (parentTVI != null)
            {
                TreeViewItem toDeleteTVI = SearchTVIByObjectRecursive(parentTVI, itemObject);
                if (toDeleteTVI != null)
                {
                    TreeViewItem parent = (TreeViewItem)toDeleteTVI.Parent;
                    parent.Items.Remove(toDeleteTVI);
                    parent.Focus();
                }
            }
        }
コード例 #13
0
        // when launching from Window explore we get also available actions to choose so user can add
        public ControlActionsPage_New(IWindowExplorer driver, ElementInfo ElementInfo, Context context, ElementActionCongifuration actionConfigurations, ITreeViewItem CurrentControlTreeViewItem)
        {
            InitializeComponent();

            mElementInfo          = ElementInfo;
            mWindowExplorerDriver = driver;
            mLocators             = mElementInfo.Locators; // mWindowExplorerDriver.GetElementLocators(mElementInfo);
            mContext = context;
            mCurrentControlTreeViewItem = CurrentControlTreeViewItem;
            mPlatform       = PlatformInfoBase.GetPlatformImpl(context.Platform);
            mDataPage       = mCurrentControlTreeViewItem.EditPage(mContext);
            mActInputValues = ((IWindowExplorerTreeItem)mCurrentControlTreeViewItem).GetItemSpecificActionInputValues();

            DefaultAction = (mPlatform as IPlatformInfo).GetPlatformAction(mElementInfo, actionConfigurations);

            IsLegacyPlatform = DefaultAction == null;

            ((GingerExecutionEngine)mContext.Runner).GingerRunner.PropertyChanged += Runner_PropertyChanged;
            SetPlatformBasedUIUpdates();

            //mAction.PropertyChanged -= Action_PropertyChanged;
            //mAction.PropertyChanged += Action_PropertyChanged;
        }
コード例 #14
0
        List <ITreeViewItem> ITreeViewItem.Childrens()
        {
            List <ITreeViewItem> list = new List <ITreeViewItem>();

            {
                List <ElementInfo> Childrens = base.UIAElementInfo.WindowExplorer.GetElementChildren(base.UIAElementInfo);
                foreach (ElementInfo EI in Childrens)
                {
                    ITreeViewItem TVI = null;
                    if (EI.GetType() == typeof(UIAElementInfo))
                    {
                        //TODO: move convrter to here
                        TVI = WindowsElementConverter.GetWindowsElementTreeItem(EI);
                    }
                    else
                    {
                        TVI = WindowExplorer.HTMLCommon.HTMLElementInfoConverter.GetHTMLElementTreeItem(EI);
                    }
                    list.Add(TVI);
                }
            }
            return(list);
        }
コード例 #15
0
ファイル: ConsoleView.cs プロジェクト: jakubSedziak/MEF
        public void ExpandTree(ITreeViewItem mainItem, string path)
        {
            if (!mainItem.IsExpanded)
            {
                mainItem.IsExpanded = true;
                lastone             = mainItem;
            }
            foreach (ITreeViewItem tree in mainItem.Children)
            {
                if (tree != null)
                {
                    string main = "";
                    int    i    = 0;
                    while (path[i] != '/' && path[i] != '\0')
                    {
                        main += path[i];
                        i++;
                    }
                    if (tree != null && tree.Name == main)
                    {
                        if (!tree.IsExpanded)
                        {
                            tree.IsExpanded = true;
                            lastone         = tree;
                        }
                        string newpath = "";

                        while (path[i] != '\0')
                        {
                            newpath += path[i];
                            i++;
                        }
                        ExpandTree(tree, newpath);
                    }
                }
            }
        }
コード例 #16
0
        void AttachNode(TreeNode treeNode, ITreeViewItem node)
        {
            if (treeNode.Tag.IsNotNullObj())
            {
                int  level = treeNode.Level;
                Type type  = treeNode.Tag.GetType();
                _types[level] = type;
            }

            var children = node.Children;

            if (children.IsNullObj())
            {
                return;
            }

            foreach (var child in children)
            {
                TreeNode iNode = new TreeNode(child.TreeDisplayName);
                iNode.Tag = child;
                treeNode.Nodes.Add(iNode);
                AttachNode(iNode, child);
            }
        }
コード例 #17
0
ファイル: UCTreeView.xaml.cs プロジェクト: ramizil/Ginger
        private bool IsTreeItemFitsFilter(ITreeViewItem treeItemToCheck)
        {
            object treeItemToCheckObject = treeItemToCheck.NodeObject();

            if (treeItemToCheckObject is RepositoryFolderBase)
            {
                return(true);
            }

            //get the object to filter by
            List <string> filterByfieldHierarchyList = TreeNodesFilterByField.Item1.ToString().Split('.').ToList();
            object        filterByObject             = treeItemToCheckObject;

            foreach (string hierarchyElement in filterByfieldHierarchyList)
            {
                PropertyInfo pInfo = filterByObject.GetType().GetProperty(hierarchyElement);
                if (pInfo is null)
                {
                    break;
                }
                else
                {
                    filterByObject = pInfo.GetValue(filterByObject, null);
                }
            }

            //compare the value
            string filterbyValue = TreeNodesFilterByField.Item2.ToString();

            if (filterbyValue == filterByObject.ToString())
            {
                return(true);
            }

            return(false);
        }
コード例 #18
0
        private void TestLabExplorerTreeView_ItemSelected(object sender, EventArgs e)
        {
            mCurrentSelectedObjects.Clear();

            TreeViewItem item = (TreeViewItem)sender;

            mCurrentSelectedTreeItem = (ITreeViewItem)item.Tag;

            if (mParentSelectionMode)
            {
                mCurrentSelectedObject = mCurrentSelectedTreeItem;
            }
            else
            {
                if (mCurrentSelectedTreeItem is JiraZephyrVersionTreeItem)
                {
                    // do nothing at this stage
                }
                if ((mCurrentSelectedTreeItem is JiraZephyrCycleTreeItem) || (mCurrentSelectedTreeItem is JiraZephyrFolderTreeItem))
                {
                    CurrentSelectedObjects.Add((JiraZephyrTreeItem)mCurrentSelectedTreeItem);
                }
            }
        }
コード例 #19
0
        private void AddNewPlugIn(bool IsEmbeddedPlugin)
        {
            PlugInWrapper PW = Ginger.PlugInsLib.PlugInsIntegration.AddNewPlugIn(IsEmbeddedPlugin, App.UserProfile.Solution.Folder.ToUpper());

            if (PW != null)
            {
                ITreeViewItem PTI;
                if (IsEmbeddedPlugin)
                {
                    PTI = new PlugInEmbeddedTreeItem();
                    ((PlugInEmbeddedTreeItem)PTI).PlugInWrapper = PW;
                }
                else
                {
                    PTI = new PlugInSystemTreeItem();
                    ((PlugInSystemTreeItem)PTI).PlugInWrapper = PW;
                }
                ITreeViewItem addTreeViewItem = mTreeView.Tree.AddChildItemAndSelect(this, PTI);
                App.LocalRepository.AddItemToCache(PW);
                mTreeView.Tree.RefreshHeader(addTreeViewItem);
            }

            App.AutomateTabGingerRunner.PlugInsList = App.LocalRepository.GetSolutionPlugIns();
        }
コード例 #20
0
        private ITreeViewItem InsertType(string selectedType,
                                         TechObject techObj = null)
        {
            ITreeViewItem treeItem = GetTreeItem(selectedType);
            ITreeViewItem innerItem;

            bool needInsert = techObj == null;

            if (needInsert)
            {
                innerItem = treeItem.Insert();
            }
            else
            {
                innerItem = treeItem.InsertCopy(techObj);
            }

            if (innerItem != null)
            {
                return(treeItem);
            }

            return(null);
        }
コード例 #21
0
ファイル: ConsoleView.cs プロジェクト: jakubSedziak/MEF
 public void WriteTree(ITreeViewItem mainItem, int odstep)
 {
     foreach (ITreeViewItem tree in mainItem.Children)
     {
         if (tree != null)
         {
             for (int i = 0; i < 2 * odstep; i++)
             {
                 Console.Write(" ");
             }
             if (tree.Children.Count > 0)
             {
                 if (tree != lastone)
                 {
                     Console.WriteLine("<>" + tree.Name);
                 }
                 else
                 {
                     Console.WriteLine("*<>" + tree.Name);
                 }
             }
             else
             {
                 if (tree != lastone)
                 {
                     Console.WriteLine(tree.Name);
                 }
                 else
                 {
                     Console.WriteLine("*" + tree.Name);
                 }
             }
             WriteTree(tree, odstep + 1);
         }
     }
 }
コード例 #22
0
 private void CutTreeItemHandler(object sender, RoutedEventArgs e)
 {
     mCurrentFolderNodePastOperations = eFolderNodePastOperations.Cut;
     mNodeManipulationsSource         = (ITreeViewItem)this;
 }
コード例 #23
0
        public SingleItemTreeViewSelectionPage(string itemTypeName, eImageType itemTypeIcon, ITreeViewItem itemTypeRootNode, eItemSelectionType itemSelectionType = eItemSelectionType.Single, bool allowTreeTools = false, Tuple <string, string> propertyValueFilter = null, UCTreeView.eFilteroperationType filterType = UCTreeView.eFilteroperationType.Equals)
        {
            InitializeComponent();

            GingerHelpProvider.SetHelpString(this, itemTypeName.TrimEnd(new char[] { 's' }));

            xTreeView.Tree.TreeNodesFilterByField = propertyValueFilter;
            xTreeView.Tree.FilterType             = filterType;
            xTreeView.AllowTreeTools = allowTreeTools;
            if (itemSelectionType == eItemSelectionType.Folder)
            {
                xTreeView.Tree.TreeChildFolderOnly = true;
            }

            TreeViewItem r = xTreeView.Tree.AddItem(itemTypeRootNode);

            r.IsExpanded = true;

            xTreeView.Tree.ItemDoubleClick += Tree_ItemDoubleClick;
            xTreeView.Tree.ItemSelected    += Tree_ItemSelected;

            mitemTypeName       = itemTypeName;
            xTreeView.TreeTitle = itemTypeName;
            xTreeView.TreeIcon  = itemTypeIcon;

            mItemSelectionType = itemSelectionType;
            if (mItemSelectionType == eItemSelectionType.MultiStayOpenOnDoubleClick)
            {
                xTipLabel.Visibility = Visibility.Visible;
            }
            else
            {
                xTipLabel.Visibility = Visibility.Collapsed;
            }
        }
コード例 #24
0
        // Utility method to move nodes up and down in a TreeView.
        protected static void UpDownOnTreeView(TreeView tvw, bool up, bool traverseFolders)
        {
            ITreeViewItem sel = tvw.SelectedItem as ITreeViewItem;

            if (sel == null)
            {
                return;
            }
            IList list  = sel.ParentList;
            int   index = list.IndexOf(sel);

            if (index == -1)
            {
                return;
            }
            bool expanded = sel.IsExpanded;

            if (up && index == 0)
            {
                if (!traverseFolders || sel.ParentItem == null)
                {
                    return;
                }
                IList parentList  = sel.ParentItem.ParentList;
                int   parentIndex = parentList.IndexOf(sel.ParentItem);
                if (parentIndex == -1)
                {
                    return;
                }
                list.RemoveAt(index);
                parentList.Insert(parentIndex, sel);
            }
            else if (!up && index == list.Count - 1)
            {
                if (!traverseFolders || sel.ParentItem == null)
                {
                    return;
                }
                IList parentList  = sel.ParentItem.ParentList;
                int   parentIndex = parentList.IndexOf(sel.ParentItem);
                if (parentIndex == -1)
                {
                    return;
                }
                list.RemoveAt(index);
                parentList.Insert(parentIndex + 1, sel);
            }
            else
            {
                ITreeViewItem next = (ITreeViewItem)list[index + (up ? -1 : 1)];
                if (traverseFolders && next.ChildrenList != null && (next.IsExpanded || next.ChildrenList.Count == 0))
                {
                    list.RemoveAt(index);
                    list = next.ChildrenList;
                    list.Insert(up ? list.Count : 0, sel);
                    next.IsExpanded = true;
                }
                else
                {
                    list.RemoveAt(index);
                    list.Insert(index + (up ? -1 : 1), sel);
                }
            }
            sel.IsExpanded = expanded;
            sel.IsSelected = true;
        }
コード例 #25
0
        public SingleItemTreeViewSelectionPage(string itemTypeName, eImageType itemTypeIcon, ITreeViewItem itemTypeRootNode, eItemSelectionType itemSelectionType = eItemSelectionType.Single, bool allowTreeTools = false, Tuple <string, string> propertyValueFilter = null)
        {
            InitializeComponent();

            xTreeView.Tree.TreeNodesFilterByField = propertyValueFilter;
            xTreeView.AllowTreeTools = allowTreeTools;

            TreeViewItem r = xTreeView.Tree.AddItem(itemTypeRootNode);

            r.IsExpanded = true;

            xTreeView.Tree.ItemDoubleClick += Tree_ItemDoubleClick;

            mitemTypeName       = itemTypeName;
            xTreeView.TreeTitle = itemTypeName;
            xTreeView.TreeIcon  = itemTypeIcon;

            mItemSelectionType = itemSelectionType;
            if (mItemSelectionType == eItemSelectionType.MultiStayOpenOnDoubleClick)
            {
                xTipLabel.Visibility = Visibility.Visible;
            }
            else
            {
                xTipLabel.Visibility = Visibility.Collapsed;
            }
        }
コード例 #26
0
		private void OnSelectedTreeViewItemChanged(ITreeViewItem obj)
		{
			this.selectedItem = obj;
		}
コード例 #27
0
		public DeobfuscateDialog(ITreeViewItem selectedItem, IAssemblyManagerService assemblyManagerService)
		{
			InitializeComponent();
			this.DataContext = new DeobfuscateDialogViewModel(selectedItem, assemblyManagerService);
		}
コード例 #28
0
        public TreeViewItem FindMatchingTreeItem(ITreeViewItem item)
        {
            TreeViewItem TVI = SearchTVIRecursive((TreeViewItem)Tree.Items[0], item);

            return(TVI);
        }
コード例 #29
0
        void FillItem(VisualElement element, ITreeViewItem item)
        {
            var explorerItem = element as BuilderExplorerItem;

            explorerItem.Clear();

            // Pre-emptive cleanup.
            var row = explorerItem.parent.parent;

            row.RemoveFromClassList(BuilderConstants.ExplorerHeaderRowClassName);
            row.RemoveFromClassList(BuilderConstants.ExplorerItemHiddenClassName);

            // Get target element (in the document).
            var documentElement = (item as TreeViewItem <VisualElement>).data;

            documentElement.SetProperty(BuilderConstants.ElementLinkedExplorerItemVEPropertyName, explorerItem);
            explorerItem.SetProperty(BuilderConstants.ElementLinkedDocumentVisualElementVEPropertyName, documentElement);
            row.userData = documentElement;

            // If we have a FillItem callback (override), we call it and stop creating the rest of the item.
            var fillItemCallback =
                documentElement.GetProperty(BuilderConstants.ExplorerItemFillItemCallbackVEPropertyName) as Action <VisualElement, ITreeViewItem, BuilderSelection>;

            if (fillItemCallback != null)
            {
                fillItemCallback(explorerItem, item, m_Selection);
                return;
            }

            // Create main label container.
            var labelCont = new VisualElement();

            labelCont.AddToClassList(BuilderConstants.ExplorerItemLabelContClassName);
            explorerItem.Add(labelCont);

            if (BuilderSharedStyles.IsSelectorsContainerElement(documentElement))
            {
                var styleSheetAsset     = documentElement.GetStyleSheet();
                var styleSheetFileName  = AssetDatabase.GetAssetPath(styleSheetAsset);
                var styleSheetAssetName = BuilderAssetUtilities.GetStyleSheetAssetName(styleSheetAsset);
                var ssLabel             = new Label(styleSheetAssetName);
                ssLabel.AddToClassList(BuilderConstants.ExplorerItemLabelClassName);
                ssLabel.AddToClassList("unity-debugger-tree-item-type");
                row.AddToClassList(BuilderConstants.ExplorerHeaderRowClassName);
                labelCont.Add(ssLabel);
                return;
            }
            else if (BuilderSharedStyles.IsSelectorElement(documentElement))
            {
                var selectorParts = BuilderSharedStyles.GetSelectorParts(documentElement);

                foreach (var partStr in selectorParts)
                {
                    if (partStr.StartsWith(BuilderConstants.UssSelectorClassNameSymbol))
                    {
                        m_ClassPillTemplate.CloneTree(labelCont);
                        var pill      = labelCont.contentContainer.ElementAt(labelCont.childCount - 1);
                        var pillLabel = pill.Q <Label>("class-name-label");
                        pill.AddToClassList("unity-debugger-tree-item-pill");
                        pill.SetProperty(BuilderConstants.ExplorerStyleClassPillClassNameVEPropertyName, partStr);
                        pill.userData = documentElement;

                        // Add ellipsis if the class name is too long.
                        var partStrShortened = BuilderNameUtilities.CapStringLengthAndAddEllipsis(partStr, BuilderConstants.ClassNameInPillMaxLength);
                        pillLabel.text = partStrShortened;

                        m_ClassDragger.RegisterCallbacksOnTarget(pill);
                    }
                    else if (partStr.StartsWith(BuilderConstants.UssSelectorNameSymbol))
                    {
                        var selectorPartLabel = new Label(partStr);
                        selectorPartLabel.AddToClassList(BuilderConstants.ExplorerItemLabelClassName);
                        selectorPartLabel.AddToClassList(BuilderConstants.ElementNameClassName);
                        labelCont.Add(selectorPartLabel);
                    }
                    else if (partStr.StartsWith(BuilderConstants.UssSelectorPseudoStateSymbol))
                    {
                        var selectorPartLabel = new Label(partStr);
                        selectorPartLabel.AddToClassList(BuilderConstants.ExplorerItemLabelClassName);
                        selectorPartLabel.AddToClassList(BuilderConstants.ElementPseudoStateClassName);
                        labelCont.Add(selectorPartLabel);
                    }
                    else if (partStr == BuilderConstants.SingleSpace)
                    {
                        var selectorPartLabel = new Label(BuilderConstants.TripleSpace);
                        selectorPartLabel.AddToClassList(BuilderConstants.ExplorerItemLabelClassName);
                        selectorPartLabel.AddToClassList(BuilderConstants.ElementTypeClassName);
                        labelCont.Add(selectorPartLabel);
                    }
                    else
                    {
                        var selectorPartLabel = new Label(partStr);
                        selectorPartLabel.AddToClassList(BuilderConstants.ExplorerItemLabelClassName);
                        selectorPartLabel.AddToClassList(BuilderConstants.ElementTypeClassName);
                        labelCont.Add(selectorPartLabel);
                    }
                }

                // Register right-click events for context menu actions.
                m_ContextMenuManipulator.RegisterCallbacksOnTarget(explorerItem);

                return;
            }

            if (BuilderSharedStyles.IsDocumentElement(documentElement))
            {
                var uxmlAsset = documentElement.GetVisualTreeAsset();
                var ssLabel   = new Label(BuilderAssetUtilities.GetVisualTreeAssetAssetName(uxmlAsset));
                ssLabel.AddToClassList(BuilderConstants.ExplorerItemLabelClassName);
                ssLabel.AddToClassList("unity-debugger-tree-item-type");
                row.AddToClassList(BuilderConstants.ExplorerHeaderRowClassName);
                labelCont.Add(ssLabel);
                return;
            }

            // Check if element is inside current document.
            if (!documentElement.IsPartOfCurrentDocument())
            {
                row.AddToClassList(BuilderConstants.ExplorerItemHiddenClassName);
            }

            // Register drag-and-drop events for reparenting.
            m_HierarchyDragger.RegisterCallbacksOnTarget(explorerItem);

            // Allow reparenting.
            explorerItem.SetProperty(BuilderConstants.ExplorerItemElementLinkVEPropertyName, documentElement);

            // Element type label.
            if (string.IsNullOrEmpty(documentElement.name) ||
                elementInfoVisibilityState.HasFlag(BuilderExplorer.BuilderElementInfoVisibilityState.TypeName))
            {
                var typeLabel = new Label(documentElement.typeName);
                typeLabel.AddToClassList(BuilderConstants.ExplorerItemLabelClassName);
                typeLabel.AddToClassList(BuilderConstants.ElementTypeClassName);
                labelCont.Add(typeLabel);
            }

            // Element name label.
            var nameLabel = new Label();

            nameLabel.AddToClassList(BuilderConstants.ExplorerItemLabelClassName);
            nameLabel.AddToClassList("unity-debugger-tree-item-name-label");
            nameLabel.AddToClassList(BuilderConstants.ExplorerItemNameLabelClassName);
            nameLabel.AddToClassList(BuilderConstants.ElementNameClassName);
            if (!string.IsNullOrEmpty(documentElement.name))
            {
                nameLabel.text = "#" + documentElement.name;
            }
            labelCont.Add(nameLabel);

            // Textfield to rename element in hierarchy.
            var renameTextfield = explorerItem.CreateRenamingTextField(documentElement, nameLabel, m_Selection);

            labelCont.Add(renameTextfield);

            // Add class list.
            if (documentElement.classList.Count > 0 && elementInfoVisibilityState.HasFlag(BuilderExplorer.BuilderElementInfoVisibilityState.ClassList))
            {
                foreach (var ussClass in documentElement.GetClasses())
                {
                    var classLabelCont = new VisualElement();
                    classLabelCont.AddToClassList(BuilderConstants.ExplorerItemLabelContClassName);
                    explorerItem.Add(classLabelCont);

                    var classLabel = new Label("." + ussClass);
                    classLabel.AddToClassList(BuilderConstants.ExplorerItemLabelClassName);
                    classLabel.AddToClassList(BuilderConstants.ElementClassNameClassName);
                    classLabel.AddToClassList("unity-debugger-tree-item-classlist-label");

                    classLabelCont.Add(classLabel);
                }
            }

            // Show name of uxml file if this element is a TemplateContainer.
            var path = documentElement.GetProperty(BuilderConstants.LibraryItemLinkedTemplateContainerPathVEPropertyName) as string;

            if (documentElement is TemplateContainer && !string.IsNullOrEmpty(path))
            {
                var pathStr = Path.GetFileName(path);
                var label   = new Label(pathStr);
                label.AddToClassList(BuilderConstants.ExplorerItemLabelClassName);
                label.AddToClassList(BuilderConstants.ElementTypeClassName);
                label.AddToClassList("unity-builder-explorer-tree-item-template-path"); // Just make it look a bit shaded.
                labelCont.Add(label);
            }

            // Register right-click events for context menu actions.
            m_ContextMenuManipulator.RegisterCallbacksOnTarget(explorerItem);
        }
コード例 #30
0
ファイル: ConsoleView.cs プロジェクト: jakubSedziak/MEF
        public void petla()
        {
            while (true)
            {
                string path = "";
                path = Console.ReadLine();
                if (path.Contains("info"))
                {
                    path = path.Replace("info", "");
                    while (path.Contains(" "))
                    {
                        path = path.Replace(" ", "");
                    }
                    bool finded = false;
                    Console.Clear();
                    foreach (ITreeViewItem tree in lastone.Children)
                    {
                        if (tree != null)
                        {
                            if (tree.Name == path)
                            {
                                Console.WriteLine(tree.ToString());
                                tree.IsExpanded = true;
                                finded          = true;
                                break;
                            }
                        }
                    }

                    if (!finded)
                    {
                        Console.WriteLine("There is no such item");
                    }

                    Console.ReadKey();
                    Console.WriteLine(rootItem.Name);
                    Console.Clear();
                    WriteTree(rootItem, 1);
                }
                else
                {
                    if (path.Contains("serialize"))
                    {
                        serialize();
                    }
                    else
                    {
                        if (path == "exit")
                        {
                            break;
                        }
                        else if (path.Contains("tostart"))
                        {
                            Console.Clear();
                            rootItem.Children.Clear();
                            rootItem.IsExpanded = false;

                            ExpandTree(rootItem, "/0");

                            Console.WriteLine(rootItem.Name);
                            WriteTree(rootItem, 1);
                        }
                        else
                        {
                            Console.Clear();
                            if (path.Contains("/"))
                            {
                                path += '/';
                                path += '\0';
                                string enopath = "";
                                int    g       = 0;
                                while (path[g] != '/')
                                {
                                    g++;
                                }
                                g++;
                                while (path[g] != '\0')
                                {
                                    enopath += path[g];
                                    g++;
                                }
                                enopath += '\0';
                                ExpandTree(rootItem, enopath);
                                Console.WriteLine();
                                Console.WriteLine(rootItem.Name);
                                WriteTree(rootItem, 1);
                            }
                            else
                            {
                                bool finded = false;
                                foreach (ITreeViewItem tree in lastone.Children)
                                {
                                    if (tree != null)
                                    {
                                        if (tree.Name == path)
                                        {
                                            lastone         = tree;
                                            tree.IsExpanded = true;
                                            finded          = true;
                                            break;
                                        }
                                    }
                                }
                                if (!finded)
                                {
                                    Console.WriteLine("There is no such item");
                                }
                                Console.WriteLine();
                                Console.WriteLine(rootItem.Name);
                                WriteTree(rootItem, 1);
                            }
                        }
                    }
                }
            }
        }
コード例 #31
0
        public void Refresh(ITreeViewItem item)
        {
            if (item == null)
                throw new ArgumentNullException("item");

            Item = item;

            if (IsExpanded)
            {
                LoadChildren();
            }
            else
            {
                HasChildren = true;
            }
        }
コード例 #32
0
ファイル: ConsoleView.cs プロジェクト: jakubSedziak/MEF
        public ConsoleView()
        {
            //   des = new Services.JsonDeserialization();
            // srv = new Services.JsonSerialization();
            Console.WriteLine("1:Wczytaj Assebbli z pliku  ");
            Console.WriteLine("2:Wczytaj drzewo z pliku");
            Console.WriteLine("3:Wczytaj drzewo z Bazy");
            char key = Console.ReadKey().KeyChar;

            if (key == 49)
            {
                Console.WriteLine("Podaj sciezke");
                string path = Console.ReadLine();
                setPathVariable(path);

                try
                {
                    if (System.IO.Path.GetExtension(pathVariable) == ".dll" || System.IO.Path.GetExtension(pathVariable) == ".exe")
                    {
                        log.Info("Zaladowano plik: " + pathVariable);
                        run();
                        Console.WriteLine(rootItem.Name);
                        lastone = rootItem;
                        ExpandTree(rootItem, "/0");
                        WriteTree(rootItem, 1);
                        petla();
                    }
                }
                catch (FileNotFoundException e)
                {
                    Console.WriteLine(e);
                }
            }
            if (key == 50)
            {
                Console.WriteLine("Podaj sciezke skad to odczytac");
                string path;
                path = Console.ReadLine();
                try
                {
                    //    assemblyMetadata = des.Deserialize(path);
                    pathVariable = "DeserializedItemsJSON";
                    TreeViewLoaded(assemblyMetadata);
                    Console.WriteLine(rootItem.Name);
                    lastone = rootItem;
                    ExpandTree(rootItem, "/0");
                    WriteTree(rootItem, 1);
                    petla();
                }
                catch (FileNotFoundException e)
                {
                    Console.WriteLine(e);
                }
            }
            if (key == 51)
            {
                Console.WriteLine("Podaj numer assembly");
                string path = Console.ReadLine();
                //SQLDeserialization ss = new SQLDeserialization();
                //  assemblyMetadata = ss.Deserialize(path);
                pathVariable = "DeserializedItemsSQL";
                TreeViewLoaded(assemblyMetadata);
                Console.WriteLine(rootItem.Name);
                lastone = rootItem;
                ExpandTree(rootItem, "/0");
                WriteTree(rootItem, 1);
                petla();
            }
        }
コード例 #33
0
ファイル: ReflexilModule.cs プロジェクト: T0T4R4/Reflexil
 private void SetReflexilHandler(ITreeViewItem selectedTreeItem)
 {
     this.selectedItem = selectedTreeItem;
     if (!this.IsReflexilHostLoaded)
     {
         return;
     }
     if (this.selectedItem == null)
     {
         this.ReflexilWindow.Visible = false;
         return;
     }
     if (!this.ReflexilWindow.Visible)
     {
         this.ReflexilWindow.Visible = true;
     }
     this.ActiveHandler = this.ReflexilWindow.HandleItem(this.selectedItem);
 }
コード例 #34
0
 protected virtual void OnDragDrop(ITreeViewItem item, IDataObject data)
 {
 }
コード例 #35
0
 private void CutTreeFolderItemsHandler(object sender, System.Windows.RoutedEventArgs e)
 {
     mCurrentFolderNodePastOperations = eFolderNodePastOperations.CutItems;
     mNodeManipulationsSource         = (ITreeViewItem)this;
 }
コード例 #36
0
 private void OnSelectedTreeViewItemChanged(ITreeViewItem obj)
 {
     this.selectedItem = obj;
 }
コード例 #37
0
 public ITreeViewItem Cut(ITreeViewItem item)
 {
     return(null);
 }
コード例 #38
0
        /// <summary>
        /// Recursive method to go over all tree nodes
        /// </summary>
        /// <param name="itemCollection"></param>
        /// <param name="txt"></param>
        public void FilterItemsByText(ItemCollection itemCollection, string txt, CancellationToken cancellationToken = new CancellationToken())
        {
            // Filter not working for new TVI
            foreach (TreeViewItem tvi in itemCollection)
            {
                if (cancellationToken.IsCancellationRequested)
                {
                    List <TreeViewItem> pathNodes = new List <TreeViewItem>();
                    if (LastSelectedTVI != null)
                    {
                        pathNodes = getSelecetdItemPathNodes(LastSelectedTVI);
                    }
                    CollapseUnselectedTreeNodes(TreeItemsCollection, pathNodes);


                    return;
                }

                // Need to expand to get all lazy loading
                tvi.IsExpanded = true;

                ITreeViewItem ITVI = (ITreeViewItem)tvi.Tag;

                // Find the label in the header, this is label child of the Header Stack Panel
                StackPanel SP = (StackPanel)tvi.Header;

                //Combine text of all label child's of the header Stack panel
                string HeaderTXT = "";
                foreach (var v in SP.Children)
                {
                    if (v.GetType() == typeof(Label))
                    {
                        Label l = (Label)v;
                        if (l.Content != null)
                        {
                            HeaderTXT += l.Content.ToString();
                        }
                    }
                }

                bool bFound = HeaderTXT.ToUpper().Contains(txt.ToUpper());
                if (bFound || txt.Length == 0)
                {
                    tvi.Visibility = System.Windows.Visibility.Visible;

                    // go over all parents to make them visible
                    TreeViewItem tviParent = tvi;
                    while (tviParent.Parent is TreeViewItem)
                    {
                        tviParent            = (TreeViewItem)tviParent.Parent;
                        tviParent.Visibility = System.Windows.Visibility.Visible;
                    }
                }
                else
                {
                    tvi.Visibility = System.Windows.Visibility.Collapsed;
                }

                // Goto sub items
                if (tvi.HasItems)
                {
                    FilterItemsByText(tvi.Items, txt, cancellationToken);
                }
            }
            //Show the root item
            ((TreeViewItem)Tree.Items[0]).Visibility = System.Windows.Visibility.Visible;
        }