private void DoDisplayTypeClick(Common.DisplayType type) { if (_settings.Type != type) { if (!string.IsNullOrEmpty(SpecificValueBox.Text)) { SpecificValueBox.Text = "0"; } if (!string.IsNullOrEmpty(DifferenceBox.Text)) { DifferenceBox.Text = "0"; } if (!string.IsNullOrEmpty(DifferentByBox.Text)) { DifferentByBox.Text = "0"; } } SpecificValueBox.Type = _settings.Type = type; DifferenceBox.Type = type; DifferentByBox.Type = type; _searches.SetType(type); _dropdownDontfire = true; DisplayTypeDropdown.SelectedItem = Watch.DisplayTypeToString(type); _dropdownDontfire = false; WatchListView.Refresh(); }
private void MoveUpMenuItem_Click(object sender, EventArgs e) { var indexes = SelectedIndices.ToList(); if (!indexes.Any() || indexes[0] == 0) { return; } foreach (var index in indexes) { var watch = _watches[index]; _watches.RemoveAt(index); _watches.Insert(index - 1, watch); } Changes(); var indices = indexes.Select(t => t - 1).ToList(); WatchListView.SelectedIndices.Clear(); foreach (var t in indices) { WatchListView.SelectItem(t, true); } WatchListView.ItemCount = _watches.Count; }
private void MoveBottomMenuItem_Click(object sender, EventArgs e) { var indices = SelectedIndices.ToList(); if (indices.Count == 0) { return; } for (var i = 0; i < indices.Count; i++) { var watch = _watches[indices[i] - i]; _watches.RemoveAt(indices[i] - i); _watches.Insert(_watches.Count, watch); } var newInd = new List <int>(); for (int i = 0, x = _watches.Count - indices.Count; i < indices.Count; i++, x++) { newInd.Add(x); } WatchListView.SelectedIndices.Clear(); foreach (var t in newInd) { WatchListView.SelectItem(t, true); } Changes(); WatchListView.ItemCount = _watches.Count; }
private void MoveTopMenuItem_Click(object sender, EventArgs e) { var indexes = SelectedIndices.ToList(); if (!indexes.Any()) { return; } for (int i = 0; i < indexes.Count; i++) { var watch = _watches[indexes[i]]; _watches.RemoveAt(indexes[i]); _watches.Insert(i, watch); indexes[i] = i; } Changes(); WatchListView.SelectedIndices.Clear(); foreach (var t in indexes) { WatchListView.SelectItem(t, true); } WatchListView.ItemCount = _watches.Count; }
private void MoveDownMenuItem_Click(object sender, EventArgs e) { var indices = SelectedIndices.ToList(); if (indices.Count == 0 || indices.Last() == _watches.Count - 1) { return; } for (var i = indices.Count - 1; i >= 0; i--) { var watch = _watches[indices[i]]; _watches.RemoveAt(indices[i]); _watches.Insert(indices[i] + 1, watch); } var newindices = indices.Select(t => t + 1).ToList(); WatchListView.SelectedIndices.Clear(); foreach (var t in newindices) { WatchListView.SelectItem(t, true); } Changes(); WatchListView.ItemCount = _watches.Count; }
private void LoadColumnInfo() { WatchListView.Columns.Clear(); WatchListView.AddColumn(WatchList.ADDRESS, Global.Config.RamWatchShowAddressColumn, GetColumnWidth(WatchList.ADDRESS)); WatchListView.AddColumn(WatchList.VALUE, true, GetColumnWidth(WatchList.VALUE)); WatchListView.AddColumn(WatchList.PREV, Global.Config.RamWatchShowPrevColumn, GetColumnWidth(WatchList.PREV)); WatchListView.AddColumn(WatchList.CHANGES, Global.Config.RamWatchShowChangeColumn, GetColumnWidth(WatchList.CHANGES)); WatchListView.AddColumn(WatchList.DIFF, Global.Config.RamWatchShowDiffColumn, GetColumnWidth(WatchList.DIFF)); WatchListView.AddColumn(WatchList.DOMAIN, Global.Config.RamWatchShowDomainColumn, GetColumnWidth(WatchList.DOMAIN)); WatchListView.AddColumn(WatchList.NOTES, true, GetColumnWidth(WatchList.NOTES)); ColumnPositions(); }
private void RemoveAddresses() { var indices = SelectedIndices.ToList(); if (indices.Any()) { SetRemovedMessage(indices.Count); _searches.RemoveRange(indices); WatchListView.DeselectAll(); UpdateList(); ToggleSearchDependentToolBarItems(); } }
private void OrderColumn(RollColumn column) { if (column.Name != _sortedColumn) { _sortReverse = false; } _watches.OrderWatches(column.Name, _sortReverse); _sortedColumn = column.Name; _sortReverse ^= true; WatchListView.Refresh(); }
private void LoadColumnInfo() { WatchListView.Columns.Clear(); var columns = Settings.Columns .Where(c => c.Visible) .OrderBy(c => c.Index); foreach (var column in columns) { WatchListView.AddColumn(column); } }
private void WatchListView_ColumnClick(object sender, InputRoll.ColumnClickEventArgs e) { var column = e.Column; if (column.Name != _sortedColumn) { _sortReverse = false; } _searches.Sort(column.Name, _sortReverse); _sortedColumn = column.Name; _sortReverse ^= true; WatchListView.Refresh(); }
private void OrderColumn(int index) { var column = WatchListView.Columns[index]; if (column.Name != _sortedColumn) { _sortReverse = false; } _watches.OrderWatches(column.Name, _sortReverse); _sortedColumn = column.Name; _sortReverse ^= true; WatchListView.Refresh(); }
private void RamSearch_Load(object sender, EventArgs e) { // Hack for previous config settings if (Settings.Columns.Any(c => string.IsNullOrWhiteSpace(c.Text))) { Settings = new RamSearchSettings(); } RamSearchMenu.Items.Add(WatchListView.ToColumnsMenu(ColumnToggleCallback)); _settings = new SearchEngineSettings(MemoryDomains, Settings.UseUndoHistory); _searches = new RamSearchEngine(_settings, MemoryDomains); ErrorIconButton.Visible = false; _dropdownDontfire = true; LoadConfigSettings(); SpecificValueBox.ByteSize = _settings.Size; SpecificValueBox.Type = _settings.Type; DifferentByBox.Type = Common.DisplayType.Unsigned; DifferenceBox.Type = Common.DisplayType.Unsigned; MessageLabel.Text = ""; SpecificAddressBox.MaxLength = (MemoryDomains.MainMemory.Size - 1).NumHexDigits(); HardSetSizeDropDown(_settings.Size); PopulateTypeDropDown(); HardSetDisplayTypeDropDown(_settings.Type); DoDomainSizeCheck(); SetReboot(false); SpecificAddressBox.SetHexProperties(_settings.Domain.Size); SpecificValueBox.ResetText(); SpecificAddressBox.ResetText(); NumberOfChangesBox.ResetText(); DifferenceBox.ResetText(); DifferentByBox.ResetText(); _dropdownDontfire = false; if (_settings.IsFastMode()) { SetToFastMode(); } NewSearch(); }
public void UpdateValues() { if (_paused) { return; } if ((!IsHandleCreated || IsDisposed) && !Global.Config.DisplayRamWatch) { return; } if (_watches.Any()) { _watches.UpdateValues(); if (Global.Config.DisplayRamWatch) { for (var i = 0; i < _watches.Count; i++) { var frozen = !_watches[i].IsSeparator && Global.CheatList.IsActive(_watches[i].Domain, _watches[i].Address); GlobalWin.OSD.AddGUIText( _watches[i].ToDisplayString(), Global.Config.DispRamWatchx, Global.Config.DispRamWatchy + (i * 14), Color.Black, frozen ? Color.Cyan : Color.White, 0 ); } } if (!IsHandleCreated || IsDisposed) { return; } WatchListView.BlazingFast = true; WatchListView.UseCustomBackground = NeedsBackground; WatchListView.Invalidate(); WatchListView.BlazingFast = false; } }
private void RestoreDefaultsMenuItem_Click(object sender, EventArgs e) { Settings = new RamWatchSettings(); Size = new Size(_defaultWidth, _defaultHeight); RamWatchMenu.Items.Remove( RamWatchMenu.Items .OfType <ToolStripMenuItem>() .First(x => x.Name == "GeneratedColumnsSubMenu")); RamWatchMenu.Items.Add(WatchListView.ToColumnsMenu(ColumnToggleCallback)); Global.Config.DisplayRamWatch = false; RefreshFloatingWindowControl(Settings.FloatingWindow); WatchListView.AllColumns.Clear(); SetColumns(); }
private void NewRamWatch_Load(object sender, EventArgs e) { // Hack for previous config settings if (Settings.Columns.Any(c => string.IsNullOrWhiteSpace(c.Text))) { Settings = new RamWatchSettings(); } TopMost = Settings.TopMost; _watches = new WatchList(MemoryDomains, Emu.SystemId); LoadConfigSettings(); RamWatchMenu.Items.Add(WatchListView.ToColumnsMenu(ColumnToggleCallback)); UpdateStatusBar(); PokeAddressToolBarItem.Enabled = FreezeAddressToolBarItem.Enabled = SelectedIndices.Any() && SelectedWatches.All(w => w.Domain.CanPoke()); }
private void GoToSpecifiedAddress() { WatchListView.DeselectAll(); var prompt = new InputPrompt { Text = "Go to Address", StartLocation = this.ChildPointToScreen(WatchListView), Message = "Enter a hexadecimal value" }; var result = this.ShowDialogWithTempMute(prompt); while (result.IsOk()) { try { var addr = int.Parse(prompt.PromptText, NumberStyles.HexNumber); for (int index = 0; index < _searches.Count; index++) { if (_searches[index].Address == addr) { WatchListView.SelectRow(index, true); WatchListView.ScrollToIndex(index); return; // Don't re-show dialog on success } } // TODO add error text to dialog? // Re-show dialog if the address isn't found } catch (FormatException) { // Re-show dialog if given invalid text (shouldn't happen) } catch (OverflowException) { // TODO add error text to dialog? // Re-show dialog if the address isn't valid } } }
private void RestoreDefaultsMenuItem() { var recentFiles = Settings.RecentSearches; // We don't want to wipe recent files when restoring Settings = new RamSearchSettings { RecentSearches = recentFiles }; RamSearchMenu.Items.Remove( RamSearchMenu.Items .OfType<ToolStripMenuItem>() .Single(x => x.Name == "GeneratedColumnsSubMenu")); RamSearchMenu.Items.Add(WatchListView.ToColumnsMenu(ColumnToggleCallback)); _settings = new SearchEngineSettings(MemoryDomains, Settings.UseUndoHistory); if (_settings.IsFastMode()) { SetToFastMode(); } WatchListView.AllColumns.Clear(); SetColumns(); }
private void CopyValueToPrevMenuItem_Click(object sender, EventArgs e) { _searches.SetPreviousToCurrent(); WatchListView.Refresh(); }
private void NewRamWatch_Enter(object sender, EventArgs e) { WatchListView.Focus(); }
private void NewRamWatch_Activated(object sender, EventArgs e) { WatchListView.Refresh(); }
private void ClearChangeCountsMenuItem_Click(object sender, EventArgs e) { _searches.ClearChangeCounts(); WatchListView.Refresh(); }
private void SetColumns() { WatchListView.AllColumns.AddRange(Settings.Columns); WatchListView.Refresh(); }
private void ClearPreviewContextMenuItem_Click(object sender, EventArgs e) { _forcePreviewClear = true; WatchListView.Refresh(); }
private void DifferentByBox_TextChanged(object sender, EventArgs e) { _searches.DifferentBy = !string.IsNullOrWhiteSpace(DifferentByBox.Text) ? DifferentByBox.ToRawInt() : null; WatchListView.Refresh(); }
private void SetCompareValue(int? value) { _searches.CompareValue = value; WatchListView.Refresh(); }
private void SetCompareTo(Compare comp) { _searches.CompareTo = comp; WatchListView.Refresh(); }
private void WatchListView_Enter(object sender, EventArgs e) { WatchListView.Refresh(); }
private void SelectAllMenuItem_Click(object sender, EventArgs e) { WatchListView.SelectAll(); }
private void SetComparisonOperator(ComparisonOperator op) { _searches.Operator = op; WatchListView.Refresh(); }