Example #1
0
 private void button10_Click(object sender, EventArgs e)
 {
     drawing         = CurrentDrawing.RegularPolygon;
     drawingByPoints = false;
     this.moving     = false;
     this.createCurrentShape();
 }
Example #2
0
        // private void button11_Click(object sender, EventArgs e)
        // {
        //     drawing = CurrentDrawing.Rectangle;
        //     drawingByPoints = true;
        // }

        private void button12_Click(object sender, EventArgs e)
        {
            drawing         = CurrentDrawing.IsoscelesTriangle;
            drawingByPoints = false;
            this.moving     = false;
            this.createCurrentShape();
        }
Example #3
0
 private void button7_Click(object sender, EventArgs e)
 {
     drawing = CurrentDrawing.Circle;
     this.createCurrentShape();
     drawingByPoints = false;
     this.moving     = false;
 }
Example #4
0
        bool guard = false; // to prevent reentrancy
        void FigureExplorer_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (guard)
            {
                return;
            }

            guard = true;

            foreach (var deselected in e.RemovedItems)
            {
                IFigure deselectedFigure = deselected as IFigure;
                if (deselectedFigure != null)
                {
                    deselectedFigure.Selected = false;
                }
            }

            foreach (var selected in e.AddedItems)
            {
                IFigure selectedFigure = selected as IFigure;
                if (selectedFigure != null)
                {
                    selectedFigure.Selected = true;
                }
            }

            CurrentDrawing.RaiseSelectionChanged(CurrentDrawing.GetSelectedFigures());

            guard = false;
        }
        /// <summary>
        /// The GetImage method.
        /// </summary>
        public async void GetImage()
        {
            var imageUri = CurrentDrawing.GetImageUri();

            if (!string.IsNullOrEmpty(imageUri))
            {
                var response = await Utilities.SendRequest(new Uri(imageUri));

                if (response.StatusCode != HttpStatusCode.OK)
                {
                    MessageBox.Show($@"Unable to get image, server returned {response.StatusCode}.");
                    return;
                }

                var bytes = await response.Content.ReadAsByteArrayAsync();

                using (var ms = new MemoryStream(bytes))
                {
                    pbxMain.Image = Image.FromStream(ms);
                }
            }

            var markers = CurrentDrawing.Markers;

            if (markers.Count == 0)
            {
                return;
            }

            foreach (var marker in markers)
            {
                DisplayMarker(marker);
            }
        }
Example #6
0
        private void SyncFigureExplorerSelection()
        {
            if (guard)
            {
                return;
            }
            guard = true;

            // Temporary Solution.  This causes figure's name change to show in FigureExplorer. - D.H.
            // Same temporary solution is used in ToggleFigureExplorer.
            if (FigureExplorer.Visible)
            {
                FigureExplorer.ItemsSource = null;

                List <IFigure> figureIncludes = new List <IFigure>();
                foreach (IFigure f in CurrentDrawing.Figures)
                {
                    if (!(f is IPoint))
                    {
                        figureIncludes.Add(f);
                    }
                }
                FigureExplorer.ItemsSource = figureIncludes;
            }
            // End Temporary Solution
            FigureExplorer.SelectedItem = null;

            foreach (var selectedFigure in CurrentDrawing.GetSelectedFigures())
            {
                FigureExplorer.SelectedItems.Add(selectedFigure);
            }
            guard = false;
        }
Example #7
0
        /// <summary>
        /// The ButtonSave_Click method.
        /// </summary>
        /// <param name="sender">The <paramref name="sender"/> parameter.</param>
        /// <param name="args">The <paramref name="args"/> parameter.</param>
        private void ButtonSave_Click(object sender, EventArgs args)
        {
            if (ShouldDeleteImage)
            {
                CurrentDrawing.DeleteImage();
            }

            if (ShouldSetImage)
            {
                CurrentDrawing.SetImage(ImageUri);
            }

            if (!string.IsNullOrEmpty(NewDrawingName))
            {
                CurrentDrawing.Name = NewDrawingName;
            }

            foreach (var marker in MarkersToDelete)
            {
                CurrentDrawing.DeleteMarker(marker);
            }

            foreach (var pictureBoxCamera in pbxMain.Controls.OfType <PictureBox>())
            {
                if (pictureBoxCamera.Tag.GetType() == typeof(NewMarker))
                {
                    var newMarker = pictureBoxCamera.Tag as NewMarker;
                    if (newMarker == null)
                    {
                        return;
                    }

                    var newX = (pictureBoxCamera.Location.X + 16) * 3;
                    var newY = (pictureBoxCamera.Location.Y + 16) * 3;
                    newMarker.X = newX;
                    newMarker.Y = newY;

                    CurrentDrawing.AddMarker(newMarker);
                }
                else
                {
                    if (pictureBoxCamera.Tag.GetType() != typeof(KeyValuePair <Marker, float>))
                    {
                        return;
                    }

                    var kvPair = (KeyValuePair <Marker, float>)pictureBoxCamera.Tag;
                    var marker = kvPair.Key;
                    var newX   = (pictureBoxCamera.Location.X + 16) * 3;
                    var newY   = (pictureBoxCamera.Location.Y + 16) * 3;
                    marker.SetCoordinates(newX, newY);
                    marker.Direction = kvPair.Value;
                }
            }
        }
Example #8
0
 public void ShowProperties(IEnumerable <object> selection)
 {
     try
     {
         PropertyGrid.Show(selection, CurrentDrawing.ActionManager);
     }
     catch (Exception ex)
     {
         CurrentDrawing.RaiseError(this, ex);
     }
 }
