Esempio n. 1
0
        Widget CreateWidget(DocumentViewContent view)
        {
            if (control != null)
            {
                return(control);
            }
            var toolbar = view.GetToolbar();
            // TODO: enable native backend by default without checking NATIVE_BUILD_OUTPUT env
            var nativeEnabled = Environment.GetEnvironmentVariable("NATIVE_BUILD_OUTPUT")?.ToLower() == "true";
            // native mode on Mac only, until we support Wpf embedding
            var engine = Xwt.Toolkit.NativeEngine.Type == ToolkitType.XamMac && nativeEnabled ? Xwt.Toolkit.NativeEngine : Xwt.Toolkit.CurrentEngine;

            engine.Invoke(() => {
                if (buildOutput != null)
                {
                    control = new BuildOutputWidget(buildOutput, DocumentTitle, toolbar);
                }
                else
                {
                    control = new BuildOutputWidget(FilePath, toolbar);
                }
                control.FileNameChanged += FileNameChanged;
            });
            return(control);
        }
Esempio n. 2
0
        protected override Control OnGetViewControl(DocumentViewContent view)
        {
            TranslationProject project = null;

            if (IdeApp.IsInitialized)
            {
                foreach (var tp in IdeApp.Workspace.GetAllItems <TranslationProject> ())
                {
                    if (tp.BaseDirectory == FilePath.ParentDirectory)
                    {
                        project = tp;
                    }
                }
            }

            catalog               = new Catalog(project);
            poEditorWidget        = new POEditorWidget(project);
            catalog.DirtyChanged += delegate(object sender, EventArgs args) {
                HasUnsavedChanges = catalog.IsDirty;
            };

            catalog.Load(null, FilePath);

            poEditorWidget.Catalog    = catalog;
            poEditorWidget.POFileName = fileName;
            poEditorWidget.UpdateRules(System.IO.Path.GetFileNameWithoutExtension(fileName));
            return(poEditorWidget);
        }
Esempio n. 3
0
 protected override Control OnGetViewControl(DocumentViewContent view)
 {
     if (widget == null)
     {
         widget = new BlameWidget(info);
     }
     return(widget);
 }
Esempio n. 4
0
 protected override Control OnGetViewControl(DocumentViewContent view)
 {
     if (xwtControl == null)
     {
         xwtControl = new XwtControl(CreateWidget(view));
     }
     return((Control)xwtControl);
 }
        protected void AddButton(string label, Gtk.Widget page)
        {
            var sourceView = new DocumentViewContent(() => page)
            {
                Title = label
            };

            container.Views.Add(sourceView);
            pages [page] = sourceView;
        }
        DocumentViewContent AttachView(Xwt.Widget childView, string title)
        {
            var content = new DocumentViewContent(() => new XwtControl(childView))
            {
                Title = title
            };

            mainView.AttachedViews.Add(content);

            return(content);
        }
Esempio n. 7
0
 protected override Control OnGetViewControl(DocumentViewContent view)
 {
     widgetContainer       = new MergeWidgetContainer();
     NoMergeConflictsLabel = new Gtk.Label()
     {
         Text = GettextCatalog.GetString("No merge conflicts detected.")
     };
     RefreshContent();
     RefreshMergeEditor();
     FileService.FileChanged += FileService_FileChanged;
     return(widgetContainer);
 }
