Example #1
0
        public void Destroy()
        {
            LOGIN.Destroy();
            LOGIN = null;
            SC.Destroy();

            foreach (SubMenus item in OpenButtons)
            {
                item.Destroy();
            }
            OpenButtons.Clear();

            for (int i = 0; i < Labels.Count; i++)
            {
                Labels[i].Delete(); Marshal.ReleaseComObject(Labels[i]); Labels[i] = null;
            }
            Labels.Clear();

            foreach (Timers item in TIMERS)
            {
                item.Destroy();
            }
            TIMERS.Clear();

            foreach (Watchers item in WATCHERS)
            {
                item.Dispose();
            }
            WATCHERS.Clear();

            dlgUsersOnline.Visible = false;
            dlgUsersOnline.Destroy();
            dlgUsersOnline.Dispose();
            dlgUsersOnline = null;

            InternetChecking.Visible = false;
            InternetChecking.Dispose();
            InternetChecking = null;

            m_ctrlOpenMaps.Delete(); Marshal.ReleaseComObject(m_ctrlOpenMaps); m_ctrlOpenMaps = null;
            Marshal.ReleaseComObject(m_cmdOpenMaps); m_cmdOpenMaps = null;

            m_ctrlPublishMap.Delete(); Marshal.ReleaseComObject(m_ctrlPublishMap); m_ctrlPublishMap = null;
            Marshal.ReleaseComObject(m_cmdPublishMap); m_cmdPublishMap = null;

            m_ctrlShareMap.Delete(); Marshal.ReleaseComObject(m_ctrlShareMap); m_ctrlShareMap = null;
            Marshal.ReleaseComObject(m_cmdShareMap); m_cmdShareMap = null;
            m_ctrlReceiveMap.Delete(); Marshal.ReleaseComObject(m_ctrlReceiveMap); m_ctrlReceiveMap = null;
            Marshal.ReleaseComObject(m_cmdReceiveMap); m_cmdReceiveMap = null;
            m_ctrlShareMaps.Delete(); Marshal.ReleaseComObject(m_ctrlShareMaps); m_ctrlShareMaps = null;
            Marshal.ReleaseComObject(m_cmdShareMaps); m_cmdShareMaps = null;

            m_rgMaps.Delete();
            m_myTab = null;
        }
