using System;
using System.Collections.Generic;
using System.Drawing;
using EveOPreview.UI;
namespace EveOPreview.View
{
///
/// Main view interface
/// Presenter uses it to access GUI properties
///
public interface IMainFormView : IView
{
bool MinimizeToTray { get; set; }
double ThumbnailOpacity { get; set; }
bool EnableClientLayoutTracking { get; set; }
bool HideActiveClientThumbnail { get; set; }
bool ShowThumbnailsAlwaysOnTop { get; set; }
bool HideThumbnailsOnLostFocus { get; set; }
bool EnablePerClientThumbnailLayouts { get; set; }
Size ThumbnailSize { get; set; }
bool EnableThumbnailZoom { get; set; }
int ThumbnailZoomFactor { get; set; }
ViewZoomAnchor ThumbnailZoomAnchor { get; set; }
bool ShowThumbnailOverlays { get; set; }
bool ShowThumbnailFrames { get; set; }
bool EnableActiveClientHighlight { get; set; }
Color ActiveClientHighlightColor { get; set; }
void SetDocumentationUrl(string url);
void SetVersionInfo(string version);
void SetThumbnailSizeLimitations(Size minimumSize, Size maximumSize);
void Minimize();
void AddThumbnails(IList thumbnails);
void UpdateThumbnails(IList thumbnails);
void RemoveThumbnails(IList thumbnails);
void RefreshZoomSettings();
Action ApplicationExitRequested { get; set; }
Action FormActivated { get; set; }
Action FormMinimized { get; set; }
Action FormCloseRequested { get; set; }
Action ApplicationSettingsChanged { get; set; }
Action ThumbnailsSizeChanged { get; set; }
Action ThumbnailStateChanged { get; set; }
Action DocumentationLinkActivated { get; set; }
}
}