Esempio n. 8
0
        public ElementHelpWidget(DocumentViewContent regexView, RegexToolkitWidget regexWidget)
        {
//			this.workbenchWindow = workbenchWindow;
//			this.regexWidget = regexWidget;
            this.Build();

            elementsStore = new Gtk.TreeStore(typeof(string), typeof(string), typeof(string), typeof(string));
            this.elementsTreeview.Model          = this.elementsStore;
            this.elementsTreeview.HeadersVisible = false;
            this.elementsTreeview.Selection.Mode = SelectionMode.Browse;

            var col = new TreeViewColumn();

            this.elementsTreeview.AppendColumn(col);
            var pix          = new CellRendererImage();
            var cellRendText = new CellRendererText();

            col.PackStart(pix, false);
            col.AddAttribute(pix, "stock_id", 0);
            col.PackStart(cellRendText, false);

            col.AddAttribute(cellRendText, "text", 1);

            var cellRendText2 = new CellRendererText();

            col.PackStart(cellRendText2, true);
            col.SetCellDataFunc(cellRendText2, ElementDescriptionFunc);


//			this.elementsTreeview.Selection.Changed += delegate {
//				ShowTooltipForSelectedEntry ();
//			};
//			this.elementsTreeview.MotionNotifyEvent += HandleMotionNotifyEvent;

            this.elementsTreeview.RowActivated += delegate(object sender, RowActivatedArgs e) {
                Gtk.TreeIter iter;
                if (elementsStore.GetIter(out iter, e.Path))
                {
                    string text = elementsStore.GetValue(iter, 3) as string;
                    if (!System.String.IsNullOrEmpty(text))
                    {
                        regexWidget.InsertText(text);
                        regexView.SetActive();
                    }
                }
            };
            this.LeaveNotifyEvent += delegate {
                this.HideTooltipWindow();
            };
            FillElementsBox();
            Show();
        }
Esempio n. 9
0
        protected override Control OnGetViewControl(DocumentViewContent view)
        {
            widget          = new DotDesktopViewWidget();
            widget.Changed += delegate {
                HasUnsavedChanges = true;
            };
            entry = new DesktopEntry();
            widget.DesktopEntry = entry;

            entry.Load(FilePath);
            widget.DesktopEntry = entry;
            return((Control)widget);
        }
Esempio n. 10
0
        protected override Task <DocumentView> OnInitializeView()
        {
            var container = new DocumentViewContainer();

            container.SupportedModes = DocumentViewContainerMode.Tabs;

            var regexView = new DocumentViewContent(() => RegexToolkit);

            regexView.Title = GettextCatalog.GetString("Regex Toolkit");

            var elementHelpView = new DocumentViewContent(() => new ElementHelpWidget(regexView, RegexToolkit));

            elementHelpView.Title = GettextCatalog.GetString("Elements");

            container.Views.Add(regexView);
            container.Views.Add(elementHelpView);
            return(Task.FromResult <DocumentView> (container));
        }
        protected override async Task <DocumentView> OnInitializeView()
        {
            mainView = await base.OnInitializeView();

            buildTreeView         = new BinaryLogBuildTreeView(viewModels.BuildTreeViewItems);
            buildTreeDocumentView = AttachView(buildTreeView, GettextCatalog.GetString("Build"));

            targetSummaryView = new BinaryLogTargetSummaryView(viewModels.TargetListViewItems);
            AttachView(targetSummaryView, GettextCatalog.GetString("Target Summary"));

            taskSummaryView = new BinaryLogTaskSummaryView(viewModels.TaskListViewItems);
            AttachView(taskSummaryView, GettextCatalog.GetString("Task Summary"));

            // Not seen any evaluations so not adding this view since it will always be empty.
            //evaluationSummaryView = new BinaryLogEvaluationSummaryView (viewModels.EvaluationListViewItems);
            //AttachView (evaluationSummaryView, GettextCatalog.GetString ("Evaluation Summary"));

            return(mainView);
        }
Esempio n. 12
0
        protected override async Task <DocumentView> OnInitializeView()
        {
            var container = new DocumentViewContainer();

            // can't set last mode here otherwise if we set Tabs, clicking Split incorrectly puts it into VerticalSplit mode
            container.SupportedModes = DocumentViewContainerMode.Tabs | DocumentViewContainerMode.HorizontalSplit;
            container.CurrentMode    = DocumentViewContainerMode.HorizontalSplit;

            // our designer content
            var content = new DocumentViewContent(OnGetViewControlAsync);

            content.Title = "Design";
            container.Views.Add(content);

            // the source code editor
            var innerView = await _inner.GetDocumentView();

            container.Views.Add(innerView);

            return(container);
        }
