Example #1
0
        public void MapCtrl_MethodsWithNoUserInteraction()
        {
            var focus = false;

            System.Threading.Thread t = new System.Threading.Thread(() =>
            {
                var sut = new MainCtrl();
                var form = new MainForm();
                sut.InitMindMate(form);
                MainMenuCtrl mainMenuCtrl = new MainMenuCtrl(form.MainMenu, sut);
                form.MainMenuCtrl = mainMenuCtrl;
                form.Shown += (sender, args) =>
                {
                    sut.ReturnFocusToMapView();
                    sut.Bold(true);
                    focus = sut.CurrentMapCtrl.MapView.Tree.RootNode.Bold;
                    sut.ClearSelectionFormatting();
                    sut.Copy();
                    sut.Cut();
                    sut.SetBackColor(Color.White);
                    sut.SetFontFamily("Arial");
                    sut.SetFontSize(15);
                    sut.SetForeColor(Color.Blue);
                    sut.SetMapViewBackColor(Color.White);
                    sut.Strikethrough(true);
                    sut.Subscript();
                    sut.Superscript();
                    sut.Underline(true);
                };
                Timer timer = new Timer { Interval = 50 }; //timer is used because the Dirty property is updated in the next event of GUI thread.
                timer.Tick += delegate
                {
                    if (timer.Tag == null)
                    {
                        timer.Tag = "First Event Fired";
                    }
                    else if (timer.Tag.Equals("First Event Fired"))
                    {
                        timer.Tag = "Second Event Fired";
                    }
                    else
                    {
                        foreach(var f in sut.PersistenceManager)
                        {
                            f.IsDirty = false; //to avoid save warning dialog
                        }
                        form.Close();
                    }
                };

                timer.Start();
                form.ShowDialog();
                timer.Stop();
            });
            t.SetApartmentState(System.Threading.ApartmentState.STA);
            t.Start();
            t.Join();

            Assert.IsTrue(focus);
        }
Example #2
0
        public MainForm(MainCtrl mainCtrl)
        {
            this.mainCtrl = mainCtrl;
            Ribbon = new RibbonLib.Ribbon {ResourceName = "MindMate.Win7.View.Ribbon.RibbonMarkup.ribbon"};
            InitializeComponent();
            this.Controls.Add(Ribbon);
            SetupSideBar();

            // moving splitter makes it the focused control, below event focuses the last control again
            splitContainer1.GotFocus += SplitContainer1_GotFocus;

            // changing side bar tab gives focus away to tab control header, below event focuses relevant control again
            SideBarTabs.SelectedIndexChanged += SideBarTabs_SelectedIndexChanged;

            EditorTabs = new EditorTabs();
            splitContainer1.Panel1.Controls.Add(EditorTabs);

            Shown += MainForm_Shown;

            #if (Win7)
            //this is required for Windows 7 & 8, otherwise sidebar is not laid out properly
            Load += (sender, args) => Ribbon.Minimized = true;
            Shown += (sender, args) => Ribbon.Minimized = false;
            #endif
        }
Example #3
0
        public TabController(MainCtrl mainCtrl, IMainForm mainForm)
        {
            this.mainCtrl = mainCtrl;
            this.mainForm = mainForm;

            this.mainCtrl.PersistenceManager.NewTreeCreated     += PersistenceManager_NewTreeCreated;
            this.mainCtrl.PersistenceManager.TreeOpened         += PersistenceManager_TreeOpened;
            this.mainCtrl.PersistenceManager.TreeClosed         += PersistenceManager_TreeClosed;
            this.mainCtrl.PersistenceManager.CurrentTreeChanged += PersistenceManager_CurrentTreeChanged;

            this.mainForm.EditorTabs.SelectedIndexChanged += EditorTabsOnSelectedIndexChanged;
        }
Example #4
0
        public PluginManager(MainCtrl mainCtrl)
        {
            this.mainCtrl = mainCtrl;

            Plugins = new List<IPlugin>();

            LoadPlugins();

            mainCtrl.PersistenceManager.NewTreeCreating += PersistentManager_NewTreeCreating;
            mainCtrl.PersistenceManager.TreeOpening += PersistentManager_TreeOpening;
            mainCtrl.PersistenceManager.TreeClosing += PersistentManager_TreeClosing;
        }
Example #5
0
        public TabController(MainCtrl mainCtrl, IMainForm mainForm)
        {
            this.mainCtrl = mainCtrl;
            this.mainForm = mainForm;

            this.mainCtrl.PersistenceManager.NewTreeCreated += PersistenceManager_NewTreeCreated;
            this.mainCtrl.PersistenceManager.TreeOpened += PersistenceManager_TreeOpened;
            this.mainCtrl.PersistenceManager.TreeClosed += PersistenceManager_TreeClosed;
            this.mainCtrl.PersistenceManager.CurrentTreeChanged += PersistenceManager_CurrentTreeChanged;

            this.mainForm.EditorTabs.SelectedIndexChanged += EditorTabsOnSelectedIndexChanged;
        }