Example #2
0
        public void Create(ribbonTab myTab)
        {
            m_myTab = myTab;

            // Init SaveChanges
            SC = new Changes.SaveChanges();

            LOGIN = new Login.LoginToSynergy();
            LOGIN.Init();

            // There are the only exemplares of these dialogs!
            dlgUsersOnline   = new MapUsersDlg();
            InternetChecking = new InternetCheckDlg();

            m_menus = new SubMenus();
            string imagePath = MMUtils.imagePath;

            reopenmaps_timer = new System.Windows.Forms.Timer {
                Interval = 50
            };
            reopenmaps_timer.Tick += new EventHandler(Reopenmaps_Timer_Tick);

            try
            {
                m_rgMaps = m_myTab.Groups.Add(0, MMUtils.GetString("maps.group.name"), "www.palmaross.com", imagePath + "lists_s.png");

                m_cmdOpenMaps                = MMUtils.MindManager.Commands.Add(MMUtils.AddinName, "OpenMap");
                m_cmdOpenMaps.Caption        = MMUtils.GetString("maps.commands.open.caption");
                m_cmdOpenMaps.ToolTip        = MMUtils.GetString("maps.commands.open.tooltip") + "\n" + m_cmdOpenMaps.Caption;
                m_cmdOpenMaps.LargeImagePath = MMUtils.imagePath + "common_stock.png";
                m_cmdOpenMaps.ImagePath      = imagePath + "audio.png";
                m_cmdOpenMaps.UpdateState   += new ICommandEvents_UpdateStateEventHandler(m_cmdOpenMaps_UpdateState);
                m_cmdOpenMaps.Click         += new ICommandEvents_ClickEventHandler(m_cmdOpenMaps_Click);
                m_ctrlOpenMaps               = m_rgMaps.GroupControls.AddButton(m_cmdOpenMaps);
                m_UpdateOpenMap              = true;

                m_cmdPublishMap                = MMUtils.MindManager.Commands.Add(MMUtils.AddinName, "PublishMap");
                m_cmdPublishMap.Caption        = MMUtils.GetString("maps.commands.publish.caption");
                m_cmdPublishMap.ToolTip        = MMUtils.GetString("maps.commands.publish.tooltip") + "\n" + m_cmdPublishMap.Caption;
                m_cmdPublishMap.LargeImagePath = imagePath + "common_stock.png";
                m_cmdPublishMap.ImagePath      = imagePath + "audio.png";
                m_cmdPublishMap.UpdateState   += new ICommandEvents_UpdateStateEventHandler(m_cmdPublishMap_UpdateState);
                m_cmdPublishMap.Click         += new ICommandEvents_ClickEventHandler(m_cmdPublishMap_Click);
                m_ctrlPublishMap               = m_rgMaps.GroupControls.AddButton(m_cmdPublishMap);

                m_cmdShareMaps                = MMUtils.MindManager.Commands.Add(MMUtils.AddinName, "ShareMaps");
                m_cmdShareMaps.Caption        = MMUtils.GetString("maps.commands.share.caption");
                m_cmdShareMaps.ToolTip        = MMUtils.GetString("maps.commands.share.tooltip") + "\n" + m_cmdShareMaps.Caption;
                m_cmdShareMaps.LargeImagePath = imagePath + "common_stock.png";
                m_cmdShareMaps.ImagePath      = imagePath + "common_stock_s.png";
                m_cmdShareMaps.UpdateState   += new ICommandEvents_UpdateStateEventHandler(m_cmdShareMaps_UpdateState);
                //m_cmdShareMaps.Click += new ICommandEvents_ClickEventHandler(m_cmdShareMaps_Click);
                m_ctrlShareMaps = m_rgMaps.GroupControls.AddButton(m_cmdShareMaps);

                m_cmdShareMap              = MMUtils.MindManager.Commands.Add(MMUtils.AddinName, "ShareMap");
                m_cmdShareMap.Caption      = MMUtils.GetString("maps.commands.sharemap.caption");
                m_cmdShareMap.ImagePath    = imagePath + "common_stock_s.png";
                m_cmdShareMap.UpdateState += new ICommandEvents_UpdateStateEventHandler(m_cmdShareMap_UpdateState);
                m_cmdShareMap.Click       += new ICommandEvents_ClickEventHandler(m_cmdShareMap_Click);
                m_ctrlShareMap             = m_ctrlShareMaps.Controls.AddButton(m_cmdShareMap);

                m_cmdReceiveMap              = MMUtils.MindManager.Commands.Add(MMUtils.AddinName, "ReceiveMap");
                m_cmdReceiveMap.Caption      = MMUtils.GetString("maps.commands.receivemap.caption");
                m_cmdReceiveMap.ImagePath    = imagePath + "common_stock_s.png";
                m_cmdReceiveMap.UpdateState += new ICommandEvents_UpdateStateEventHandler(m_cmdReceiveMap_UpdateState);
                m_cmdReceiveMap.Click       += new ICommandEvents_ClickEventHandler(m_cmdReceiveMap_Click);
                m_ctrlReceiveMap             = m_ctrlShareMaps.Controls.AddButton(m_cmdReceiveMap);

                //m_cmdDeleteMap = MMUtils.MindManager.Commands.Add(MMUtils.AddinName, "DeleteMap");
                //m_cmdDeleteMap.Caption = MMUtils.getString("maps.commands.delete.caption");
                //m_cmdDeleteMap.ToolTip = MMUtils.getString("maps.commands.delete.tooltip") + "\n" + m_cmdDeleteMap.Caption;
                //m_cmdDeleteMap.LargeImagePath = imagePath + "common_stock.png";
                //m_cmdDeleteMap.ImagePath = imagePath + "common_stock_s.png";
                //m_cmdDeleteMap.UpdateState += new ICommandEvents_UpdateStateEventHandler(m_cmdDeleteMap_UpdateState);
                //m_cmdDeleteMap.Click += new ICommandEvents_ClickEventHandler(m_cmdDeleteMap_Click);
                //m_ctrlDeleteMap = m_rgMaps.GroupControls.AddButton(m_cmdDeleteMap);
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }

            if (MMUtils.MindManager.AllDocuments.Count == 0)
            {
                DestroyTimer();
                return;
            }

            bool _closeSynergyMaps = false;

            // Reopen and process opened Synergy maps at MindManager start (if user wants to log in Synergy)
            // TODO возможно, придется итерировать через for - проверить закрытие на нескольких открытых при старте карт Synergy

            List <Document> _allmaps = new List <Document>();

            foreach (Document _doc in MMUtils.MindManager.AllDocuments)
            {
                _allmaps.Add(_doc);
            }

            for (int i = 0; i < _allmaps.Count; i++)
            {
                if (_allmaps[i].HasAttributesNamespace[SUtils.SYNERGYNAMESPACE] == false)
                {
                    continue;
                }

                if (_closeSynergyMaps)
                {
                    DocumentStorage.closeMap = true;
                    _allmaps[i].Close();
                    continue;
                }

                if (LOGIN.logged == false) // user not logged in Synergy yet
                {
                    if (System.Windows.Forms.MessageBox.Show(
                            MMUtils.GetString("maps.usernotlogged.message"), MMUtils.GetString("maps.synergywarning.caption"),
                            System.Windows.Forms.MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
                    {
                        LOGIN.m_cmdLogin_Click();
                    }

                    if (LOGIN.logged == false) // user don't want to log in Synergy
                    {
                        _closeSynergyMaps        = true;
                        DocumentStorage.closeMap = true;
                        _allmaps[i].Close();
                        continue;
                    }
                }

                _reopenmaps.Add(_allmaps[i]);
            }

            // Timer to reopen maps (because from here we can't open maps)
            if (_reopenmaps.Count > 0)
            {
                reopenmaps_timer.Start();
            }
            else
            {
                DestroyTimer();
            }

            _allmaps.Clear();
        }