Esempio n. 13
0
 protected override Task <Control> OnGetViewControlAsync(CancellationToken token, DocumentViewContent view)
 {
     return(Task.FromResult <Control> (xwtControl));
 }
Esempio n. 14
0
        protected override async Task <Control> OnGetViewControlAsync(CancellationToken token, DocumentViewContent view)
        {
            view.Title = GettextCatalog.GetString("Binary");
            hexEditor  = new Mono.MHex.HexEditor();
            await Model.Load();

            hexEditor.HexEditorData.ByteBuffer = ((ByteBufferModel)Model).ByteBuffer;
            hexEditor.HexEditorStyle           = new MonoDevelopHexEditorStyle(hexEditor);
            SetOptions();
            DefaultSourceEditorOptions.Instance.Changed += Instance_Changed;
            hexEditor.HexEditorData.Changed             += delegate {
                this.HasUnsavedChanges = true;
            };
            window = new ScrollView(hexEditor);
            await LoadContent();

            hexEditor.SetFocus();

            return(new XwtControl(window));
        }
Esempio n. 15
0
 protected override Control OnGetViewControl(DocumentViewContent view)
 {
     return(control ?? (control = widget = new AddinBrowserWidget(registry)));
 }
Esempio n. 16
0
		protected override Control OnGetViewControl (DocumentViewContent view)
		{
			CreateWiget ();
			widget.SetToolbar (view.GetToolbar ());
			return widget;
		}
Esempio n. 17
0
 protected override Task <Control> OnGetViewControlAsync(CancellationToken token, DocumentViewContent view)
 {
     LogWidget.SetToolbar(view.GetToolbar());
     return(Task.FromResult <Control> (LogWidget));
 }
 protected override Control OnGetViewControl(DocumentViewContent view)
 {
     return(gettingStartedWidget);
 }
Esempio n. 19
0
        protected override async Task <Control> OnGetViewControlAsync(CancellationToken token, DocumentViewContent view)
        {
            if (textEditor == null)
            {
                await Model.Load();

                var editor = TextEditorFactory.CreateNewEditor((TextBufferFileModel)Model);
                var impl   = editor.Implementation;

                await Init(editor, impl);

                HasUnsavedChanges = impl.IsDirty;

                // Editor extensions can provide additional content
                NotifyContentChanged();
            }
            return(textEditor);
        }
Esempio n. 20
0
 protected override Control OnGetViewControl(DocumentViewContent view)
 {
     return(_content);
 }
Esempio n. 21
0
 protected override Control OnGetViewControl(DocumentViewContent view)
 {
     widget.SetToolbar(view.GetToolbar());
     return(widget);
 }
Esempio n. 22
0
 protected override Control OnGetViewControl(DocumentViewContent view)
 {
     return(new XwtControl(widget));
 }
