using System; namespace Core.Common.Controls.Views { /// /// General interface for graphical user interface views used in applications /// public interface IView : IDisposable { /// /// Gets or sets data shown by this view. Usually it is any object in the system which can be shown by some IView derived class. /// object Data { get; set; } /// /// Gets or sets the *caption/title* for the view /// TODO: change it to Name /// /// IGui implementation sets this. /// string Text { get; set; } /// /// True when view is visible. /// bool Visible { get; } ViewInfo ViewInfo { get; set; } /// /// Makes object visible in the view if possible /// /// void EnsureVisible(object item); } }