void checkButtonExtended_Clicked(object sender, EventArgs e) { try { CheckButtonExtended checkButtonExtended = (CheckButtonExtended)sender; if (checkButtonExtended.Active) { //Add checkButton to items _items.Add(checkButtonExtended.Index, checkButtonExtended); } else { //Remove checkButton to items if (_items.ContainsKey(checkButtonExtended.Index)) { _items.Remove(checkButtonExtended.Index); } } //Always Sort Dictionary after change SortDictionaryByKey(); //Debug Items if (_debug) { _log.Debug(Environment.NewLine); foreach (var item in _items) { _log.Debug(string.Format("item[{0}]: [{1}]", item.Key, item.Value.Label)); } } //If Assigned Redirect to Caller if (Clicked != null) { Clicked(sender, e); } } catch (Exception ex) { _log.Error(ex.Message, ex); } }
public CheckButtonBoxGroup(string pLabelText, Dictionary <string, bool> pButtonGroup) : base(pLabelText) { VBox vbox = new VBox() { BorderWidth = 5 }; EventBox eventBox = new EventBox() { BorderWidth = 2 }; int key = -1; foreach (var item in pButtonGroup) { key++; //CheckButtonExtended CheckButtonExtended checkButtonExtended = new CheckButtonExtended(item.Key) { Active = item.Value, Index = key }; checkButtonExtended.Child.ModifyFont(_fontDescription); checkButtonExtended.Clicked += checkButtonExtended_Clicked; //Pack in local Vbox vbox.PackStart(checkButtonExtended); //Add to value List _buttons.Add(checkButtonExtended); //Add checkButton to items if (item.Value) { _items.Add(key, checkButtonExtended); } } //Put in White EventBox eventBox.Add(vbox); //Pack in Base VBox Vbox.PackStart(eventBox); }