Esempio n. 23
0
        protected override async Task <Control> OnGetViewControlAsync(CancellationToken token, DocumentViewContent view)
        {
            // FIXME: move this to the end of the .ctor after fixing margin options responsiveness
            UpdateLineNumberMarginOption();

            var fileModel = (TextBufferFileModel)Model;

            TextDocument = fileModel.TextDocument;
            TextBuffer   = TextDocument.TextBuffer;

            UpdateTextBufferRegistration();

            var roles = GetAllPredefinedRoles();

            //we have multiple copies of VacuousTextDataModel for back-compat reasons
#pragma warning disable CS0436 // Type conflicts with imported type
            var dataModel = new VacuousTextDataModel(TextBuffer);
            var viewModel = UIExtensionSelector.InvokeBestMatchingFactory(
                Imports.TextViewModelProviders,
                dataModel.ContentType,
                roles,
                provider => provider.CreateTextViewModel(dataModel, roles),
                Imports.ContentTypeRegistryService,
                Imports.GuardedOperations,
                this) ?? new VacuousTextViewModel(dataModel);
#pragma warning restore CS0436 // Type conflicts with imported type

            TextView = CreateTextView(viewModel, roles);
            control  = CreateControl();

            commandService   = Imports.EditorCommandHandlerServiceFactory.GetService(TextView);
            EditorOperations = (EditorOperationsInterface)Imports.EditorOperationsProvider.GetEditorOperations(TextView);
            EditorOptions    = Imports.EditorOptionsFactoryService.GetOptions(TextView);
            UpdateTextEditorOptions(this, EventArgs.Empty);
            contentProviders = new List <IEditorContentProvider> (Imports.EditorContentProviderService.GetContentProvidersForView(TextView));

            TextView.Properties [typeof(DocumentController)] = this;

            infoBarPresenter = Imports.InfoBarPresenterFactory?.TryGetInfoBarPresenter(TextView);

            InstallAdditionalEditorOperationsCommands();

            UpdateBufferOptions();
            SubscribeToEvents();

            // Set up this static event handling just once
            if (globalOptions == null)
            {
                globalOptions = Imports.EditorOptionsFactoryService.GlobalOptions;

                // From Mono.TextEditor.TextEditorOptions
                const double ZOOM_FACTOR  = 1.1f;
                const int    ZOOM_MIN_POW = -4;
                const int    ZOOM_MAX_POW = 8;
                var          ZOOM_MIN     = Math.Pow(ZOOM_FACTOR, ZOOM_MIN_POW);
                var          ZOOM_MAX     = Math.Pow(ZOOM_FACTOR, ZOOM_MAX_POW);

#if !WINDOWS
                globalOptions.SetMinZoomLevel(ZOOM_MIN * 100);
                globalOptions.SetMaxZoomLevel(ZOOM_MAX * 100);
#endif

                OnConfigurationZoomLevelChanged(null, EventArgs.Empty);

                globalOptions.OptionChanged += OnGlobalOptionsChanged;
                // Check for option changing in old editor
                TextEditorFactory.ZoomLevel.Changed += OnConfigurationZoomLevelChanged;
            }

            // Content providers can provide additional content
            NotifyContentChanged();

            await Load(false);

            return(control);
        }
Esempio n. 24
0
        private void Workspace_DocumentCreated (object sender, DocumentEventArgs e)
        {
            var doc = e.Document;

            // Find the currently active container for our new tab
            var container = DockNotebookManager.ActiveNotebookContainer ?? dock_container;
            var selected_index = container.TabControl.CurrentTabIndex;

            var canvas = new CanvasWindow (doc) {
                RulersVisible = PintaCore.Actions.View.Rulers.Active,
                RulerMetric = GetCurrentRulerMetric ()
            };

            var my_content = new DocumentViewContent (doc, canvas);

            // Insert our tab to the right of the currently selected tab
            container.TabControl.InsertTab (my_content, selected_index + 1);

            doc.Workspace.Canvas = canvas.Canvas;

            // Zoom to window only on first show (if we do it always, it will be called on every resize)
            canvas.SizeAllocated += (o, e2) => {
                if (!canvas.HasBeenShown)
                    ZoomToWindow_Activated (o, e);

                canvas.HasBeenShown = true;
            };

            PintaCore.Actions.View.Rulers.Toggled += (o, e2) => { canvas.RulersVisible = ((ToggleAction)o).Active; };
            PintaCore.Actions.View.Pixels.Activated += (o, e2) => { canvas.RulerMetric = MetricType.Pixels; };
            PintaCore.Actions.View.Inches.Activated += (o, e2) => { canvas.RulerMetric = MetricType.Inches; };
            PintaCore.Actions.View.Centimeters.Activated += (o, e2) => { canvas.RulerMetric = MetricType.Centimeters; };
        }