Exemple #1
0
        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);
        }
Exemple #3
0
        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));
 }
Exemple #5
0
 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);
 }