예제 #1
0
 public ContextFactory(IUnitTestProvider provider, IProjectModelElement project, string assemblyPath, ContextCache cache)
 {
     _provider     = provider;
     _cache        = cache;
     _project      = project;
     _assemblyPath = assemblyPath;
 }
 public ContextFactory(IUnitTestProvider provider, IProjectModelElement project, string assemblyPath, ContextCache cache)
 {
   _provider = provider;
   _cache = cache;
    _project = project;
   _assemblyPath = assemblyPath;
 }
        public IconId GetIcon(IProjectModelElement projectModelElement)
        {
            if (projectModelElement is IProjectFile projectFile && projectFile.LanguageType.Is <YamlProjectFileType>())
            {
                var location = projectFile.Location;
                if (location.IsAsset())
                {
                    return(UnityFileTypeThemedIcons.FileUnityAsset.Id);
                }
                if (location.IsScene())
                {
                    return(UnityFileTypeThemedIcons.FileUnity.Id);
                }
                if (location.IsPrefab())
                {
                    return(UnityFileTypeThemedIcons.FileUnityPrefab.Id);
                }
                if (location.IsMeta())
                {
                    return(UnityFileTypeThemedIcons.FileUnityMeta.Id);
                }
            }

            return(null);
        }
예제 #4
0
    protected Element(IUnitTestProvider provider,
                      UnitTestElement parent,
                      IProjectModelElement project,
                      string declaringTypeName,
                      bool isIgnored)
      : base(provider, parent)
    {
      if (project == null && !Shell.Instance.IsTestShell)
      {
        throw new ArgumentNullException("project");
      }

      if (declaringTypeName == null)
      {
        throw new ArgumentNullException("declaringTypeName");
      }

      if (project != null)
      {
        _projectEnvoy = new ProjectModelElementEnvoy(project);
      }

      _declaringTypeName = declaringTypeName;

      if (isIgnored)
      {
        SetExplicit("Ignored");
      }
    }
        public GotoWordController([NotNull] Lifetime lifetime,
                                  [NotNull] IShellLocks shellLocks,
                                  [NotNull] IProjectModelElement projectElement,
                                  [CanBeNull] ITextControl textControl,
                                  [NotNull] IDocumentMarkupManager markupManager)
            : base(lifetime, new GotoByNameModel(lifetime), shellLocks)
        {
            myShellLocks     = shellLocks;
            myTextControl    = textControl;
            myProjectElement = projectElement;
            mySelectedItem   = new Property <object>(lifetime, "SelectedItem");

            var projectFile = projectElement as IProjectFile;

            if (projectFile != null)
            {
                myCurrentFile = projectFile.ToSourceFile();

                if (textControl != null)
                {
                    myHighlighter = new LocalOccurrencesHighlighter(
                        lifetime, shellLocks, textControl, markupManager);
                    SelectedItem.Change.Advise(lifetime, AdviceSelectionItem);
                }
            }

            InitializeModel(lifetime, Model);
        }
예제 #6
0
        protected Element(IUnitTestProvider provider,
                          UnitTestElement parent,
                          IProjectModelElement project,
                          string declaringTypeName,
                          bool isIgnored)
            : base(provider, parent)
        {
            if (project == null && !Shell.Instance.IsTestShell)
            {
                throw new ArgumentNullException("project");
            }

            if (declaringTypeName == null)
            {
                throw new ArgumentNullException("declaringTypeName");
            }

            if (project != null)
            {
                _projectEnvoy = new ProjectModelElementEnvoy(project);
            }

            _declaringTypeName = declaringTypeName;

            if (isIgnored)
            {
                SetExplicit("Ignored");
            }
        }
 protected FieldElement(IUnitTestProvider provider,
                        UnitTestElement parent,
                        IProjectModelElement project,
                        string declaringTypeName,
                        string fieldName,
                        bool isIgnored)
   : base(provider, parent, project, declaringTypeName, isIgnored || parent.IsExplicit)
 {
   _fieldName = fieldName;
 }
 protected FieldElement(IUnitTestProvider provider,
                        UnitTestElement parent,
                        IProjectModelElement project,
                        string declaringTypeName,
                        string fieldName,
                        bool isIgnored)
   : base(provider, parent, project, declaringTypeName, isIgnored || parent.IsExplicit)
 {
   _fieldName = fieldName;
   AssignCategories(parent.GetCategories().Select(x => x.Name).ToList());
 }
