Пример #1
0
        /// <summary>
        /// Constructor that calls the Microsoft.VisualStudio.Shell.WindowPane constructor then
        /// our initialization functions.
        /// </summary>
        /// <param name="package">Our Package instance.</param>
        public EtoPreviewPane(EtoAddinPackage package, string fileName, IVsTextLines textBuffer, string mainAssembly, IEnumerable <string> references, CodeEditorHost codeEditor)
            : base(package)
        {
            this.editor     = codeEditor;
            this.package    = package;
            this.textBuffer = textBuffer;
            FileName        = fileName;

            editorControl         = new Panel();
            editorControl.Content = editor.wpfElement.ToEto();

            previewSplitter           = new PreviewEditorViewSplitter(editorControl, mainAssembly, references, () => textBuffer?.GetText());
            previewSplitter.GotFocus += (sender, e) =>
            {
                WpfTextView?.VisualElement?.Focus();
            };
            preview = previewSplitter.Preview;

            var content = previewSplitter.ToNative(true);

            if (!preview.SetBuilder(fileName))
            {
                throw new InvalidOperationException(string.Format("Could not find builder for file {0}", fileName));
            }
            Content = content;
        }
Пример #2
0
        protected override void Dispose(bool disposing)
        {
            try
            {
                if (disposing)
                {
                    if (preview != null)
                    {
                        preview.Dispose();
                        preview = null;
                    }

                    RegisterIndependentView(false);

                    if (editorControl != null)
                    {
                        editorControl.Dispose();
                        editorControl = null;
                    }

                    GC.SuppressFinalize(this);
                }
            }
            finally
            {
                base.Dispose(disposing);
            }
        }
Пример #3
0
        public EditorView(ViewContent content)
        {
            try {
                this.content = content;

                var editorWidget = content.Control.GetNativeWidget <Gtk.Widget> ();
                editorWidget.ShowAll();
                MonoDevelop.Components.Control previewNative;
                if (Platform.Instance.IsMac)
                {
                    var editor    = new GtkEmbed2(editorWidget);
                    var editorEto = editor.ToEto();
                    preview = new PreviewEditorView(editorEto, null, null, () => content?.WorkbenchWindow?.Document?.Editor?.Text);
                    var nspreview       = XamMac2Helpers.ToNative(preview, true);
                    var nsviewContainer = new NSViewContainer2(nspreview);
                    previewNative = nsviewContainer;
                }
                else
                {
                    preview       = new PreviewEditorView(editorWidget.ToEto(), null, null, () => content?.WorkbenchWindow?.Document?.Editor?.Text);
                    previewNative = Gtk2Helpers.ToNative(preview, true);
                }

                var commandRouterContainer = new CommandRouterContainer(previewNative, content, true);
                commandRouterContainer.ShowAll();
                control = commandRouterContainer;

                content.DirtyChanged += content_DirtyChanged;
                IdeApp.Workbench.ActiveDocumentChanged += Workbench_ActiveDocumentChanged;
                ContentName = content.ContentName;
            } catch (Exception ex) {
                Debug.WriteLine($"{ex}");
            }
        }
Пример #4
0
        public EditorView(IViewContent content)
        {
            this.content            = content;
            preview                 = new PreviewEditorView(content.Control.ToEto(), () => content?.WorkbenchWindow?.Document?.Editor?.Text);
            content.ContentChanged += content_ContentChanged;
            content.DirtyChanged   += content_DirtyChanged;
            var commandRouterContainer = new CommandRouterContainer(preview.ToNative(true), content, true);

            commandRouterContainer.Show();
            control = commandRouterContainer;
            IdeApp.Workbench.ActiveDocumentChanged += Workbench_ActiveDocumentChanged;

            base.ContentName = content.ContentName;
        }
Пример #5
0
        protected override MonoDevelop.Components.Control GetNativeControl()
        {
            var editorWidget = EditorWidget;

            editorWidget.ShowAll();
            var editor    = new GtkEmbed2(editorWidget);
            var editorEto = editor.ToEto();

            Preview = new PreviewEditorView(editorEto, null, null, GetEditorText);
            var nspreview       = XamMac2Helpers.ToNative(Preview, true);
            var nsviewContainer = new NSViewContainer2(nspreview);

            return(nsviewContainer);
        }
Пример #6
0
        /// <summary>
        /// Constructor that calls the Microsoft.VisualStudio.Shell.WindowPane constructor then
        /// our initialization functions.
        /// </summary>
        /// <param name="package">Our Package instance.</param>
        public EtoPreviewPane(EtoAddinPackage package, string fileName, IVsTextLines textBuffer)
            : base(package)
        {
            this.package    = package;
            this.textBuffer = textBuffer;
            FileName        = fileName;

            editorControl = new Panel();
            preview       = new PreviewEditorView(editorControl, () => textBuffer?.GetText());
            if (!preview.SetBuilder(fileName))
            {
                throw new InvalidOperationException(string.Format("Could not find builder for file {0}", fileName));
            }

            Content = preview.ToNative(true);
        }