private void UpdateGui() { if (!NSThread.IsMain) { InvokeOnMainThread(UpdateGui); return; } nint oldSelectedRow = GuiTableEmails.SelectedRow; if (oldSelectedRow < 0) { oldSelectedRow = 0; } EmailTableDelegate oldDelegate = GuiTableEmails.Delegate as EmailTableDelegate; if (oldDelegate != null) { oldDelegate.OnSelectionChanged -= SetEnableButtons; } EmailsTableDataSource dataSource = new EmailsTableDataSource(__Model); GuiTableEmails.DataSource = dataSource; EmailTableDelegate tableDelegate = new EmailTableDelegate(dataSource); GuiTableEmails.Delegate = tableDelegate; GuiLabelEmailsCount.StringValue = string.Format(LocalizedStrings.Instance.LocalizedString("Label_PrivateEmail_AmountOfEmailsTitle_PARAMETRIZED"), __Model.PrivateEmails.Count); //restore selection if (__Model.PrivateEmails.Count > 0 && oldSelectedRow >= 0) { if (oldSelectedRow < __Model.PrivateEmails.Count) { GuiTableEmails.SelectRow(oldSelectedRow, false); } else { GuiTableEmails.SelectRow(__Model.PrivateEmails.Count - 1, false); } } tableDelegate.OnSelectionChanged += SetEnableButtons; SetEnableButtons(); }
void ReleaseDesignerOutlets() { if (GuiBtnAdd != null) { GuiBtnAdd.Dispose(); GuiBtnAdd = null; } if (GuiBtnCopy != null) { GuiBtnCopy.Dispose(); GuiBtnCopy = null; } if (GuiBtnDelete != null) { GuiBtnDelete.Dispose(); GuiBtnDelete = null; } if (GuiBtnEdit != null) { GuiBtnEdit.Dispose(); GuiBtnEdit = null; } if (GuiBtnRefresh != null) { GuiBtnRefresh.Dispose(); GuiBtnRefresh = null; } if (GuiInfoLabel != null) { GuiInfoLabel.Dispose(); GuiInfoLabel = null; } if (GuiLabelEmailsCount != null) { GuiLabelEmailsCount.Dispose(); GuiLabelEmailsCount = null; } if (GuiProgressSpiner != null) { GuiProgressSpiner.Dispose(); GuiProgressSpiner = null; } if (GuiTableEmails != null) { GuiTableEmails.Dispose(); GuiTableEmails = null; } if (GuiTableScrollView != null) { GuiTableScrollView.Dispose(); GuiTableScrollView = null; } }