Esempio n. 1
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;
        }
Esempio n. 2
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;
        }
Esempio n. 3
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);
            }
        }
Esempio n. 4
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());
        }