Exemple #1
0
        public CodeViewUserControl(Window window, ColumnDefinition column = null,
                                   IWpfTextView textView           = null, IOutliningManager outliningManager = null,
                                   VisualStudioWorkspace workspace = null, CodeNavMargin margin               = null, DTE dte = null)
        {
            InitializeComponent();

            // Setup viewmodel as datacontext
            CodeDocumentViewModel = new CodeDocumentViewModel();
            DataContext           = CodeDocumentViewModel;

            // Setup backgroundworker to update datacontext
            _backgroundWorker = new BackgroundWorker {
                WorkerSupportsCancellation = true
            };
            _backgroundWorker.DoWork             += BackgroundWorker_DoWork;
            _backgroundWorker.RunWorkerCompleted += BackgroundWorker_RunWorkerCompleted;

            _window          = window;
            _column          = column;
            TextView         = textView;
            OutliningManager = outliningManager;
            _workspace       = workspace;
            _margin          = margin;
            Dte = dte;

            VSColorTheme.ThemeChanged += VSColorTheme_ThemeChanged;
        }
Exemple #2
0
        /// <summary>
        /// Creates an <see cref="IWpfTextViewMargin"/> for the given <see cref="IWpfTextViewHost"/>.
        /// </summary>
        /// <param name="wpfTextViewHost">The <see cref="IWpfTextViewHost"/> for which to create the <see cref="IWpfTextViewMargin"/>.</param>
        /// <param name="marginContainer">The margin that will contain the newly-created margin.</param>
        /// <returns>The <see cref="IWpfTextViewMargin"/>.
        /// The value may be null if this <see cref="IWpfTextViewMarginProvider"/> does not participate for this context.
        /// </returns>
        public IWpfTextViewMargin CreateMargin(IWpfTextViewHost wpfTextViewHost, IWpfTextViewMargin marginContainer)
        {
            if (Settings.Default.MarginSide != MarginSideEnum.Right)
            {
                return(null);
            }

            var dte = (DTE)_serviceProvider.GetService(typeof(DTE));
            var outliningManager = OutliningHelper.GetManager(_serviceProvider, wpfTextViewHost.TextView);

            Logger.Initialize(_serviceProvider, "CodeNav");
            var codeNav = new CodeNavMargin(wpfTextViewHost, dte, outliningManager, Workspace, MarginSideEnum.Right);

            return(codeNav);
        }
Exemple #3
0
        public static IWpfTextViewMargin CreateMargin(IWpfTextViewHost wpfTextViewHost,
                                                      VisualStudioWorkspace visualStudioWorkspace, IServiceProvider serviceProvider, MarginSideEnum side)
        {
            if (Settings.Default.MarginSide != side)
            {
                return(null);
            }

            System.Windows.Threading.Dispatcher.CurrentDispatcher.VerifyAccess();

            var dte = (DTE)serviceProvider.GetService(typeof(DTE));
            var outliningManagerService = OutliningHelper.GetOutliningManagerService(serviceProvider);

            var codeNav = new CodeNavMargin(wpfTextViewHost, dte, outliningManagerService, visualStudioWorkspace, side);

            return(codeNav);
        }
        public CodeViewUserControlTop(Window window, RowDefinition row = null,
                                      IWpfTextView textView            = null, IOutliningManagerService outliningManagerService = null,
                                      VisualStudioWorkspace workspace  = null, CodeNavMargin margin = null, DTE dte = null)
        {
            InitializeComponent();

            // Setup viewmodel as datacontext
            CodeDocumentViewModel = new CodeDocumentViewModel();
            DataContext           = CodeDocumentViewModel;

            _window  = window;
            _row     = row;
            TextView = textView;
            OutliningManagerService = outliningManagerService;
            _workspace = workspace;
            _margin    = margin;
            Dte        = dte;

            LogHelper.Dte = dte;

            VSColorTheme.ThemeChanged += VSColorTheme_ThemeChanged;
        }