Exemplo n.º 1
0
        private void _InitSymbology()
        {
            SymbologyManager.Init();
            _InitFields();
            _InitCategoriesDataGridLayout();
            _InitQuantitiesDataGridLayout();

            if (SymbologyManager.SymbologyType == SymbologyType.CategorySymbology)
            {
                CategoriesButton.IsChecked   = true;
                QuantitiesButton.IsChecked   = false;
                CategoryXceedGrid.Visibility = Visibility.Visible;
                QuantityXceedGrid.Visibility = Visibility.Collapsed;
            }
            else
            {
                CategoriesButton.IsChecked   = false;
                QuantitiesButton.IsChecked   = true;
                CategoryXceedGrid.Visibility = Visibility.Collapsed;
                QuantityXceedGrid.Visibility = Visibility.Visible;
            }
            _SetFieldBoxIndex();
            _OnFieldChanged();

            SymbologyLabel.Visibility = Visibility.Visible;
            SymbologyGrid.Visibility  = Visibility.Visible;

            _SetShadowGrid();
            _symbologyInited = true;
        }
Exemplo n.º 2
0
        public static Control CreateCustomOrderSymbol(object orderOrStop)
        {
            DataGraphicObject graphicObject = null;

            // Create data graphic object that depends on object type.
            if (orderOrStop is Stop)
            {
                graphicObject = StopGraphicObject.Create(orderOrStop as Stop);
            }
            else if (orderOrStop is Order)
            {
                graphicObject = OrderGraphicObject.Create(orderOrStop as Order);
            }
            else
            {
                Debug.Assert(false); // Not supported.
            }
            // Init graphics object by order symbology manager.
            SymbologyManager.InitGraphic(graphicObject);

            // Create symbol control
            var control = new ESRI.ArcLogistics.App.DragAndDrop.Adornments.Controls.SymbolControl
                              (graphicObject.Symbol.ControlTemplate);

            // Copy attributes from graphics object to symbol control.
            control.SymbologyContextDictionary = graphicObject.Attributes;

            // Offset symbol so it is not rendered shifted.
            control.RenderTransform = new TranslateTransform(-control.OffsetX, -control.OffsetY);

            return(control);
        }
Exemplo n.º 3
0
        /// <summary>
        /// React on order property changes
        /// </summary>
        private void _order_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if (e.PropertyName == Order.PropertyNameGeoLocation)
            {
                // if order geocoded position changed - show order in new place
                Geometry = _CreatePoint(_order);
            }

            if (e.PropertyName.Equals(SymbologyManager.FieldName))
            {
                SymbologyManager.InitGraphic(this);
            }
        }
Exemplo n.º 4
0
        private void _StoreState()
        {
            if (_edited != null)
            {
                if (SymbologyManager.SymbologyType == SymbologyType.CategorySymbology)
                {
                    try
                    {
                        CategoryXceedGrid.EndEdit();
                    }
                    catch
                    {
                        CategoryXceedGrid.CancelEdit();
                    }
                }
                else
                {
                    try
                    {
                        QuantityXceedGrid.EndEdit();
                    }
                    catch
                    {
                        QuantityXceedGrid.CancelEdit();
                    }
                }
            }

            if (_edited != null)
            {
                _EndEdit();
            }
            if (App.Current.Project != null)
            {
                SymbologyManager.SaveConfig();
            }

            MapDisplay mapDisplay = App.Current.MapDisplay;

            mapDisplay.TrueRoute       = TrueRouteButton.IsChecked.Value;
            mapDisplay.LabelingEnabled = LabelingOnButton.IsChecked.Value;

            mapDisplay.ShowBarriers = BarriersOnButton.IsChecked.Value;
            mapDisplay.ShowZones    = ZonesOnButton.IsChecked.Value;

            mapDisplay.ShowLeadingStemTime  = ShowLeadingStemTimeButton.IsChecked.Value;
            mapDisplay.ShowTrailingStemTime = ShowTrailingStemTimeButton.IsChecked.Value;
            mapDisplay.AutoZoom             = AutoZoomButton.IsChecked.Value;
            mapDisplay.Save();
        }
