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; }
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); } }
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); }