// public static void AddConverter(Type type, ConvertObjectHandler obj) // { // if (_converters == null) // _converters = new Dictionary<Type, ConvertObjectHandler>(); // // _converters[type] = obj; // } #endregion #region Methods /// <summary> /// Adds an Option to a specified target. /// </summary> /// <param name="key">property key - any spaces will be removed</param> /// <param name="value">start value of the property</param> /// <param name="desc">property description</param> /// <param name="category">property category</param> /// <param name="optionChangedEvent">event handler to receive the /// PropertyValueChanged event</param> /// <param name="target">the object that will receive the changed /// property values: an internal event handler will be created and the /// name must be the name of a property of the type that the target is /// whatever that meant</param> internal void AddOption( string key, object value, string desc, string category, OptionChangedEventHandler optionChangedEvent = null, object target = null) { // key = key.Replace(" ", String.Empty); // nobody be stupid ... ViewerOption option; if (!_options.ContainsKey(key)) { option = new ViewerOption(value, desc, category); _options[key] = option; } else { option = _options[key]; option.Value = value; option.Description = desc; } if (optionChangedEvent != null) { option.OptionChangedEvent += optionChangedEvent; } else if (target != null) { _properties[key] = new Property(target, key); this[key].OptionChangedEvent += OnOptionChanged; } }
public void AddOptionChangedEventHandler(string record, OptionChangedEventHandler handler) { if (OptionChangedEvents.ContainsKey(record)) { OptionChangedEvents[record] += handler; } else { OptionChangedEvents.Add(record, handler); } }
// internal const string TileMinHeight = "TileMinHeight"; /// <summary> /// Loads default options for TopView in TopRouteView screens. /// </summary> protected internal override void LoadControl0Options() { _topBrushes = new Dictionary <string, SolidBrush>(); _topPens = new Dictionary <string, Pen>(); _topBrushes.Add(FloorColor, new SolidBrush(Color.BurlyWood)); _topBrushes.Add(ContentColor, new SolidBrush(Color.MediumSeaGreen)); _topBrushes.Add(SelectedTypeColor, QuadrantsPanel.SelectColor); var penWest = new Pen(Color.Khaki, 4); _topPens.Add(WestColor, penWest); _topPens.Add(WestWidth, penWest); var penNorth = new Pen(Color.Wheat, 4); _topPens.Add(NorthColor, penNorth); _topPens.Add(NorthWidth, penNorth); var penOver = new Pen(Color.Black, 2); _topPens.Add(SelectorColor, penOver); _topPens.Add(SelectorWidth, penOver); var penSelected = new Pen(Color.RoyalBlue, 2); _topPens.Add(SelectedColor, penSelected); _topPens.Add(SelectedWidth, penSelected); var penGrid = new Pen(Color.Black, 1); _topPens.Add(GridColor, penGrid); _topPens.Add(GridWidth, penGrid); var pen10Grid = new Pen(Color.Black, 2); _topPens.Add(Grid10Color, pen10Grid); _topPens.Add(Grid10Width, pen10Grid); OptionChangedEventHandler bc = OnBrushChanged; OptionChangedEventHandler pc = OnPenColorChanged; OptionChangedEventHandler pw = OnPenWidthChanged; // ValueChangedEventHandler dh = OnDiamondHeight; Options.AddOption(FloorColor, Color.BurlyWood, "Color of the floor tile indicator", Tile, bc); Options.AddOption(WestColor, Color.Khaki, "Color of the west tile indicator", Tile, pc); Options.AddOption(NorthColor, Color.Wheat, "Color of the north tile indicator", Tile, pc); Options.AddOption(ContentColor, Color.MediumSeaGreen, "Color of the content tile indicator", Tile, bc); Options.AddOption(WestWidth, 3, "Width of the west tile indicator in pixels", Tile, pw); Options.AddOption(NorthWidth, 3, "Width of the north tile indicator in pixels", Tile, pw); Options.AddOption(SelectorColor, Color.Black, "Color of the mouse-over indicator", Selector, pc); Options.AddOption(SelectorWidth, 2, "Width of the mouse-over indicator in pixels", Selector, pw); Options.AddOption(SelectedColor, Color.RoyalBlue, "Color of the selection line", Selector, pc); Options.AddOption(SelectedWidth, 2, "Width of the selection line in pixels", Selector, pw); Options.AddOption(SelectedTypeColor, Color.LightBlue, "Background color of the selected tiletype", Selector, bc); Options.AddOption(GridColor, Color.Black, "Color of the grid lines", Grid, pc); Options.AddOption(GridWidth, 1, "Width of the grid lines in pixels", Grid, pw); Options.AddOption(Grid10Color, Color.Black, "Color of every tenth grid line", Grid, pc); Options.AddOption(Grid10Width, 2, "Width of every tenth grid line in pixels", Grid, pw); // Options.AddOption(TileMinHeight, _topViewPanel.TileLozengeHeight, "Minimum height of the grid tiles in pixels", Grid, dh); QuadrantsPanel.Pens = _topViewPanel.TopPens = _topPens; QuadrantsPanel.Brushes = _topViewPanel.TopBrushes = _topBrushes; Invalidate(); }
public static void AddOptionChangedEventHandler(string record, OptionChangedEventHandler handler) { optionRecordService.AddOptionChangedEventHandler(record, handler); }