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); }
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); }
protected override Control OnGetViewControl(DocumentViewContent view) { if (widget == null) { widget = new BlameWidget(info); } return(widget); }
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); }
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); }
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(); }
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); }
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); }
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); }
protected override Task <Control> OnGetViewControlAsync(CancellationToken token, DocumentViewContent view) { return(Task.FromResult <Control> (xwtControl)); }
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)); }
protected override Control OnGetViewControl(DocumentViewContent view) { return(control ?? (control = widget = new AddinBrowserWidget(registry))); }
protected override Control OnGetViewControl (DocumentViewContent view) { CreateWiget (); widget.SetToolbar (view.GetToolbar ()); return widget; }
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); }
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); }
protected override Control OnGetViewControl(DocumentViewContent view) { return(_content); }
protected override Control OnGetViewControl(DocumentViewContent view) { widget.SetToolbar(view.GetToolbar()); return(widget); }
protected override Control OnGetViewControl(DocumentViewContent view) { return(new XwtControl(widget)); }
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); }
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; }; }