Exemple #1
0
        /// <summary>
        /// Units of measure is changed.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="PropertyChangedEventArgs{UnitOfMeasure}"/> instance containing the event data.</param>
        private void Tool_UnitsOfMeasureChanged(object sender, PropertyChangedEventArgs <UnitOfMeasure> e)
        {
            ImageMeasureTool tool = (ImageMeasureTool)VisualTool;

            ImageMeasureToolUnitsOfMeasureAction unitOfMeasureAction =
                _unitOfMeasureToUnitOfMeasureAction[tool.UnitsOfMeasure];

            unitOfMeasureAction.Activate();

            // get the unit of measure as a string
            string unitOfMeasureString = GetUnitOfMeasureString(e.NewValue);

            // if image viewer is not empty
            if (tool.ImageViewer != null)
            {
                // for each image
                foreach (VintasoftImage image in tool.ImageViewer.Images)
                {
                    // get annotation list
                    IList <AnnotationView> annotations = tool.GetAnnotationsFromImage(image);
                    // for each annotation
                    foreach (AnnotationView annotation in annotations)
                    {
                        MeasurementAnnotationData data = annotation.Data as MeasurementAnnotationData;
                        // if annotation is measurement annotation
                        if (data != null)
                        {
                            // set new measuring text template
                            data.MeasuringTextTemplate = GetMeasuringTextTemplate(data, unitOfMeasureString);
                        }
                    }
                }
            }
        }
Exemple #2
0
        /// <summary>
        /// Adds the properties actions to the specified action list.
        /// </summary>
        /// <param name="actions">The actions list.</param>
        private void AddPropertiesActions(List <VisualToolAction> actions)
        {
            List <ImageMeasureToolUnitsOfMeasureAction> unitsOfMeasureSubActions =
                new List <ImageMeasureToolUnitsOfMeasureAction>();
            ImageMeasureTool tool = (ImageMeasureTool)VisualTool;

            foreach (UnitOfMeasure unitOfMeasure in Enum.GetValues(typeof(UnitOfMeasure)))
            {
                ImageMeasureToolUnitsOfMeasureAction unitsOfMeasureAction =
                    new ImageMeasureToolUnitsOfMeasureAction(
                        unitOfMeasure,
                        string.Format("{0}", unitOfMeasure),
                        string.Format("{0} ({1})", unitOfMeasure, GetUnitOfMeasureString(unitOfMeasure)),
                        null);

                unitsOfMeasureAction.Activated += new EventHandler(unitOfMeasureAction_Activated);

                if (unitOfMeasure == tool.UnitsOfMeasure)
                {
                    unitsOfMeasureAction.Activate();
                }

                if (_unitOfMeasureToUnitOfMeasureAction == null)
                {
                    _unitOfMeasureToUnitOfMeasureAction = new Dictionary <UnitOfMeasure, ImageMeasureToolUnitsOfMeasureAction>();
                }
                _unitOfMeasureToUnitOfMeasureAction.Add(unitOfMeasure, unitsOfMeasureAction);

                unitsOfMeasureSubActions.Add(unitsOfMeasureAction);
            }

            actions.Add(new VisualToolAction("Units Of Measure",
                                             "Units Of Measure", null, false,
                                             unitsOfMeasureSubActions.ToArray()));


            VisualToolAction propertiesAction =
                new VisualToolAction("Properties...",
                                     "Show properties form for image measure tool", null, false);

            propertiesAction.Clicked += new EventHandler(propertiesAction_Clicked);
            actions.Add(propertiesAction);


            VisualToolAction measurementPropertiesAction =
                new VisualToolAction("Measurement Properties...",
                                     "Show properties form for focused measurement annotation", null, false);

            measurementPropertiesAction.Clicked += new EventHandler(measurementPropertiesAction_Clicked);
            actions.Add(measurementPropertiesAction);
        }
Exemple #3
0
        /// <summary>
        /// The "unit of measure" action is activated.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        private void unitOfMeasureAction_Activated(object sender, EventArgs e)
        {
            ImageMeasureToolUnitsOfMeasureAction unitsOfMeasureAction =
                (ImageMeasureToolUnitsOfMeasureAction)sender;

            ImageMeasureTool tool = (ImageMeasureTool)VisualTool;

            tool.UnitsOfMeasure = unitsOfMeasureAction.UnitsOfMeasure;

            if (_currentUnitOfMeasureAction != null)
            {
                _currentUnitOfMeasureAction.Deactivate();
            }

            _currentUnitOfMeasureAction = unitsOfMeasureAction;
        }