예제 #9
0
 protected FieldElement(IUnitTestProvider provider,
                        UnitTestElement parent,
                        IProjectModelElement project,
                        string declaringTypeName,
                        string fieldName,
                        bool isIgnored)
     : base(provider, parent, project, declaringTypeName, isIgnored || parent.IsExplicit)
 {
     _fieldName = fieldName;
     AssignCategories(parent.GetCategories().Select(x => x.Name).ToList());
 }
 public BehaviorElement(IUnitTestProvider provider,
                        // ReSharper disable SuggestBaseTypeForParameter
                        ContextElement context,
                        // ReSharper restore SuggestBaseTypeForParameter
                        IProjectModelElement project,
                        string declaringTypeName,
                        string fieldName,
                        bool isIgnored)
   : base(provider, context, project, declaringTypeName, fieldName, isIgnored || context.IsExplicit)
 {
 }
 public BehaviorSpecificationElement(IUnitTestProvider provider,
                                     // ReSharper disable SuggestBaseTypeForParameter
                                     BehaviorElement behavior,
                                     // ReSharper restore SuggestBaseTypeForParameter
                                     IProjectModelElement project,
                                     string declaringTypeName,
                                     string fieldName,
                                     bool isIgnored)
     : base(provider, behavior, project, declaringTypeName, fieldName, isIgnored || behavior.IsExplicit)
 {
 }
예제 #12
0
 public ContextSpecificationElement(IUnitTestProvider provider,
                                    // ReSharper disable SuggestBaseTypeForParameter
                                    ContextElement context,
                                    // ReSharper restore SuggestBaseTypeForParameter
                                    IProjectModelElement project,
                                    string declaringTypeName,
                                    string fieldName,
                                    bool isIgnored)
     : base(provider, context, project, declaringTypeName, fieldName, isIgnored || context.IsExplicit)
 {
 }
 public BehaviorSpecificationElement(IUnitTestProvider provider,
                                     // ReSharper disable SuggestBaseTypeForParameter
                                     BehaviorElement behavior,
                                     // ReSharper restore SuggestBaseTypeForParameter
                                     IProjectModelElement project,
                                     string declaringTypeName,
                                     string fieldName,
                                     bool isIgnored)
   : base(provider, behavior, project, declaringTypeName, fieldName, isIgnored || behavior.IsExplicit)
 {
 }
        public GotoWordController(
            [NotNull] Lifetime lifetime, [NotNull] IShellLocks locks,
            [NotNull] IProjectModelElement projectElement, [CanBeNull] ITextControl textControl)
            : base(lifetime, new GotoByNameModel(lifetime), locks)
        {
            myLocks          = locks;
            myTextControl    = textControl;
            myProjectElement = projectElement;

            var projectFile = projectElement as IProjectFile;

            if (projectFile != null)
            {
                myCurrentFile = projectFile.ToSourceFile();
            }

            lifetime.AddAction(DropHighlightings);

            SelectedItem = new Property <object>(lifetime, "SelectedItem");
            SelectedItem.Change.Advise(lifetime, x =>
            {
                if (x.HasNew)
                {
                    var localOccurrence = x.New as LocalOccurrence;
                    if (localOccurrence != null)
                    {
                        if (textControl != null)
                        {
                            //var textControlPosRange = textControl.Scrolling.ViewportRange.Value;
                            //GC.KeepAlive(textControlPosRange);

                            myLocks.QueueReadLock("Aa", () =>
                            {
                                // todo: merge with highlighting updater?
                                var target = textControl.Coords.FromDocLineColumn(
                                    new DocumentCoords((Int32 <DocLine>)(Math.Max(localOccurrence.LineNumber - 2, 0)), (Int32 <DocColumn>) 0));
                                textControl.Scrolling.ScrollTo(target, TextControlScrollType.TopOfView);
                            });

                            if (myLocal != null)
                            {
                                UpdateLocalHighlightings(textControl.Document, myLocal);
                            }
                        }
                    }
                }
            });

            InitializeModel(lifetime, Model);
        }
    public ContextElement(IUnitTestProvider provider,
                          IProjectModelElement project,
                          string typeName,
                          string assemblyLocation,
                          ICollection<string> tags,
                          bool isIgnored)
      : base(provider, null, project, typeName, isIgnored)
    {
      _assemblyLocation = assemblyLocation;

      if (tags != null)
      {
        AssignCategories(tags);
      }
    }
예제 #16
0
        private IProjectFile GetProjectFile(IDataContext context)
        {
            IProjectModelElement element = context.GetData(ProjectModelDataConstants.PROJECT_MODEL_ELEMENT);
            IProjectFile         file    = element as IProjectFile;

            if (file == null)
            {
                return(null);
            }

            if (!file.LanguageType.Equals(CSharpProjectFileType.Instance))
            {
                return(null);
            }
            return(file);
        }
