Esempio n. 1
0
        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");
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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;
        }
Esempio n. 4
0
        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);
        }