/// <summary> /// Adds a new option. /// </summary> /// <param name="text">Option text.</param> /// <param name="optionName">Internal name.</param> /// <returns>Newly created control.</returns> public virtual LabeledRadioButton AddOption(String text, String optionName) { LabeledRadioButton lrb = new LabeledRadioButton(this); lrb.Name = optionName; lrb.Text = text; lrb.RadioButton.Checked += OnRadioClicked; lrb.Dock = Pos.Top; lrb.Margin = new Margin(0, 0, 0, 1); // 1 bottom lrb.KeyboardInputEnabled = false; // todo: true? lrb.IsTabable = true; Invalidate(); return(lrb); }
/// <summary> /// Handler for the option change. /// </summary> /// <param name="fromPanel">Event source.</param> protected virtual void OnRadioClicked(Control fromPanel) { RadioButton @checked = fromPanel as RadioButton; foreach (LabeledRadioButton rb in Children.OfType <LabeledRadioButton>()) // todo: optimize { if (rb.RadioButton == @checked) { m_Selected = rb; } else { rb.RadioButton.IsChecked = false; } } OnChanged(); }
/// <summary> /// Adds a new option. /// </summary> /// <param name="text">Option text.</param> /// <param name="optionName">Internal name.</param> /// <returns>Newly created control.</returns> public virtual LabeledRadioButton AddOption(String text, String optionName) { LabeledRadioButton lrb = new LabeledRadioButton(this); lrb.Name = optionName; lrb.Text = text; lrb.RadioButton.Checked += OnRadioClicked; lrb.Dock = Pos.Top; lrb.Margin = new Margin(0, 0, 0, 1); // 1 bottom lrb.KeyboardInputEnabled = false; // todo: true? lrb.IsTabable = true; Invalidate(); return lrb; }
public void TestLabeledRadioButton() { var control = new LabeledRadioButton(canvas); control.Text = "LabeledRadioButton"; GUI.Test(control, "LabeledRadioButton1"); }
/// <summary> /// Handler for the option change. /// </summary> /// <param name="fromPanel">Event source.</param> protected virtual void OnRadioClicked(Control fromPanel) { RadioButton @checked = fromPanel as RadioButton; foreach (LabeledRadioButton rb in Children.OfType<LabeledRadioButton>()) // todo: optimize { if (rb.RadioButton == @checked) m_Selected = rb; else rb.RadioButton.IsChecked = false; } OnChanged(); }