Пример #1
0
 //--------------------------------------------------------------------------------
 public CConfigWndMapView EditeConfig(
     CConfigWndMapView config,
     CObjetPourSousProprietes objetEdite,
     IFournisseurProprietesDynamiques fournisseur)
 {
     CFormEditConfigWndMapView.EditeConfig(config, objetEdite, fournisseur);
     return(config);
 }
Пример #2
0
        //---------------------------------------------------------------------
        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();
        }
Пример #3
0
        //---------------------------------------------------------------------
        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);
        }
Пример #4
0
        //-----------------------------------------------------------
        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();
            }
        }