コード例 #1
0
        protected override Task OnActivatedAsync(IProject oldProject, IProject newProject)
        {
            if (_csvTextEditorInstance != null)
            {
                _csvTextEditorInstance.TextChanged -= CsvTextEditorInstanceOnTextChanged;
            }

            if (newProject == null)
            {
                return(TaskHelper.Completed);
            }

            if (_csvTextEditorInstance == null && _serviceLocator.IsTypeRegistered <ICsvTextEditorInstance>(newProject))
            {
                _csvTextEditorInstance = _serviceLocator.ResolveType <ICsvTextEditorInstance>(newProject);
            }

            if (_csvTextEditorInstance != null)
            {
                _csvTextEditorInstance.TextChanged += CsvTextEditorInstanceOnTextChanged;
            }

            _dispatcherService.Invoke(RefreshAutoComplete, true);

            return(base.OnActivatedAsync(oldProject, newProject));
        }
コード例 #2
0
        public virtual void Initialize(TextEditor textEditor, ICsvTextEditorInstance csvTextEditorInstance)
        {
            Argument.IsNotNull(() => textEditor);
            Argument.IsNotNull(() => csvTextEditorInstance);

            //this place are reserved for CsvTextEditor initialization
        }
コード例 #3
0
        public static IControlTool GetToolByName(this ICsvTextEditorInstance csvTextEditorInstance, string toolName)
        {
            Argument.IsNotNull(() => csvTextEditorInstance);

            var tools = csvTextEditorInstance.Tools;

            return(tools.FirstOrDefault(x => x.Name == toolName));
        }
コード例 #4
0
        public static void ShowTool(this ICsvTextEditorInstance csvTextEditorInstance, string toolName, object parameter = null)
        {
            Argument.IsNotNull(() => csvTextEditorInstance);

            var tool = csvTextEditorInstance.GetToolByName(toolName);

            tool?.Open(parameter);
        }
コード例 #5
0
        public FindReplaceService(TextEditor textEditor, ICsvTextEditorInstance csvTextEditorInstance = null)
        {
            Argument.IsNotNull(() => csvTextEditorInstance);
            Argument.IsNotNull(() => textEditor);

            _csvTextEditorInstance = csvTextEditorInstance;
            _textEditor            = textEditor;
        }
コード例 #6
0
        private void OnTypeRegistered(object sender, TypeRegisteredEventArgs e)
        {
            if (e.ServiceType != typeof(ICsvTextEditorInstance))
            {
                return;
            }

            if (_csvTextEditorInstance != null)
            {
                _csvTextEditorInstance.TextChanged -= OnTextChanged;
            }

            _csvTextEditorInstance              = _serviceLocator.ResolveType <ICsvTextEditorInstance>(e.Tag);
            _csvTextEditorInstance.TextChanged += OnTextChanged;

            UpdateStatistic();
        }
コード例 #7
0
        private Task OnProjectActivatedAsync(object sender, ProjectUpdatedEventArgs args)
        {
            if (_csvTextEditorInstance != null)
            {
                _csvTextEditorInstance.CaretTextLocationChanged -= OnCaretTextLocationChanged;
            }

            var activeProject = args.NewProject;

            if (activeProject == null)
            {
                return(TaskHelper.Completed);
            }

            _csvTextEditorInstance = _serviceLocator.ResolveType <ICsvTextEditorInstance>(args.NewProject);

            _csvTextEditorInstance.CaretTextLocationChanged += OnCaretTextLocationChanged;

            return(TaskHelper.Completed);
        }
コード例 #8
0
        public static void ShowTool <T>(this ICsvTextEditorInstance csvTextEditorInstance, object parameter = null)
            where T : class, IControlTool
        {
            Argument.IsNotNull(() => csvTextEditorInstance);

            var toolManager = csvTextEditorInstance.ToolManager;

            if (toolManager is null)
            {
                return;
            }

            var tool = csvTextEditorInstance.Tools.OfType <T>().FirstOrDefault();

            if (tool is null)
            {
                tool = toolManager.AttachTool(typeof(T)) as T;
            }

            tool?.Open(parameter);
        }
コード例 #9
0
        protected override void ProjectActivated(Project oldProject, Project newProject)
        {
            base.ProjectActivated(oldProject, newProject);

            if (_csvTextEditorInstance != null)
            {
                _csvTextEditorInstance.TextChanged -= CsvTextEditorInstanceOnTextChanged;
            }

            if (newProject == null)
            {
                return;
            }

            if (_csvTextEditorInstance == null && _serviceLocator.IsTypeRegistered <ICsvTextEditorInstance>(newProject))
            {
                _csvTextEditorInstance = _serviceLocator.ResolveType <ICsvTextEditorInstance>(newProject);
            }

            if (_csvTextEditorInstance != null)
            {
                _csvTextEditorInstance.TextChanged += CsvTextEditorInstanceOnTextChanged;
            }
        }
コード例 #10
0
 public TrimWhitespacesOperation(ICsvTextEditorInstance csvTextEditorInstance)
     : base(csvTextEditorInstance)
 {
 }
コード例 #11
0
 public RemoveLineOperation(ICsvTextEditorInstance csvTextEditorInstance)
     : base(csvTextEditorInstance)
 {
 }
コード例 #12
0
 public DuplicateLineOperation(ICsvTextEditorInstance csvTextEditorInstance)
     : base(csvTextEditorInstance)
 {
 }
コード例 #13
0
 public PasteOperation(ICsvTextEditorInstance csvTextEditorInstance)
     : base(csvTextEditorInstance)
 {
 }
コード例 #14
0
 public GotoPreviousColumnOperation(ICsvTextEditorInstance csvTextEditorInstance)
     : base(csvTextEditorInstance)
 {
 }
コード例 #15
0
 public AddColumnOperation(ICsvTextEditorInstance csvTextEditorInstance)
     : base(csvTextEditorInstance)
 {
 }
コード例 #16
0
        protected OperationBase(ICsvTextEditorInstance csvTextEditorInstance)
        {
            Argument.IsNotNull(() => csvTextEditorInstance);

            _csvTextEditorInstance = csvTextEditorInstance;
        }
コード例 #17
0
 public RemoveDuplicateLinesOperation(ICsvTextEditorInstance csvTextEditorInstance)
     : base(csvTextEditorInstance)
 {
 }
コード例 #18
0
 public GotoNextColumnOperation(ICsvTextEditorInstance csvTextEditorInstance)
     : base(csvTextEditorInstance)
 {
 }