//-------------------------------------------------------------------------------- public CConfigWndMapView EditeConfig( CConfigWndMapView config, CObjetPourSousProprietes objetEdite, IFournisseurProprietesDynamiques fournisseur) { CFormEditConfigWndMapView.EditeConfig(config, objetEdite, fournisseur); return(config); }
//--------------------------------------------------------------------- private void Init( CConfigWndMapView config, CObjetPourSousProprietes objetEdite, IFournisseurProprietesDynamiques fournisseurProprietes) { m_configEditee = config; m_fournisseurProprietes = fournisseurProprietes; m_objetEdite = objetEdite; m_txtFormuleLatitude.Init(FournisseurProprietes, ObjetEdite); m_txtFormuleLongitude.Init(FournisseurProprietes, ObjetEdite); m_txtFormuleZoom.Init(FournisseurProprietes, ObjetEdite); m_txtFormuleKeepState.Init(FournisseurProprietes, ObjetEdite); m_txtFormuleLatitude.Formule = m_configEditee.FormuleLatitude; m_txtFormuleLongitude.Formule = m_configEditee.FormuleLongitude; m_txtFormuleZoom.Formule = m_configEditee.FormuleZoomFactor; m_txtFormuleKeepState.Formule = m_configEditee.FormulePreserveStateKey; m_chkPreserveCenter.Checked = m_configEditee.PreserveCenter; m_chkPreserveLayers.Checked = m_configEditee.PreserveLayers; m_chkPreserveMapMode.Checked = m_configEditee.PreserveMapMode; m_chkPreserveZoom.Checked = m_configEditee.PreserveZoom; m_rbtnViewMap.Checked = config.MapMode == EWndMapMode.Map; m_rbtnAerial.Checked = config.MapMode == EWndMapMode.Aerial; m_rbtnHybride.Checked = config.MapMode == EWndMapMode.Hybrid; CListeObjetDonneeGenerique <CConfigMapDatabase> lstConfigs = CConfigMapDatabase.GetConfigsFor( CContexteDonneeSysteme.GetInstance(), objetEdite); m_wndListeCalques.BeginUpdate(); foreach (CConfigMapDatabase configDB in lstConfigs) { bool bIsChecked = false; //TESTDBKEYOK CConfigCalqueMap configCalque = m_configEditee.GetConfigForCalque(configDB.DbKey); if (configCalque == null) { configCalque = new CConfigCalqueMap(); //TESTDBKEYOK configCalque.KeyConfigMapDatabase = configDB.DbKey; } else { bIsChecked = true; } configCalque.generator = configDB.MapGenerator; ListViewItem item = new ListViewItem(configDB.Libelle); item.Tag = configCalque; item.Checked = bIsChecked; m_wndListeCalques.Items.Add(item); } m_wndListeCalques.EndUpdate(); }
//--------------------------------------------------------------------- public static bool EditeConfig( CConfigWndMapView config, CObjetPourSousProprietes objetEdite, IFournisseurProprietesDynamiques fournisseur) { CFormEditConfigWndMapView form = new CFormEditConfigWndMapView(); form.Init(config, objetEdite, fournisseur); bool bResult = form.ShowDialog() == DialogResult.OK; form.Dispose(); return(bResult); }
//----------------------------------------------------------- public void ApplyConfig( CConfigWndMapView config, object source) { m_configAppliquee = config; CResultAErreur result = CResultAErreur.True; m_objetSource = source; CContexteEvaluationExpression contexteEval = new CContexteEvaluationExpression(source); if (config.FormuleLatitude != null) { result = config.FormuleLatitude.Eval(contexteEval); if (result && result.Data is double || result.Data is int) { CenterLatitude = Convert.ToDouble(result.Data); } } if (config.FormuleLongitude != null) { result = config.FormuleLongitude.Eval(contexteEval); if (result && result.Data is double || result.Data is int) { CenterLongitude = Convert.ToDouble(result.Data); } } if (config.FormuleZoomFactor != null) { result = config.FormuleZoomFactor.Eval(contexteEval); if (result && result.Data is double || result.Data is int) { Zoom = Convert.ToDouble(result.Data); } } m_strPreserveStateKey = ""; if (config.FormulePreserveStateKey != null) { result = config.FormulePreserveStateKey.Eval(contexteEval); if (result && result.Data != null) { m_strPreserveStateKey = result.Data.ToString(); } } foreach (CConfigCalqueMap calqueConf in config.ConfigsCalques) { CRuntimeConfigMapView runtime = null; //TESTDBKEYOK m_dicRuntimes.TryGetValue(calqueConf.KeyConfigMapDatabase, out runtime); if (runtime == null) { runtime = new CRuntimeConfigMapView(); //TESTDBKEYOK runtime.KeyConfigMapDatabase = calqueConf.KeyConfigMapDatabase; } if (runtime.Generator == null) { CConfigMapDatabase configInDb = new CConfigMapDatabase(CContexteDonneeSysteme.GetInstance()); //TESTDBKEYOK if (!configInDb.ReadIfExists(calqueConf.KeyConfigMapDatabase)) { continue;//bizarre, mais ça peut arriver } runtime.Generator = configInDb.MapGenerator; } //TESTDBKEYOK m_dicRuntimes[runtime.KeyConfigMapDatabase] = runtime; runtime.IsVisible = true; runtime.Generator.ClearVariables(); foreach (CFormuleNommee formule in calqueConf.ValeursVariablesFiltre) { if (formule.Formule != null) { try { string strVal = formule.Id; // TESTDBKEYOK if (runtime.Generator.GetVariable(strVal) != null) { result = formule.Formule.Eval(contexteEval); if (result) { runtime.Generator.SetValeurChamp(strVal, result.Data); } } } catch { } } } runtime.IsCalculated = false; } if (m_strPreserveStateKey != null && m_configAppliquee != null) { string strState = C2iRegistre.GetValueInRegistreApplication(c_strCleRegistre, m_strPreserveStateKey, ""); if (strState != "") { CStringSerializer serializer = new CStringSerializer(strState, ModeSerialisation.Lecture); SerializeState(serializer); } } ShowLayers(); if (config.FormuleLatitude == null || config.FormuleLongitude == null || config.FormuleZoomFactor == null) { AutoZoomAndCenter(); } }