public static ToolStripMenuItem AddButton(RibbonContextMenu contextMenu, string text)
        {
            var menuItem = new ToolStripMenuItem(text);
            contextMenu.Items.Add(menuItem);

            return menuItem;
        }
 private void InitializeContextMenu()
 {
     conceptContextMenu = new RibbonContextMenu();
     RibbonHelper.AddButton(conceptContextMenu, CommandManager.Instance.GetCommand(CommandNames.NavigateToConcept));
     RibbonHelper.AddSeparator(conceptContextMenu);
     RibbonHelper.AddButton(conceptContextMenu, CommandManager.Instance.GetCommand(CommandNames.Profile));
     RibbonHelper.AddButton(conceptContextMenu, CommandManager.Instance.GetCommand(CommandNames.ProfileOptionsSmall));
     RibbonHelper.AddSeparator(conceptContextMenu);
     RibbonHelper.AddButton(conceptContextMenu, CommandManager.Instance.GetCommand(CommandNames.DeleteConcept));
     RibbonHelper.AddSeparator(conceptContextMenu);
     RibbonHelper.AddButton(conceptContextMenu, CommandManager.Instance.GetCommand(CommandNames.RenameItem));
 }
        private void InitializeDockContainer()
        {
            AllowEndUserNestedDocking = false;
            Dock = DockStyle.Fill;
            DocumentStyle = DocumentStyle.DockingWindow;

            CourseWindow = new CourseWindow();
            ConceptWindow = new ConceptWindow();
            WarningWindow = new WarningWindow();

            Documents = new List<DocumentBase>();

            ActiveDocumentChanged += DockContainer_ActiveDocumentChanged;
            ContentAdded += DockContainer_ContentAdded;

            DocumentTabContextMenu = new RibbonContextMenu();

            RibbonHelper.AddButton(DocumentTabContextMenu, CommandManager.Instance.GetCommand(CommandNames.Close));
            RibbonHelper.AddButton(DocumentTabContextMenu, CommandManager.Instance.GetCommand(CommandNames.CloseAllButThis));
            RibbonHelper.AddButton(DocumentTabContextMenu, CommandManager.Instance.GetCommand(CommandNames.CloseAll));
            RibbonHelper.AddSeparator(DocumentTabContextMenu);
            RibbonHelper.AddButton(DocumentTabContextMenu, CommandManager.Instance.GetCommand(CommandNames.ViewNode));
        }
        private void AttachContextMenu()
        {
            if (CurrentNode == null)
            {
                return;
            }

            if (CurrentNode is CourseRoot)
            {
                if (courseRootContextMenu == null)
                {
                    courseRootContextMenu = new RibbonContextMenu();
                    RibbonHelper.AddButton(courseRootContextMenu, CommandManager.Instance.GetCommand(CommandNames.AddTrainingModule));
                    RibbonHelper.AddButton(courseRootContextMenu, CommandManager.Instance.GetCommand(CommandNames.AddInTestModule));
                    RibbonHelper.AddButton(courseRootContextMenu, CommandManager.Instance.GetCommand(CommandNames.AddOutTestModule));
                    RibbonHelper.AddButton(courseRootContextMenu, CommandManager.Instance.GetCommand(CommandNames.AddTestModuleFromOuterCourseSmall));
                    RibbonHelper.AddSeparator(courseRootContextMenu);
                    RibbonHelper.AddButton(courseRootContextMenu, CommandManager.Instance.GetCommand(CommandNames.RenameItem));
                    RibbonHelper.AddSeparator(courseRootContextMenu);
                    RibbonHelper.AddButton(courseRootContextMenu, CommandManager.Instance.GetCommand(CommandNames.LoadFromImsQti));
                }

                CurrentNode.ContextMenuStrip = courseRootContextMenu;
            }

            if (CurrentNode is TrainingModule)
            {
                if (trainingModuleContextMenu == null)
                {
                    trainingModuleContextMenu = new RibbonContextMenu();
                    RibbonHelper.AddButton(trainingModuleContextMenu, CommandManager.Instance.GetCommand(CommandNames.ViewDocument));
                    RibbonHelper.AddSeparator(trainingModuleContextMenu);
                    RibbonHelper.AddButton(trainingModuleContextMenu, CommandManager.Instance.GetCommand(CommandNames.AddTrainingModule));
                    RibbonHelper.AddButton(trainingModuleContextMenu, CommandManager.Instance.GetCommand(CommandNames.AddInTestModule));
                    RibbonHelper.AddButton(trainingModuleContextMenu, CommandManager.Instance.GetCommand(CommandNames.AddOutTestModule));
                    RibbonHelper.AddButton(trainingModuleContextMenu, CommandManager.Instance.GetCommand(CommandNames.AddTestModuleFromOuterCourseSmall));
                    RibbonHelper.AddSeparator(trainingModuleContextMenu);
                    // POSTPONE: Релизовать.
                    //RibbonHelper.AddButton(trainingModuleContextMenu, CommandManager.Instance.GetCommand(CommandNames.CutItem));
                    //RibbonHelper.AddButton(trainingModuleContextMenu, CommandManager.Instance.GetCommand(CommandNames.PasteItem));
                    RibbonHelper.AddButton(trainingModuleContextMenu, CommandManager.Instance.GetCommand(CommandNames.DeleteItem));
                    RibbonHelper.AddSeparator(trainingModuleContextMenu);
                    RibbonHelper.AddButton(trainingModuleContextMenu, CommandManager.Instance.GetCommand(CommandNames.RenameItem));

                    RibbonHelper.AddSeparator(trainingModuleContextMenu);
                    RibbonHelper.AddButton(trainingModuleContextMenu, CommandManager.Instance.GetCommand(CommandNames.LoadFromImsQti));
                   // RibbonHelper.AddButton(trainingModuleContextMenu, CommandManager.Instance.GetCommand(CommandNames.SaveToImsQti));
                }

                CurrentNode.ContextMenuStrip = trainingModuleContextMenu;
            }

            if (CurrentNode is TestModule)
            {
                if (testModuleContextMenu == null)
                {
                    testModuleContextMenu = new RibbonContextMenu();
                    RibbonHelper.AddButton(testModuleContextMenu, CommandManager.Instance.GetCommand(CommandNames.ItemOptionsSmall));
                    RibbonHelper.AddSeparator(testModuleContextMenu);
                    RibbonHelper.AddButton(testModuleContextMenu, CommandManager.Instance.GetCommand(CommandNames.AddGroup));
                    var b = RibbonHelper.AddButton(testModuleContextMenu, "Добавить вопрос");
                    RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.AddChoiceQuestionSmall));
                    RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.AddMultichoiceQuestionSmall));
                    RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.AddOrderingQuestionSmall));
                    RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.AddOpenQuestionSmall));
                    RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.AddCorrespondenceQuestionSmall));
                    RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.AddOuterQuestionSmall));
                    RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.AddQuestionFromOuterCourseSmall));
                    RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.AddInteractiveQuestionSmall));
                    RibbonHelper.AddSeparator(testModuleContextMenu);
                    // POSTPONE: Релизовать.
                    //RibbonHelper.AddButton(testModuleContextMenu, CommandManager.Instance.GetCommand(CommandNames.CutItem));
                    //RibbonHelper.AddButton(testModuleContextMenu, CommandManager.Instance.GetCommand(CommandNames.PasteItem));
                    RibbonHelper.AddButton(testModuleContextMenu, CommandManager.Instance.GetCommand(CommandNames.DeleteItem));
                    RibbonHelper.AddSeparator(testModuleContextMenu);
                    RibbonHelper.AddButton(testModuleContextMenu, CommandManager.Instance.GetCommand(CommandNames.RenameItem));
                    
                        RibbonHelper.AddSeparator(testModuleContextMenu);
                        RibbonHelper.AddButton(testModuleContextMenu, CommandManager.Instance.GetCommand(CommandNames.LoadFromImsQti));
                        RibbonHelper.AddButton(testModuleContextMenu, CommandManager.Instance.GetCommand(CommandNames.SaveToImsQti));
                   
                }

                CurrentNode.ContextMenuStrip = testModuleContextMenu;
            }

            if (CurrentNode is Group)
            {
                if (groupContextMenu == null)
                {
                    groupContextMenu = new RibbonContextMenu();
                    RibbonHelper.AddButton(groupContextMenu, CommandManager.Instance.GetCommand(CommandNames.ItemOptionsSmall));
                    RibbonHelper.AddSeparator(groupContextMenu);
                    var b = RibbonHelper.AddButton(groupContextMenu, "Добавить вопрос");
                    RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.AddChoiceQuestionSmall));
                    RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.AddMultichoiceQuestionSmall));
                    RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.AddOrderingQuestionSmall));
                    RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.AddOpenQuestionSmall));
                    RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.AddCorrespondenceQuestionSmall));
                    RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.AddOuterQuestionSmall));
                    RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.AddQuestionFromOuterCourseSmall));
                    RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.AddInteractiveQuestionSmall));
                    RibbonHelper.AddSeparator(groupContextMenu);
                    // POSTPONE: Релизовать.
                    //RibbonHelper.AddButton(groupContextMenu, CommandManager.Instance.GetCommand(CommandNames.CutItem));
                    //RibbonHelper.AddButton(groupContextMenu, CommandManager.Instance.GetCommand(CommandNames.CopyItem));
                    //RibbonHelper.AddButton(groupContextMenu, CommandManager.Instance.GetCommand(CommandNames.PasteItem));
                    RibbonHelper.AddButton(groupContextMenu, CommandManager.Instance.GetCommand(CommandNames.DeleteItem));
                    RibbonHelper.AddSeparator(groupContextMenu);
                    RibbonHelper.AddButton(groupContextMenu, CommandManager.Instance.GetCommand(CommandNames.RenameItem));
                    RibbonHelper.AddSeparator(groupContextMenu);
                    RibbonHelper.AddButton(groupContextMenu,CommandManager.Instance.GetCommand(CommandNames.LoadFromImsQti));
                }

                CurrentNode.ContextMenuStrip = groupContextMenu;
            }

            if (CurrentNode is Question)
            {
                if (questionContextMenu == null)
                {
                    questionContextMenu = new RibbonContextMenu();
                    RibbonHelper.AddButton(questionContextMenu, CommandManager.Instance.GetCommand(CommandNames.ItemOptionsSmall));
                    RibbonHelper.AddSeparator(questionContextMenu);
                    RibbonHelper.AddButton(questionContextMenu, CommandManager.Instance.GetCommand(CommandNames.AddResponse));
                    RibbonHelper.AddSeparator(questionContextMenu);
                    // POSTPONE: Релизовать.
                    //RibbonHelper.AddButton(questionContextMenu, CommandManager.Instance.GetCommand(CommandNames.CutItem));
                    //RibbonHelper.AddButton(questionContextMenu, CommandManager.Instance.GetCommand(CommandNames.CopyItem));
                    //RibbonHelper.AddButton(questionContextMenu, CommandManager.Instance.GetCommand(CommandNames.PasteItem));
                    RibbonHelper.AddButton(questionContextMenu, CommandManager.Instance.GetCommand(CommandNames.DeleteItem));
                    RibbonHelper.AddSeparator(questionContextMenu);
                    RibbonHelper.AddButton(questionContextMenu, CommandManager.Instance.GetCommand(CommandNames.RenameItem));

                    RibbonHelper.AddSeparator(questionContextMenu);
                   // RibbonHelper.AddButton(questionContextMenu, CommandManager.Instance.GetCommand(CommandNames.LoadFromImsQti));
                    RibbonHelper.AddButton(questionContextMenu, CommandManager.Instance.GetCommand(CommandNames.SaveToImsQti));
                }

                CurrentNode.ContextMenuStrip = questionContextMenu;
            }

            if (CurrentNode is Response)
            {
                if (responseContextMenu == null)
                {
                    responseContextMenu = new RibbonContextMenu();
                    RibbonHelper.AddButton(responseContextMenu, CommandManager.Instance.GetCommand(CommandNames.DeleteItem));
                    RibbonHelper.AddSeparator(responseContextMenu);
                    RibbonHelper.AddButton(responseContextMenu, CommandManager.Instance.GetCommand(CommandNames.RenameItem));
                }

                CurrentNode.ContextMenuStrip = responseContextMenu;
            }
        }
        private void InitializeBodyContextMenu()
        {
            bodyContextMenu = new RibbonContextMenu();
            RibbonHelper.AddButton(bodyContextMenu, CommandManager.Instance.GetCommand(CommandNames.Cut));
            RibbonHelper.AddButton(bodyContextMenu, CommandManager.Instance.GetCommand(CommandNames.Copy));
            RibbonHelper.AddButton(bodyContextMenu, CommandManager.Instance.GetCommand(CommandNames.Paste));
            RibbonHelper.AddSeparator(bodyContextMenu);
            RibbonHelper.AddButton(bodyContextMenu, CommandManager.Instance.GetCommand(CommandNames.Font));
            RibbonHelper.AddSeparator(bodyContextMenu);

            if (EditorObserver.RenderingStyle.Equals(Enums.RenderingStyle.TrainingModuleDocument))
            {
                RibbonHelper.AddButton(bodyContextMenu, CommandManager.Instance.GetCommand(CommandNames.BookmarkSmall));
                RibbonHelper.AddButton(bodyContextMenu, CommandManager.Instance.GetCommand(CommandNames.ConceptSmall));
                RibbonHelper.AddButton(bodyContextMenu, CommandManager.Instance.GetCommand(CommandNames.LinkSmall));
                RibbonHelper.AddSeparator(bodyContextMenu);
            }

            
            var b = RibbonHelper.AddButton(bodyContextMenu, "Вставить");
            RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.TableSmall));
            RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.PictureSmall));
            RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.AnimationSmall));
            RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.AudioSmall));
            RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.VideoSmall));
            RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.EquationSmall));
            RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.SymbolSmall));
            RibbonHelper.AddSeparator(bodyContextMenu);
            RibbonHelper.AddButton(bodyContextMenu, CommandManager.Instance.GetCommand(CommandNames.StyleSmall));

        }
        private void InitializeHintDialogEquationContextMenu()
        {
            hintDialogEquationContextMenu = new RibbonContextMenu();
            RibbonHelper.AddButton(hintDialogEquationContextMenu, CommandManager.Instance.GetCommand(CommandNames.HintCut));
            RibbonHelper.AddButton(hintDialogEquationContextMenu, CommandManager.Instance.GetCommand(CommandNames.HintCopy));
            RibbonHelper.AddButton(hintDialogEquationContextMenu, CommandManager.Instance.GetCommand(CommandNames.HintPaste));
            RibbonHelper.AddSeparator(hintDialogEquationContextMenu);
            RibbonHelper.AddButton(hintDialogEquationContextMenu, CommandManager.Instance.GetCommand(CommandNames.Font));
            RibbonHelper.AddSeparator(hintDialogEquationContextMenu);

            var b = RibbonHelper.AddButton(hintDialogEquationContextMenu, "Вставить");
            RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.TableSmall));
            RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.PictureSmall));
            RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.AnimationSmall));
            RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.EquationSmall));
            RibbonHelper.AddButton(b.DropDownItems, CommandManager.Instance.GetCommand(CommandNames.SymbolSmall));
            RibbonHelper.AddSeparator(hintDialogEquationContextMenu);
            RibbonHelper.AddButton(hintDialogEquationContextMenu, CommandManager.Instance.GetCommand(CommandNames.StyleSmall));
            RibbonHelper.AddSeparator(hintDialogEquationContextMenu);
            RibbonHelper.AddButton(hintDialogEquationContextMenu, CommandManager.Instance.GetCommand(CommandNames.EditEquation));            
        }
 public static void AddSeparator(RibbonContextMenu contextMenu)
 {
     contextMenu.Items.Add(new ToolStripSeparator());
 }
 public static void AddButton(RibbonContextMenu contextMenu, AbstractCommand command)
 {
     contextMenu.Items.Add(new RibbonContextMenuItemEx(command));
 }