public override void ViewDidLoad() { base.ViewDidLoad(); #region InputValueController lbl_inputController.StringValue = @"Min, Max and Number are binded to InputValueController fields. InputValueController can change " + @"increment field in NSSteper. Min, Max and Increment can be changed dinamicly, you can input " + @"what you want but those NSTextFields accept only integer"; InputController = new InputValueController(tf, (number) => _viewModel.MyProperty = number, () => _viewModel.MyProperty, 0, 200, stp); InputController.Number = _viewModel.MyProperty; #endregion #region Formatter lbl_formatter.StringValue = @"Min, Max and Increment NSTextFields accepts only integer. " + @"NSNumberFormatter created programaticly"; var numberFormatter = new NSNumberFormatter(); numberFormatter.NumberStyle = NSNumberFormatterStyle.None; tf_min.Formatter = numberFormatter; tf_max.Formatter = numberFormatter; tf_increment.Formatter = numberFormatter; #endregion #region Delegate lbl_delegate.StringValue = @"For this NSTextFiled was created my own delegate, " + @"change text or press Esc, Enter key and you will se how it work"; var dlg = new TextFieldDelegate(); dlg.PressedEscKey += (sender, e) => _alertWindow.ShowAlert("Alert", "In NSTextField you pressed Esc key", "OK"); dlg.PressedEnterKey += (sender, e) => _alertWindow.ShowAlert("Alert", "In NSTextField you pressed Enter key", "OK"); dlg.TextChanged += (sender, e) => { var textField = (NSTextField)sender; TfText = textField.StringValue; }; tf_delegate.Delegate = dlg; #endregion }
public override void ViewDidLoad() { base.ViewDidLoad(); #region CancelButton btn_cancel.Activated += (sender, e) => _alertWindow.ShowAlert("AlertWindow", "You clicled on CancelButton", "OK"); lbl_cancel.StringValue = "You can activate this button if you will press Esc key"; #endregion #region DefaultButton btn_default.Activated += (sender, e) => _alertWindow.ShowAlert("AlertWindow", "You clicled on DefaultButton", "OK"); lbl_default.StringValue = "You can activate this button if you will press Enter key"; #endregion #region LinkButton btn_link.SetLinkString("Go to google"); btn_link.Activated += (sender, e) => NSWorkspace.SharedWorkspace.OpenUrl(new NSUrl("https://www.google.com")); lbl_link.StringValue = "LinkButton look like a link, it also open link after click"; #endregion #region StateButton lbl_state.StringValue = "StateButton change image, title and tooltip after every click"; btn_state.SetStateTitles("Folder", "Smart folder"); btn_state.SetStateImages("NSFolder", "NSFolderSmart"); btn_state.SetStateTooltips("NSFolder image", "NSFolderSmart image"); btn_state.Activated += (sender, e) => btn_state.BtnState = !btn_state.BtnState; //pragramaticly activate button btn_state.PerformClick(this); #endregion }
private List <ITableRow> CreateDataForCellTable(string[] columnIdentifier, int countRows) { var list = new List <ITableRow>(); var typeCellEnum = Enum.GetValues(typeof(TypeCell)).Cast <int>().ToList(); var rand = new Random(); for (int i = 0; i < countRows; i++) { var tr = new TableRow(); tr.RowHeight = 25; var wasCellTypes = new List <int>(); foreach (var identifier in columnIdentifier) { int cellType = -1; while (true) { cellType = rand.Next(0, typeCellEnum.Count); if (!wasCellTypes.Contains(cellType)) { wasCellTypes.Add(cellType); break; } } ICell cell = null; switch (cellType) { case 0: //TextField var tf = new TextFieldCell(); tf.Text = nameof(TextFieldCell); cell = tf; break; case 1: //TextView var txtv = new TextViewCell(); txtv.Text = nameof(TextViewCell) + " change column size"; cell = txtv; break; case 2: //Button var btn = new ButtonCell(); btn.Text = nameof(ButtonCell); btn.Enabled = true; btn.Activated = () => { _alertWindow.ShowAlert( nameof(ButtonCell), "You activeted button", "OK"); }; cell = btn; break; case 3: //CheckBox var ckb = new CheckboxCell(); ckb.Text = nameof(CheckboxCell); ckb.AllowMixedState = true; ckb.Enabled = true; //also can use //ckb.StateChanged += (state) => {}; ckb.Activated = () => { var state = string.Empty; if (ckb.State == null) { state = "mixed"; } else { state = ckb.State.ToString(); } _alertWindow.ShowAlert( nameof(CheckboxCell), "You activeted checkbox. State: " + state, "OK"); }; cell = ckb; break; case 4: //PopUp var btnP = new PopUpButtonCell(); //popup.Text = nameof(PopUpButtonCell); btnP.Enabled = true; btnP.MenuTitles = new string[] { "Title1", "Title2", "Title3" }; //also can use //btnP.SelectItem += (index) => {}; btnP.Activated = () => { _alertWindow.ShowAlert( nameof(CheckboxCell), "You activeted checkbox. Selected title: " + btnP.MenuTitles[btnP.IndexOfSelectedItem], "OK"); }; cell = btnP; break; } tr.Cells.Add(identifier, cell); } list.Add(tr); } return(list); }
public ICell CreateCell(int cellType) { ICell cell = null; switch (cellType) { case 0: //TextField var tf = new TextFieldCell(); tf.Text = nameof(TextFieldCell); cell = tf; break; case 1: //TextView var txtv = new TextViewCell(); txtv.Text = nameof(TextViewCell) + " change column size"; cell = txtv; break; case 2: //Button var btn = new ButtonCell(); btn.Text = nameof(ButtonCell); btn.Enabled = true; btn.Activated = () => { _alertWindow.ShowAlert( nameof(ButtonCell), "You activeted button", "OK"); }; cell = btn; break; case 3: //CheckBox var ckb = new CheckboxCell(); ckb.Text = nameof(CheckboxCell); ckb.AllowMixedState = true; ckb.Enabled = true; //also can use //ckb.StateChanged += (state) => {}; ckb.Activated = () => { var state = string.Empty; if (ckb.State == null) { state = "mixed"; } else { state = ckb.State.ToString(); } _alertWindow.ShowAlert( nameof(CheckboxCell), "You activeted checkbox. State: " + state, "OK"); }; cell = ckb; break; case 4: //PopUp var btnP = new PopUpButtonCell(); //popup.Text = nameof(PopUpButtonCell); btnP.Enabled = true; btnP.MenuTitles = new string[] { "Title1", "Title2", "Title3" }; //also can use //btnP.SelectItem += (index) => {}; btnP.Activated = () => { _alertWindow.ShowAlert( nameof(CheckboxCell), "You activeted checkbox. Selected title: " + btnP.MenuTitles[btnP.IndexOfSelectedItem], "OK"); }; cell = btnP; break; } return(cell); }