private void UpdateContextMenu(MenuItem parentMenuItem, PartModel model) { foreach (var command in model.ShellCommands) { var menuItem = new ShellCommandMenuItem(new ShellCommandMenuModel(command, model.Part, Data.OpenWith), IconManager); parentMenuItem.Items.Add(menuItem); } }
private void InitializePartModels() { PartModels = new Dictionary <string, PartModel>(Package.Parts.Count); foreach (Part part in Package.Parts.Values) { var shellCommands = OpenWith.GetCommandsForPart(part); var model = new PartModel(part, shellCommands); PartModels.Add(part.Uri.Replace('\\', '/'), model); } }
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); }
public PackageItem(string name, string fullName, PartModel model) { Name = name; FullName = fullName; Model = model; }