// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; using System.Collections.Generic; using System.Diagnostics; using System.Threading; using System.Windows; using ICSharpCode.Core; namespace ICSharpCode.SharpDevelop.Gui { [SDService] public interface IStatusBarService { //bool Visible { get; set; } /// /// Sets the caret position shown in the status bar. /// /// column number /// line number /// character number void SetCaretPosition(int x, int y, int charOffset); //void SetInsertMode(bool insertMode); /// /// Sets the message shown in the left-most pane in the status bar. /// /// The message text. /// Whether to highlight the text /// Icon to show next to the text void SetMessage(string message, bool highlighted = false, IImage icon = null); /// /// Creates a new that can be used to report /// progress to the status bar. /// /// Cancellation token to use for /// /// The new IProgressMonitor instance. This return value must be disposed /// once the background task has completed. IProgressMonitor CreateProgressMonitor(CancellationToken cancellationToken = default(CancellationToken)); /// /// Shows progress for the specified ProgressCollector in the status bar. /// void AddProgress(ProgressCollector progress); } }