Exemple #1
0
        protected override void InitUIMainWindow(Framework.Interfaces.IPluginUIMainWindow mainWindowPlugin)
        {
            base.InitUIMainWindow(mainWindowPlugin);

            mainWindowPlugin.FileDrop             += new Framework.EventArguments.FileDropEventHandler(mainWindowPlugin_FileDrop);
            mainWindowPlugin.CommandLineArguments += new Framework.EventArguments.CommandLineEventHandler(mainWindowPlugin_CommandLineArguments);
        }
Exemple #2
0
        private void LoadFolder(string folder)
        {
            try
            {
                string[] files = Directory.GetFiles(folder, "*.cs");
                if (files != null)
                {
                    Framework.Interfaces.IPluginUIMainWindow main = (from Framework.Interfaces.IPluginUIMainWindow a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault();
                    foreach (string s in files)
                    {
                        if (!Path.GetFileName(s).StartsWith("_"))
                        {
                            string actionName = string.Format("{0}", Path.GetFileNameWithoutExtension(s));

                            AddAction(actionName);
                            main.AddAction(this, actionName);

                            _availableScripts.Add(actionName, s);
                        }
                    }
                }
            }
            catch
            {
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            FreeQuery fq = _activeQuery;

            if (fq != null)
            {
                comboBox1.Items.Remove(fq);
                _freeQueries.Remove(fq);

                Framework.Interfaces.IPluginUIMainWindow main = (from Framework.Interfaces.IPluginUIMainWindow a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault();
                main.RemoveAction(OwnerPlugin, "Query builder", fq.Name);

                for (int r = 0; r < fq.Rows.Count; r++)
                {
                    for (int c = 0; c < fq.Rows[r].Columns.Count; c++)
                    {
                        if (fq.Rows[r].Columns[c].QExpression != null)
                        {
                            panel2.Controls.Remove(fq.Rows[r].Columns[c].QExpression);
                            fq.Rows[r].Columns[c].QExpression.Dispose();
                            fq.Rows[r].Columns[c].QExpression = null;
                        }
                        if (fq.Rows[r].Columns[c].QOperator != null)
                        {
                            panel2.Controls.Remove(fq.Rows[r].Columns[c].QOperator);
                            fq.Rows[r].Columns[c].QOperator.Dispose();
                            fq.Rows[r].Columns[c].QOperator = null;
                        }
                    }
                }

                comboBox1_SelectedValueChanged(this, EventArgs.Empty);
            }
        }
 protected override void InitUIMainWindow(Framework.Interfaces.IPluginUIMainWindow mainWindowPlugin)
 {
     base.InitUIMainWindow(mainWindowPlugin);
     if (UtilsSettings.Instance.DecoupledChildWindows != null)
     {
         if (UtilsSettings.Instance.DecoupledChildWindows.Contains(_uiChildWindowForm.GetType().FullName))
         {
             //_uiChildWindowForm.MdiParent = null;
         }
         else
         {
             _uiChildWindowForm.MdiParent = mainWindowPlugin.MainForm;
         }
     }
     else
     {
         _uiChildWindowForm.MdiParent = mainWindowPlugin.MainForm;
     }
     if (UtilsSettings.Instance.TopMostWindows != null)
     {
         if (UtilsSettings.Instance.TopMostWindows.Contains(_uiChildWindowForm.GetType().FullName))
         {
             _uiChildWindowForm.TopMost = true;
         }
     }
 }
Exemple #5
0
        void _fsWatcher_Renamed(object sender, RenamedEventArgs e)
        {
            _context.Send(new SendOrPostCallback(delegate(object state)
            {
                string s          = e.OldFullPath;
                string actionName = string.Format("{0}", Path.GetFileNameWithoutExtension(s));
                Framework.Interfaces.IPluginUIMainWindow main = (from Framework.Interfaces.IPluginUIMainWindow a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault();
                if (_availableScripts[actionName] != null)
                {
                    RemoveAction(actionName);
                    main.RemoveAction(this, actionName);
                    _availableScripts.Remove(actionName);
                }

                s = e.FullPath;
                if (!Path.GetFileName(s).StartsWith("_"))
                {
                    actionName = string.Format("{0}", Path.GetFileNameWithoutExtension(s));
                    if (_availableScripts[actionName] == null)
                    {
                        AddAction(actionName);
                        main.AddAction(this, actionName);

                        _availableScripts.Add(actionName, s);
                    }
                }
            }), null);
        }
        public void SetMostRecentDatabasesMenu()
        {
            Framework.Interfaces.IPluginUIMainWindow main = (from Framework.Interfaces.IPluginUIMainWindow a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault();

            //delete all current
            List <string> cur = GetActionSubactionList('|');

            foreach (string s in cur)
            {
                string[] parts = s.Split(new char[] { '|' });
                if (parts.Length == 2)
                {
                    if (parts[0] == "Recent databases")
                    {
                        RemoveAction(string.Format("{0}|{1}", parts[0], parts[1]));
                        main.RemoveAction(this, parts[0], parts[1]);
                    }
                }
            }

            //add current
            int index = 1;

            foreach (Framework.Data.InternalStorageDestination curDatabase in _recentDatabases)
            {
                AddAction(string.Format("Recent databases|{0} {1}", index, curDatabase.Name));
                main.AddAction(this, "Recent databases", string.Format("{0} {1}", index, curDatabase.Name));
                index++;
            }
        }
Exemple #7
0
 protected async virtual Task InitUIMainWindowAsync(Framework.Interfaces.IPluginUIMainWindow mainWindowPlugin)
 {
     if (mainWindowPlugin == null)
     {
         await Task.Run(() => { return(true); });
     }
     InitUIMainWindow(mainWindowPlugin);
 }
 protected override void InitUIMainWindow(Framework.Interfaces.IPluginUIMainWindow mainWindowPlugin)
 {
     //add menu items
     foreach (LanguageInfo li in _supportedLanguages)
     {
         mainWindowPlugin.AddAction(this, li.Action);
     }
 }
 public void ApplicationInitialized()
 {
     Framework.Interfaces.IPluginUIMainWindow main = (from Framework.Interfaces.IPluginUIMainWindow a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault();
     foreach (FreeQuery fq in _freeQueries)
     {
         main.AddAction(OwnerPlugin, "Query builder", fq.Name);
     }
 }
Exemple #10
0
 private void AddAccountsToMenu(List <AccountInfo> ail)
 {
     Framework.Interfaces.IPluginUIMainWindow main = (from Framework.Interfaces.IPluginUIMainWindow a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault();
     foreach (AccountInfo ai in ail)
     {
         AddAction(string.Format("Account switcher|{0}", ai.Name));
         main.AddAction(this, "Account switcher", ai.Name);
     }
 }
Exemple #11
0
 public void ApplicationInitialized()
 {
     Framework.Interfaces.IPluginUIMainWindow main = (from Framework.Interfaces.IPluginUIMainWindow a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault();
     foreach (ActionFlow af in _actionFlows)
     {
         (this.OwnerPlugin as ActionBuilder).AddNewAction(af.Name);
         main.AddAction(OwnerPlugin, "Action builder", af.Name);
     }
 }
Exemple #12
0
 public void ApplicationInitialized()
 {
     Framework.Interfaces.IPluginUIMainWindow main = (from Framework.Interfaces.IPluginUIMainWindow a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault();
     foreach (SequenceInfo af in _sequenceInfos)
     {
         (this.OwnerPlugin as ActionList).AddNewAction(af.Name);
         main.AddAction(OwnerPlugin, "Action sequence", af.Name);
     }
 }
Exemple #13
0
 private void ClearActions()
 {
     Framework.Interfaces.IPluginUIMainWindow main = (from Framework.Interfaces.IPluginUIMainWindow a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault();
     foreach (var s in _availableScripts.Keys)
     {
         RemoveAction(s.ToString());
         main.RemoveAction(this, s.ToString());
     }
     _availableScripts.Clear();
 }
        protected override void WndProc(ref Message msg)
        {
            if (msg.Msg == (int)Utils.SystemMenu.WindowMessages.wmSysCommand)
            {
                switch (msg.WParam.ToInt32())
                {
                case DECOUPLE_WINDOW_ID:
                    Decouple();
                    reloadSystemMenu();
                    break;

                case DOCK_WINDOW_ID:
                    Framework.Interfaces.IPluginUIMainWindow mainPlugin = (from Framework.Interfaces.IPlugin a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault() as Framework.Interfaces.IPluginUIMainWindow;
                    if (mainPlugin != null)
                    {
                        this.MdiParent = mainPlugin.MainForm;
                    }
                    if (UtilsSettings.Instance.DecoupledChildWindows.Contains(this.GetType().FullName))
                    {
                        UtilsSettings.Instance.DecoupledChildWindows.Remove(this.GetType().FullName);
                    }
                    reloadSystemMenu();
                    CouplingToMainScreenChanged();
                    break;

                case TOPMOST_WINDOW_ID:
                    //can only be topmost if decoupled
                    Decouple();
                    this.TopMost = true;
                    if (!UtilsSettings.Instance.TopMostWindows.Contains(this.GetType().FullName))
                    {
                        UtilsSettings.Instance.TopMostWindows.Add(this.GetType().FullName);
                    }
                    reloadSystemMenu();
                    break;

                case NOTTOPMOST_WINDOW_ID:
                    this.TopMost = false;
                    if (UtilsSettings.Instance.TopMostWindows.Contains(this.GetType().FullName))
                    {
                        UtilsSettings.Instance.TopMostWindows.Remove(this.GetType().FullName);
                    }
                    reloadSystemMenu();
                    break;

                case OPAQUEWHENIACTIVE_WINDOW_ID:
                    BaseUIChildWindowTransparencyForm dlg = new BaseUIChildWindowTransparencyForm();
                    dlg.TopMost = true;
                    dlg.Show();
                    break;
                }
            }
            base.WndProc(ref msg);
        }
Exemple #15
0
        private void button12_Click(object sender, EventArgs e)
        {
            if (_activeFlow != null)
            {
                comboBox1.Items.Remove(_activeFlow);
                _actionFlows.Remove(_activeFlow);

                (this.OwnerPlugin as ActionBuilder).DeleteAction(_activeFlow.Name);
                Framework.Interfaces.IPluginUIMainWindow main = (from Framework.Interfaces.IPluginUIMainWindow a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault();
                main.RemoveAction(OwnerPlugin, "Action builder", _activeFlow.Name);

                comboBox1_SelectedIndexChanged(this, EventArgs.Empty);
            }
        }
Exemple #16
0
 protected virtual void InitUIMainWindow(Framework.Interfaces.IPluginUIMainWindow mainWindowPlugin)
 {
     //add menu items
     foreach (string s in _actions)
     {
         string[] parts = s.Split(new char[] { SubActionSep });
         if (parts.Length == 1)
         {
             mainWindowPlugin.AddAction(this, parts[0]);
         }
         else
         {
             mainWindowPlugin.AddAction(this, parts[0], parts[1]);
         }
     }
 }
Exemple #17
0
        private void button2_Click(object sender, EventArgs e)
        {
            SequenceInfo si = comboBox1.SelectedItem as SequenceInfo;

            if (si != null)
            {
                Framework.Interfaces.IPluginUIMainWindow main = (from Framework.Interfaces.IPluginUIMainWindow a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault();
                (this.OwnerPlugin as ActionList).DeleteAction(si.Name);
                main.RemoveAction(OwnerPlugin, "Action sequence", si.Name);

                comboBox1.Items.Remove(si);
                comboBox1_SelectedIndexChanged(this, EventArgs.Empty);

                _sequenceInfos.Remove(si);
                SequenceInfo.SaveActionSequences(_sequenceInfos);
            }
        }
Exemple #18
0
        private void button5_Click(object sender, EventArgs e)
        {
            ActionFlow fq = _activeFlow;

            if (fq != null)
            {
                ActionFlow target = CopyAs(fq, textBox1.Text);

                _actionFlows.Add(target);

                (this.OwnerPlugin as ActionBuilder).AddNewAction(target.Name);
                Framework.Interfaces.IPluginUIMainWindow main = (from Framework.Interfaces.IPluginUIMainWindow a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault();
                main.AddAction(OwnerPlugin, "Action builder", target.Name);

                comboBox1.Items.Add(target);
                comboBox1.SelectedIndex = comboBox1.Items.Count - 1;
            }
        }
Exemple #19
0
        public override bool Action(string action)
        {
            bool result = base.Action(action);

            if (result)
            {
                if (action == ACTION_SHOW)
                {
                    List <AccountInfo> ail = AccountInfo.GetAccountInfos();
                    using (AccountsForm dlg = new AccountsForm(Core, AccountInfo.GetAccountInfos()))
                    {
                        if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                        {
                            Framework.Interfaces.IPluginUIMainWindow main = (from Framework.Interfaces.IPluginUIMainWindow a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault();
                            foreach (AccountInfo ai in ail)
                            {
                                RemoveAction(string.Format("Account switcher|{0}", ai.Name));
                                main.RemoveAction(this, "Account switcher", ai.Name);
                            }
                            AccountInfo.SetAccountInfos(dlg.AccountInfoSettings);
                            AddAccountsToMenu(dlg.AccountInfoSettings);
                        }
                    }
                }
                else
                {
                    string[] parts = action.Split(new char[] { '|' }, 2);
                    if (parts.Length == 2 && parts[0] == "Account switcher")
                    {
                        List <AccountInfo> ail = AccountInfo.GetAccountInfos();
                        if (ail != null)
                        {
                            AccountInfo ai = (from a in ail where a.Name == parts[1] select a).FirstOrDefault();
                            if (ai != null)
                            {
                                ai.RestoreSettings(Core);
                            }
                        }
                    }
                }
                result = true;
            }
            return(result);
        }
Exemple #20
0
        private void button3_Click(object sender, EventArgs e)
        {
            if (textBox1.Text.Length > 0)
            {
                SequenceInfo si = new SequenceInfo();
                si.Name = textBox1.Text;
                _sequenceInfos.Add(si);

                Framework.Interfaces.IPluginUIMainWindow main = (from Framework.Interfaces.IPluginUIMainWindow a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault();
                (this.OwnerPlugin as ActionList).AddNewAction(si.Name);
                main.AddAction(OwnerPlugin, "Action sequence", si.Name);

                comboBox1.Items.Add(si);
                comboBox1.SelectedItem = si;

                comboBox1_SelectedIndexChanged(this, EventArgs.Empty);
                SequenceInfo.SaveActionSequences(_sequenceInfos);
            }
        }
Exemple #21
0
        private void button3_Click(object sender, EventArgs e)
        {
            FreeQuery fq = _activeQuery;

            if (fq != null)
            {
                Framework.Interfaces.IPluginUIMainWindow main = (from Framework.Interfaces.IPluginUIMainWindow a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault();
                main.RemoveAction(OwnerPlugin, "Query builder", fq.Name);

                renameQueryReference(fq.Name, textBox1.Text);

                fq.Name = textBox1.Text;
                main.AddAction(OwnerPlugin, "Query builder", fq.Name);

                typeof(ComboBox).InvokeMember("RefreshItems", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.InvokeMethod, null, comboBox1, new object[] { });

                comboBox1_SelectedValueChanged(this, EventArgs.Empty);
            }
        }
Exemple #22
0
        private void button13_Click(object sender, EventArgs e)
        {
            ActionFlow fq = _activeFlow;

            if (fq != null)
            {
                (this.OwnerPlugin as ActionBuilder).DeleteAction(fq.Name);
                Framework.Interfaces.IPluginUIMainWindow main = (from Framework.Interfaces.IPluginUIMainWindow a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault();
                main.RemoveAction(OwnerPlugin, "Action builder", fq.Name);

                fq.Name = textBox1.Text;
                (this.OwnerPlugin as ActionBuilder).AddNewAction(fq.Name);
                main.AddAction(OwnerPlugin, "Action builder", fq.Name);

                typeof(ComboBox).InvokeMember("RefreshItems", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.InvokeMethod, null, comboBox1, new object[] { });

                checkButtonStates();
            }
        }
Exemple #23
0
        protected override void WndProc(ref Message msg)
        {
            if (msg.Msg == (int)Utils.SystemMenu.WindowMessages.wmSysCommand)
            {
                switch (msg.WParam.ToInt32())
                {
                case DECOUPLE_WINDOW_ID:
                    Decouple();
                    break;

                case DOCK_WINDOW_ID:
                    Framework.Interfaces.IPluginUIMainWindow mainPlugin = (from Framework.Interfaces.IPlugin a in _core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault() as Framework.Interfaces.IPluginUIMainWindow;
                    if (mainPlugin != null)
                    {
                        this.MdiParent = mainPlugin.MainForm;
                    }
                    if (PluginSettings.Instance.DecoupledChildWindows.Contains(STR_TITLE))
                    {
                        PluginSettings.Instance.DecoupledChildWindows.Remove(STR_TITLE);
                    }
                    break;

                case TOPMOST_WINDOW_ID:
                    //can only be topmost if decoupled
                    Decouple();
                    this.TopMost = true;
                    if (!PluginSettings.Instance.TopMostWindows.Contains(STR_TITLE))
                    {
                        PluginSettings.Instance.TopMostWindows.Add(STR_TITLE);
                    }
                    break;

                case NOTTOPMOST_WINDOW_ID:
                    this.TopMost = false;
                    if (PluginSettings.Instance.TopMostWindows.Contains(STR_TITLE))
                    {
                        PluginSettings.Instance.TopMostWindows.Remove(STR_TITLE);
                    }
                    break;
                }
            }
            base.WndProc(ref msg);
        }
Exemple #24
0
        private void button2_Click(object sender, EventArgs e)
        {
            ActionFlow af = new ActionFlow();

            af.Name    = textBox1.Text;
            af.Actions = new List <ActionImplementation>();
            var obj = new ActionStart(Core);

            obj.ID = Guid.NewGuid().ToString("N");
            af.Actions.Add(obj);
            _actionFlows.Add(af);

            (this.OwnerPlugin as ActionBuilder).AddNewAction(af.Name);
            Framework.Interfaces.IPluginUIMainWindow main = (from Framework.Interfaces.IPluginUIMainWindow a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault();
            main.AddAction(OwnerPlugin, "Action builder", af.Name);

            comboBox1.Items.Add(af);
            comboBox1.SelectedIndex = comboBox1.Items.Count - 1;
        }
Exemple #25
0
 protected void RemoveAction(string action)
 {
     if (_actions.Contains(action))
     {
         _actions.Remove(action);
         Framework.Interfaces.IPluginUIMainWindow mainWindowPlugin = (from p in Core.GetPlugin(Framework.PluginType.UIMainWindow) select p).FirstOrDefault() as Framework.Interfaces.IPluginUIMainWindow;
         if (mainWindowPlugin != null)
         {
             string[] parts = action.Split(new char[] { SubActionSep });
             if (parts.Length == 1)
             {
                 mainWindowPlugin.RemoveAction(this, parts[0]);
             }
             else
             {
                 mainWindowPlugin.RemoveAction(this, parts[0], parts[1]);
             }
         }
     }
 }
Exemple #26
0
        private void button4_Click(object sender, EventArgs e)
        {
            SequenceInfo si = comboBox1.SelectedItem as SequenceInfo;

            if (si != null)
            {
                Framework.Interfaces.IPluginUIMainWindow main = (from Framework.Interfaces.IPluginUIMainWindow a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault();
                (this.OwnerPlugin as ActionList).DeleteAction(si.Name);
                main.RemoveAction(OwnerPlugin, "Action sequence", si.Name);

                si.Name = textBox1.Text;
                (this.OwnerPlugin as ActionList).AddNewAction(si.Name);
                main.AddAction(OwnerPlugin, "Action sequence", si.Name);

                typeof(ComboBox).InvokeMember("RefreshItems", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.InvokeMethod, null, comboBox1, new object[] { });
                comboBox1_SelectedIndexChanged(this, EventArgs.Empty);

                SequenceInfo.SaveActionSequences(_sequenceInfos);
            }
        }
Exemple #27
0
        private void button2_Click(object sender, EventArgs e)
        {
            FreeQuery fq = new FreeQuery();

            fq.Name = textBox1.Text;
            _freeQueries.Add(fq);

            Framework.Interfaces.IPluginUIMainWindow main = (from Framework.Interfaces.IPluginUIMainWindow a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault();
            main.AddAction(OwnerPlugin, "Query builder", fq.Name);

            comboBox1.Items.Add(fq);
            comboBox1.SelectedItem = fq;
            for (int r = 0; r < fq.Rows.Count; r++)
            {
                for (int c = 0; c < fq.Rows[r].Columns.Count; c++)
                {
                    if (fq.Rows[r].Columns[c].QOperator != null)
                    {
                        fq.Rows[r].Columns[c].QOperator.SelectedValueChanged += new EventHandler(QOperator_SelectedValueChanged);
                    }
                }
            }
        }
Exemple #28
0
 public void RemoveFromMenu(string folder)
 {
     Framework.Interfaces.IPluginUIMainWindow main = (from Framework.Interfaces.IPluginUIMainWindow a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault();
     RemoveAction(string.Format("Settings scope|{0}", folder));
     main.RemoveAction(this, "Settings scope", folder);
 }
Exemple #29
0
        public override bool Action(string action)
        {
            bool result = base.Action(action);

            if (result)
            {
                if (action == ACTION_OSMONLINE)
                {
                    if (frmOsmMapOnline == null)
                    {
                        MapControl.MapCanvas.MapControlFactoryToUse = new MapProviders.OSMOnline.MapControlFactoryOSMOnline(Core);
                        MapControl.MapCanvas.MapControlFactoryToUse.Init();
                        frmOsmMapOnline = new MapForm(Core, action);
                        Framework.Interfaces.IPluginUIMainWindow mainPlugin = (from Framework.Interfaces.IPlugin a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault() as Framework.Interfaces.IPluginUIMainWindow;
                        if (mainPlugin != null)
                        {
                            if (PluginSettings.Instance.DecoupledChildWindows == null || !PluginSettings.Instance.DecoupledChildWindows.Contains(action))
                            {
                                frmOsmMapOnline.MdiParent = mainPlugin.MainForm;
                            }
                        }
                        if (PluginSettings.Instance.TopMostWindows != null && PluginSettings.Instance.TopMostWindows.Contains(action))
                        {
                            frmOsmMapOnline.TopMost = true;
                        }
                    }
                    if (!frmOsmMapOnline.Visible)
                    {
                        frmOsmMapOnline.Show();
                        frmOsmMapOnline.UpdateView();
                    }
                    if (frmOsmMapOnline.WindowState == System.Windows.Forms.FormWindowState.Minimized)
                    {
                        frmOsmMapOnline.WindowState = System.Windows.Forms.FormWindowState.Normal;
                    }
                    frmOsmMapOnline.BringToFront();
                }
                else if (action == ACTION_OSMOFFLINE)
                {
                    if (frmOsmMapOffline == null)
                    {
                        MapControl.MapCanvas.MapControlFactoryToUse = new MapProviders.OSMOffline.MapControlFactoryOSMOffline(Core);
                        MapControl.MapCanvas.MapControlFactoryToUse.Init();
                        frmOsmMapOffline = new MapForm(Core, action);
                        Framework.Interfaces.IPluginUIMainWindow mainPlugin = (from Framework.Interfaces.IPlugin a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault() as Framework.Interfaces.IPluginUIMainWindow;
                        if (mainPlugin != null)
                        {
                            if (PluginSettings.Instance.DecoupledChildWindows == null || !PluginSettings.Instance.DecoupledChildWindows.Contains(action))
                            {
                                frmOsmMapOffline.MdiParent = mainPlugin.MainForm;
                            }
                        }
                        if (PluginSettings.Instance.TopMostWindows != null && PluginSettings.Instance.TopMostWindows.Contains(action))
                        {
                            frmOsmMapOffline.TopMost = true;
                        }
                    }
                    if (!frmOsmMapOffline.Visible)
                    {
                        frmOsmMapOffline.Show();
                        frmOsmMapOffline.UpdateView();
                    }
                    if (frmOsmMapOffline.WindowState == System.Windows.Forms.FormWindowState.Minimized)
                    {
                        frmOsmMapOffline.WindowState = System.Windows.Forms.FormWindowState.Normal;
                    }
                    frmOsmMapOffline.BringToFront();
                }
                else if (action == ACTION_GOOGLEONLINE)
                {
                    if (frmGoogleOnline == null)
                    {
                        MapControl.MapCanvas.MapControlFactoryToUse = new MapProviders.Google.MapControlFactoryGoogle(Core);
                        MapControl.MapCanvas.MapControlFactoryToUse.Init();
                        frmGoogleOnline = new MapForm(Core, action);
                        Framework.Interfaces.IPluginUIMainWindow mainPlugin = (from Framework.Interfaces.IPlugin a in Core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault() as Framework.Interfaces.IPluginUIMainWindow;
                        if (mainPlugin != null)
                        {
                            if (PluginSettings.Instance.DecoupledChildWindows == null || !PluginSettings.Instance.DecoupledChildWindows.Contains(action))
                            {
                                frmGoogleOnline.MdiParent = mainPlugin.MainForm;
                            }
                        }
                        if (PluginSettings.Instance.TopMostWindows != null && PluginSettings.Instance.TopMostWindows.Contains(action))
                        {
                            frmGoogleOnline.TopMost = true;
                        }
                    }
                    if (!frmGoogleOnline.Visible)
                    {
                        frmGoogleOnline.Show();
                        frmGoogleOnline.UpdateView();
                    }
                    if (frmGoogleOnline.WindowState == System.Windows.Forms.FormWindowState.Minimized)
                    {
                        frmGoogleOnline.WindowState = System.Windows.Forms.FormWindowState.Normal;
                    }
                    frmGoogleOnline.BringToFront();
                }
            }
            return(result);
        }
 protected override void InitUIMainWindow(Framework.Interfaces.IPluginUIMainWindow mainWindowPlugin)
 {
     base.InitUIMainWindow(mainWindowPlugin);
     Action(ACTION_SHOW);
 }