internal ServerModelNode SetFavouriteServer(String strUri) { ServerModelNode temp, result = null; temp = m_oDAPRootNode.SetFavouriteServer(strUri); if (temp != null) { result = temp; } if (m_oPersonalDAPServer != null && m_oPersonalDAPServer.UpdateFavouriteStatus(strUri)) { result = m_oPersonalDAPServer; } temp = m_oWMSRootNode.SetFavouriteServer(strUri); if (temp != null) { result = temp; } temp = m_oArcIMSRootNode.SetFavouriteServer(strUri); if (temp != null) { result = temp; } return(result); }
internal ServerModelNode AddWMSServer(WMSServerUri oUri, bool blEnabled, bool blUpdateHomeView, bool blSubmitToDappleSearch) { lock (m_oLock) { // --- Don't add the server if it's already in the model --- ServerModelNode result = m_oRootNode.WMSServers.GetServer(oUri); if (result != null) { return(result); } // --- Add the server --- result = m_oRootNode.WMSServers.AddServer(oUri, blEnabled); // --- Update home view if necessary --- if (blUpdateHomeView) { result.AddToHomeView(); } // --- Submit to DappleSearch if necessary --- if (blSubmitToDappleSearch) { SubmitServerToSearchEngine(oUri.ToBaseUri(), ServerModelNode.ServerType.WMS); } OnServerAdded(EventArgs.Empty); return(result); } }
internal static ServerModelNode AddServerToHomeView(DappleModel oModel, LayerBuilder oLayer) { const bool Enabled = true; const bool DontAddToHomeViewYet = false; const bool DontSubmitToDappleSearch = false; ServerModelNode result = null; // --- Add the server to the model --- if (oLayer is ArcIMSQuadLayerBuilder) { ArcIMSQuadLayerBuilder castLayer = oLayer as ArcIMSQuadLayerBuilder; result = oModel.AddArcIMSServer(new ArcIMSServerUri(castLayer.ServerURL), Enabled, DontAddToHomeViewYet, DontSubmitToDappleSearch); } else if (oLayer is DAPQuadLayerBuilder) { DAPQuadLayerBuilder castLayer = oLayer as DAPQuadLayerBuilder; result = oModel.AddDAPServer(new DapServerUri(castLayer.ServerURL), Enabled, DontAddToHomeViewYet, DontSubmitToDappleSearch); } else if (oLayer is WMSQuadLayerBuilder) { WMSQuadLayerBuilder castLayer = oLayer as WMSQuadLayerBuilder; result = oModel.AddWMSServer(new WMSServerUri(castLayer.ServerURL), Enabled, DontAddToHomeViewYet, DontSubmitToDappleSearch); } else { throw new ApplicationException("Don't know how to get the server of type " + oLayer.GetType().ToString()); } result.AddToHomeView(); return(result); }
private ServerModelNode LoadBuilderEntryType(dappleview.builderentryType entry, Uri favouriteServerUri) { bool DontUpdateHomeView = false; bool DontSubmitToDappleSearch = false; ServerModelNode result = null; if (entry.Hasbuilderdirectory()) { for (int i = 0; i < entry.builderdirectory.builderentryCount; i++) { ServerModelNode newServer = LoadBuilderEntryType(entry.builderdirectory.GetbuilderentryAt(i), favouriteServerUri); if (newServer != null) { result = newServer; } } } else if (entry.Haswmscatalog()) { ServerModelNode newServer = AddWMSServer(new WMSServerUri(entry.wmscatalog.capabilitiesurl.Value), entry.wmscatalog.Hasenabled() ? entry.wmscatalog.enabled.Value : true, DontUpdateHomeView, DontSubmitToDappleSearch); if (favouriteServerUri != null && newServer.Uri.ToBaseUri().Equals(favouriteServerUri.ToString())) { result = newServer; } } else if (entry.Hasarcimscatalog()) { ServerModelNode newServer = AddArcIMSServer(new ArcIMSServerUri(entry.arcimscatalog.capabilitiesurl.Value), entry.arcimscatalog.Hasenabled() ? entry.arcimscatalog.enabled.Value : true, DontUpdateHomeView, DontSubmitToDappleSearch); if (favouriteServerUri != null && newServer.Uri.ToBaseUri().Equals(favouriteServerUri.ToString())) { result = newServer; } } else if (entry.Hasdapcatalog()) { DapServerUri oUri = new DapServerUri(entry.dapcatalog.url.Value); if (!oUri.IsForPersonalDAP) { ServerModelNode newServer = AddDAPServer(oUri, entry.dapcatalog.Hasenabled() ? entry.dapcatalog.enabled.Value : true, DontUpdateHomeView, DontSubmitToDappleSearch); if (favouriteServerUri != null && newServer.Uri.ToBaseUri().Equals(favouriteServerUri.ToString())) { result = newServer; } } } else if (entry.Hastileserverset()) { LoadTileServerSet(entry.tileserverset); } return(result); }
internal void LoadFromView(Dapple.DappleView oSource) { lock (m_oLock) { ClearModel(); ServerModelNode oFavouriteServer = null; // --- Create favourite server Uri --- Uri oFavouriteServerUri = null; if (oSource.View.Hasfavouriteserverurl() && !String.IsNullOrEmpty(oSource.View.favouriteserverurl.Value)) { try { oFavouriteServerUri = new Uri(oSource.View.favouriteserverurl.Value); } catch (UriFormatException) { // --- The favourite server is invalid. Default to no favourite server --- } } // --- Load the servers --- if (oSource.View.Hasservers()) { for (int i = 0; i < oSource.View.servers.builderentryCount; i++) { dappleview.builderentryType entry = oSource.View.servers.GetbuilderentryAt(i); ServerModelNode temp = LoadBuilderEntryType(entry, oFavouriteServerUri); if (temp != null) { oFavouriteServer = temp; } } } if (oFavouriteServer != null) { SetFavouriteServer(oFavouriteServer, false); } else if (oSource.View.Hasfavouriteserverurl() && PersonalDapServerModelNode.PersonalDapRunning && oSource.View.favouriteserverurl.Value.Equals(Geosoft.GX.DAPGetData.Server.PERSONAL_DAP_URI)) { SetFavouriteServer(PersonalDapServer, false); } OnLoaded(EventArgs.Empty); } }
internal ServerModelNode SetFavouriteServer(String strUri) { ServerModelNode result = null; foreach (ArcIMSServerModelNode oServer in UnfilteredChildren) { if (oServer.UpdateFavouriteStatus(strUri)) { result = oServer; } } return(result); }
internal void ToggleServer(ServerModelNode oServer, bool blUpdateHomeView) { lock (m_oLock) { oServer.ToggleEnabled(); if (blUpdateHomeView) { oServer.AddToHomeView(); HomeView.SetServerEnabled(oServer.Uri, oServer.Enabled); } OnServerToggled(EventArgs.Empty); } }
internal void RemoveServer(ServerModelNode oServer, bool blUpdateHomeView) { lock (m_oLock) { oServer.Parent.RemoveChild(oServer); if (blUpdateHomeView) { if (oServer.Favourite) { HomeView.ClearFavourite(); } HomeView.RemoveServer(oServer.Uri); } } }
internal void SetFavouriteServer(ServerModelNode oServer, bool blUpdateHomeView) { lock (m_oLock) { if (m_oFavouriteServer == null || !m_oFavouriteServer.Uri.ToBaseUri().Equals(oServer.Uri.ToBaseUri())) { m_oFavouriteServer = m_oRootNode.SetFavouriteServer(oServer.Uri.ToBaseUri()); if (blUpdateHomeView) { oServer.AddToHomeView(); HomeView.SetFavourite(m_oFavouriteServer.Uri); } m_oSelectedNode = m_oFavouriteServer; OnFavouriteServerChanged(EventArgs.Empty); } } }