public void RemoveRow(TemtemDataRow row) { lock (saveLock) { //Remove UI element from UI trackerUI.RemoveRowFromTable(UIElements[row].Item1); //Close individual window UIElements[row].Item2.Close(); //Remove UI <-> data binding from hash map UIElements.Remove(row); //Remove row info from total dataTable.total.encountered -= row.encountered; dataTable.total.lumaChance = lumaCalculator.CalculateChance(dataTable.total.encountered, ""); dataTable.total.timeToLuma = lumaCalculator.GetTimeToLuma(dataTable.total.encountered, dataTable.timer.durationTime, ""); trackerUI.UpdateTotal(); //Remove data from dataTable dataTable.rows.Remove(row); //Recalculate encountered % foreach (KeyValuePair <TemtemDataRow, Tuple <TemtemTableRowUI, IndividualTrackerWindow> > entry in UIElements) { entry.Key.encounteredPercent = entry.Key.encountered / (double)dataTable.total.encountered; entry.Value.Item1.UpdateRow(); entry.Value.Item2.UpdateWindow(); } UpdateTemtemH(); SetLastChangeTime(); } }
public TemtemTableRowUI(TemtemDataRow row, TemtemTableController controller) { InitializeComponent(); this.row = row; this.controller = controller; UpdateRow(); this.Dock = DockStyle.Top; //Set delete button hover }
public IndividualTrackerWindow(TemtemDataRow temtemRow, SettingsController settingsController) { InitializeComponent(); this.temtemRow = temtemRow; UpdateWindow(); this.settingsController = settingsController; settingsController.StyleChanged += SetWindowStyle; settingsController.MainWindowOpacityChanged += OpacityChanged; settingsController.TimerPausedToggled += TimerToggled; SetWindowStyle(null, settingsController.GetWindowStyle()); OpacityChanged(null, settingsController.GetUserSettings().mainWindowOpacity); }
public void AddTemtem(string temtemName) { lock (saveLock) { TemtemDataRow targetRow = null; foreach (TemtemDataRow row in dataTable.rows) { if (string.Compare(row.name, temtemName) == 0) { targetRow = row; break; } } if (targetRow == null) { //We didn't find the row, set up a new one targetRow = new TemtemDataRow { name = temtemName, encountered = 0 }; dataTable.rows.Add(targetRow); UIElements[targetRow] = new Tuple <TemtemTableRowUI, IndividualTrackerWindow>(new TemtemTableRowUI(targetRow, this), new IndividualTrackerWindow(targetRow, settingsController, dataTable.timer.durationTime)); trackerUI.AddRowToTable(UIElements[targetRow].Item1); } //Calculate stuff dataTable.total.encountered++; dataTable.total.lumaChance = lumaCalculator.CalculateChance(dataTable.total.encountered, dataTable.total.name); dataTable.total.timeToLuma = lumaCalculator.GetTimeToLuma(dataTable.total.encountered, dataTable.timer.durationTime, dataTable.total.name); targetRow.encountered++; targetRow.lumaChance = lumaCalculator.CalculateChance(targetRow.encountered, targetRow.name); targetRow.timeToLuma = lumaCalculator.GetTimeToLuma(targetRow.encountered, dataTable.timer.durationTime, targetRow.name); targetRow.encounteredPercent = targetRow.encountered / (double)dataTable.total.encountered; UIElements[targetRow].Item1.UpdateRow(); UIElements[targetRow].Item2.UpdateWindow(); trackerUI.UpdateTotal(); //Recalculate encountered % foreach (KeyValuePair <TemtemDataRow, Tuple <TemtemTableRowUI, IndividualTrackerWindow> > entry in UIElements) { entry.Key.encounteredPercent = entry.Key.encountered / (double)dataTable.total.encountered; entry.Value.Item1.UpdateRow(); entry.Value.Item2.UpdateWindow(); } UpdateTemtemH(); SetLastChangeTime(); } }
public void ShowIndividualWindow(TemtemDataRow row) { UIElements[row].Item2.Show(); }
public void SetTotal(TemtemDataRow totalRow) { temtemTableTotalUI.SetTotal(totalRow); }
public void SetTotal(TemtemDataRow row) { this.row = row; UpdateRow(); }