using System; using System.Collections.Generic; using System.Linq; using System.Text; using MBS.Framework.UserInterface; using MBS.Framework.UserInterface.Controls.Docking; using UniversalEditor.ObjectModels.Project; using UniversalEditor.ObjectModels.Solution; namespace UniversalEditor.UserInterface { public interface IHostApplicationWindow { Document NewFile(); void NewProject(bool combineObjects = false); void OpenFile(); void OpenFile(params string[] fileNames); void OpenFile(params Document[] documents); void OpenProject(bool combineObjects = false); void OpenProject(string FileName, bool combineObjects = false); bool SaveFile(); bool SaveFileAs(); bool SaveFileAs(Accessor accessor, DataFormat df); void SaveProject(); void SaveProjectAs(); void SaveProjectAs(string FileName, DataFormat df); void SaveAll(); /// /// Switches the current window's perspective. /// /// The index of the perspective to switch to. void SwitchPerspective(int index); void CloseFile(DockingWindow dw = null); void CloseAllFiles(); void CloseProject(); void CloseWindow(); void PrintDocument(); void ShowDocumentPropertiesDialog(); /// /// Gets the s (center-docked s) contained within all s in this /// . /// /// The s contained within all s in this . Page[] GetPages(); Editor GetCurrentEditor(); Control ActiveControl { get; } bool FullScreen { get; set; } /// /// Displays the "Options" dialog (on Windows, under the "Tools" menu; on Linux, under the "Edit" /// menu, labeled as "Preferences"). /// /// True if the user accepted the dialog; false otherwise. bool ShowOptionsDialog(); void UpdateStatus(string statusText); void UpdateProgress(bool visible); void UpdateProgress(int minimum, int maximium, int value); void Present(DateTime timestamp = default(DateTime)); void ShowStartPage(); /// /// Shows or hides the window list based on the given options. /// /// True if the window list should be shown; false if the window list should be hidden. /// True if the window list should be presented as a modal dialog; false if it should be presented as a popup (for example, during a window switch action). void SetWindowListVisible(bool visible, bool modal); StatusBar StatusBar { get; } ProjectObjectModel CurrentProject { get; set; } SolutionObjectModel CurrentSolution { get; set; } Document.ReadOnlyDocumentCollection Documents { get; } Editor.ReadOnlyEditorCollection Editors { get; } bool AddPanel(PanelReference panelReference); bool RemovePanel(PanelReference panelReference); } public class IHostApplicationWindowCollection : System.Collections.ObjectModel.Collection { } }