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);
}
}