public bool DragDataReceived(TreePath path, SelectionData data) { Console.WriteLine("DragDataReceived dstPath={0}", path); TreeModel srcModel; TreePath srcPath; if (Tree.GetRowDragData(data, out srcModel, out srcPath)) { Console.WriteLine("DragDataReceived srcPath={0}", srcPath); object row = NodeAtPath(srcPath); SourceList.RemoveAt(srcPath.Indices[0]); if (srcPath.Indices [0] < path.Indices [0]) { path.Prev(); } if (path.Indices [0] == SourceList.Count) { SourceList.Add(row); } else { SourceList.Insert(path.Indices [0], row); } return(true); } return(false); }
private async void Init() { var addins = await LoadAddins(); AllAddins = new SourceList <AddinVM>(); AllAddins.AddRange(addins.Select(s => new AddinVM(s))); var searchObs = this.WhenAnyValue(v => v.Search).Skip(1).Throttle(TimeSpan.FromMilliseconds(300)).Select(s => true); AllAddins.Connect() .Filter(filter) .AutoRefreshOnObservable(c => searchObs) .Bind(out var data) .Subscribe(); Addins = data; if (!fileData.Data.LastAddin.IsNullOrEmpty()) { Addin = AllAddins.Items.FirstOrDefault(a => a.Addin.AddinFile.EqualsIgnoreCase(fileData.Data.LastAddin)); if (Addin != null && !fileData.Data.LastCommand.IsNullOrEmpty()) { Command = Addin.Addin.Commands.FirstOrDefault( c => c.Command.GlobalName == fileData.Data.LastCommand); } } var canStart = this.WhenAnyValue(v => v.Command).Select(s => s != null); Start = CreateCommand( () => { HideMe(); var addin = Addin; var com = Command; fileData.Data.AddinFiles.Remove(addin.Addin.AddinFile); fileData.Data.AddinFiles.Insert(0, addin.Addin.AddinFile); fileData.Data.LastAddin = addin.Addin.AddinFile; fileData.Data.LastCommand = Command.Method.Name; OnClosing(); AllAddins.Remove(addin); AllAddins.Insert(0, addin); Addin = addin; Command = com; AddinManagerService.Invoke(com); }, canStart); RemoveAddin = this.CreateCommand <AddinVM>(a => { AllAddins.Remove(a); fileData.Data.AddinFiles.Remove(a.Addin.AddinFile); }); AddAddin = CreateCommand(AddAddinExec); if (!errors.IsNullOrEmpty()) { ShowMessage(errors, "Đã xảy ra lỗi khi gọi tệp xung đột"); } UpdateCommands = CreateCommand(UpdateCommandsExec); }
public Task <string> AddSearchTermAsync(string searchTerm, CancellationToken token = default) { return(Task.Run(() => { searchTerm.EnsureNotNullOrWhitespace(); if (_recentSearchTerms.Items.Count() > 4) { var lastTerm = _recentSearchTerms.Items.Last(); _recentSearchTerms.Remove(lastTerm); _cachingService.Remove(lastTerm, CacheRegions.SearchTerms); } if (!_recentSearchTerms.Items.Contains(searchTerm)) { _recentSearchTerms.Insert(0, searchTerm); } return searchTerm; }, token)); }
/// <summary> /// Inserts an item to the <see cref="AbstractTransformingList{TFrom, TTo}"/> /// at the specified index. /// </summary> /// <remarks> /// Reverse converts the <paramref name="item"/> to type /// <typeparamref name="TFrom"/> and insert the result data into the /// underlaying source list. /// </remarks> /// <param name="item"> /// The object to insert into the list.</param> /// <param name="index"> /// The zero-based index at which item should be inserted.</param> /// <exception cref="NotSupportedException"> /// When the underlaying source list is read-only or the /// <see cref="Reverse"/> method throws this exception.</exception> /// <exception cref="ArgumentOutOfRangeException"> /// index is not a valid index in the underlaying source list"/>. /// </exception> public override void Insert(int index, TTo item) { SourceList.Insert(index, Reverse(item)); }
public void Insert(int index, TTarget item) { SourceList.Insert(index, Deconvert(item)); }
private void HandleAdd(RedisConnectionInfo connectionInfo) { var connectionNode = CreateConnectionNode(connectionInfo); _nodes.Insert(_nodes.Count - 1, connectionNode); }
public override void onProjectsInsertAt(int pos, Project element) { base.onProjectsInsertAt(pos, element); _projectsRx.Insert(pos, element); }