private void AddBundleToList(string bundle) { checkboxes[bundle] = new ThemedCheckBox(); lines[bundle] = new Widget { Layout = new HBoxLayout { Spacing = 8 }, Nodes = { checkboxes[bundle], new ThemedSimpleText(bundle) { HitTestTarget = true, Clicked = () => { if (checkboxes[bundle].GloballyEnabled) { checkboxes[bundle].Toggle(); bundlePicker.SetBundleSelection(bundle, checkboxes[bundle].Checked); } } } } }; scrollView.Content.AddNode(lines[bundle]); checkboxes[bundle].Checked = true; checkboxes[bundle].Changed += args => bundlePicker.SetBundleSelection(bundle, checkboxes[bundle].Checked); }
public CheckBoxWithLabel(string text) { Layout = new HBoxLayout { Spacing = 8 }; AddNode(CheckBox = new ThemedCheckBox()); Label = new ThemedSimpleText(text) { HitTestTarget = true, Clicked = CheckBox.Toggle }; AddNode(Label); }
public BooleanPropertyEditor(IPropertyEditorParams editorParams) : base(editorParams) { var checkBox = new ThemedCheckBox { LayoutCell = new LayoutCell(Alignment.LeftCenter) }; EditorContainer.AddNode(checkBox); EditorContainer.AddNode(Spacer.HStretch()); checkBox.Changed += args => { if (args.ChangedByUser) { SetProperty(args.Value); } }; checkBox.AddChangeLateWatcher(CoalescedPropertyValue(), v => checkBox.State = v.IsDefined ? v.Value ? CheckBoxState.Checked : CheckBoxState.Unchecked : CheckBoxState.Indeterminate); }
private Widget CreateTriggerSelectionWidget(string trigger, string key) { var isChecked = selected.Contains(trigger); var checkBox = new ThemedCheckBox { Checked = isChecked }; if (isChecked) { groupSelection[key].Enqueue(trigger); } checkBoxes[key].Add(trigger, checkBox); var widget = new Widget { Layout = new HBoxLayout(), LayoutCell = new LayoutCell(Alignment.Center), Padding = new Thickness(left: 8, right: 8, top: 4, bottom: 4), Nodes = { new ThemedSimpleText { Text = trigger, LayoutCell = new LayoutCell(Alignment.Center), Anchors = Anchors.LeftRight, ForceUncutText = false }, Spacer.HSpacer(5), checkBox }, HitTestTarget = true }; widget.CompoundPresenter.Add(new SyncDelegatePresenter <Widget>(w => { if (w.IsMouseOverThisOrDescendant()) { w.PrepareRendererState(); Renderer.DrawRect(Vector2.Zero, w.Size, Theme.Colors.SelectedBackground); } })); widget.LateTasks.Add(Theme.MouseHoverInvalidationTask(widget)); widget.Clicked += checkBox.Toggle; checkBox.Changed += e => ToggleTriggerCheckbox(trigger, key); return(widget); }
public PluginCheckBoxWidget(OrangePluginPanel.PluginCheckBox pluginCheckBox) { Layout = new HBoxLayout { Spacing = 8 }; CheckBox = new ThemedCheckBox(); Checked = pluginCheckBox.Active; CheckBox.Changed += args => { pluginCheckBox.Active = Checked; pluginCheckBox.Toogle(); }; AddNode(CheckBox); Label = new ThemedSimpleText(pluginCheckBox.Label) { HitTestTarget = true, Clicked = CheckBox.Toggle }; AddNode(Label); }
public SaveRulerDialog(Ruler ruler) { ThemedButton cancelButton; ThemedButton okButton; CheckBox checkBox; EditBox editBox; window = new Window(new WindowOptions { Title = "Save Ruler", Visible = false, Style = WindowStyle.Dialog, }); WindowWidget rootWidget = new ThemedInvalidableWindowWidget(window) { LayoutBasedWindowSize = true, Padding = new Thickness(8), Layout = new VBoxLayout { Spacing = 16 }, Nodes = { new Widget { Layout = new TableLayout{ ColumnCount = 2, RowCount = 2, Spacing = 8, ColumnDefaults = { new DefaultLayoutCell(Alignment.RightCenter, 0.5f, 0), new DefaultLayoutCell(Alignment.LeftCenter, 1, 0) } }, Nodes = { new ThemedSimpleText("Ruler name"), (editBox = new ThemedEditBox{ MinWidth = 150 }), new ThemedSimpleText("Anchor to root"), (checkBox = new ThemedCheckBox()) } }, new Widget { Layout = new HBoxLayout{ Spacing = 8 }, LayoutCell = new LayoutCell(Alignment.RightCenter), Nodes = { (okButton = new ThemedButton("Ok")), (cancelButton = new ThemedButton("Cancel")), } } } }; cancelButton.Clicked += window.Close; okButton.AddChangeWatcher(() => editBox.Text, (text) => okButton.Enabled = !string.IsNullOrEmpty(text)); okButton.Clicked += () => { ruler.Name = editBox.Text; ruler.AnchorToRoot = checkBox.Checked; result = true; window.Close(); }; rootWidget.FocusScope = new KeyboardFocusScope(rootWidget); editBox.SetFocus(); }