private void WatchesSubMenu_DropDownOpened(object sender, EventArgs e) { EditWatchMenuItem.Enabled = DuplicateWatchMenuItem.Enabled = RemoveWatchMenuItem.Enabled = MoveUpMenuItem.Enabled = MoveDownMenuItem.Enabled = MoveTopMenuItem.Enabled = MoveBottomMenuItem.Enabled = SelectedIndices.Any(); PokeAddressMenuItem.Enabled = FreezeAddressMenuItem.Enabled = SelectedIndices.Any() && SelectedWatches.All(w => w.Domain.CanPoke()); PauseMenuItem.Text = _paused ? "Unpause" : "Pause"; }
/// <summary> /// Open DrivesListView. /// </summary> public void Open() { if (!DrivesLoaded) { Load(); } DrivesModalKey = ModalHelper.Open(this, null, new Color(0, 0, 0, 0f), Close); DrivesParent = transform.parent; var canvas = Utilites.FindTopmostCanvas(transform); transform.SetParent(canvas); SelectedIndices.ForEach(Deselect); gameObject.SetActive(true); }
private void deleteToolStripMenuItem_Click(object sender, EventArgs e) { if (SelectedIndices == null || SelectedIndices.Count <= 0) { return; } int s = SelectedIndices[0]; List <SearchListViewItem> items = new List <SearchListViewItem>(); foreach (int x in SelectedIndices) { items.Add(GetItemAtIndex(x)); } foreach (SearchListViewItem item in items) { RemoveItem(item); } vertSBar.Maximum = a.Count - MaxItemsPerPage; if (vertSBar.Maximum <= 0) { vertSBar.Maximum = 0; isVertSBarVisible = false; } else if (vertSBar.Value >= vertSBar.Maximum) { vertSBar.Value = vertSBar.Maximum - 1; } parentControl.SetProgBarText("Results: " + a.Count.ToString("N0")); SelectedIndices.Clear(); if (s >= TotalCount) { s = TotalCount - 1; } SelectedIndices.Add(s); //vertSBar.Value = s; }
protected override void OnPaint(PaintEventArgs e) { var iRegion = new Region(e.ClipRectangle); e.Graphics.FillRegion(new SolidBrush(BackColor), iRegion); if (Items.Count > 0) { for (var i = 0; i < Items.Count; ++i) { Rectangle irect = GetItemRectangle(i); if (e.ClipRectangle.IntersectsWith(irect)) { if ((SelectionMode == SelectionMode.One && SelectedIndex == i) || (SelectionMode == SelectionMode.MultiSimple && SelectedIndices.Contains(i)) || (SelectionMode == SelectionMode.MultiExtended && SelectedIndices.Contains(i))) { OnDrawItem(new DrawItemEventArgs( e.Graphics, Font, irect, i, DrawItemState.Selected, ForeColor, BackColor)); } else { OnDrawItem(new DrawItemEventArgs( e.Graphics, Font, irect, i, DrawItemState.Default, ForeColor, BackColor)); } iRegion.Complement(irect); } } } base.OnPaint(e); }
private void SearchSubMenu_DropDownOpened(object sender, EventArgs e) { ClearChangeCountsMenuItem.Enabled = _settings.IsDetailed(); RemoveMenuItem.Enabled = AddToRamWatchMenuItem.Enabled = SelectedIndices.Any(); PokeAddressMenuItem.Enabled = FreezeAddressMenuItem.Enabled = SelectedIndices.Any() && SelectedWatches.All(w => w.Domain.Writable); UndoMenuItem.Enabled = ClearUndoMenuItem.Enabled = _searches.CanUndo; RedoMenuItem.Enabled = _searches.CanRedo; }
/// <summary> /// Updates the items. /// </summary> /// <param name="newItems">New items.</param> void UpdateItems(List <GameObject> newItems) { RemoveCallbacks(); newItems = SortItems(newItems); var new_selected_indices = SelectedIndices .Select(x => objects.Count > x ? newItems.IndexOf(objects[x]) : -1) .Where(x => x != -1).ToList(); SelectedIndices.Except(new_selected_indices).ForEach(Deselect); objects = newItems; base.Items = newItems.Convert <GameObject, ListViewItem>(Utilites.GetOrAddComponent <ListViewItem>); SelectedIndices = new_selected_indices; AddCallbacks(); }
public void SelectItemByData(object record) { try { int idx = fListMan.IndexOfRecord(record); if (idx >= 0) { ListViewItem item = Items[idx]; SelectedIndices.Clear(); item.Selected = true; // platform: in Mono it doesn't work //item.EnsureVisible(); EnsureVisible(idx); } } catch (Exception ex) { Logger.LogWrite("GKListView.SelectItemByData(): " + ex.Message); } }
protected override void OnPaint(PaintEventArgs e) { for (int i = 0; i < Items.Count; ++i) { Rectangle r = GetItemRectangle(i); if (e.ClipRectangle.IntersectsWith(r)) { if (SelectedIndices.Contains(i)) { OnDrawItem(new DrawItemEventArgs(e.Graphics, Font, r, i, DrawItemState.Selected, ForeColor, BackColor)); } else { OnDrawItem(new DrawItemEventArgs(e.Graphics, Font, r, i, DrawItemState.Default, ForeColor, BackColor)); } } } base.OnPaint(e); }
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 Delete() { if (SelectedIndices.Any()) { if (MessageBox.Show(string.Format(MiscResources.ConfirmDeleteItems, SelectedIndices.Count()), MiscResources.Delete, MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { imageList.Delete(SelectedIndices); UpdateThumbnails(); if (imageList.Images.Any()) { changeTracker.HasUnsavedChanges = true; } else { changeTracker.HasUnsavedChanges = false; } } } }
internal void SelectItems(int highItem) { if (HighestItemSelected <= highItem) { for (int i = HighestItemSelected; i <= highItem; ++i) { SelectedIndices.Add(i); } } else { for (int i = HighestItemSelected; i > highItem; --i) { SelectedIndices.Remove(i); } } HighestItemSelected = highItem; }
private void EditWatch(bool duplicate = false) { var indexes = SelectedIndices.ToList(); if (SelectedWatches.Any()) { foreach (var sw in SelectedWatches) { if (sw.Domain != SelectedWatches.First().Domain) { throw new InvalidOperationException("Can't edit multiple watches on varying memorydomains"); } } var we = new WatchEditor { InitialLocation = this.ChildPointToScreen(WatchListView), MemoryDomains = _memoryDomains }; we.SetWatch(SelectedWatches.First().Domain, SelectedWatches, duplicate ? WatchEditor.Mode.Duplicate : WatchEditor.Mode.Edit); var result = we.ShowHawkDialog(this); if (result == DialogResult.OK) { Changes(); if (duplicate) { _watches.AddRange(we.Watches); WatchListView.ItemCount = _watches.Count; } else { for (var i = 0; i < we.Watches.Count; i++) { _watches[indexes[i]] = we.Watches[i]; } } } UpdateValues(); } }
protected override void WndProc(ref Message msg) { if (msg.Msg >= 0x204 && msg.Msg <= 0x206) { Point pointMousePos = new Point(msg.LParam.ToInt32() & 0xffff, msg.LParam.ToInt32() >> 16); ListViewHitTestInfo lvhti = HitTest(pointMousePos); if (lvhti.Item == null) { SelectedIndices.Clear(); } else if (SelectedIndices.Count == 0 && lvhti.Item != null) { lvhti.Item.Selected = true; lvhti.Item.Focused = true; } } base.WndProc(ref msg); }
public void Select(int index, bool add = false) { if (add) { if (!SelectedIndices.Contains(index)) { var l = SelectedIndices.ToList(); l.Add(index); SelectedIndices = l.ToArray(); } return; } if (index == -1) { Deselect(); } SelectedIndices = new[] { index }; }
/// <summary> /// Sorts the items of the list view. /// </summary> /// <remarks> /// The Sort method sorts the current sort column using the current sort order for that /// column, and the current sort comparer for that column. /// </remarks> public void Sort() { Debug.Assert(View == View.Details); // If Sorting == SortOrder.None, then ShowSortArrow will remove the sort arrow. //ShowSortArrow(); if (ListViewItemSorter.Sorting != SortOrder.None) { // Need to sort the column. // Copy all the items in the ListView control to an array. ListViewItem[] arrayItems = new ListViewItem[Items.Count]; Items.CopyTo(arrayItems, 0); // Sort the copied items. Array.Sort(arrayItems, 0, arrayItems.Length, ListViewItemSorter); // Replace the existing items in the ListView control with the sorted items. BeginUpdate(); // Before clearing the existing items in the control, save which ones are selected. int[] arraySelectedIndices = new int[SelectedIndices.Count]; SelectedIndices.CopyTo(arraySelectedIndices, 0); Items.Clear(); foreach (ListViewItem lvItem in arrayItems) { Items.Add(lvItem); } // Restore selection of items. foreach (int selectedIndex in arraySelectedIndices) { Items[selectedIndex].Selected = true; } EndUpdate(); } }
/* ----------------------------------------------------------------- */ /// /// OnDrawItem /// /// <summary> /// 項目を描画する際に実行されます。 /// </summary> /// /* ----------------------------------------------------------------- */ protected override void OnDrawItem(DrawListViewItemEventArgs e) { // base.OnDrawItem(e); e.DrawDefault = false; DrawBackground(e.Item, e.Graphics, e.Bounds); DrawText(e.Item, e.Graphics, e.Bounds); if (!SelectedIndices.Contains(e.ItemIndex)) { return; } if (ShowRemoveButton) { DrawRemoveButton(e.Graphics, e.Bounds); } if (ShowPropertyButton) { DrawPropertyButton(e.Graphics, e.Bounds); } }
protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); for (int i = 0; i < Items.Count; i++) { Rectangle itemRect = GetItemRectangle(i); if (e.ClipRectangle.IntersectsWith(itemRect)) { if (SelectedIndices.Contains(i)) { DrawItemEventArgs diea = new DrawItemEventArgs(e.Graphics, this.Font, itemRect, i, DrawItemState.Selected); OnDrawItem(diea); } else { DrawItemEventArgs diea = new DrawItemEventArgs(e.Graphics, this.Font, itemRect, i, DrawItemState.None); OnDrawItem(diea); } } } }
public void newItem_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { ListViewItemViewModel item = ((ListViewItemViewModel)sender); if (item.Selected || item.Focused) { int index = Items.IndexOf(item); if (index > -1) { SelectedIndices.Add(index); } } if (item.Checked) { int index = Items.IndexOf(item); if (index > -1) { CheckedIndices.Add(index); } } }
protected override void OnMouseDoubleClick(MouseEventArgs e) { base.OnMouseDoubleClick(e); ListViewHitTestInfo ht = HitTest(e.Location); FileSystemListViewItem li = ht.Item as FileSystemListViewItem; if (ht.Location == ListViewHitTestLocations.None || li == null) { return; } if (!li.Selected) { SelectedIndices.Clear(); li.Selected = true; } Context.GetService <IAnkhCommandService>().PostExecCommand(new CommandID(VSConstants.GUID_VSStandardCommandSet97, (int)VSConstants.VSStd97CmdID.Open)); }
public new void SetSelected(int index, bool value) { int num = (this.Items == null) ? 0 : this.Items.Count; if ((index < 0) || (index >= num)) { throw new ArgumentOutOfRangeException("index"); } if (this.SelectionMode == SelectionMode.None) { throw new InvalidOperationException("ListBoxInvalidSelectionMode"); } if (!disabledIndices.Contains(index)) { if (!value) { if (SelectedIndices.Contains(index)) { SelectedIndices.Remove(index); } } else { base.SetSelected(index, value); } } // Selected index deoes not change, however we should redraw the disabled item. else { if (!value) { // Remove selected item if it is in the list of selected indices. if (SelectedIndices.Contains(index)) { SelectedIndices.Remove(index); } } } Invalidate(GetItemRectangle(index)); }
protected override void OnVirtualItemsSelectionRangeChanged( ListViewVirtualItemsSelectionRangeChangedEventArgs e) { try { int start = _lastItemIndexClicked1; int end = _lastItemIndexClicked2; if (end < start) { int temp = start; start = end; end = temp; } if ((start >= 0) && (end >= 0)) { ArrayList toRemove = new ArrayList(); foreach (int index in SelectedIndices) { if ((index < start) || (index > end)) { toRemove.Add(index); } } if (toRemove.Count > 0) { foreach (int index in toRemove) { SelectedIndices.Remove(index); } } } ListViewVirtualItemsSelectionRangeChangedEventArgs te = new ListViewVirtualItemsSelectionRangeChangedEventArgs(start, end, e.IsSelected); base.OnVirtualItemsSelectionRangeChanged(te); } catch { } }
private void ListViewContextMenu_Opening(object sender, CancelEventArgs e) { DoSearchContextMenuItem.Enabled = _searches.Count > 0; RemoveContextMenuItem.Visible = AddToRamWatchContextMenuItem.Visible = FreezeContextMenuItem.Visible = ContextMenuSeparator2.Visible = ViewInHexEditorContextMenuItem.Visible = SelectedIndices.Any(); PokeContextMenuItem.Enabled = FreezeContextMenuItem.Visible = SelectedIndices.Any() && SelectedWatches.All(w => w.Domain.Writable); UnfreezeAllContextMenuItem.Visible = MainForm.CheatList.ActiveCount > 0; ContextMenuSeparator3.Visible = SelectedIndices.Any() || (MainForm.CheatList.ActiveCount > 0); var allCheats = true; foreach (var index in SelectedIndices) { if (!MainForm.CheatList.IsActive(_settings.Domain, _searches[index].Address)) { allCheats = false; } } if (allCheats) { FreezeContextMenuItem.Text = "&Unfreeze Address"; FreezeContextMenuItem.Image = Resources.Unfreeze; } else { FreezeContextMenuItem.Text = "&Freeze Address"; FreezeContextMenuItem.Image = Resources.Freeze; } }
private void OnSelectedIndicesChanged(DependencyPropertyChangedEventArgs e) { if (_isChanging) { return; } try { _isChanging = true; if (SelectedIndices == null) { AssociatedListView.SelectedItems.Clear(); return; } var items = AssociatedListView.Items; foreach (var item in AssociatedListView.SelectedItems) { if (!SelectedIndices.Contains(items.IndexOf(item))) { AssociatedListView.SelectedItems.Remove(item); } } foreach (var index in SelectedIndices) { if (!AssociatedListView.SelectedItems.Contains(items[index])) { AssociatedListView.SelectedItems.Add(items[index]); } } } finally { _isChanging = false; } }
public UInt32 SetSelectedMatchId(UInt32 matchId) { SelectedItems.Clear(); SelectedIndices.Clear(); if (Items.Count == 0) { return(0); } ListViewItem selLVItem = FindItem(matchId); if (selLVItem == null) { selLVItem = Items[0]; } selLVItem.Selected = true; EnsureSelectionVisible(); return((selLVItem.Tag as CloudTaskItem).Id); }
protected override void OnPaint(swf.PaintEventArgs e) { using (var backBrush = new sd.SolidBrush(BackColor)) { e.Graphics.FillRectangle(backBrush, e.ClipRectangle); } for (int i = 0; i < Items.Count; ++i) { var itemRect = GetItemRectangle(i); if (e.ClipRectangle.IntersectsWith(itemRect)) { var state = swf.DrawItemState.Default; if ((SelectionMode == swf.SelectionMode.One && SelectedIndex == i) || (SelectionMode == swf.SelectionMode.MultiSimple && SelectedIndices.Contains(i)) || (SelectionMode == swf.SelectionMode.MultiExtended && SelectedIndices.Contains(i))) { state = swf.DrawItemState.Selected; } OnDrawItem(new swf.DrawItemEventArgs(e.Graphics, Font, itemRect, i, state, ForeColor, BackColor)); } } }
public PacketListView() { DoubleBuffered = true; mFilteredPackets = new List <MaplePacket>(); VirtualMode = true; OwnerDraw = true; RetrieveVirtualItem += this.mPacketList_RetrieveVirtualItem; CacheVirtualItems += this.mPacketList_CacheVirtualItem; SearchForVirtualItem += this.mPacketList_SearchForVirtualItem; DrawColumnHeader += this.mPacketList_DrawColumnHeader; DrawItem += this.mPacketList_DrawItem; DrawSubItem += this.mPacketList_DrawSubItem; // Clear the selected item, this allows auto-scroll to resume KeyDown += (sender, e) => { if (e.KeyCode == Keys.Escape) { SelectedIndices.Clear(); } }; }
/// <summary> /// ドラッグ開始時の処理 /// </summary> protected override void OnItemDrag(ItemDragEventArgs e) { base.OnItemDrag(e); // ドラッグアンドドロップによる項目入れ替えが許可されていなければ何もしない if (!AllowItemReorder) { return; } // 選択項目がなければ何もしない if (SelectedItems.Count == 0) { return; } // 項目のインデックスを保存する DragIndices.AddRange(SelectedIndices.Cast <int>()); // ドラッグアンドドロップを開始する DoDragDrop(this, DragDropEffects.Move); }
/// <summary> /// Search a subset of the list view's items', by index range /// </summary> /// <param name="regularExpression">The regular expression to use to match text</param> /// <param name="start">The list index to start searching from</param> /// <param name="end">The list index after the one to stop searching at</param> /// <returns>'True' if the search was successful</returns> protected bool SubSearch(Regex regularExpression, int start, int end) { for (int idx = start; idx < end; idx++) { if (this.nodeSearcher(Items[idx], regularExpression)) { // We need to show search results even when the FindDialog is active // This means turning off HideSelection if it is set. // This unfortunately causes a slight flicker. One way to avoid this is to turn off HideSelection // in individual control instances. if (HideSelection) { this.findDialog1.Deactivate += new EventHandler(this.RestoreHideSelection); HideSelection = false; } SelectedIndices.Clear(); Items[idx].Selected = true; EnsureVisible(idx); return(true); //found a match } } return(false); }
protected override void OnSelectedIndexChanged(EventArgs e) { int currentSelectedIndex = SelectedIndex; List <int> selectedDisabledIndices = new List <int>(); for (int i = 0; i < SelectedIndices.Count; i++) { if (disabledIndices.Contains(SelectedIndices[i])) { selectedDisabledIndices.Add(SelectedIndices[i]); SelectedIndices.Remove(SelectedIndices[i]); } } foreach (int index in selectedDisabledIndices) { IndexEventArgs args = new IndexEventArgs(index); OnDisabledItemSelected(this, args); } if (currentSelectedIndex == SelectedIndex) { base.OnSelectedIndexChanged(e); } }
/* * public ObjectCollection Items * { * get{return _dataSource.dataArray;} * set{_dataSource.dataArray = value;} * } */ public void SetSelected(int index, bool value) { if (index < 0 || index >= Items.Count) { throw new ArgumentOutOfRangeException("Index of out range"); } if (SelectionMode == SelectionMode.None) { throw new InvalidOperationException(); } if (value) { SelectedIndices.Add(index); tableView.SelectRows(new NSIndexSet((uint)index), true); } else { SelectedIndices.Remove(index); tableView.DeselectRow(index); } }