Exemplo n.º 1
0
        private string GetExtraDataOptionText(TrackExtraData data)
        {
            switch (data)
            {
            case TrackExtraData.None: return(ScreenManagerLang.dlgConfigureTrajectory_ExtraData_None);

            case TrackExtraData.Name: return(ScreenManagerLang.dlgConfigureDrawing_Name);

            case TrackExtraData.Center: return(ScreenManagerLang.ExtraData_Center);

            case TrackExtraData.Radius: return(ScreenManagerLang.ExtraData_Radius);

            case TrackExtraData.Diameter: return(ScreenManagerLang.ExtraData_Diameter);

            case TrackExtraData.Circumference: return(ScreenManagerLang.ExtraData_Circumference);
            }

            return("");
        }
Exemplo n.º 2
0
        private ToolStripMenuItem GetMeasurementMenu(TrackExtraData data)
        {
            ToolStripMenuItem mnu = new ToolStripMenuItem();

            mnu.Text    = GetExtraDataOptionText(data);
            mnu.Checked = trackExtraData == data;

            mnu.Click += (s, e) =>
            {
                trackExtraData = data;
                InvalidateFromMenu(s);

                if (ShowMeasurableInfoChanged != null)
                {
                    ShowMeasurableInfoChanged(this, new EventArgs <TrackExtraData>(trackExtraData));
                }
            };

            return(mnu);
        }
Exemplo n.º 3
0
        public void InitializeMeasurableData(TrackExtraData trackExtraData)
        {
            // This is called when the drawing is added and a previous drawing had its measurement option switched on.
            // We try to retain a similar measurement option.
            if (measureInitialized)
            {
                return;
            }

            measureInitialized = true;

            // If the option is supported, we just use it, otherwise we use the length.
            if (trackExtraData == TrackExtraData.None ||
                trackExtraData == TrackExtraData.Name ||
                trackExtraData == TrackExtraData.TotalDistance)
            {
                this.trackExtraData = trackExtraData;
            }
            else
            {
                this.trackExtraData = TrackExtraData.TotalDistance;
            }
        }
Exemplo n.º 4
0
        private void mnuCalibrate_Click(object sender, EventArgs e)
        {
            if (points["a"].NearlyCoincideWith(points["b"]))
            {
                return;
            }

            if (trackExtraData == TrackExtraData.None)
            {
                trackExtraData = TrackExtraData.TotalDistance;
                if (ShowMeasurableInfoChanged != null)
                {
                    ShowMeasurableInfoChanged(this, new EventArgs <TrackExtraData>(trackExtraData));
                }
            }

            FormCalibrateLine fcm = new FormCalibrateLine(CalibrationHelper, this);

            FormsHelper.Locate(fcm);
            fcm.ShowDialog();
            fcm.Dispose();

            InvalidateFromMenu(sender);
        }
Exemplo n.º 5
0
        public void ReadXml(XmlReader xmlReader, PointF scale, TimestampMapper timestampMapper)
        {
            if (xmlReader.MoveToAttribute("id"))
            {
                identifier = new Guid(xmlReader.ReadContentAsString());
            }

            if (xmlReader.MoveToAttribute("name"))
            {
                name = xmlReader.ReadContentAsString();
            }

            xmlReader.ReadStartElement();

            while (xmlReader.NodeType == XmlNodeType.Element)
            {
                switch (xmlReader.Name)
                {
                case "Start":
                {
                    PointF p = XmlHelper.ParsePointF(xmlReader.ReadElementContentAsString());
                    points["a"] = p.Scale(scale.X, scale.Y);
                    break;
                }

                case "End":
                {
                    PointF p = XmlHelper.ParsePointF(xmlReader.ReadElementContentAsString());
                    points["b"] = p.Scale(scale.X, scale.Y);
                    break;
                }

                case "ExtraData":
                {
                    TypeConverter enumConverter = TypeDescriptor.GetConverter(typeof(TrackExtraData));
                    trackExtraData = (TrackExtraData)enumConverter.ConvertFromString(xmlReader.ReadElementContentAsString());
                    break;
                }

                case "MeasureLabel":
                {
                    miniLabel = new MiniLabel(xmlReader, scale);
                    break;
                }

                case "DrawingStyle":
                    style = new DrawingStyle(xmlReader);
                    BindStyle();
                    break;

                case "InfosFading":
                    infosFading.ReadXml(xmlReader);
                    break;

                case "Measure":
                    xmlReader.ReadOuterXml();
                    break;

                default:
                    string unparsed = xmlReader.ReadOuterXml();
                    log.DebugFormat("Unparsed content in KVA XML: {0}", unparsed);
                    break;
                }
            }

            xmlReader.ReadEndElement();
            initializing       = false;
            measureInitialized = true;
            miniLabel.SetAttach(GetMiddlePoint(), false);
            miniLabel.BackColor = styleHelper.Color;
            SignalAllTrackablePointsMoved();
        }
 public void InitializeMeasurableData(TrackExtraData trackExtraData)
 {
 }
Exemplo n.º 7
0
 private void MeasurableDrawing_ShowMeasurableInfoChanged(object sender, EventArgs <TrackExtraData> e)
 {
     trackExtraData = e.Value;
 }
Exemplo n.º 8
0
        public void ReadXml(XmlReader xmlReader, PointF scale, TimestampMapper timestampMapper)
        {
            if (xmlReader.MoveToAttribute("id"))
            {
                identifier = new Guid(xmlReader.ReadContentAsString());
            }

            if (xmlReader.MoveToAttribute("name"))
            {
                name = xmlReader.ReadContentAsString();
            }

            xmlReader.ReadStartElement();

            while (xmlReader.NodeType == XmlNodeType.Element)
            {
                switch (xmlReader.Name)
                {
                case "Origin":
                    center = XmlHelper.ParsePointF(xmlReader.ReadElementContentAsString());
                    break;

                case "Radius":
                    radius = (int)(xmlReader.ReadElementContentAsInt() * scale.X);
                    break;

                case "ExtraData":
                {
                    TypeConverter enumConverter = TypeDescriptor.GetConverter(typeof(TrackExtraData));
                    trackExtraData = (TrackExtraData)enumConverter.ConvertFromString(xmlReader.ReadElementContentAsString());
                    break;
                }

                case "MeasureLabel":
                {
                    miniLabel = new MiniLabel(xmlReader, scale);
                    break;
                }

                case "ShowCenter":
                    showCenter = XmlHelper.ParseBoolean(xmlReader.ReadElementContentAsString());
                    break;

                case "DrawingStyle":
                    style = new DrawingStyle(xmlReader);
                    BindStyle();
                    break;

                case "InfosFading":
                    infosFading.ReadXml(xmlReader);
                    break;

                default:
                    string unparsed = xmlReader.ReadOuterXml();
                    log.DebugFormat("Unparsed content in KVA XML: {0}", unparsed);
                    break;
                }
            }

            xmlReader.ReadEndElement();
            initializing       = false;
            measureInitialized = true;
            miniLabel.SetAttach(center, false);
            miniLabel.BackColor = styleHelper.Color;
        }