protected IDisposable CreateButton(IPropertyManagerPageGroup @group, string tip, string caption, Action onClick, Func <IPropertyManagerPageButton, IDisposable> config = null) { var id = NextId(); var box = PropertyManagerGroupExtensions.CreateButton(@group, id, caption, tip); var d0 = ButtonPressedObservable(id).Subscribe(_ => onClick()); return(ControlHolder.Create(@group, box, d0, config?.Invoke(box) ?? Disposable.Empty)); }
protected IDisposable CreateButton(IPropertyManagerPageGroup @group, string tip, string caption, Action onClick) { var id = NextId(); var box = PropertyManagerGroupExtensions.CreateButton(@group, id, caption, tip); var d0 = ButtonPressedObservable(id).Subscribe(_ => onClick()); return(ControlHolder.Create(@group, box, d0)); }
protected IDisposable CreateTextBox(IPropertyManagerPageGroup @group, string caption, string tip, Func <string> get, Action <string> set) { var id = NextId(); var text = PropertyManagerGroupExtensions.CreateTextBox(@group, id, caption, tip); text.Text = get(); var d = TextBoxChangedObservable(id).Subscribe(set); return(ControlHolder.Create(@group, text, d)); }
protected IDisposable CreateListBox(IPropertyManagerPageGroup @group, string caption, string tip, Func <int> get, Action <int> set, Action <IPropertyManagerPageListbox> config) { var id = NextId(); var list = PropertyManagerGroupExtensions.CreateListBox(@group, id, caption, tip); config(list); list.CurrentSelection = (short)get(); var d = ListBoxSelectionObservable(id).Subscribe(set); return(ControlHolder.Create(@group, list, d)); }