public override System.Windows.Style SelectStyle(object item, System.Windows.DependencyObject container) { if (item is ToolViewModel) { return(ToolStyle); } if (item is RakunFileViewModel) { LayoutDocumentItem test = container as LayoutDocumentItem; if (test != null) { RakunViewerUserControl doc = new RakunViewerUserControl(); test.View.Content = doc; } (item as RakunFileViewModel).View = test.View.Content as RakunViewerUserControl; (item as RakunFileViewModel).AddModule(Workspace.This.RakunManager.startingNode); return(RakunStyle); } if (item is FileViewModel) { return(FileStyle); } return(base.SelectStyle(item, container)); }
private AbstractMenuItem FromMenuItem(MenuItem item, LayoutDocumentItem doc, Int32 priority) { Boolean hideDisabled = false; if (item != null) { ICommand cmd = null; if (doc != null) { if (item.Header.ToString() == Xceed.Wpf.AvalonDock.Properties.Resources.Document_Close) { cmd = doc.CloseCommand; } if (item.Header.ToString() == Xceed.Wpf.AvalonDock.Properties.Resources.Document_CloseAllButThis) { cmd = doc.CloseAllButThisCommand; } if (item.Header.ToString() == Xceed.Wpf.AvalonDock.Properties.Resources.Document_Float) { cmd = doc.FloatCommand; hideDisabled = true; } if (item.Header.ToString() == Xceed.Wpf.AvalonDock.Properties.Resources.Document_DockAsDocument) { cmd = doc.DockAsDocumentCommand; hideDisabled = true; } if (item.Header.ToString() == Xceed.Wpf.AvalonDock.Properties.Resources.Document_NewHorizontalTabGroup) { cmd = doc.NewHorizontalTabGroupCommand; hideDisabled = true; } if (item.Header.ToString() == Xceed.Wpf.AvalonDock.Properties.Resources.Document_NewVerticalTabGroup) { cmd = doc.NewVerticalTabGroupCommand; hideDisabled = true; } if (item.Header.ToString() == Xceed.Wpf.AvalonDock.Properties.Resources.Document_MoveToNextTabGroup) { cmd = doc.MoveToNextTabGroupCommand; hideDisabled = true; } if (item.Header.ToString() == Xceed.Wpf.AvalonDock.Properties.Resources.Document_MoveToPreviousTabGroup) { cmd = doc.MoveToPreviousTabGroupCommand; hideDisabled = true; } } MenuItemViewModel model = new MenuItemViewModel( item.Header.ToString(), priority, item.Icon != null ? (item.Icon as Image).Source : null, cmd, null, false, hideDisabled); return(model); } return(null); }
private void _docContextMenu_ContextMenuOpening(object sender, ContextMenuEventArgs e) { /* When you right click a document - move the focus to that document, so that commands on the context menu * which are based on the ActiveDocument work correctly. Example: Save. */ LayoutDocumentItem doc = _docContextMenu.DataContext as LayoutDocumentItem; if (doc != null) { ContentViewModel model = doc.Model as ContentViewModel; if (model != null && model != dockManager.ActiveContent) { dockManager.ActiveContent = model; } } e.Handled = false; }
/// <summary> /// Open the styled document context menu /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DocumentContextMenu_ContextMenuOpening(object sender, ContextMenuEventArgs e) { LayoutDocumentItem document = ((ContextMenu)sender).DataContext as LayoutDocumentItem; if (document != null) { DocumentViewModel model = document.Model as DocumentViewModel; if (model != null && model != MainWindow.GetInstance().GetDockingManager().ActiveContent) { MainWindow.GetInstance().GetDockingManager().ActiveContent = model; } e.Handled = true; return; } e.Handled = false; }
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) { DefaultMenuItem root = new MenuItemViewModel("$CROOT$", "$CROOT$", 1); LayoutDocumentItem doc = values[0] as LayoutDocumentItem; int i = 1; IReadOnlyCollection <DefaultMenuItem> menus = values[1] as IReadOnlyCollection <DefaultMenuItem>; ContextMenu cm; if (doc != null) { try { //TODO make it 2013 cm = Application.Current.FindResource("AvalonDock_ThemeVS2012_DocumentContextMenu") as ContextMenu; if (cm != null) { foreach (MenuItem mi in cm.Items) { root.Add(FromMenuItem(mi, doc, i++)); } } } catch { } if (menus != null) { foreach (DefaultMenuItem abstractMenuItem in menus) { root.Add(abstractMenuItem); } } } return(root.Children); }