Example #9
0
 public virtual void ShowProperties(object selection)
 {
     try
     {
         PropertyGrid.Show(selection, CurrentDrawing.ActionManager);
     }
     catch (Exception ex)
     {
         CurrentDrawing.RaiseError(this, ex);
     }
 }
Example #10
0
        private void UpdateConfigurationFromText()
        {
            var lines = text.Text.Split('\n', '\r')
                        .Where(s => !string.IsNullOrEmpty(s)).ToArray();

            if (lines == null || lines.Length < 3)
            {
                return;
            }
            RoutingAlgorithm algorithm = new RoutingAlgorithm();

            algorithm.ParseInput(lines[0], lines[1], lines[2]);
            CreateConfiguration(algorithm.Start, algorithm.End, algorithm.Polygon);
            CurrentDrawing.Recalculate();
        }
Example #11
0
        public DnaDrawing GetDrawing()
        {
            DnaDrawing newDrawing = CurrentDrawing.Clone();

            newDrawing.Mutate(settings);

            double newErrorLevel = FitnessCalculator.GetDrawingFitness(newDrawing, newDrawing.SourceImage);

            if (newErrorLevel <= CurrentErrorLevel)
            {
                CurrentDrawing    = newDrawing;
                CurrentErrorLevel = newErrorLevel;
            }

            return(CurrentDrawing);
        }
Example #12
0
        protected virtual void ShowSelectionProperties()
        {
            var selection = CurrentDrawing.GetSelectedFigures().ToArray();

            if (selection.Length == 1)
            {
                ShowProperties(selection[0]);
            }
            else if (selection.Length > 1)
            {
                ShowProperties(selection);
            }
            else
            {
                ShowProperties(null);
            }
        }
Example #13
0
        private void FigureItems_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var selected = FigureItems.SelectedItem;

            IFigure selectedFigure = selected as IFigure;

            if (selectedFigure != null)
            {
                selectedFigure.Selected = true;
            }

            pg.Show(selectedFigure, CurrentDrawing.ActionManager);

            //FigureItems.SelectedValue = selectedFigure;

            CurrentDrawing.RaiseSelectionChanged(CurrentDrawing.GetSelectedFigures());
        }
Example #14
0
 private void button15_Click(object sender, EventArgs e)
 {
     drawing         = CurrentDrawing.Parallelogram;
     drawingByPoints = true;
     this.moving     = false;
 }
        /// <summary>
        /// The ButtonSave_Click method.
        /// </summary>
        /// <param name="sender">The <paramref name="sender"/> parameter.</param>
        /// <param name="args">The <paramref name="args"/> parameter.</param>
        private void ButtonSave_Click(object sender, EventArgs args)
        {
            if (ShouldDeleteImage)
            {
                CurrentDrawing.DeleteImage();
            }

            if (ShouldSetImage)
            {
                CurrentDrawing.SetImage(ImageUri);
            }

            if (!string.IsNullOrEmpty(NewDrawingName))
            {
                CurrentDrawing.Name = NewDrawingName;
            }

            foreach (var marker in MarkersToDelete)
            {
                CurrentDrawing.DeleteMarker(marker);
            }

            if (CurrentDrawing.BackgroundColor != Utilities.ColorToUInt(pnlMapBgColor.BackColor))
            {
                CurrentDrawing.BackgroundColor = Utilities.ColorToUInt(pnlMapBgColor.BackColor);
            }

            if (CurrentDrawing.MarkerSize != (int)nudMarkerSize.Value)
            {
                CurrentDrawing.MarkerSize = (int)nudMarkerSize.Value;
            }

            if (CurrentDrawing.CameraNumberColor != Utilities.ColorToUInt(pnlNumberColor.BackColor))
            {
                CurrentDrawing.CameraNumberColor = Utilities.ColorToUInt(pnlNumberColor.BackColor);
            }

            if (CurrentDrawing.ShowCameraNumbers != cbxShowCameraNumbers.Checked)
            {
                CurrentDrawing.ShowCameraNumbers = cbxShowCameraNumbers.Checked;
            }

            foreach (var pictureBoxCamera in pbxMain.Controls.OfType <PictureBox>())
            {
                if (pictureBoxCamera.Tag.GetType() == typeof(NewMarker))
                {
                    var newMarker = pictureBoxCamera.Tag as NewMarker;
                    if (newMarker == null)
                    {
                        return;
                    }

                    var newX = (pictureBoxCamera.Location.X + 16) * 3;
                    var newY = (pictureBoxCamera.Location.Y + 16) * 3;
                    newMarker.X = newX;
                    newMarker.Y = newY;

                    CurrentDrawing.AddMarker(newMarker);
                }
                else
                {
                    if (pictureBoxCamera.Tag.GetType() != typeof(KeyValuePair <Marker, float>))
                    {
                        return;
                    }

                    var kvPair = (KeyValuePair <Marker, float>)pictureBoxCamera.Tag;
                    var marker = kvPair.Key;
                    var newX   = (pictureBoxCamera.Location.X + 16) * 3;
                    var newY   = (pictureBoxCamera.Location.Y + 16) * 3;
                    marker.SetCoordinates(newX, newY);
                    marker.Direction = kvPair.Value;
                }
            }
        }
Example #16
0
 private void button14_Click(object sender, EventArgs e)
 {
     drawing         = CurrentDrawing.Rhomb;
     drawingByPoints = true;
     this.moving     = false;
 }
Example #17
0
 private void button1_Click(object sender, EventArgs e)
 {
     drawing         = CurrentDrawing.Line;
     drawingByPoints = false;
     this.moving     = false;
 }