Exemplo n.º 5
0
        private void FieldBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            // Finish editing if in edit mode.
            if (_edited != null)
            {
                DataGridControl dataGridControl;

                if (SymbologyManager.SymbologyType == SymbologyType.CategorySymbology)
                {
                    dataGridControl = CategoryXceedGrid;
                }
                else
                {
                    dataGridControl = QuantityXceedGrid;
                }

                try
                {
                    dataGridControl.EndEdit();
                }
                catch
                {
                    dataGridControl.CancelEdit();
                }
            }

            DeleteButton.IsEnabled = false;
            if (_symbologyInited && _userChange)
            {
                if (SymbologyManager.SymbologyType == SymbologyType.CategorySymbology)
                {
                    SymbologyManager.CategoryOrderField = (string)FieldBox.SelectedItem;
                    SymbologyManager.OrderCategories.Clear();
                    SymbologyManager.AddDefaultCategory();
                }
                else
                {
                    SymbologyManager.QuantityOrderField = (string)FieldBox.SelectedItem;
                    SymbologyManager.OrderQuantities.Clear();
                    SymbologyManager.AddDefaultQuantity();
                }

                _SetShadowGrid();
            }
            _OnFieldChanged();
        }
Exemplo n.º 6
0
        /// <summary>
        /// React on symbology settings changed.
        /// </summary>
        /// <param name="sender">Ignored.</param>
        /// <param name="e">Ignored.</param>
        private void _SymbologyManagerOnSettingsChanged(object sender, EventArgs e)
        {
            foreach (Graphic graphic in MapLayer)
            {
                StopGraphicObject stopGraphic = graphic as StopGraphicObject;
                if (stopGraphic != null)
                {
                    stopGraphic.InitSymbology();
                }

                OrderGraphicObject orderGraphic = graphic as OrderGraphicObject;
                if (orderGraphic != null)
                {
                    SymbologyManager.InitGraphic(orderGraphic);
                }
            }
        }
 /// <summary>
 /// Create order symbols.
 /// </summary>
 /// <param name="stop">Stop, associated with order.</param>
 private void _CreateOrderSymbol(Stop stop)
 {
     if (stop.AssociatedObject is Order)
     {
         if (App.Current.MapDisplay.LabelingEnabled)
         {
             Color           color           = Color.FromRgb(_stop.Route.Color.R, _stop.Route.Color.G, _stop.Route.Color.B);
             SolidColorBrush solidColorBrush = new SolidColorBrush(color);
             Attributes[SymbologyContext.FILL_ATTRIBUTE_NAME] = solidColorBrush;
             Symbol = new LabelSequenceSymbol();
         }
         else
         {
             SymbologyManager.InitGraphic(this);
         }
     }
 }
        /// <summary>
        /// React on order property changes.
        /// </summary>
        /// <param name="sender">Ignored.</param>
        /// <param name="e">Ignored.</param>
        private void _StopAssociatedObjectPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if (e.PropertyName == Order.PropertyNameGeoLocation)
            {
                // if order geocoded position changed - show order in new place
                Geometry = _CreatePoint(_stop);
            }

            Order order = _stop.AssociatedObject as Order;

            if (order != null)
            {
                if (e.PropertyName.Equals(SymbologyManager.FieldName) && !App.Current.MapDisplay.LabelingEnabled)
                {
                    SymbologyManager.InitGraphic(this);
                }
            }
        }
Exemplo n.º 9
0
        /// <summary>
        /// Create graphic object for order
        /// </summary>
        /// <param name="order">Source order</param>
        /// <returns>Graphic object for order</returns>
        public static OrderGraphicObject Create(Order order)
        {
            OrderGraphicObject graphic = null;

            graphic = new OrderGraphicObject(order);

            Color color = Color.FromRgb(0, 0, 0);

            graphic.Attributes.Add(SymbologyContext.FILL_ATTRIBUTE_NAME, new SolidColorBrush(color));
            graphic.Attributes.Add(SymbologyContext.OFFSETX_ATTRIBUTE_NAME,
                                   -(SymbologyManager.DEFAULT_SIZE - SymbologyManager.DEFAULT_INDENT / 2));
            graphic.Attributes.Add(SymbologyContext.OFFSETY_ATTRIBUTE_NAME,
                                   -(SymbologyManager.DEFAULT_SIZE - SymbologyManager.DEFAULT_INDENT / 2));
            graphic.Attributes.Add(SymbologyContext.SIZE_ATTRIBUTE_NAME, SymbologyManager.DEFAULT_SIZE);
            graphic.Attributes.Add(SymbologyContext.FULLSIZE_ATTRIBUTE_NAME,
                                   SymbologyManager.DEFAULT_SIZE + SymbologyManager.DEFAULT_INDENT);

            SymbologyManager.InitGraphic(graphic);

            return(graphic);
        }