예제 #1
0
        private void ShowTreeViewContextMenu(PackageItem packageItem)
        {
            if ((packageItem == null) || packageItem.IsFolder())
            {
                return;
            }

            var contextMenu  = new ContextMenu();
            var openWithMenu = new OpenWithMenuItem(packageItem.Model.Part);

            contextMenu.Items.Add(openWithMenu);

            UpdateContextMenu(openWithMenu, packageItem.Model);
            contextMenu.IsOpen = true;
        }
예제 #2
0
        private void AddOpenWithContextMenu(ContextMenu contextMenu, Part part, string header)
        {
            // part may be null if only in left or right package
            if (part == null)
            {
                return;
            }

            var openWithMenu = new OpenWithMenuItem(part);

            openWithMenu.Header = header;
            contextMenu.Items.Add(openWithMenu);


            foreach (var command in Data.OpenWith.GetCommandsForPart(part))
            {
                var menuItem = new ShellCommandMenuItem(new ShellCommandMenuModel(command, part, Data.OpenWith), IconManager);
                openWithMenu.Items.Add(menuItem);
            }
        }
예제 #3
0
        private void SetActivePart(PartModel model)
        {
            if (model == null)
            {
                return;
            }

            var part    = model.Part;
            var tabItem = GetTabItemWithPart(part);

            if (tabItem == null)
            {
                if (part.CanViewInBrowser())
                {
                    var webItem = new EditorWebViewTabItem(Data, WebViewHost, model);
                    partsTabControl.Items.Add(webItem);
                    partsTabControl.SelectedItem = webItem;
                }
                else
                {
                    var binaryItem = new BinaryViewTabItem(Data, model);
                    partsTabControl.Items.Add(binaryItem);
                    partsTabControl.SelectedItem = binaryItem;
                }
            }

            // remove existing OpenWithMenu
            if (listViewParts.ContextMenu.Items[0] is OpenWithMenuItem)
            {
                listViewParts.ContextMenu.Items.RemoveAt(0);
            }

            var openWithMenuItem = new OpenWithMenuItem(model.Part);

            listViewParts.ContextMenu.Items.Insert(0, openWithMenuItem);
            UpdateContextMenu(openWithMenuItem, model);
        }