public static void CreateDebugMenu(ICommandBar menuBar, IServices services) { if (!DebugCommands.IsDebugMenuEnabled()) { return; } ICommandBarMenu commandBarMenu1 = menuBar.Items.AddMenu("Debug", "Debug"); commandBarMenu1.Items.AddButton("Debug_FocusTracker", "Focus Tracker"); commandBarMenu1.Items.AddButton("Debug_DisplayTimingInformation", "Display Timing"); commandBarMenu1.Items.AddButton("Debug_GarbageCollect", "Force GC"); commandBarMenu1.Items.AddButton("Debug_UndoManager_Dump", "Dump UndoService"); commandBarMenu1.Items.AddButton("Debug_UndoManager_Clear", "Clear UndoService"); ICommandBarMenu commandBarMenu2 = commandBarMenu1.Items.AddMenu("Scene", "Scene"); commandBarMenu2.Items.AddButton("Debug_CreateDocumentNodeView", "Create DocumentNode View"); commandBarMenu2.Items.AddButton("Debug_DumpInstanceDictionary", "Dump InstanceDictionary"); commandBarMenu2.Items.AddButton("Debug_DumpViewNodeTree", "Dump View Node Tree"); commandBarMenu1.Items.AddMenu("Tree", "Tree"); if (!(services.GetService <ISourceControlService>() is SourceControlService)) { return; } commandBarMenu1.Items.AddMenu("TFS", "TFS"); }
void IPackage.Load(IServiceProvider serviceProvider) { // Set this early so it is easily referenced myServiceProvider = serviceProvider; IAssemblyBrowser assemblyBrowser = (IAssemblyBrowser)serviceProvider.GetService(typeof(IAssemblyBrowser)); assemblyBrowser.ActiveItemChanged += new EventHandler(OnActiveItemChanged); myLastActiveItem = assemblyBrowser.ActiveItem; myAssemblyBrowser = assemblyBrowser; ILanguageManager languageManager = (ILanguageManager)serviceProvider.GetService(typeof(ILanguageManager)); myLanguageManager = languageManager; myConfiguration = new PLiXConfiguration(this); languageManager.ActiveLanguageChanged += new EventHandler(OnActiveLanguageChanged); ILanguage language = new PLiXLanguage((ITranslatorManager)serviceProvider.GetService(typeof(ITranslatorManager)), myConfiguration); languageManager.RegisterLanguage(language); myLanguage = language; // Add our PLiX menu item, activated when the plix language is active ICommandBarManager commandBarManager = (ICommandBarManager)serviceProvider.GetService(typeof(ICommandBarManager)); ICommandBar menuBar = commandBarManager.CommandBars["MenuBar"]; ICommandBarMenu topMenu = menuBar.Items.InsertMenu(menuBar.Items.Count - 1, "PLiXLanguageOptions", "PLi&X"); topMenu.Visible = false; topMenu.DropDown += new EventHandler(OnOpenTopMenu); ICommandBarItemCollection menuItems = topMenu.Items; myExampleLanguageMenu = menuItems.AddMenu("PLiXExampleLanguage", "&Example Language"); menuItems.AddSeparator(); myExpandCurrentNamespaceDeclarationButton = menuItems.AddButton("E&xpand Current Namespace Declaration", new EventHandler(OnExpandCurrentNamespaceDeclaration)); myExpandCurrentTypeDeclarationButton = menuItems.AddButton("E&xpand Current Type Declaration", new EventHandler(OnExpandCurrentTypeDeclaration)); (myFullyExpandTypeDeclarationsCheckBox = menuItems.AddCheckBox("Ex&pand All Type Declarations")).Click += new EventHandler(OnFullyExpandTypeDeclarationsChanged); menuItems.AddSeparator(); (myDisplayContextDataTypeQualifierCheckBox = menuItems.AddCheckBox("Display Context Type &Qualifier")).Click += new EventHandler(OnDisplayContextDataTypeQualifierChanged); ICommandBarMenu callStaticOptionsMenu = menuItems.AddMenu("PLiXStaticCallOptions", "&Static Call Options"); menuItems = callStaticOptionsMenu.Items; (myExplicitStaticCallCheckBox = menuItems.AddCheckBox("&Explicit")).Click += new EventHandler(OnExplicitStaticCallCheckBoxChanged); (myImplicitCurrentTypeStaticCallCheckBox = menuItems.AddCheckBox("Implicit (&Current Type)")).Click += new EventHandler(OnImplicitCurrentTypeStaticCallCheckBoxChanged); (myImplicitBaseTypesStaticCallCheckBox = menuItems.AddCheckBox("Implicit (&Base Types)")).Click += new EventHandler(OnImplicitBaseTypesStaticCallCheckBoxChanged); myTopMenu = topMenu; ICommandBarControl appRefresh1 = GetCommandbarControl(commandBarManager, "ToolBar", "Application.Refresh"); if (appRefresh1 != null) { appRefresh1.Click += new EventHandler(OnApplicationRefresh); } ICommandBarControl appRefresh2 = GetCommandbarControl(commandBarManager, "View", "Application.Refresh"); if (appRefresh2 != null && appRefresh2 != appRefresh1) { appRefresh2.Click += new EventHandler(OnApplicationRefresh); } //DumpMenus(commandBarManager); }
private void ShowContextMenu() { this.ViewModel.DesignerContext.CommandBarService.CommandBars.Remove("BreadcrumbBar_BreadcrumbContextMenu"); ICommandBar commandBar = this.ViewModel.DesignerContext.CommandBarService.CommandBars.AddContextMenu("BreadcrumbBar_BreadcrumbContextMenu"); ICommandBarMenu commandBarMenu = commandBar.Items.AddMenu("Template", StringTable.ElementContextMenuEditTemplateMenuName); commandBarMenu.Items.AddButton("Edit_Template_EditExisting", StringTable.EditExistingTemplateCommandName); commandBarMenu.Items.AddButton("Edit_Template_EditCopy", StringTable.EditClonedStyleCommandName); commandBarMenu.Items.AddButton("Edit_Template_EditNew", StringTable.EditEmptyStyleCommandName); commandBarMenu.Items.AddSeparator(); commandBarMenu.Items.AddDynamicMenu("Edit_Template_LocalResource", StringTable.ElementContextMenuEditLocalResource); commandBar.Items.AddDynamicMenu("Edit_EditTemplates", StringTable.ElementContextMenuEditTemplates); this.contextMenu = (ContextMenu)commandBar; this.contextMenu.MinWidth = 200.0; this.contextMenu.PlacementTarget = (UIElement)this; this.contextMenu.Placement = PlacementMode.Bottom; this.contextMenu.HorizontalOffset = 4.0; this.contextMenu.VerticalOffset = -2.0; this.contextMenuIsOpenDescriptor.AddValueChanged((object)this.contextMenu, new EventHandler(ContextMenuHelper.ResetContextMenuPropertiesOnClosing)); this.contextMenu.Opened += new RoutedEventHandler(ContextMenuHelper.TurnOffPopupAnimationOnOpened); this.contextMenu.Opened += new RoutedEventHandler(this.ContextMenuOpened); this.contextMenu.Closed += new RoutedEventHandler(this.ContextMenuClosed); this.contextMenu.IsOpen = true; }
public static ContextMenu CreateContextMenu(ISelectionSet <SceneElement> selection, SceneViewModel viewModel, bool isOnArtboard) { viewModel.DesignerContext.CommandBarService.CommandBars.Remove("Designer_SceneContextMenu"); ICommandBar commandBar = viewModel.DesignerContext.CommandBarService.CommandBars.AddContextMenu("Designer_SceneContextMenu"); commandBar.Items.AddButton("Edit_Cut", StringTable.ElementContextMenuCut); commandBar.Items.AddButton("Edit_Copy", StringTable.ElementContextMenuCopy); commandBar.Items.AddButton("Edit_Paste", StringTable.ElementContextMenuPaste); commandBar.Items.AddButton("Edit_Delete", StringTable.ElementContextMenuDelete); ContextMenuHelper.AddSeparatorHelper.AddSeparator(commandBar); ContextMenuHelper.AddExtensibleMenuItems(commandBar, viewModel, selection.PrimarySelection != null ? selection.PrimarySelection.TargetType : (Type)null); if (new CopyToResourceCommand(viewModel).IsEnabled) { commandBar.Items.AddButton("Edit_MakeTileBrush_CopyToResource", StringTable.ElementContextMenuCopyToResource); } if (new MoveToResourceCommand(viewModel).IsEnabled) { commandBar.Items.AddButton("Edit_MakeTileBrush_MoveToResource", StringTable.ElementContextMenuMoveToResource); } bool flag1 = false; bool flag2 = false; bool flag3 = true; foreach (SceneElement element in selection.Selection) { if (!flag1 && PathConversionHelper.CanConvert(element)) { flag1 = true; flag2 = true; } if (!flag2 && element.IsSet(Base2DElement.ClipProperty) == PropertyState.Set) { flag1 = true; } if (flag3 && !PlatformTypes.UIElement.IsAssignableFrom((ITypeId)element.Type)) { flag3 = false; } } if (flag3) { ICommandBarMenu commandBarMenu1 = commandBar.Items.AddMenu("Order", StringTable.ElementContextMenuOrder); commandBarMenu1.Items.AddButton("Edit_Order_BringToFront", StringTable.ElementContextMenuOrderBringToFront); commandBarMenu1.Items.AddButton("Edit_Order_BringForward", StringTable.ElementContextMenuOrderBringForward); commandBarMenu1.Items.AddButton("Edit_Order_SendBackward", StringTable.ElementContextMenuOrderSendBackward); commandBarMenu1.Items.AddButton("Edit_Order_SendToBack", StringTable.ElementContextMenuOrderSendToBack); ICommandBarMenu commandBarMenu2 = commandBar.Items.AddMenu("Align", StringTable.ElementContextMenuAlign); commandBarMenu2.Items.AddButton("Edit_Align_AlignLeft", StringTable.ElementContextMenuAlignLeft); commandBarMenu2.Items.AddButton("Edit_Align_AlignCenter", StringTable.ElementContextMenuAlignCenter); commandBarMenu2.Items.AddButton("Edit_Align_AlignRight", StringTable.ElementContextMenuAlignRight); commandBarMenu2.Items.AddSeparator(); commandBarMenu2.Items.AddButton("Edit_Align_AlignTop", StringTable.ElementContextMenuAlignTop); commandBarMenu2.Items.AddButton("Edit_Align_AlignMiddle", StringTable.ElementContextMenuAlignMiddle); commandBarMenu2.Items.AddButton("Edit_Align_AlignBottom", StringTable.ElementContextMenuAlignBottom); ICommandBarMenu commandBarMenu3 = commandBar.Items.AddMenu("AutoSize", StringTable.ElementContextMenuAutoSize); commandBarMenu3.Items.AddCheckBox("Edit_AutoSize_Horizontal", StringTable.ElementContextMenuAutoSizeWidth); commandBarMenu3.Items.AddCheckBox("Edit_AutoSize_Vertical", StringTable.ElementContextMenuAutoSizeHeight); commandBarMenu3.Items.AddCheckBox("Edit_AutoSize_Both", StringTable.ElementContextMenuAutoSizeBoth); commandBarMenu3.Items.AddButton("Edit_AutoSize_Fill", StringTable.ElementContextMenuAutoSizeFill); } if (flag3) { ContextMenuHelper.AddSeparatorHelper.AddSeparator(commandBar); commandBar.Items.AddButton("Edit_Group", StringTable.ElementContextMenuGroup); commandBar.Items.AddDynamicMenu("Edit_GroupInto", StringTable.GroupIntoCommandName); commandBar.Items.AddButton("Edit_Ungroup", StringTable.ElementContextMenuUngroup); } if (ChangeLayoutTypeFlyoutCommand.ShouldShowChangeLayoutTypeMenu(selection)) { commandBar.Items.AddDynamicMenu("Edit_ChangeLayoutTypes", StringTable.ChangeLayoutTypeCommandName); } if (new ToggleLockInsertionPointCommand(viewModel).IsEnabled) { commandBar.Items.AddCheckBox("Edit_LockInsertionPoint", StringTable.SelectionContextMenuLockInsertionPoint); } if (isOnArtboard) { commandBar.Items.AddDynamicMenu("Edit_SetCurrentSelection", StringTable.ElementContextMenuSetCurrentSelection); } ContextMenuHelper.AddSeparatorHelper.AddSeparator(commandBar); if (flag2) { ICommandBarMenu menu = commandBar.Items.AddMenu("Combine", StringTable.ElementContextMenuToolsMenuCombine); menu.Items.AddButton("Tools_Combine_Unite", StringTable.ElementContextMenuToolsMenuUnite); menu.Items.AddButton("Tools_Combine_Divide", StringTable.ElementContextMenuToolsMenuDivide); menu.Items.AddButton("Tools_Combine_Intersect", StringTable.ElementContextMenuToolsMenuIntersect); menu.Items.AddButton("Tools_Combine_Subtract", StringTable.ElementContextMenuToolsMenuSubtract); menu.Items.AddButton("Tools_Combine_ExcludeOverlap", StringTable.ElementContextMenuToolsMenuExcludeOverlap); if (ContextMenuHelper.IsSubmenuDisabled(menu)) { commandBar.Items.Remove((ICommandBarItem)menu); } } if (flag1) { ICommandBarMenu menu = commandBar.Items.AddMenu("Path", StringTable.ElementContextMenuObjectMenuPath); menu.Items.AddButton("Edit_ConvertToPath", StringTable.ElementContextMenuObjectMenuConvertToPath); menu.Items.AddButton("Edit_ConvertToMotionPath", StringTable.ElementContextMenuObjectMenuConvertToMotionPath); menu.Items.AddButton("Edit_MakeLayoutPath", StringTable.ElementContextMenuObjectMenuMakeLayoutPath); menu.Items.AddButton("Edit_MakeClippingPath", StringTable.ElementContextMenuObjectMenuMakeClippingPath); menu.Items.AddButton("Edit_RemoveClippingPath", StringTable.ElementContextMenuObjectMenuRemoveClippingPath); menu.Items.AddButton("Edit_MakeCompoundPath", StringTable.ElementContextMenuObjectMenuMakeCompoundPath); menu.Items.AddButton("Edit_ReleaseCompoundPath", StringTable.ElementContextMenuObjectMenuReleaseCompoundPath); if (ContextMenuHelper.IsSubmenuDisabled(menu)) { commandBar.Items.Remove((ICommandBarItem)menu); } } ContextMenuHelper.AddSeparatorHelper.AddSeparator(commandBar); if (selection.Count == 1) { SceneElement primarySelection = selection.PrimarySelection; int count = commandBar.Items.Count; primarySelection.AddCustomContextMenuCommands(commandBar); if (count == commandBar.Items.Count) { commandBar.Items.RemoveAt(count - 1); } if (primarySelection.DocumentNode != null) { if (TextEditProxyFactory.IsEditableElement(primarySelection)) { commandBar.Items.AddButton("Edit_EditText", StringTable.ElementContextMenuEditText); } if (flag3) { ContextMenuHelper.AddSeparatorHelper.AddSeparator(commandBar); commandBar.Items.AddButton("Edit_MakeButton", StringTable.MakeControlCommandName); if (viewModel.PartsModel.IsEnabled && selection.Count == 1) { if (viewModel.PartsModel.GetPartStatus((SceneNode)selection.PrimarySelection) != PartStatus.Assigned) { Type targetElementType = ((FrameworkTemplateElement)viewModel.ActiveEditingContainer).TargetElementType; commandBar.Items.AddDynamicMenu("Edit_MakePart", string.Format((IFormatProvider)CultureInfo.CurrentCulture, StringTable.MakeIntoPartMenuEnabled, new object[1] { (object)targetElementType.Name })); } else { commandBar.Items.AddButton("Edit_MakePart", StringTable.MakeIntoPartMenuDisabled); } commandBar.Items.AddButton("Edit_ClearPart", StringTable.ClearPartAssignmentCommandName); } commandBar.Items.AddButton("Edit_MakeUserControl", StringTable.MakeUserControlCommandName); commandBar.Items.AddButton("Edit_MakeCompositionScreen", StringTable.MakeCompositionScreenCommandName); if (primarySelection.DocumentNode.Type.XamlSourcePath != null) { commandBar.Items.AddButton("Edit_EditControl", StringTable.ElementContextMenuEditControl); } } } ITypeId type = (ITypeId)primarySelection.Type; StyleNode styleNode = primarySelection as StyleNode; if (styleNode != null) { type = (ITypeId)styleNode.StyleTargetTypeId; } if (PlatformTypes.Control.IsAssignableFrom(type) || PlatformTypes.Page.IsAssignableFrom(type)) { ContextMenuHelper.AddSeparatorHelper.AddSeparator(commandBar); ICommandBarMenu commandBarMenu = commandBar.Items.AddMenu("Template", StringTable.ElementContextMenuEditTemplateMenuName); commandBarMenu.Items.AddButton("Edit_Template_EditExisting", StringTable.EditExistingTemplateCommandName); commandBarMenu.Items.AddButton("Edit_Template_EditCopy", StringTable.EditClonedStyleCommandName); commandBarMenu.Items.AddButton("Edit_Template_EditNew", StringTable.EditEmptyStyleCommandName); commandBarMenu.Items.AddSeparator(); commandBarMenu.Items.AddDynamicMenu("Edit_Template_LocalResource", StringTable.ElementContextMenuEditLocalResource); commandBar.Items.AddDynamicMenu("Edit_EditTemplates", StringTable.ElementContextMenuEditTemplates); } else if (PlatformTypes.FrameworkElement.IsAssignableFrom(type)) { ContextMenuHelper.AddSeparatorHelper.AddSeparator(commandBar); ICommandBarMenu commandBarMenu = commandBar.Items.AddMenu("Style", StringTable.ElementContextMenuEditStyleMenuName); commandBarMenu.Items.AddButton("Edit_Style_EditExisting", StringTable.ElementContextMenuEditExistingStyle); commandBarMenu.Items.AddButton("Edit_Style_EditCopy", StringTable.ElementContextMenuEditCopyStyle); commandBarMenu.Items.AddButton("Edit_Style_EditNew", StringTable.ElementContextMenuEditNewStyle); commandBarMenu.Items.AddSeparator(); commandBarMenu.Items.AddDynamicMenu("Edit_Style_LocalResource", StringTable.ElementContextMenuEditLocalResource); } } else if (flag3) { ContextMenuHelper.AddSeparatorHelper.AddSeparator(commandBar); commandBar.Items.AddButton("Edit_MakeUserControl", StringTable.MakeUserControlCommandName); commandBar.Items.AddButton("Edit_MakeCompositionScreen", StringTable.MakeCompositionScreenCommandName); } if (viewModel.DefaultView.ViewMode == ViewMode.Design) { ContextMenuHelper.AddSeparatorHelper.AddSeparator(commandBar); commandBar.Items.AddButton("View_GoToXaml", StringTable.ViewXamlCommandName); } IPrototypingService prototypingService = viewModel.DesignerContext.PrototypingService; if (prototypingService != null) { prototypingService.AddElementContextMenuItems(commandBar, (IEnumerable <SceneElement>)selection.Selection, viewModel, isOnArtboard); } ContextMenu contextMenu = (ContextMenu)commandBar; contextMenu.MinWidth = 200.0; ContextMenuHelper.AddSeparatorHelper.RemoveLastSeparatorIfNeeded(commandBar); return(contextMenu); }