Example #6
0
        public MainMenuCtrl(MainMenu mainMenu, MainCtrl mainCtrl)
        {
            this.mainMenu = mainMenu;
            this.mainCtrl = mainCtrl;

            mainMenu.mSelectIcon.Click += mSelectIcon_Click;

            mainMenu.newToolStripMenuItem.Click += newToolStripMenuItem_Click;
            mainMenu.openToolStripMenuItem.Click += this.openToolStripMenuItem_Click;
            mainMenu.saveToolStripMenuItem.Click += this.saveToolStripMenuItem_Click;
            mainMenu.saveAsToolStripMenuItem.Click += new System.EventHandler(this.saveAsToolStripMenuItem_Click);
            mainMenu.preferencesToolStripMenuItem.Click += new System.EventHandler(this.preferencesToolStripMenuItem_Click);
            mainMenu.asBMPToolStripMenuItem.Click += asBMPToolStripMenuItem_Click;
            mainMenu.exitToolStripMenuItem.Click += exitToolStripMenuItem_Click;

            mainMenu.mUndo.Click += mUndo_Click;
            mainMenu.mRedo.Click += mRedo_Click;
            mainMenu.mCut.Click += mCut_Click;
            mainMenu.mCopy.Click += mCopy_Click;
            mainMenu.mPaste.Click += mPaste_Click;
            mainMenu.mDelete.Click += mDelete_Click;
            mainMenu.mEditMenu.DropDownOpening += mEditMenu_DropDownOpening;
            mainMenu.mEditMenu.DropDownClosed += mEditMenu_DropDownClosed;

            mainMenu.mBold.Click += mBold_Click;
            mainMenu.mItalic.Click += mItalic_Click;

            mainMenu.mFont.Click += mFont_Click;
            mainMenu.mTextColor.Click += mTextColor_Click;
            mainMenu.mBackColor.Click += mBackColor_Click;

            mainMenu.mShapeFork.Click += mStyleFork_Click;
            mainMenu.mShapeBubble.Click += mStyleBubble_Click;
            mainMenu.mShapeBox.Click += mShapeBox_Click;
            mainMenu.mShapeBullet.Click += mShapeBullet_Click;
            mainMenu.mShape.DropDownOpening += mShape_DropDownOpening;

            mainMenu.mLineThick1.Click += mLineThick1_Click;
            mainMenu.mLineThick2.Click += mLineThick2_Click;
            mainMenu.mLineThick4.Click += mLineThick4_Click;
            mainMenu.mLineStyle.DropDownOpening += mLineStyle_DropDownOpening;
            mainMenu.mLineSolid.Click += mLineSolid_Click;
            mainMenu.mLineDashed.Click += mLineDashed_Click;
            mainMenu.mLineDotted.Click += mLineDotted_Click;
            mainMenu.mLineMixed.Click += mLineMixed_Click;

            mainMenu.mLineColor.Click += mLineColor_Click;

            mainMenu.mAbout.Click += mAbout_Click;

            CreateRecentFilesMenuItems();
        }
Example #7
0
        public ContextMenuCtrl(MainCtrl c, NodeContextMenu nodeContextMenu)
        {
            this.mainCtrl   = c;
            NodeContextMenu = nodeContextMenu;

            NodeContextMenu.mEditNode.Click    += mEditNode_Click;
            NodeContextMenu.mInsertChild.Click += mInsertChild_Click;
            NodeContextMenu.mDeleteNode.Click  += mDeleteNode_Click;
            NodeContextMenu.mSelectIcon.Click  += mSelectIcon_Click;

            NodeContextMenu.mSelectIcon.Image = MindMate.Properties.Resources.smartart_change_color_gallery_16;

            NodeContextMenu.Opening += ContextMenu_Opening;
        }
Example #8
0
 static void Main()
 {
     Application.EnableVisualStyles();
     Application.SetCompatibleTextRenderingDefault(false);
     EnableLogListeners();
     //MyWebMind.Debug.IconListCreator.GenerateIconXML();
     MainCtrl mainCtrl = new MainCtrl();
     MainForm form = new MainForm(mainCtrl);
     mainCtrl.InitMindMate(form);
     var ribbonHandler = new View.Ribbon.Ribbon(form.Ribbon, mainCtrl, form);
     form.RibbonCtrl = ribbonHandler;
     form.Load += (sender, args) => ribbonHandler.OnRibbonLoaded();
     Application.ThreadException += Application_ThreadException;
     Application.Run(form);
     CloseLogListeners();
 }
Example #9
0
 public void InitMindMate()
 {
     var sut = new MainCtrl();
     sut.InitMindMate(A.Fake<IMainForm>());
     Assert.IsNotNull(sut.PersistenceManager);
 }