コード例 #1
0
        public AutocompleteViewModel(SuggestionsMaker sugMaker, IEnumerable <object> initItems = null)
        {
            Contract.Requires(sugMaker != null);

            this.sugMaker     = sugMaker;
            this.blankSetter  = new BlankSetter(sugMaker.FirstMatchingOrNewWord, OpenMeasureEditor, OpenIcdSelector);
            this.tagsWritable = new ObservableCollection <TagViewModel>();

            Suggestions = new ObservableCollection <SuggestionViewModel>();
            Tags        = new INCCReadOnlyObservableCollection <TagViewModel>(tagsWritable);
            Tags.CollectionChangedWrapper += (s, e) =>
            {
                if (inDispose)
                {
                    return;
                }

                // logger.DebugFormat("{0} '{1}' '{2}'", e.Action, e.OldStartingIndex, e.NewStartingIndex);

                // кроме добавления пустого тега
                if (!(e.Action == NotifyCollectionChangedAction.Add && ((TagViewModel)e.NewItems[0]).State == State.Init))
                {
                    OnEntitiesChanged();
                    OnPropertyChanged(() => IsEmpty);
                }
            };

            DropHandler         = new AutocompleteViewModel.DropTargetHandler(this);
            DragHandler         = new AutocompleteViewModel.DragSourceHandler(this);
            IsDropTargetEnabled = true;
            IsDragSourceEnabled = true;
        }
コード例 #2
0
        public MeasureAutocomplete(SuggestionsMaker sugMaker, IEnumerable <object> initItems = null)
            : base(sugMaker, initItems)
        {
            this.singleTag = true;
            this.convertTo = Enumerable.Empty <BlankType>();

            ReplaceTagsWith(initItems);
        }
コード例 #3
0
        public QueryBlockAutocomplete(SuggestionsMaker sugMaker, IEnumerable <BlankType> convertTo = null)
            : base(sugMaker)
        {
            this.allowConfidenceToggle    = true;
            this.measureEditorWithCompare = true;
            this.convertTo = convertTo ?? new[] { BlankType.Word, BlankType.Measure };

            ReplaceTagsWith(null);
        }
コード例 #4
0
        public HrEditorAutocomplete(SuggestionsMaker sugMaker, IEnumerable <object> initItems = null)
            : base(sugMaker, initItems)
        {
            this.allowSendToSearch     = true;
            this.allowConfidenceToggle = true;
            this.convertTo             = new[] { BlankType.Word, BlankType.Comment, BlankType.Icd, BlankType.Measure };

            ReplaceTagsWith(initItems);
        }