示例#1
0
        // when the user clicks 'Add to custom symbols' on the details dialog
        private void DetailsDialogAddToCustomSymbols(object sender, LineSymbolizerEventArgs e)
        {
            // Here a dialog is displayed. The user can enter the custom symbol name and category
            // in the dialog.
            AddCustomSymbolDialog dlg = new AddCustomSymbolDialog(_categories, e.Symbolizer);

            dlg.ShowDialog();

            CustomLineSymbolizer newSym = dlg.CustomSymbolizer as CustomLineSymbolizer;

            if (newSym != null)
            {
                // check if user added a new category
                if (!_categories.Contains(newSym.Category))
                {
                    _categories.Add(newSym.Category);
                }

                UpdateCategories();

                predefinedLineSymbolControl1.SymbolizerList.Insert(0, newSym);
                predefinedLineSymbolControl1.Invalidate();
            }

            // TODO: save the custom symbolizer to xml / serialized file.
            // predefinedLineSymbolControl1.SaveToXml("test.xml");
        }
示例#2
0
        /// <summary>
        /// Creates the new custom symbolizer with the specified name and category
        /// </summary>
        /// <returns>the custom symbolizer</returns>
        private CustomSymbolizer CreateCustomSymbolizer()
        {
            CustomSymbolizer custSym = null;

            if (_symbolizer is PointSymbolizer)
            {
                custSym = new CustomPointSymbolizer();
            }
            else if (_symbolizer is LineSymbolizer)
            {
                custSym = new CustomLineSymbolizer();
            }
            else if (_symbolizer is PolygonSymbolizer)
            {
                custSym = new CustomPolygonSymbolizer();
            }
            if (custSym != null)
            {
                custSym.Symbolizer = _symbolizer;
                custSym.Name       = _txtSymbolName.Text;
                custSym.Category   = _cmbSymbolCategory.Text;
                return(custSym);
            }
            return(null);
        }
示例#3
0
        private void PredefinedSymbolControlSymbolSelected(object sender, EventArgs e)
        {
            CustomLineSymbolizer customSymbol = predefinedLineSymbolControl1.SelectedSymbolizer;

            if (customSymbol != null)
            {
                _symbolizer = customSymbol.Symbolizer;
                UpdatePreview();
            }
        }
 /// <summary>
 /// Adds a new symbolizer to the control. The added symbolizer will be selected
 /// by default
 /// </summary>
 /// <param name="newSymbolizer">The added custom symbolizer</param>
 public void AddSymbolizer(CustomLineSymbolizer newSymbolizer)
 {
     _symbolizerList.Add(newSymbolizer);
     SelectedIndex = _symbolizerList.Count - 1;
 }
 /// <summary>
 /// Adds a new symbolizer to the control. The added symbolizer will be selected
 /// by default
 /// </summary>
 /// <param name="newSymbolizer">The added custom symbolizer</param>
 public void AddSymbolizer(CustomLineSymbolizer newSymbolizer)
 {
     _symbolizerList.Add(newSymbolizer);
     SelectedIndex = _symbolizerList.Count - 1;
 }
 /// <summary>
 /// Creates the new custom symbolizer with the specified name and category
 /// </summary>
 /// <returns>the custom symbolizer</returns>
 private CustomSymbolizer CreateCustomSymbolizer()
 {
     CustomSymbolizer custSym = null;
     if (_symbolizer is PointSymbolizer)
     {
         custSym = new CustomPointSymbolizer();
     }
     else if (_symbolizer is LineSymbolizer)
     {
         custSym = new CustomLineSymbolizer();
     }
     else if (_symbolizer is PolygonSymbolizer)
     {
         custSym = new CustomPolygonSymbolizer();
     }
     if (custSym != null)
     {
         custSym.Symbolizer = _symbolizer;
         custSym.Name = _txtSymbolName.Text;
         custSym.Category = _cmbSymbolCategory.Text;
         return custSym;
     }
     return null;
 }