public override NSView GetViewForItem( NSTableView tableView, NSTableColumn tableColumn, nint row) { // If you had a more complex object per row, you would use the column // to know which property of the object you should use. return(NSBuilder.CreateTableRow(tableView.Frame, mDataSource[(int)row])); }
NSView BuildComponents() { NSView result = new NSView(); NSTextField label = NSBuilder.CreateTextField( Localization.GetText(Localization.Name.TextInputLabel), NSTextAlignment.Right); mTextField = NSBuilder.CreateInputTextField(); mAddButton = NSBuilder.CreateRoundButton( Localization.GetText(Localization.Name.AddButton)); mRemoveButton = NSBuilder.CreateRoundButton( Localization.GetText(Localization.Name.RemoveButton)); NSScrollView scrollView = NSBuilder.CreateScrollView(false); mTableView = NSBuilder.CreateTableView(); mTableView.AddColumn(NSBuilder.CreateColumn( "Text", // TODO move constant elsewhere 250)); // TODO move constant elsewhere scrollView.DocumentView = mTableView; mProgressTextField = NSBuilder.CreateTextField(); mProgressTextField.Hidden = true; NSViewPacker.PackViews( result, new string[] { "H:|-[label(40)]-[textInput]-|", "H:[removeButton(80)]-[addButton(80)]-|", "H:|-[list]-|", "H:|-[progressText]-|", "V:|-[label]-[removeButton]-[list(200)]-[progressText]-|", "V:|-[textInput]-[removeButton]-[list(200)]-[progressText]-|", "V:|-[label]-[addButton]-[list(200)]-[progressText]-|" }, new NSDictionary( "label", label, "textInput", mTextField, "removeButton", mRemoveButton, "addButton", mAddButton, "list", scrollView, "progressText", mProgressTextField) ); mProgressControls = new ProgressControls( this, mProgressTextField, new NSView[] { mTextField, mAddButton, mRemoveButton, mTableView }); mAddButton.Activated += AddButton_Activated; mRemoveButton.Activated += RemoveButton_Activated; return(result); }