예제 #17
0
        public static string GetBaseFileName(IDataContext context, ISolution solution)
        {
            IProjectModelElement projectModelElement =
                context.GetData(ProjectModelDataConstants.PROJECT_MODEL_ELEMENT);

            if (!(projectModelElement is IProjectItem projectItem))
            {
                return(null);
            }

            VirtualFileSystemPath location = projectItem.Location;
            string fileName = location.NameWithoutExtension;

            fileName = fileName.RemoveTrailing(".partial");

            return(fileName);
        }
예제 #18
0
        public ContextElement(IUnitTestProvider provider,
                              IProjectModelElement project,
                              string typeName,
                              string assemblyLocation,
                              string subject,
                              ICollection <string> tags,
                              bool isIgnored)
            : base(provider, null, project, typeName, isIgnored)
        {
            _assemblyLocation = assemblyLocation;
            _subject          = subject;

            if (tags != null)
            {
                AssignCategories(tags);
            }
        }
예제 #19
0
        private LinkedList <KeyValueSettingLookupItem> CreateLookupItems(
            ISpecificCodeCompletionContext context,
            IEnumerable <KeyValueSetting> settings,
            IProjectModelElement project,
            IRangeMarker rangeMarker,
            LinkedList <KeyValueSettingLookupItem> lookupItems)
        {
            foreach (var setting in settings)
            {
                var iconId     = _presentationService.GetIcon(project);
                var lookupItem = new KeyValueSettingLookupItem(setting, iconId, rangeMarker);
                lookupItem.InitializeRanges(context.EvaluateRanges(), context.BasicContext);

                lookupItems.AddLast(lookupItem);
            }

            return(lookupItems);
        }
예제 #20
0
        public void ShowMenu(
            [NotNull] IProjectModelElement projectElement, [CanBeNull] ITextControl textControl,
            [CanBeNull] GotoByNameDataConstants.SearchTextData initialText)
        {
            var solution   = projectElement.GetSolution();
            var definition = Lifetimes.Define(solution.GetLifetime());

            var controller = new GotoWordController(
                definition.Lifetime, myShellLocks, projectElement, textControl);

            if (textControl != null)
            {
                // use selected text if there is no initial
                // todo: how to make this work with recent list?
                var selection = textControl.Selection.Ranges.Value;
                if (selection != null && selection.Count == 1)
                {
                    var docRange = selection[0].ToDocRangeNormalized();
                    if (docRange.Length > 0)
                    {
                        var selectedText = textControl.Document.GetText(docRange);
                        initialText = new GotoByNameDataConstants.SearchTextData(
                            selectedText, TextRange.FromLength(selectedText.Length));
                    }
                }
            }

            var menu = new GotoByNameMenu(
                myMenuComponent, definition, controller.Model,
                myUiApplication.MainWindow, initialText);

            var menuDoc = menu.MenuView.Value.Document.NotNull("menuDoc != null");

            menuDoc.SelectedItem.FlowInto(
                definition.Lifetime, controller.SelectedItem,
                FConverter: item => (item != null) ? item.Key : null);
        }
        private static IEnumerable <IProjectFile> GetSourceFilesToConvert(IProjectModelElement element)
        {
            switch (element)
            {
            case IProjectFile projectFile when CheckIsAspWebFormsFile(projectFile):
                yield return(projectFile);

                yield break;

            case IProjectFolder projectFolder:
                foreach (var file in GetSourceFilesToConvert(projectFolder.GetSubItems()))
                {
                    yield return(file);
                }
                break;

            case ISolution solution:
                foreach (var file in GetSourceFilesToConvert(solution.GetAllProjects()))
                {
                    yield return(file);
                }
                break;
            }
        }
 public ContextSpecificationFactory(IUnitTestProvider provider, IProjectModelElement project, ContextCache cache)
 {
     _provider = provider;
     _cache    = cache;
     _project  = project;
 }
예제 #23
0
 public BehaviorSpecificationFactory(IUnitTestProvider provider, IProjectModelElement project)
 {
     _provider = provider;
     _project  = project;
 }
 public BehaviorSpecificationFactory(IUnitTestProvider provider, IProjectModelElement project)
 {
   _provider = provider;
   _project = project;
 }
예제 #25
0
 public BehaviorFactory(IUnitTestProvider provider, IProjectModelElement project, ContextCache cache)
 {
     _provider = provider;
     _cache    = cache;
     _project  = project;
 }
 public bool IsSuitableProjectElement(IProjectModelElement element) => this._innerProvider.IsSuitableProjectElement(element);
 public ContextSpecificationFactory(IUnitTestProvider provider, IProjectModelElement project, ContextCache cache)
 {
   _provider = provider;
   _cache = cache;
   _project = project;
 }
 public BehaviorFactory(IUnitTestProvider provider, IProjectModelElement project, ContextCache cache)
 {
   _provider = provider;
   _cache = cache;
   _project = project;
 }
 public string GetPresentableLocation(IProjectModelElement projectModelElement) => null;