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); }
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; }