// 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"); }
/// <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); }
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> /// 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; }