コード例 #1
0
        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";
        }
コード例 #2
0
ファイル: DrivesListView.cs プロジェクト: RockfFestival/Rock
        /// <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);
        }
コード例 #3
0
        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;
        }
コード例 #4
0
ファイル: FlickerFreeListBox.cs プロジェクト: vbfox/win32iam
        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);
        }
コード例 #5
0
		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;
		}
コード例 #6
0
        /// <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();
        }
コード例 #7
0
        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);
            }
        }
コード例 #8
0
 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);
 }
コード例 #9
0
        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());
        }
コード例 #10
0
ファイル: FDesktop.cs プロジェクト: allanmukhwana/naps2
 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;
             }
         }
     }
 }
コード例 #11
0
        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;
        }
コード例 #12
0
ファイル: RamWatch.cs プロジェクト: lenalia/BizHawk
        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();
            }
        }
コード例 #13
0
        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);
        }
コード例 #14
0
        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 };
        }
コード例 #15
0
        /// <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();
            }
        }
コード例 #16
0
ファイル: PageListView.cs プロジェクト: cube-soft/Cube.Note
        /* ----------------------------------------------------------------- */
        ///
        /// 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);
            }
        }
コード例 #17
0
ファイル: OzelNesneler.cs プロジェクト: umitdrr/VeriBankasi
 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);
             }
         }
     }
 }
コード例 #18
0
        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);
                }
            }
        }
コード例 #19
0
        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));
        }
コード例 #20
0
        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));
        }
コード例 #21
0
ファイル: FixedListView.cs プロジェクト: shellohunter/mir2
 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
     {
     }
 }
コード例 #22
0
		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;
			}
		}
コード例 #23
0
        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;
            }
        }
コード例 #24
0
        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);
        }
コード例 #25
0
 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));
         }
     }
 }
コード例 #26
0
ファイル: PacketListView.cs プロジェクト: oung/MapleShark2
        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();
                }
            };
        }
コード例 #27
0
        /// <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);
        }
コード例 #28
0
 /// <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);
 }
コード例 #29
0
        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);
            }
        }
コード例 #30
0
        /*
         * 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);
            }
        }