Ejemplo n.º 1
0
        private void DrawBasedOnParameters(bool bComputeSpeed, TrackSelector.ColorType speedColorType, Color singlecolor)
        {
            // Calcul des vitesses
            _ComputeSpeed   = bComputeSpeed;
            _singlecolor    = singlecolor;
            _speedColorType = speedColorType;
            _Daddy.Log("TrackSelector DrawBasedOnParameters: ComputeSpeeds");
            ComputeSpeeds();
            _Daddy.Log("TrackSelector DrawBasedOnParameters: ComputeMinMax");
            ComputeMinMax();

            if ((_Elevations == null) && (!_ComputeSpeed))
            {
                // Nothing to display in graph
                this.Height     = 145;
                pnGraph.Visible = false;
            }
            else
            {
                this.Height       = 327;
                pnGraph.Visible   = true;
                pnGraph.BackColor = Color.White;
            }

            // On trace la route en ligne droite & les elevations si besoin
            _Daddy.Log("TrackSelector DrawBasedOnParameters: DrawRoute");
            DrawRoute(_Start, _End);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Display an HMI requesting parameters need for this form
        /// </summary>
        /// <param name="daddy">Reference to main window (MainWindow instance), used for callback purposes</param>
        /// <param name="bComputeSpeed">out, If true, speed will be computed from time and positions</param>
        /// <param name="speedColorType">out, Color type that will be used on road to display speed (only useful if bComputeSpeed is true)</param>
        /// <param name="singlecolor">out, Color value that will be used on road (only useful if bComputeSpeed is true and speedColorType is SingleValue or if bComputeSpeed is false)</param>
        /// <returns>True if parameters successfuly filled</returns>
        static public bool RequestParameters(MainWindow daddy, out bool bComputeSpeed, out TrackSelector.ColorType speedColorType, out Color singlecolor)
        {
            List <ParameterObject> lst        = new List <ParameterObject>();
            List <String>          lstcompare = new List <string>();

            lst.Add(new ParameterObject(ParameterObject.ParameterType.Color, Color.Red, "color1", daddy.GetTranslator().GetString("LblRouteColorDefault")));
            lstcompare.Add(daddy.GetTranslator().GetString("LblSpeedGreenRed"));
            lstcompare.Add(daddy.GetTranslator().GetString("LblSpeedHSL"));
            lstcompare.Add(daddy.GetTranslator().GetString("LblSpeedUnicolor"));
            lst.Add(new ParameterObject(ParameterObject.ParameterType.Bool, true, "usespeed", daddy.GetTranslator().GetString("LblDisplaySpeed")));
            lst.Add(new ParameterObject(ParameterObject.ParameterType.List, lstcompare, "speedcolor", daddy.GetTranslator().GetString("LblSpeedColorType")));

            ParametersChanger changer = new ParametersChanger();

            changer.Title         = daddy.GetTranslator().GetString("FMenuDisplayGPXTrack");
            changer.BtnCancel     = daddy.GetTranslator().GetString("BtnCancel");
            changer.BtnOK         = daddy.GetTranslator().GetString("BtnOk");
            changer.ErrorFormater = daddy.GetTranslator().GetString("ErrWrongParameter");
            changer.ErrorTitle    = daddy.GetTranslator().GetString("Error");
            changer.Parameters    = lst;
            changer.Font          = daddy.Font;
            changer.Icon          = daddy.Icon;
            changer.TopMost       = true;

            if (changer.ShowDialog() == DialogResult.OK)
            {
                bComputeSpeed  = bool.Parse(changer.Parameters[1].Value);
                speedColorType = (TrackSelector.ColorType)(changer.Parameters[2].ValueIndex);
                singlecolor    = (Color)(changer.Parameters[0].ValueO);
                return(true);
            }
            else
            {
                bComputeSpeed  = false;
                speedColorType = ColorType.SingleColor;
                singlecolor    = Color.Red;
                return(false);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Constructor
        /// pts and times shall have the same items count
        /// </summary>
        /// <param name="daddy">Reference to main window (MainWindow instance), used for callback purposes</param>
        /// <param name="pts">All the points of the track</param>
        /// <param name="times">All the DateTime associated to a point of the track</param>
        /// <param name="elevations">All the elevations (in meters) associated to a point of the track</param>
        /// <param name="bComputeSpeed">If true, speed will be computed from time and positions</param>
        /// <param name="speedColorType">Color type that will be used on road to display speed (only useful if bComputeSpeed is true)</param>
        /// <param name="singlecolor">Color value that will be used on road (only useful if bComputeSpeed is true and speedColorType is SingleValue or if bComputeSpeed is false)</param>
        public TrackSelector(MainWindow daddy, List <PointLatLng> pts, List <DateTime> times, List <Double> elevations, bool bComputeSpeed, TrackSelector.ColorType speedColorType, Color singlecolor)
        {
            _Daddy = daddy;
            _Daddy.Log("TrackSelector Ctor: Misc");
            InitializeComponent();
            this.Text = _Daddy.GetTranslator().GetString("LblTrackSelector");
            btnConfiguretrksel.Image = _Daddy.GetImageSized("CartoConfiguration");
            _Daddy.TranslateTooltips(this, null);

            _Pts             = pts;
            _PtsRoute        = _Pts;
            _Times           = times;
            _TimesRoute      = _Times;
            _Elevations      = elevations;
            _ElevationsRoute = _Elevations;

            // Valeurs de base
            _Start = _Times[0];
            _End   = _Times[_Times.Count - 1];

            // On crée l'IHM
            _Daddy.Log("TrackSelector Ctor: HMI");
            if (_Times != null)
            {
                // Les textes
                labelTxtStart.Text = _Daddy.GetTranslator().GetString("LblStart");
                labelTxtEnd.Text   = _Daddy.GetTranslator().GetString("LblEnd");

                // Les labels
                labelStart.Text = _Start.ToString("MM/dd/yyyy HH:mm:ss");
                labelStart.Tag  = _Start;
                labelEnd.Text   = _End.ToString("MM/dd/yyyy HH:mm:ss");
                labelEnd.Tag    = _End;

                // La durée
                TimeSpan duree = _End - _Start;
                _Daddy.Log("_Start : " + _Start.ToString());
                _Daddy.Log("_End : " + _End.ToString());
                _Daddy.Log("duree.TotalSeconds : " + duree.TotalSeconds.ToString());
                trackBarStarttrksel.Minimum = 0;
                trackBarEndtrksel.Minimum   = 0;
                trackBarStarttrksel.Maximum = (int)(duree.TotalSeconds);
                trackBarEndtrksel.Maximum   = (int)(duree.TotalSeconds);
                trackBarStarttrksel.Value   = 0;
                trackBarEndtrksel.Value     = (int)(duree.TotalSeconds);
            }

            // Le callback du graphique
            pnGraph._CallbackMethodMouseMove = CallbackMethodMouseMove;

            _Daddy.Log("TrackSelector Ctor: DrawBasedOnParams");
            DrawBasedOnParameters(bComputeSpeed, speedColorType, singlecolor);

            // On affiche
            _Daddy.Log("TrackSelector Ctor: Display Map");
            _Daddy.ShowCacheMapInCacheDetailImpl(_Pts[0]);
        }