Working on Thumbnail List Update notifications
This commit is contained in:
904
Eve-O-Preview/View/Implementation/MainForm.Designer.cs
generated
Normal file
904
Eve-O-Preview/View/Implementation/MainForm.Designer.cs
generated
Normal file
@@ -0,0 +1,904 @@
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace EveOPreview.View
|
||||
{
|
||||
partial class MainForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>s
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.Windows.Forms.ToolStripMenuItem RestoreWindowMenuItem;
|
||||
System.Windows.Forms.ToolStripMenuItem ExitMenuItem;
|
||||
System.Windows.Forms.ToolStripMenuItem TitleMenuItem;
|
||||
System.Windows.Forms.ToolStripSeparator SeparatorMenuItem;
|
||||
System.Windows.Forms.TabControl ContentTabControl;
|
||||
System.Windows.Forms.TabPage GeneralTabPage;
|
||||
System.Windows.Forms.Panel GeneralSettingsPanel;
|
||||
System.Windows.Forms.TabPage ThumbnailTabPage;
|
||||
System.Windows.Forms.Panel ThumbnailSettingsPanel;
|
||||
System.Windows.Forms.Label HeigthLabel;
|
||||
System.Windows.Forms.Label WidthLabel;
|
||||
System.Windows.Forms.Label OpacityLabel;
|
||||
System.Windows.Forms.Panel ZoomSettingsPanel;
|
||||
System.Windows.Forms.Label ZoomFactorLabel;
|
||||
System.Windows.Forms.Label ZoomAnchorLabel;
|
||||
System.Windows.Forms.TabPage OverlayTabPage;
|
||||
System.Windows.Forms.Panel OverlaySettingsPanel;
|
||||
System.Windows.Forms.TabPage ClientsTabPage;
|
||||
System.Windows.Forms.Panel ClientsPanel;
|
||||
System.Windows.Forms.Label ThumbnailsListLabel;
|
||||
System.Windows.Forms.TabPage AboutTabPage;
|
||||
System.Windows.Forms.Panel AboutPanel;
|
||||
System.Windows.Forms.Label DocumentationLinkLabel;
|
||||
System.Windows.Forms.Label DescriptionLabel;
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
|
||||
System.Windows.Forms.Label NameLabel;
|
||||
this.EnableClientLayoutTrackingCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.HideActiveClientThumbnailCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.ShowThumbnailsAlwaysOnTopCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.HideThumbnailsOnLostFocusCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.EnablePerClientThumbnailsLayoutsCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.MinimizeToTrayCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.ThumbnailsWidthNumericEdit = new System.Windows.Forms.NumericUpDown();
|
||||
this.ThumbnailsHeightNumericEdit = new System.Windows.Forms.NumericUpDown();
|
||||
this.ThumbnailOpacityTrackBar = new System.Windows.Forms.TrackBar();
|
||||
this.ZoomTabPage = new System.Windows.Forms.TabPage();
|
||||
this.ZoomAnchorPanel = new System.Windows.Forms.Panel();
|
||||
this.ZoomAanchorNWRadioButton = new System.Windows.Forms.RadioButton();
|
||||
this.ZoomAanchorNRadioButton = new System.Windows.Forms.RadioButton();
|
||||
this.ZoomAanchorNERadioButton = new System.Windows.Forms.RadioButton();
|
||||
this.ZoomAanchorWRadioButton = new System.Windows.Forms.RadioButton();
|
||||
this.ZoomAanchorSERadioButton = new System.Windows.Forms.RadioButton();
|
||||
this.ZoomAanchorCRadioButton = new System.Windows.Forms.RadioButton();
|
||||
this.ZoomAanchorSRadioButton = new System.Windows.Forms.RadioButton();
|
||||
this.ZoomAanchorERadioButton = new System.Windows.Forms.RadioButton();
|
||||
this.ZoomAanchorSWRadioButton = new System.Windows.Forms.RadioButton();
|
||||
this.EnableThumbnailZoomCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.ThumbnailZoomFactorNumericEdit = new System.Windows.Forms.NumericUpDown();
|
||||
this.HighlightColorLabel = new System.Windows.Forms.Label();
|
||||
this.ActiveClientHighlightColorButton = new System.Windows.Forms.Panel();
|
||||
this.EnableActiveClientHighlightCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.ShowThumbnailOverlaysCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.ShowThumbnailFramesCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.ThumbnailsList = new System.Windows.Forms.CheckedListBox();
|
||||
this.VersionLabel = new System.Windows.Forms.Label();
|
||||
this.DocumentationLink = new System.Windows.Forms.LinkLabel();
|
||||
this.NotifyIcon = new System.Windows.Forms.NotifyIcon(this.components);
|
||||
this.TrayMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
RestoreWindowMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
ExitMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
TitleMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
SeparatorMenuItem = new System.Windows.Forms.ToolStripSeparator();
|
||||
ContentTabControl = new System.Windows.Forms.TabControl();
|
||||
GeneralTabPage = new System.Windows.Forms.TabPage();
|
||||
GeneralSettingsPanel = new System.Windows.Forms.Panel();
|
||||
ThumbnailTabPage = new System.Windows.Forms.TabPage();
|
||||
ThumbnailSettingsPanel = new System.Windows.Forms.Panel();
|
||||
HeigthLabel = new System.Windows.Forms.Label();
|
||||
WidthLabel = new System.Windows.Forms.Label();
|
||||
OpacityLabel = new System.Windows.Forms.Label();
|
||||
ZoomSettingsPanel = new System.Windows.Forms.Panel();
|
||||
ZoomFactorLabel = new System.Windows.Forms.Label();
|
||||
ZoomAnchorLabel = new System.Windows.Forms.Label();
|
||||
OverlayTabPage = new System.Windows.Forms.TabPage();
|
||||
OverlaySettingsPanel = new System.Windows.Forms.Panel();
|
||||
ClientsTabPage = new System.Windows.Forms.TabPage();
|
||||
ClientsPanel = new System.Windows.Forms.Panel();
|
||||
ThumbnailsListLabel = new System.Windows.Forms.Label();
|
||||
AboutTabPage = new System.Windows.Forms.TabPage();
|
||||
AboutPanel = new System.Windows.Forms.Panel();
|
||||
DocumentationLinkLabel = new System.Windows.Forms.Label();
|
||||
DescriptionLabel = new System.Windows.Forms.Label();
|
||||
NameLabel = new System.Windows.Forms.Label();
|
||||
ContentTabControl.SuspendLayout();
|
||||
GeneralTabPage.SuspendLayout();
|
||||
GeneralSettingsPanel.SuspendLayout();
|
||||
ThumbnailTabPage.SuspendLayout();
|
||||
ThumbnailSettingsPanel.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ThumbnailsWidthNumericEdit)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ThumbnailsHeightNumericEdit)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ThumbnailOpacityTrackBar)).BeginInit();
|
||||
this.ZoomTabPage.SuspendLayout();
|
||||
ZoomSettingsPanel.SuspendLayout();
|
||||
this.ZoomAnchorPanel.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ThumbnailZoomFactorNumericEdit)).BeginInit();
|
||||
OverlayTabPage.SuspendLayout();
|
||||
OverlaySettingsPanel.SuspendLayout();
|
||||
ClientsTabPage.SuspendLayout();
|
||||
ClientsPanel.SuspendLayout();
|
||||
AboutTabPage.SuspendLayout();
|
||||
AboutPanel.SuspendLayout();
|
||||
this.TrayMenu.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// RestoreWindowMenuItem
|
||||
//
|
||||
RestoreWindowMenuItem.Name = "RestoreWindowMenuItem";
|
||||
RestoreWindowMenuItem.Size = new System.Drawing.Size(151, 22);
|
||||
RestoreWindowMenuItem.Text = "Restore";
|
||||
RestoreWindowMenuItem.Click += new System.EventHandler(this.RestoreMainForm_Handler);
|
||||
//
|
||||
// ExitMenuItem
|
||||
//
|
||||
ExitMenuItem.Name = "ExitMenuItem";
|
||||
ExitMenuItem.Size = new System.Drawing.Size(151, 22);
|
||||
ExitMenuItem.Text = "Exit";
|
||||
ExitMenuItem.Click += new System.EventHandler(this.ExitMenuItemClick_Handler);
|
||||
//
|
||||
// TitleMenuItem
|
||||
//
|
||||
TitleMenuItem.Enabled = false;
|
||||
TitleMenuItem.Name = "TitleMenuItem";
|
||||
TitleMenuItem.Size = new System.Drawing.Size(151, 22);
|
||||
TitleMenuItem.Text = "EVE-O Preview";
|
||||
//
|
||||
// SeparatorMenuItem
|
||||
//
|
||||
SeparatorMenuItem.Name = "SeparatorMenuItem";
|
||||
SeparatorMenuItem.Size = new System.Drawing.Size(148, 6);
|
||||
//
|
||||
// ContentTabControl
|
||||
//
|
||||
ContentTabControl.Alignment = System.Windows.Forms.TabAlignment.Left;
|
||||
ContentTabControl.Controls.Add(GeneralTabPage);
|
||||
ContentTabControl.Controls.Add(ThumbnailTabPage);
|
||||
ContentTabControl.Controls.Add(this.ZoomTabPage);
|
||||
ContentTabControl.Controls.Add(OverlayTabPage);
|
||||
ContentTabControl.Controls.Add(ClientsTabPage);
|
||||
ContentTabControl.Controls.Add(AboutTabPage);
|
||||
ContentTabControl.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
ContentTabControl.DrawMode = System.Windows.Forms.TabDrawMode.OwnerDrawFixed;
|
||||
ContentTabControl.ItemSize = new System.Drawing.Size(35, 120);
|
||||
ContentTabControl.Location = new System.Drawing.Point(0, 0);
|
||||
ContentTabControl.Multiline = true;
|
||||
ContentTabControl.Name = "ContentTabControl";
|
||||
ContentTabControl.SelectedIndex = 0;
|
||||
ContentTabControl.Size = new System.Drawing.Size(390, 218);
|
||||
ContentTabControl.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
|
||||
ContentTabControl.TabIndex = 6;
|
||||
ContentTabControl.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.ContentTabControl_DrawItem);
|
||||
//
|
||||
// GeneralTabPage
|
||||
//
|
||||
GeneralTabPage.BackColor = System.Drawing.SystemColors.Control;
|
||||
GeneralTabPage.Controls.Add(GeneralSettingsPanel);
|
||||
GeneralTabPage.Location = new System.Drawing.Point(124, 4);
|
||||
GeneralTabPage.Name = "GeneralTabPage";
|
||||
GeneralTabPage.Padding = new System.Windows.Forms.Padding(3);
|
||||
GeneralTabPage.Size = new System.Drawing.Size(262, 210);
|
||||
GeneralTabPage.TabIndex = 0;
|
||||
GeneralTabPage.Text = "General";
|
||||
//
|
||||
// GeneralSettingsPanel
|
||||
//
|
||||
GeneralSettingsPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
GeneralSettingsPanel.Controls.Add(this.EnableClientLayoutTrackingCheckBox);
|
||||
GeneralSettingsPanel.Controls.Add(this.HideActiveClientThumbnailCheckBox);
|
||||
GeneralSettingsPanel.Controls.Add(this.ShowThumbnailsAlwaysOnTopCheckBox);
|
||||
GeneralSettingsPanel.Controls.Add(this.HideThumbnailsOnLostFocusCheckBox);
|
||||
GeneralSettingsPanel.Controls.Add(this.EnablePerClientThumbnailsLayoutsCheckBox);
|
||||
GeneralSettingsPanel.Controls.Add(this.MinimizeToTrayCheckBox);
|
||||
GeneralSettingsPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
GeneralSettingsPanel.Location = new System.Drawing.Point(3, 3);
|
||||
GeneralSettingsPanel.Name = "GeneralSettingsPanel";
|
||||
GeneralSettingsPanel.Size = new System.Drawing.Size(256, 204);
|
||||
GeneralSettingsPanel.TabIndex = 18;
|
||||
//
|
||||
// EnableClientLayoutTrackingCheckBox
|
||||
//
|
||||
this.EnableClientLayoutTrackingCheckBox.AutoSize = true;
|
||||
this.EnableClientLayoutTrackingCheckBox.Location = new System.Drawing.Point(8, 31);
|
||||
this.EnableClientLayoutTrackingCheckBox.Name = "EnableClientLayoutTrackingCheckBox";
|
||||
this.EnableClientLayoutTrackingCheckBox.Size = new System.Drawing.Size(127, 17);
|
||||
this.EnableClientLayoutTrackingCheckBox.TabIndex = 19;
|
||||
this.EnableClientLayoutTrackingCheckBox.Text = "Track client locations";
|
||||
this.EnableClientLayoutTrackingCheckBox.UseVisualStyleBackColor = true;
|
||||
this.EnableClientLayoutTrackingCheckBox.CheckedChanged += new System.EventHandler(this.OptionChanged_Handler);
|
||||
//
|
||||
// HideActiveClientThumbnailCheckBox
|
||||
//
|
||||
this.HideActiveClientThumbnailCheckBox.AutoSize = true;
|
||||
this.HideActiveClientThumbnailCheckBox.Checked = true;
|
||||
this.HideActiveClientThumbnailCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.HideActiveClientThumbnailCheckBox.Location = new System.Drawing.Point(8, 55);
|
||||
this.HideActiveClientThumbnailCheckBox.Name = "HideActiveClientThumbnailCheckBox";
|
||||
this.HideActiveClientThumbnailCheckBox.Size = new System.Drawing.Size(184, 17);
|
||||
this.HideActiveClientThumbnailCheckBox.TabIndex = 20;
|
||||
this.HideActiveClientThumbnailCheckBox.Text = "Hide preview of active EVE client";
|
||||
this.HideActiveClientThumbnailCheckBox.UseVisualStyleBackColor = true;
|
||||
this.HideActiveClientThumbnailCheckBox.CheckedChanged += new System.EventHandler(this.OptionChanged_Handler);
|
||||
//
|
||||
// ShowThumbnailsAlwaysOnTopCheckBox
|
||||
//
|
||||
this.ShowThumbnailsAlwaysOnTopCheckBox.AutoSize = true;
|
||||
this.ShowThumbnailsAlwaysOnTopCheckBox.Checked = true;
|
||||
this.ShowThumbnailsAlwaysOnTopCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.ShowThumbnailsAlwaysOnTopCheckBox.Location = new System.Drawing.Point(8, 79);
|
||||
this.ShowThumbnailsAlwaysOnTopCheckBox.Name = "ShowThumbnailsAlwaysOnTopCheckBox";
|
||||
this.ShowThumbnailsAlwaysOnTopCheckBox.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.ShowThumbnailsAlwaysOnTopCheckBox.Size = new System.Drawing.Size(137, 17);
|
||||
this.ShowThumbnailsAlwaysOnTopCheckBox.TabIndex = 21;
|
||||
this.ShowThumbnailsAlwaysOnTopCheckBox.Text = "Previews always on top";
|
||||
this.ShowThumbnailsAlwaysOnTopCheckBox.UseVisualStyleBackColor = true;
|
||||
this.ShowThumbnailsAlwaysOnTopCheckBox.CheckedChanged += new System.EventHandler(this.OptionChanged_Handler);
|
||||
//
|
||||
// HideThumbnailsOnLostFocusCheckBox
|
||||
//
|
||||
this.HideThumbnailsOnLostFocusCheckBox.AutoSize = true;
|
||||
this.HideThumbnailsOnLostFocusCheckBox.Checked = true;
|
||||
this.HideThumbnailsOnLostFocusCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.HideThumbnailsOnLostFocusCheckBox.Location = new System.Drawing.Point(8, 103);
|
||||
this.HideThumbnailsOnLostFocusCheckBox.Name = "HideThumbnailsOnLostFocusCheckBox";
|
||||
this.HideThumbnailsOnLostFocusCheckBox.Size = new System.Drawing.Size(234, 17);
|
||||
this.HideThumbnailsOnLostFocusCheckBox.TabIndex = 22;
|
||||
this.HideThumbnailsOnLostFocusCheckBox.Text = "Hide previews when EVE client is not active";
|
||||
this.HideThumbnailsOnLostFocusCheckBox.UseVisualStyleBackColor = true;
|
||||
this.HideThumbnailsOnLostFocusCheckBox.CheckedChanged += new System.EventHandler(this.OptionChanged_Handler);
|
||||
//
|
||||
// EnablePerClientThumbnailsLayoutsCheckBox
|
||||
//
|
||||
this.EnablePerClientThumbnailsLayoutsCheckBox.AutoSize = true;
|
||||
this.EnablePerClientThumbnailsLayoutsCheckBox.Checked = true;
|
||||
this.EnablePerClientThumbnailsLayoutsCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.EnablePerClientThumbnailsLayoutsCheckBox.Location = new System.Drawing.Point(8, 127);
|
||||
this.EnablePerClientThumbnailsLayoutsCheckBox.Name = "EnablePerClientThumbnailsLayoutsCheckBox";
|
||||
this.EnablePerClientThumbnailsLayoutsCheckBox.Size = new System.Drawing.Size(185, 17);
|
||||
this.EnablePerClientThumbnailsLayoutsCheckBox.TabIndex = 23;
|
||||
this.EnablePerClientThumbnailsLayoutsCheckBox.Text = "Unique layout for each EVE client";
|
||||
this.EnablePerClientThumbnailsLayoutsCheckBox.UseVisualStyleBackColor = true;
|
||||
this.EnablePerClientThumbnailsLayoutsCheckBox.CheckedChanged += new System.EventHandler(this.OptionChanged_Handler);
|
||||
//
|
||||
// MinimizeToTrayCheckBox
|
||||
//
|
||||
this.MinimizeToTrayCheckBox.AutoSize = true;
|
||||
this.MinimizeToTrayCheckBox.Location = new System.Drawing.Point(8, 7);
|
||||
this.MinimizeToTrayCheckBox.Name = "MinimizeToTrayCheckBox";
|
||||
this.MinimizeToTrayCheckBox.Size = new System.Drawing.Size(139, 17);
|
||||
this.MinimizeToTrayCheckBox.TabIndex = 18;
|
||||
this.MinimizeToTrayCheckBox.Text = "Minimize to System Tray";
|
||||
this.MinimizeToTrayCheckBox.UseVisualStyleBackColor = true;
|
||||
this.MinimizeToTrayCheckBox.CheckedChanged += new System.EventHandler(this.OptionChanged_Handler);
|
||||
//
|
||||
// ThumbnailTabPage
|
||||
//
|
||||
ThumbnailTabPage.BackColor = System.Drawing.SystemColors.Control;
|
||||
ThumbnailTabPage.Controls.Add(ThumbnailSettingsPanel);
|
||||
ThumbnailTabPage.Location = new System.Drawing.Point(124, 4);
|
||||
ThumbnailTabPage.Name = "ThumbnailTabPage";
|
||||
ThumbnailTabPage.Padding = new System.Windows.Forms.Padding(3);
|
||||
ThumbnailTabPage.Size = new System.Drawing.Size(262, 210);
|
||||
ThumbnailTabPage.TabIndex = 1;
|
||||
ThumbnailTabPage.Text = "Thumbnail";
|
||||
//
|
||||
// ThumbnailSettingsPanel
|
||||
//
|
||||
ThumbnailSettingsPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
ThumbnailSettingsPanel.Controls.Add(HeigthLabel);
|
||||
ThumbnailSettingsPanel.Controls.Add(WidthLabel);
|
||||
ThumbnailSettingsPanel.Controls.Add(this.ThumbnailsWidthNumericEdit);
|
||||
ThumbnailSettingsPanel.Controls.Add(this.ThumbnailsHeightNumericEdit);
|
||||
ThumbnailSettingsPanel.Controls.Add(this.ThumbnailOpacityTrackBar);
|
||||
ThumbnailSettingsPanel.Controls.Add(OpacityLabel);
|
||||
ThumbnailSettingsPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
ThumbnailSettingsPanel.Location = new System.Drawing.Point(3, 3);
|
||||
ThumbnailSettingsPanel.Name = "ThumbnailSettingsPanel";
|
||||
ThumbnailSettingsPanel.Size = new System.Drawing.Size(256, 204);
|
||||
ThumbnailSettingsPanel.TabIndex = 19;
|
||||
//
|
||||
// HeigthLabel
|
||||
//
|
||||
HeigthLabel.AutoSize = true;
|
||||
HeigthLabel.Location = new System.Drawing.Point(8, 57);
|
||||
HeigthLabel.Name = "HeigthLabel";
|
||||
HeigthLabel.Size = new System.Drawing.Size(90, 13);
|
||||
HeigthLabel.TabIndex = 24;
|
||||
HeigthLabel.Text = "Thumbnail Heigth";
|
||||
//
|
||||
// WidthLabel
|
||||
//
|
||||
WidthLabel.AutoSize = true;
|
||||
WidthLabel.Location = new System.Drawing.Point(8, 33);
|
||||
WidthLabel.Name = "WidthLabel";
|
||||
WidthLabel.Size = new System.Drawing.Size(87, 13);
|
||||
WidthLabel.TabIndex = 23;
|
||||
WidthLabel.Text = "Thumbnail Width";
|
||||
//
|
||||
// ThumbnailsWidthNumericEdit
|
||||
//
|
||||
this.ThumbnailsWidthNumericEdit.BackColor = System.Drawing.SystemColors.Window;
|
||||
this.ThumbnailsWidthNumericEdit.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.ThumbnailsWidthNumericEdit.CausesValidation = false;
|
||||
this.ThumbnailsWidthNumericEdit.Increment = new decimal(new int[] {
|
||||
10,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.ThumbnailsWidthNumericEdit.Location = new System.Drawing.Point(105, 31);
|
||||
this.ThumbnailsWidthNumericEdit.Maximum = new decimal(new int[] {
|
||||
999999,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.ThumbnailsWidthNumericEdit.Name = "ThumbnailsWidthNumericEdit";
|
||||
this.ThumbnailsWidthNumericEdit.Size = new System.Drawing.Size(48, 20);
|
||||
this.ThumbnailsWidthNumericEdit.TabIndex = 21;
|
||||
this.ThumbnailsWidthNumericEdit.Value = new decimal(new int[] {
|
||||
100,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.ThumbnailsWidthNumericEdit.ValueChanged += new System.EventHandler(this.ThumbnailSizeChanged_Handler);
|
||||
//
|
||||
// ThumbnailsHeightNumericEdit
|
||||
//
|
||||
this.ThumbnailsHeightNumericEdit.BackColor = System.Drawing.SystemColors.Window;
|
||||
this.ThumbnailsHeightNumericEdit.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.ThumbnailsHeightNumericEdit.CausesValidation = false;
|
||||
this.ThumbnailsHeightNumericEdit.Increment = new decimal(new int[] {
|
||||
10,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.ThumbnailsHeightNumericEdit.Location = new System.Drawing.Point(105, 55);
|
||||
this.ThumbnailsHeightNumericEdit.Maximum = new decimal(new int[] {
|
||||
99999999,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.ThumbnailsHeightNumericEdit.Name = "ThumbnailsHeightNumericEdit";
|
||||
this.ThumbnailsHeightNumericEdit.Size = new System.Drawing.Size(48, 20);
|
||||
this.ThumbnailsHeightNumericEdit.TabIndex = 22;
|
||||
this.ThumbnailsHeightNumericEdit.Value = new decimal(new int[] {
|
||||
70,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.ThumbnailsHeightNumericEdit.ValueChanged += new System.EventHandler(this.ThumbnailSizeChanged_Handler);
|
||||
//
|
||||
// ThumbnailOpacityTrackBar
|
||||
//
|
||||
this.ThumbnailOpacityTrackBar.AutoSize = false;
|
||||
this.ThumbnailOpacityTrackBar.LargeChange = 10;
|
||||
this.ThumbnailOpacityTrackBar.Location = new System.Drawing.Point(61, 6);
|
||||
this.ThumbnailOpacityTrackBar.Maximum = 100;
|
||||
this.ThumbnailOpacityTrackBar.Minimum = 20;
|
||||
this.ThumbnailOpacityTrackBar.Name = "ThumbnailOpacityTrackBar";
|
||||
this.ThumbnailOpacityTrackBar.Size = new System.Drawing.Size(191, 22);
|
||||
this.ThumbnailOpacityTrackBar.TabIndex = 20;
|
||||
this.ThumbnailOpacityTrackBar.TickFrequency = 10;
|
||||
this.ThumbnailOpacityTrackBar.Value = 20;
|
||||
this.ThumbnailOpacityTrackBar.ValueChanged += new System.EventHandler(this.OptionChanged_Handler);
|
||||
//
|
||||
// OpacityLabel
|
||||
//
|
||||
OpacityLabel.AutoSize = true;
|
||||
OpacityLabel.Location = new System.Drawing.Point(8, 9);
|
||||
OpacityLabel.Name = "OpacityLabel";
|
||||
OpacityLabel.Size = new System.Drawing.Size(43, 13);
|
||||
OpacityLabel.TabIndex = 19;
|
||||
OpacityLabel.Text = "Opacity";
|
||||
//
|
||||
// ZoomTabPage
|
||||
//
|
||||
this.ZoomTabPage.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.ZoomTabPage.Controls.Add(ZoomSettingsPanel);
|
||||
this.ZoomTabPage.Location = new System.Drawing.Point(124, 4);
|
||||
this.ZoomTabPage.Name = "ZoomTabPage";
|
||||
this.ZoomTabPage.Size = new System.Drawing.Size(262, 210);
|
||||
this.ZoomTabPage.TabIndex = 2;
|
||||
this.ZoomTabPage.Text = "Zoom";
|
||||
//
|
||||
// ZoomSettingsPanel
|
||||
//
|
||||
ZoomSettingsPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
ZoomSettingsPanel.Controls.Add(ZoomFactorLabel);
|
||||
ZoomSettingsPanel.Controls.Add(this.ZoomAnchorPanel);
|
||||
ZoomSettingsPanel.Controls.Add(ZoomAnchorLabel);
|
||||
ZoomSettingsPanel.Controls.Add(this.EnableThumbnailZoomCheckBox);
|
||||
ZoomSettingsPanel.Controls.Add(this.ThumbnailZoomFactorNumericEdit);
|
||||
ZoomSettingsPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
ZoomSettingsPanel.Location = new System.Drawing.Point(0, 0);
|
||||
ZoomSettingsPanel.Name = "ZoomSettingsPanel";
|
||||
ZoomSettingsPanel.Size = new System.Drawing.Size(262, 210);
|
||||
ZoomSettingsPanel.TabIndex = 36;
|
||||
//
|
||||
// ZoomFactorLabel
|
||||
//
|
||||
ZoomFactorLabel.AutoSize = true;
|
||||
ZoomFactorLabel.Location = new System.Drawing.Point(8, 33);
|
||||
ZoomFactorLabel.Name = "ZoomFactorLabel";
|
||||
ZoomFactorLabel.Size = new System.Drawing.Size(67, 13);
|
||||
ZoomFactorLabel.TabIndex = 39;
|
||||
ZoomFactorLabel.Text = "Zoom Factor";
|
||||
//
|
||||
// ZoomAnchorPanel
|
||||
//
|
||||
this.ZoomAnchorPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.ZoomAnchorPanel.Controls.Add(this.ZoomAanchorNWRadioButton);
|
||||
this.ZoomAnchorPanel.Controls.Add(this.ZoomAanchorNRadioButton);
|
||||
this.ZoomAnchorPanel.Controls.Add(this.ZoomAanchorNERadioButton);
|
||||
this.ZoomAnchorPanel.Controls.Add(this.ZoomAanchorWRadioButton);
|
||||
this.ZoomAnchorPanel.Controls.Add(this.ZoomAanchorSERadioButton);
|
||||
this.ZoomAnchorPanel.Controls.Add(this.ZoomAanchorCRadioButton);
|
||||
this.ZoomAnchorPanel.Controls.Add(this.ZoomAanchorSRadioButton);
|
||||
this.ZoomAnchorPanel.Controls.Add(this.ZoomAanchorERadioButton);
|
||||
this.ZoomAnchorPanel.Controls.Add(this.ZoomAanchorSWRadioButton);
|
||||
this.ZoomAnchorPanel.Location = new System.Drawing.Point(81, 54);
|
||||
this.ZoomAnchorPanel.Name = "ZoomAnchorPanel";
|
||||
this.ZoomAnchorPanel.Size = new System.Drawing.Size(77, 73);
|
||||
this.ZoomAnchorPanel.TabIndex = 38;
|
||||
//
|
||||
// ZoomAanchorNWRadioButton
|
||||
//
|
||||
this.ZoomAanchorNWRadioButton.AutoSize = true;
|
||||
this.ZoomAanchorNWRadioButton.Location = new System.Drawing.Point(3, 3);
|
||||
this.ZoomAanchorNWRadioButton.Name = "ZoomAanchorNWRadioButton";
|
||||
this.ZoomAanchorNWRadioButton.Size = new System.Drawing.Size(14, 13);
|
||||
this.ZoomAanchorNWRadioButton.TabIndex = 0;
|
||||
this.ZoomAanchorNWRadioButton.TabStop = true;
|
||||
this.ZoomAanchorNWRadioButton.UseVisualStyleBackColor = true;
|
||||
this.ZoomAanchorNWRadioButton.CheckedChanged += new System.EventHandler(this.OptionChanged_Handler);
|
||||
//
|
||||
// ZoomAanchorNRadioButton
|
||||
//
|
||||
this.ZoomAanchorNRadioButton.AutoSize = true;
|
||||
this.ZoomAanchorNRadioButton.Location = new System.Drawing.Point(31, 3);
|
||||
this.ZoomAanchorNRadioButton.Name = "ZoomAanchorNRadioButton";
|
||||
this.ZoomAanchorNRadioButton.Size = new System.Drawing.Size(14, 13);
|
||||
this.ZoomAanchorNRadioButton.TabIndex = 1;
|
||||
this.ZoomAanchorNRadioButton.TabStop = true;
|
||||
this.ZoomAanchorNRadioButton.UseVisualStyleBackColor = true;
|
||||
this.ZoomAanchorNRadioButton.CheckedChanged += new System.EventHandler(this.OptionChanged_Handler);
|
||||
//
|
||||
// ZoomAanchorNERadioButton
|
||||
//
|
||||
this.ZoomAanchorNERadioButton.AutoSize = true;
|
||||
this.ZoomAanchorNERadioButton.Location = new System.Drawing.Point(59, 3);
|
||||
this.ZoomAanchorNERadioButton.Name = "ZoomAanchorNERadioButton";
|
||||
this.ZoomAanchorNERadioButton.Size = new System.Drawing.Size(14, 13);
|
||||
this.ZoomAanchorNERadioButton.TabIndex = 2;
|
||||
this.ZoomAanchorNERadioButton.TabStop = true;
|
||||
this.ZoomAanchorNERadioButton.UseVisualStyleBackColor = true;
|
||||
this.ZoomAanchorNERadioButton.CheckedChanged += new System.EventHandler(this.OptionChanged_Handler);
|
||||
//
|
||||
// ZoomAanchorWRadioButton
|
||||
//
|
||||
this.ZoomAanchorWRadioButton.AutoSize = true;
|
||||
this.ZoomAanchorWRadioButton.Location = new System.Drawing.Point(3, 29);
|
||||
this.ZoomAanchorWRadioButton.Name = "ZoomAanchorWRadioButton";
|
||||
this.ZoomAanchorWRadioButton.Size = new System.Drawing.Size(14, 13);
|
||||
this.ZoomAanchorWRadioButton.TabIndex = 3;
|
||||
this.ZoomAanchorWRadioButton.TabStop = true;
|
||||
this.ZoomAanchorWRadioButton.UseVisualStyleBackColor = true;
|
||||
this.ZoomAanchorWRadioButton.CheckedChanged += new System.EventHandler(this.OptionChanged_Handler);
|
||||
//
|
||||
// ZoomAanchorSERadioButton
|
||||
//
|
||||
this.ZoomAanchorSERadioButton.AutoSize = true;
|
||||
this.ZoomAanchorSERadioButton.Location = new System.Drawing.Point(59, 55);
|
||||
this.ZoomAanchorSERadioButton.Name = "ZoomAanchorSERadioButton";
|
||||
this.ZoomAanchorSERadioButton.Size = new System.Drawing.Size(14, 13);
|
||||
this.ZoomAanchorSERadioButton.TabIndex = 8;
|
||||
this.ZoomAanchorSERadioButton.TabStop = true;
|
||||
this.ZoomAanchorSERadioButton.UseVisualStyleBackColor = true;
|
||||
this.ZoomAanchorSERadioButton.CheckedChanged += new System.EventHandler(this.OptionChanged_Handler);
|
||||
//
|
||||
// ZoomAanchorCRadioButton
|
||||
//
|
||||
this.ZoomAanchorCRadioButton.AutoSize = true;
|
||||
this.ZoomAanchorCRadioButton.Location = new System.Drawing.Point(31, 29);
|
||||
this.ZoomAanchorCRadioButton.Name = "ZoomAanchorCRadioButton";
|
||||
this.ZoomAanchorCRadioButton.Size = new System.Drawing.Size(14, 13);
|
||||
this.ZoomAanchorCRadioButton.TabIndex = 4;
|
||||
this.ZoomAanchorCRadioButton.TabStop = true;
|
||||
this.ZoomAanchorCRadioButton.UseVisualStyleBackColor = true;
|
||||
this.ZoomAanchorCRadioButton.CheckedChanged += new System.EventHandler(this.OptionChanged_Handler);
|
||||
//
|
||||
// ZoomAanchorSRadioButton
|
||||
//
|
||||
this.ZoomAanchorSRadioButton.AutoSize = true;
|
||||
this.ZoomAanchorSRadioButton.Location = new System.Drawing.Point(31, 55);
|
||||
this.ZoomAanchorSRadioButton.Name = "ZoomAanchorSRadioButton";
|
||||
this.ZoomAanchorSRadioButton.Size = new System.Drawing.Size(14, 13);
|
||||
this.ZoomAanchorSRadioButton.TabIndex = 7;
|
||||
this.ZoomAanchorSRadioButton.TabStop = true;
|
||||
this.ZoomAanchorSRadioButton.UseVisualStyleBackColor = true;
|
||||
this.ZoomAanchorSRadioButton.CheckedChanged += new System.EventHandler(this.OptionChanged_Handler);
|
||||
//
|
||||
// ZoomAanchorERadioButton
|
||||
//
|
||||
this.ZoomAanchorERadioButton.AutoSize = true;
|
||||
this.ZoomAanchorERadioButton.Location = new System.Drawing.Point(59, 29);
|
||||
this.ZoomAanchorERadioButton.Name = "ZoomAanchorERadioButton";
|
||||
this.ZoomAanchorERadioButton.Size = new System.Drawing.Size(14, 13);
|
||||
this.ZoomAanchorERadioButton.TabIndex = 5;
|
||||
this.ZoomAanchorERadioButton.TabStop = true;
|
||||
this.ZoomAanchorERadioButton.UseVisualStyleBackColor = true;
|
||||
this.ZoomAanchorERadioButton.CheckedChanged += new System.EventHandler(this.OptionChanged_Handler);
|
||||
//
|
||||
// ZoomAanchorSWRadioButton
|
||||
//
|
||||
this.ZoomAanchorSWRadioButton.AutoSize = true;
|
||||
this.ZoomAanchorSWRadioButton.Location = new System.Drawing.Point(3, 55);
|
||||
this.ZoomAanchorSWRadioButton.Name = "ZoomAanchorSWRadioButton";
|
||||
this.ZoomAanchorSWRadioButton.Size = new System.Drawing.Size(14, 13);
|
||||
this.ZoomAanchorSWRadioButton.TabIndex = 6;
|
||||
this.ZoomAanchorSWRadioButton.TabStop = true;
|
||||
this.ZoomAanchorSWRadioButton.UseVisualStyleBackColor = true;
|
||||
this.ZoomAanchorSWRadioButton.CheckedChanged += new System.EventHandler(this.OptionChanged_Handler);
|
||||
//
|
||||
// ZoomAnchorLabel
|
||||
//
|
||||
ZoomAnchorLabel.AutoSize = true;
|
||||
ZoomAnchorLabel.Location = new System.Drawing.Point(8, 57);
|
||||
ZoomAnchorLabel.Name = "ZoomAnchorLabel";
|
||||
ZoomAnchorLabel.Size = new System.Drawing.Size(41, 13);
|
||||
ZoomAnchorLabel.TabIndex = 40;
|
||||
ZoomAnchorLabel.Text = "Anchor";
|
||||
//
|
||||
// EnableThumbnailZoomCheckBox
|
||||
//
|
||||
this.EnableThumbnailZoomCheckBox.AutoSize = true;
|
||||
this.EnableThumbnailZoomCheckBox.Checked = true;
|
||||
this.EnableThumbnailZoomCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.EnableThumbnailZoomCheckBox.Location = new System.Drawing.Point(8, 7);
|
||||
this.EnableThumbnailZoomCheckBox.Name = "EnableThumbnailZoomCheckBox";
|
||||
this.EnableThumbnailZoomCheckBox.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.EnableThumbnailZoomCheckBox.Size = new System.Drawing.Size(98, 17);
|
||||
this.EnableThumbnailZoomCheckBox.TabIndex = 36;
|
||||
this.EnableThumbnailZoomCheckBox.Text = "Zoom on hover";
|
||||
this.EnableThumbnailZoomCheckBox.UseVisualStyleBackColor = true;
|
||||
this.EnableThumbnailZoomCheckBox.CheckedChanged += new System.EventHandler(this.OptionChanged_Handler);
|
||||
//
|
||||
// ThumbnailZoomFactorNumericEdit
|
||||
//
|
||||
this.ThumbnailZoomFactorNumericEdit.BackColor = System.Drawing.SystemColors.Window;
|
||||
this.ThumbnailZoomFactorNumericEdit.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.ThumbnailZoomFactorNumericEdit.Location = new System.Drawing.Point(81, 31);
|
||||
this.ThumbnailZoomFactorNumericEdit.Maximum = new decimal(new int[] {
|
||||
10,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.ThumbnailZoomFactorNumericEdit.Minimum = new decimal(new int[] {
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.ThumbnailZoomFactorNumericEdit.Name = "ThumbnailZoomFactorNumericEdit";
|
||||
this.ThumbnailZoomFactorNumericEdit.Size = new System.Drawing.Size(38, 20);
|
||||
this.ThumbnailZoomFactorNumericEdit.TabIndex = 37;
|
||||
this.ThumbnailZoomFactorNumericEdit.Value = new decimal(new int[] {
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.ThumbnailZoomFactorNumericEdit.ValueChanged += new System.EventHandler(this.OptionChanged_Handler);
|
||||
//
|
||||
// OverlayTabPage
|
||||
//
|
||||
OverlayTabPage.BackColor = System.Drawing.SystemColors.Control;
|
||||
OverlayTabPage.Controls.Add(OverlaySettingsPanel);
|
||||
OverlayTabPage.Location = new System.Drawing.Point(124, 4);
|
||||
OverlayTabPage.Name = "OverlayTabPage";
|
||||
OverlayTabPage.Size = new System.Drawing.Size(262, 210);
|
||||
OverlayTabPage.TabIndex = 3;
|
||||
OverlayTabPage.Text = "Overlay";
|
||||
//
|
||||
// OverlaySettingsPanel
|
||||
//
|
||||
OverlaySettingsPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
OverlaySettingsPanel.Controls.Add(this.HighlightColorLabel);
|
||||
OverlaySettingsPanel.Controls.Add(this.ActiveClientHighlightColorButton);
|
||||
OverlaySettingsPanel.Controls.Add(this.EnableActiveClientHighlightCheckBox);
|
||||
OverlaySettingsPanel.Controls.Add(this.ShowThumbnailOverlaysCheckBox);
|
||||
OverlaySettingsPanel.Controls.Add(this.ShowThumbnailFramesCheckBox);
|
||||
OverlaySettingsPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
OverlaySettingsPanel.Location = new System.Drawing.Point(0, 0);
|
||||
OverlaySettingsPanel.Name = "OverlaySettingsPanel";
|
||||
OverlaySettingsPanel.Size = new System.Drawing.Size(262, 210);
|
||||
OverlaySettingsPanel.TabIndex = 25;
|
||||
//
|
||||
// HighlightColorLabel
|
||||
//
|
||||
this.HighlightColorLabel.AutoSize = true;
|
||||
this.HighlightColorLabel.Location = new System.Drawing.Point(5, 78);
|
||||
this.HighlightColorLabel.Name = "HighlightColorLabel";
|
||||
this.HighlightColorLabel.Size = new System.Drawing.Size(31, 13);
|
||||
this.HighlightColorLabel.TabIndex = 29;
|
||||
this.HighlightColorLabel.Text = "Color";
|
||||
//
|
||||
// ActiveClientHighlightColorButton
|
||||
//
|
||||
this.ActiveClientHighlightColorButton.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.ActiveClientHighlightColorButton.Location = new System.Drawing.Point(42, 77);
|
||||
this.ActiveClientHighlightColorButton.Name = "ActiveClientHighlightColorButton";
|
||||
this.ActiveClientHighlightColorButton.Size = new System.Drawing.Size(93, 17);
|
||||
this.ActiveClientHighlightColorButton.TabIndex = 28;
|
||||
this.ActiveClientHighlightColorButton.Click += new System.EventHandler(this.ActiveClientHighlightColorButton_Click);
|
||||
//
|
||||
// EnableActiveClientHighlightCheckBox
|
||||
//
|
||||
this.EnableActiveClientHighlightCheckBox.AutoSize = true;
|
||||
this.EnableActiveClientHighlightCheckBox.Checked = true;
|
||||
this.EnableActiveClientHighlightCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.EnableActiveClientHighlightCheckBox.Location = new System.Drawing.Point(8, 55);
|
||||
this.EnableActiveClientHighlightCheckBox.Name = "EnableActiveClientHighlightCheckBox";
|
||||
this.EnableActiveClientHighlightCheckBox.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.EnableActiveClientHighlightCheckBox.Size = new System.Drawing.Size(127, 17);
|
||||
this.EnableActiveClientHighlightCheckBox.TabIndex = 27;
|
||||
this.EnableActiveClientHighlightCheckBox.Text = "Highlight active client";
|
||||
this.EnableActiveClientHighlightCheckBox.UseVisualStyleBackColor = true;
|
||||
this.EnableActiveClientHighlightCheckBox.CheckedChanged += new System.EventHandler(this.OptionChanged_Handler);
|
||||
//
|
||||
// ShowThumbnailOverlaysCheckBox
|
||||
//
|
||||
this.ShowThumbnailOverlaysCheckBox.AutoSize = true;
|
||||
this.ShowThumbnailOverlaysCheckBox.Checked = true;
|
||||
this.ShowThumbnailOverlaysCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.ShowThumbnailOverlaysCheckBox.Location = new System.Drawing.Point(8, 7);
|
||||
this.ShowThumbnailOverlaysCheckBox.Name = "ShowThumbnailOverlaysCheckBox";
|
||||
this.ShowThumbnailOverlaysCheckBox.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.ShowThumbnailOverlaysCheckBox.Size = new System.Drawing.Size(90, 17);
|
||||
this.ShowThumbnailOverlaysCheckBox.TabIndex = 25;
|
||||
this.ShowThumbnailOverlaysCheckBox.Text = "Show overlay";
|
||||
this.ShowThumbnailOverlaysCheckBox.UseVisualStyleBackColor = true;
|
||||
this.ShowThumbnailOverlaysCheckBox.CheckedChanged += new System.EventHandler(this.OptionChanged_Handler);
|
||||
//
|
||||
// ShowThumbnailFramesCheckBox
|
||||
//
|
||||
this.ShowThumbnailFramesCheckBox.AutoSize = true;
|
||||
this.ShowThumbnailFramesCheckBox.Checked = true;
|
||||
this.ShowThumbnailFramesCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.ShowThumbnailFramesCheckBox.Location = new System.Drawing.Point(8, 31);
|
||||
this.ShowThumbnailFramesCheckBox.Name = "ShowThumbnailFramesCheckBox";
|
||||
this.ShowThumbnailFramesCheckBox.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.ShowThumbnailFramesCheckBox.Size = new System.Drawing.Size(87, 17);
|
||||
this.ShowThumbnailFramesCheckBox.TabIndex = 26;
|
||||
this.ShowThumbnailFramesCheckBox.Text = "Show frames";
|
||||
this.ShowThumbnailFramesCheckBox.UseVisualStyleBackColor = true;
|
||||
this.ShowThumbnailFramesCheckBox.CheckedChanged += new System.EventHandler(this.OptionChanged_Handler);
|
||||
//
|
||||
// ClientsTabPage
|
||||
//
|
||||
ClientsTabPage.BackColor = System.Drawing.SystemColors.Control;
|
||||
ClientsTabPage.Controls.Add(ClientsPanel);
|
||||
ClientsTabPage.Location = new System.Drawing.Point(124, 4);
|
||||
ClientsTabPage.Name = "ClientsTabPage";
|
||||
ClientsTabPage.Size = new System.Drawing.Size(262, 210);
|
||||
ClientsTabPage.TabIndex = 4;
|
||||
ClientsTabPage.Text = "Active Clients";
|
||||
//
|
||||
// ClientsPanel
|
||||
//
|
||||
ClientsPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
ClientsPanel.Controls.Add(this.ThumbnailsList);
|
||||
ClientsPanel.Controls.Add(ThumbnailsListLabel);
|
||||
ClientsPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
ClientsPanel.Location = new System.Drawing.Point(0, 0);
|
||||
ClientsPanel.Name = "ClientsPanel";
|
||||
ClientsPanel.Size = new System.Drawing.Size(262, 210);
|
||||
ClientsPanel.TabIndex = 32;
|
||||
//
|
||||
// ThumbnailsList
|
||||
//
|
||||
this.ThumbnailsList.BackColor = System.Drawing.SystemColors.Window;
|
||||
this.ThumbnailsList.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.ThumbnailsList.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.ThumbnailsList.FormattingEnabled = true;
|
||||
this.ThumbnailsList.IntegralHeight = false;
|
||||
this.ThumbnailsList.Location = new System.Drawing.Point(0, 28);
|
||||
this.ThumbnailsList.Name = "ThumbnailsList";
|
||||
this.ThumbnailsList.Size = new System.Drawing.Size(260, 180);
|
||||
this.ThumbnailsList.TabIndex = 34;
|
||||
this.ThumbnailsList.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.ThumbnailsList_ItemCheck_Handler);
|
||||
//
|
||||
// ThumbnailsListLabel
|
||||
//
|
||||
ThumbnailsListLabel.AutoSize = true;
|
||||
ThumbnailsListLabel.Location = new System.Drawing.Point(8, 9);
|
||||
ThumbnailsListLabel.Name = "ThumbnailsListLabel";
|
||||
ThumbnailsListLabel.Size = new System.Drawing.Size(162, 13);
|
||||
ThumbnailsListLabel.TabIndex = 33;
|
||||
ThumbnailsListLabel.Text = "Thumbnails (check to force hide)";
|
||||
//
|
||||
// AboutTabPage
|
||||
//
|
||||
AboutTabPage.BackColor = System.Drawing.SystemColors.Control;
|
||||
AboutTabPage.Controls.Add(AboutPanel);
|
||||
AboutTabPage.Location = new System.Drawing.Point(124, 4);
|
||||
AboutTabPage.Name = "AboutTabPage";
|
||||
AboutTabPage.Size = new System.Drawing.Size(262, 210);
|
||||
AboutTabPage.TabIndex = 5;
|
||||
AboutTabPage.Text = "About";
|
||||
//
|
||||
// AboutPanel
|
||||
//
|
||||
AboutPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
AboutPanel.Controls.Add(DocumentationLinkLabel);
|
||||
AboutPanel.Controls.Add(DescriptionLabel);
|
||||
AboutPanel.Controls.Add(this.VersionLabel);
|
||||
AboutPanel.Controls.Add(NameLabel);
|
||||
AboutPanel.Controls.Add(this.DocumentationLink);
|
||||
AboutPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
AboutPanel.Location = new System.Drawing.Point(0, 0);
|
||||
AboutPanel.Name = "AboutPanel";
|
||||
AboutPanel.Size = new System.Drawing.Size(262, 210);
|
||||
AboutPanel.TabIndex = 2;
|
||||
//
|
||||
// DocumentationLinkLabel
|
||||
//
|
||||
DocumentationLinkLabel.AutoSize = true;
|
||||
DocumentationLinkLabel.Location = new System.Drawing.Point(0, 157);
|
||||
DocumentationLinkLabel.Name = "DocumentationLinkLabel";
|
||||
DocumentationLinkLabel.Padding = new System.Windows.Forms.Padding(8, 3, 8, 3);
|
||||
DocumentationLinkLabel.Size = new System.Drawing.Size(222, 19);
|
||||
DocumentationLinkLabel.TabIndex = 6;
|
||||
DocumentationLinkLabel.Text = "For more information visit our forum thread:";
|
||||
//
|
||||
// DescriptionLabel
|
||||
//
|
||||
DescriptionLabel.Location = new System.Drawing.Point(0, 41);
|
||||
DescriptionLabel.Name = "DescriptionLabel";
|
||||
DescriptionLabel.Padding = new System.Windows.Forms.Padding(8, 3, 8, 3);
|
||||
DescriptionLabel.Size = new System.Drawing.Size(261, 116);
|
||||
DescriptionLabel.TabIndex = 5;
|
||||
DescriptionLabel.Text = resources.GetString("DescriptionLabel.Text");
|
||||
//
|
||||
// VersionLabel
|
||||
//
|
||||
this.VersionLabel.AutoSize = true;
|
||||
this.VersionLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
this.VersionLabel.Location = new System.Drawing.Point(133, 9);
|
||||
this.VersionLabel.Name = "VersionLabel";
|
||||
this.VersionLabel.Size = new System.Drawing.Size(49, 20);
|
||||
this.VersionLabel.TabIndex = 4;
|
||||
this.VersionLabel.Text = "1.0.0";
|
||||
//
|
||||
// NameLabel
|
||||
//
|
||||
NameLabel.AutoSize = true;
|
||||
NameLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
NameLabel.Location = new System.Drawing.Point(4, 9);
|
||||
NameLabel.Name = "NameLabel";
|
||||
NameLabel.Size = new System.Drawing.Size(130, 20);
|
||||
NameLabel.TabIndex = 3;
|
||||
NameLabel.Text = "EVE-O Preview";
|
||||
//
|
||||
// DocumentationLink
|
||||
//
|
||||
this.DocumentationLink.Location = new System.Drawing.Point(0, 173);
|
||||
this.DocumentationLink.Margin = new System.Windows.Forms.Padding(30, 3, 3, 3);
|
||||
this.DocumentationLink.Name = "DocumentationLink";
|
||||
this.DocumentationLink.Padding = new System.Windows.Forms.Padding(8, 3, 8, 3);
|
||||
this.DocumentationLink.Size = new System.Drawing.Size(262, 33);
|
||||
this.DocumentationLink.TabIndex = 2;
|
||||
this.DocumentationLink.TabStop = true;
|
||||
this.DocumentationLink.Text = "to be set from prresenter to be set from prresenter to be set from prresenter to " +
|
||||
"be set from prresenter";
|
||||
this.DocumentationLink.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.DocumentationLinkClicked_Handler);
|
||||
//
|
||||
// NotifyIcon
|
||||
//
|
||||
this.NotifyIcon.ContextMenuStrip = this.TrayMenu;
|
||||
this.NotifyIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("NotifyIcon.Icon")));
|
||||
this.NotifyIcon.Text = "EVE-O Preview";
|
||||
this.NotifyIcon.Visible = true;
|
||||
this.NotifyIcon.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.RestoreMainForm_Handler);
|
||||
//
|
||||
// TrayMenu
|
||||
//
|
||||
this.TrayMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
TitleMenuItem,
|
||||
RestoreWindowMenuItem,
|
||||
SeparatorMenuItem,
|
||||
ExitMenuItem});
|
||||
this.TrayMenu.Name = "contextMenuStrip1";
|
||||
this.TrayMenu.Size = new System.Drawing.Size(152, 76);
|
||||
//
|
||||
// MainForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.ClientSize = new System.Drawing.Size(390, 218);
|
||||
this.Controls.Add(ContentTabControl);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.MaximizeBox = false;
|
||||
this.Name = "MainForm";
|
||||
this.Text = "EVE-O Preview";
|
||||
this.TopMost = true;
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainFormClosing_Handler);
|
||||
this.Load += new System.EventHandler(this.MainFormResize_Handler);
|
||||
this.Resize += new System.EventHandler(this.MainFormResize_Handler);
|
||||
ContentTabControl.ResumeLayout(false);
|
||||
GeneralTabPage.ResumeLayout(false);
|
||||
GeneralSettingsPanel.ResumeLayout(false);
|
||||
GeneralSettingsPanel.PerformLayout();
|
||||
ThumbnailTabPage.ResumeLayout(false);
|
||||
ThumbnailSettingsPanel.ResumeLayout(false);
|
||||
ThumbnailSettingsPanel.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ThumbnailsWidthNumericEdit)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ThumbnailsHeightNumericEdit)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ThumbnailOpacityTrackBar)).EndInit();
|
||||
this.ZoomTabPage.ResumeLayout(false);
|
||||
ZoomSettingsPanel.ResumeLayout(false);
|
||||
ZoomSettingsPanel.PerformLayout();
|
||||
this.ZoomAnchorPanel.ResumeLayout(false);
|
||||
this.ZoomAnchorPanel.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ThumbnailZoomFactorNumericEdit)).EndInit();
|
||||
OverlayTabPage.ResumeLayout(false);
|
||||
OverlaySettingsPanel.ResumeLayout(false);
|
||||
OverlaySettingsPanel.PerformLayout();
|
||||
ClientsTabPage.ResumeLayout(false);
|
||||
ClientsPanel.ResumeLayout(false);
|
||||
ClientsPanel.PerformLayout();
|
||||
AboutTabPage.ResumeLayout(false);
|
||||
AboutPanel.ResumeLayout(false);
|
||||
AboutPanel.PerformLayout();
|
||||
this.TrayMenu.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
private NotifyIcon NotifyIcon;
|
||||
private ContextMenuStrip TrayMenu;
|
||||
private TabPage ZoomTabPage;
|
||||
private CheckBox EnableClientLayoutTrackingCheckBox;
|
||||
private CheckBox HideActiveClientThumbnailCheckBox;
|
||||
private CheckBox ShowThumbnailsAlwaysOnTopCheckBox;
|
||||
private CheckBox HideThumbnailsOnLostFocusCheckBox;
|
||||
private CheckBox EnablePerClientThumbnailsLayoutsCheckBox;
|
||||
private CheckBox MinimizeToTrayCheckBox;
|
||||
private NumericUpDown ThumbnailsWidthNumericEdit;
|
||||
private NumericUpDown ThumbnailsHeightNumericEdit;
|
||||
private TrackBar ThumbnailOpacityTrackBar;
|
||||
private Panel ZoomAnchorPanel;
|
||||
private RadioButton ZoomAanchorNWRadioButton;
|
||||
private RadioButton ZoomAanchorNRadioButton;
|
||||
private RadioButton ZoomAanchorNERadioButton;
|
||||
private RadioButton ZoomAanchorWRadioButton;
|
||||
private RadioButton ZoomAanchorSERadioButton;
|
||||
private RadioButton ZoomAanchorCRadioButton;
|
||||
private RadioButton ZoomAanchorSRadioButton;
|
||||
private RadioButton ZoomAanchorERadioButton;
|
||||
private RadioButton ZoomAanchorSWRadioButton;
|
||||
private CheckBox EnableThumbnailZoomCheckBox;
|
||||
private NumericUpDown ThumbnailZoomFactorNumericEdit;
|
||||
private Label HighlightColorLabel;
|
||||
private Panel ActiveClientHighlightColorButton;
|
||||
private CheckBox EnableActiveClientHighlightCheckBox;
|
||||
private CheckBox ShowThumbnailOverlaysCheckBox;
|
||||
private CheckBox ShowThumbnailFramesCheckBox;
|
||||
private CheckedListBox ThumbnailsList;
|
||||
private LinkLabel DocumentationLink;
|
||||
private Label VersionLabel;
|
||||
}
|
||||
}
|
||||
409
Eve-O-Preview/View/Implementation/MainForm.cs
Normal file
409
Eve-O-Preview/View/Implementation/MainForm.cs
Normal file
@@ -0,0 +1,409 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using EveOPreview.UI;
|
||||
|
||||
namespace EveOPreview.View
|
||||
{
|
||||
public partial class MainForm : Form, IMainFormView
|
||||
{
|
||||
#region Private fields
|
||||
private readonly ApplicationContext _context;
|
||||
private readonly Dictionary<ViewZoomAnchor, RadioButton> _zoomAnchorMap;
|
||||
private ViewZoomAnchor _cachedThumbnailZoomAnchor;
|
||||
private bool _suppressEvents;
|
||||
private Size _minimumSize;
|
||||
private Size _maximumSize;
|
||||
#endregion
|
||||
|
||||
public MainForm(ApplicationContext context)
|
||||
{
|
||||
this._context = context;
|
||||
this._zoomAnchorMap = new Dictionary<ViewZoomAnchor, RadioButton>();
|
||||
this._cachedThumbnailZoomAnchor = ViewZoomAnchor.NW;
|
||||
this._suppressEvents = false;
|
||||
this._minimumSize = new Size(80, 60);
|
||||
this._maximumSize = new Size(80, 60);
|
||||
|
||||
InitializeComponent();
|
||||
|
||||
this.ThumbnailsList.DisplayMember = "Title";
|
||||
|
||||
this.InitZoomAnchorMap();
|
||||
}
|
||||
|
||||
public bool MinimizeToTray
|
||||
{
|
||||
get => this.MinimizeToTrayCheckBox.Checked;
|
||||
set => this.MinimizeToTrayCheckBox.Checked = value;
|
||||
}
|
||||
|
||||
public double ThumbnailOpacity
|
||||
{
|
||||
get => Math.Min(this.ThumbnailOpacityTrackBar.Value / 100.00, 1.00);
|
||||
set
|
||||
{
|
||||
int barValue = (int)(100.0 * value);
|
||||
if (barValue > 100)
|
||||
{
|
||||
barValue = 100;
|
||||
}
|
||||
else if (barValue < 10)
|
||||
{
|
||||
barValue = 10;
|
||||
}
|
||||
|
||||
this.ThumbnailOpacityTrackBar.Value = barValue;
|
||||
}
|
||||
}
|
||||
|
||||
public bool EnableClientLayoutTracking
|
||||
{
|
||||
get => this.EnableClientLayoutTrackingCheckBox.Checked;
|
||||
set => this.EnableClientLayoutTrackingCheckBox.Checked = value;
|
||||
}
|
||||
|
||||
public bool HideActiveClientThumbnail
|
||||
{
|
||||
get => this.HideActiveClientThumbnailCheckBox.Checked;
|
||||
set => this.HideActiveClientThumbnailCheckBox.Checked = value;
|
||||
}
|
||||
|
||||
public bool ShowThumbnailsAlwaysOnTop
|
||||
{
|
||||
get => this.ShowThumbnailsAlwaysOnTopCheckBox.Checked;
|
||||
set => this.ShowThumbnailsAlwaysOnTopCheckBox.Checked = value;
|
||||
}
|
||||
|
||||
public bool HideThumbnailsOnLostFocus
|
||||
{
|
||||
get => this.HideThumbnailsOnLostFocusCheckBox.Checked;
|
||||
set => this.HideThumbnailsOnLostFocusCheckBox.Checked = value;
|
||||
}
|
||||
|
||||
public bool EnablePerClientThumbnailLayouts
|
||||
{
|
||||
get => this.EnablePerClientThumbnailsLayoutsCheckBox.Checked;
|
||||
set => this.EnablePerClientThumbnailsLayoutsCheckBox.Checked = value;
|
||||
}
|
||||
|
||||
public Size ThumbnailSize
|
||||
{
|
||||
get => new Size((int)this.ThumbnailsWidthNumericEdit.Value, (int)this.ThumbnailsHeightNumericEdit.Value);
|
||||
set
|
||||
{
|
||||
this.ThumbnailsWidthNumericEdit.Value = value.Width;
|
||||
this.ThumbnailsHeightNumericEdit.Value = value.Height;
|
||||
}
|
||||
}
|
||||
|
||||
public bool EnableThumbnailZoom
|
||||
{
|
||||
get => this.EnableThumbnailZoomCheckBox.Checked;
|
||||
set
|
||||
{
|
||||
this.EnableThumbnailZoomCheckBox.Checked = value;
|
||||
this.RefreshZoomSettings();
|
||||
}
|
||||
}
|
||||
|
||||
public int ThumbnailZoomFactor
|
||||
{
|
||||
get => (int)this.ThumbnailZoomFactorNumericEdit.Value;
|
||||
set => this.ThumbnailZoomFactorNumericEdit.Value = value;
|
||||
}
|
||||
|
||||
public ViewZoomAnchor ThumbnailZoomAnchor
|
||||
{
|
||||
get
|
||||
{
|
||||
if (this._zoomAnchorMap[this._cachedThumbnailZoomAnchor].Checked)
|
||||
{
|
||||
return this._cachedThumbnailZoomAnchor;
|
||||
}
|
||||
|
||||
foreach (KeyValuePair<ViewZoomAnchor, RadioButton> valuePair in this._zoomAnchorMap)
|
||||
{
|
||||
if (!valuePair.Value.Checked)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
this._cachedThumbnailZoomAnchor = valuePair.Key;
|
||||
return this._cachedThumbnailZoomAnchor;
|
||||
}
|
||||
|
||||
// Default value
|
||||
return ViewZoomAnchor.NW;
|
||||
}
|
||||
set
|
||||
{
|
||||
this._cachedThumbnailZoomAnchor = value;
|
||||
this._zoomAnchorMap[this._cachedThumbnailZoomAnchor].Checked = true;
|
||||
}
|
||||
}
|
||||
|
||||
public bool ShowThumbnailOverlays
|
||||
{
|
||||
get => this.ShowThumbnailOverlaysCheckBox.Checked;
|
||||
set => this.ShowThumbnailOverlaysCheckBox.Checked = value;
|
||||
}
|
||||
|
||||
public bool ShowThumbnailFrames
|
||||
{
|
||||
get => this.ShowThumbnailFramesCheckBox.Checked;
|
||||
set => this.ShowThumbnailFramesCheckBox.Checked = value;
|
||||
}
|
||||
|
||||
public bool EnableActiveClientHighlight
|
||||
{
|
||||
get => this.EnableActiveClientHighlightCheckBox.Checked;
|
||||
set => this.EnableActiveClientHighlightCheckBox.Checked = value;
|
||||
}
|
||||
|
||||
public Color ActiveClientHighlightColor
|
||||
{
|
||||
get => this._activeClientHighlightColor;
|
||||
set
|
||||
{
|
||||
this._activeClientHighlightColor = value;
|
||||
this.ActiveClientHighlightColorButton.BackColor = value;
|
||||
}
|
||||
}
|
||||
private Color _activeClientHighlightColor;
|
||||
|
||||
public new void Show()
|
||||
{
|
||||
// Registers the current instance as the application's Main Form
|
||||
this._context.MainForm = this;
|
||||
|
||||
this._suppressEvents = true;
|
||||
this.FormActivated?.Invoke();
|
||||
this._suppressEvents = false;
|
||||
|
||||
Application.Run(this._context);
|
||||
}
|
||||
|
||||
public void SetThumbnailSizeLimitations(Size minimumSize, Size maximumSize)
|
||||
{
|
||||
this._minimumSize = minimumSize;
|
||||
this._maximumSize = maximumSize;
|
||||
}
|
||||
|
||||
public void Minimize()
|
||||
{
|
||||
this.WindowState = FormWindowState.Minimized;
|
||||
}
|
||||
|
||||
public void SetVersionInfo(string version)
|
||||
{
|
||||
this.VersionLabel.Text = version;
|
||||
}
|
||||
|
||||
public void SetDocumentationUrl(string url)
|
||||
{
|
||||
this.DocumentationLink.Text = url;
|
||||
}
|
||||
|
||||
public void AddThumbnails(IList<IThumbnailDescriptionView> thumbnails)
|
||||
{
|
||||
if (thumbnails.Count == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
this.ThumbnailsList.BeginUpdate();
|
||||
|
||||
foreach (IThumbnailDescriptionView view in thumbnails)
|
||||
{
|
||||
this.ThumbnailsList.Items.Add(view);
|
||||
}
|
||||
|
||||
this.ThumbnailsList.EndUpdate();
|
||||
}
|
||||
|
||||
public void UpdateThumbnails(IList<IThumbnailDescriptionView> thumbnails)
|
||||
{
|
||||
// Just trigger redraw
|
||||
if (thumbnails.Count > 0)
|
||||
{
|
||||
this.ThumbnailsList.Invalidate();
|
||||
}
|
||||
}
|
||||
|
||||
public void RemoveThumbnails(IList<IThumbnailDescriptionView> thumbnails)
|
||||
{
|
||||
if (thumbnails.Count == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
this.ThumbnailsList.BeginUpdate();
|
||||
|
||||
foreach (IThumbnailDescriptionView view in thumbnails)
|
||||
{
|
||||
this.ThumbnailsList.Items.Remove(view);
|
||||
}
|
||||
|
||||
this.ThumbnailsList.EndUpdate();
|
||||
}
|
||||
|
||||
public void RefreshZoomSettings()
|
||||
{
|
||||
bool enableControls = this.EnableThumbnailZoom;
|
||||
this.ThumbnailZoomFactorNumericEdit.Enabled = enableControls;
|
||||
this.ZoomAnchorPanel.Enabled = enableControls;
|
||||
}
|
||||
|
||||
public Action ApplicationExitRequested { get; set; }
|
||||
|
||||
public Action FormActivated { get; set; }
|
||||
|
||||
public Action FormMinimized { get; set; }
|
||||
|
||||
public Action<ViewCloseRequest> FormCloseRequested { get; set; }
|
||||
|
||||
public Action ApplicationSettingsChanged { get; set; }
|
||||
|
||||
public Action ThumbnailsSizeChanged { get; set; }
|
||||
|
||||
public Action<IntPtr> ThumbnailStateChanged { get; set; }
|
||||
|
||||
public Action DocumentationLinkActivated { get; set; }
|
||||
|
||||
#region UI events
|
||||
private void ContentTabControl_DrawItem(object sender, DrawItemEventArgs e)
|
||||
{
|
||||
TabControl control = (TabControl)sender;
|
||||
TabPage page = control.TabPages[e.Index];
|
||||
Rectangle bounds = control.GetTabRect(e.Index);
|
||||
|
||||
Graphics graphics = e.Graphics;
|
||||
|
||||
Brush textBrush = new SolidBrush(SystemColors.ActiveCaptionText);
|
||||
Brush backgroundBrush = (e.State == DrawItemState.Selected)
|
||||
? new SolidBrush(SystemColors.Control)
|
||||
: new SolidBrush(SystemColors.ControlDark);
|
||||
graphics.FillRectangle(backgroundBrush, e.Bounds);
|
||||
|
||||
// Use our own font
|
||||
Font font = new Font("Arial", this.Font.Size * 1.2f, FontStyle.Bold, GraphicsUnit.Pixel);
|
||||
|
||||
// Draw string and center the text
|
||||
StringFormat stringFlags = new StringFormat();
|
||||
stringFlags.Alignment = StringAlignment.Center;
|
||||
stringFlags.LineAlignment = StringAlignment.Center;
|
||||
|
||||
graphics.DrawString(page.Text, font, textBrush, bounds, stringFlags);
|
||||
}
|
||||
|
||||
private void OptionChanged_Handler(object sender, EventArgs e)
|
||||
{
|
||||
if (this._suppressEvents)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
this.ApplicationSettingsChanged?.Invoke();
|
||||
}
|
||||
|
||||
private void ThumbnailSizeChanged_Handler(object sender, EventArgs e)
|
||||
{
|
||||
if (this._suppressEvents)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Perform some View work that is not properly done in the Control
|
||||
this._suppressEvents = true;
|
||||
Size thumbnailSize = this.ThumbnailSize;
|
||||
thumbnailSize.Width = Math.Min(Math.Max(thumbnailSize.Width, this._minimumSize.Width), this._maximumSize.Width);
|
||||
thumbnailSize.Height = Math.Min(Math.Max(thumbnailSize.Height, this._minimumSize.Height), this._maximumSize.Height);
|
||||
this.ThumbnailSize = thumbnailSize;
|
||||
this._suppressEvents = false;
|
||||
|
||||
this.ThumbnailsSizeChanged?.Invoke();
|
||||
}
|
||||
|
||||
private void ActiveClientHighlightColorButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
using (ColorDialog dialog = new ColorDialog())
|
||||
{
|
||||
dialog.Color = this.ActiveClientHighlightColor;
|
||||
|
||||
if (dialog.ShowDialog() != DialogResult.OK)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
this.ActiveClientHighlightColor = dialog.Color;
|
||||
}
|
||||
|
||||
this.OptionChanged_Handler(sender, e);
|
||||
}
|
||||
|
||||
private void ThumbnailsList_ItemCheck_Handler(object sender, ItemCheckEventArgs e)
|
||||
{
|
||||
IThumbnailDescriptionView selectedItem = this.ThumbnailsList.Items[e.Index] as IThumbnailDescriptionView;
|
||||
if (selectedItem == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
selectedItem.IsDisabled = (e.NewValue == CheckState.Checked);
|
||||
|
||||
this.ThumbnailStateChanged?.Invoke(selectedItem.Id);
|
||||
}
|
||||
|
||||
private void DocumentationLinkClicked_Handler(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
this.DocumentationLinkActivated?.Invoke();
|
||||
}
|
||||
|
||||
private void MainFormResize_Handler(object sender, EventArgs e)
|
||||
{
|
||||
if (this.WindowState != FormWindowState.Minimized)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
this.FormMinimized?.Invoke();
|
||||
}
|
||||
|
||||
private void MainFormClosing_Handler(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
ViewCloseRequest request = new ViewCloseRequest();
|
||||
|
||||
this.FormCloseRequested?.Invoke(request);
|
||||
|
||||
e.Cancel = !request.Allow;
|
||||
}
|
||||
|
||||
private void RestoreMainForm_Handler(object sender, EventArgs e)
|
||||
{
|
||||
// This is form's GUI lifecycle event that is invariant to the Form data
|
||||
base.Show();
|
||||
this.WindowState = FormWindowState.Normal;
|
||||
this.BringToFront();
|
||||
}
|
||||
|
||||
private void ExitMenuItemClick_Handler(object sender, EventArgs e)
|
||||
{
|
||||
this.ApplicationExitRequested?.Invoke();
|
||||
}
|
||||
#endregion
|
||||
|
||||
private void InitZoomAnchorMap()
|
||||
{
|
||||
this._zoomAnchorMap[ViewZoomAnchor.NW] = this.ZoomAanchorNWRadioButton;
|
||||
this._zoomAnchorMap[ViewZoomAnchor.N] = this.ZoomAanchorNRadioButton;
|
||||
this._zoomAnchorMap[ViewZoomAnchor.NE] = this.ZoomAanchorNERadioButton;
|
||||
this._zoomAnchorMap[ViewZoomAnchor.W] = this.ZoomAanchorWRadioButton;
|
||||
this._zoomAnchorMap[ViewZoomAnchor.C] = this.ZoomAanchorCRadioButton;
|
||||
this._zoomAnchorMap[ViewZoomAnchor.E] = this.ZoomAanchorERadioButton;
|
||||
this._zoomAnchorMap[ViewZoomAnchor.SW] = this.ZoomAanchorSWRadioButton;
|
||||
this._zoomAnchorMap[ViewZoomAnchor.S] = this.ZoomAanchorSRadioButton;
|
||||
this._zoomAnchorMap[ViewZoomAnchor.SE] = this.ZoomAanchorSERadioButton;
|
||||
}
|
||||
}
|
||||
}
|
||||
1290
Eve-O-Preview/View/Implementation/MainForm.resx
Normal file
1290
Eve-O-Preview/View/Implementation/MainForm.resx
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,26 @@
|
||||
using System;
|
||||
using EveOPreview.UI;
|
||||
|
||||
namespace EveOPreview.View
|
||||
{
|
||||
public class ThumbnailDescriptionView : IThumbnailDescriptionView
|
||||
{
|
||||
public IntPtr Id { get; set; }
|
||||
|
||||
public string Title { get; set; }
|
||||
|
||||
public bool IsDisabled { get; set; }
|
||||
|
||||
public void Show()
|
||||
{
|
||||
}
|
||||
|
||||
public void Hide()
|
||||
{
|
||||
}
|
||||
|
||||
public void Close()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
89
Eve-O-Preview/View/Implementation/ThumbnailOverlay.Designer.cs
generated
Normal file
89
Eve-O-Preview/View/Implementation/ThumbnailOverlay.Designer.cs
generated
Normal file
@@ -0,0 +1,89 @@
|
||||
namespace EveOPreview.UI
|
||||
{
|
||||
partial class ThumbnailOverlay
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.Windows.Forms.PictureBox OverlayAreaPictureBox;
|
||||
this.OverlayLabel = new System.Windows.Forms.Label();
|
||||
OverlayAreaPictureBox = new System.Windows.Forms.PictureBox();
|
||||
((System.ComponentModel.ISupportInitialize)(OverlayAreaPictureBox)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// OverlayAreaPictureBox
|
||||
//
|
||||
OverlayAreaPictureBox.BackColor = System.Drawing.Color.Transparent;
|
||||
OverlayAreaPictureBox.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
OverlayAreaPictureBox.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
OverlayAreaPictureBox.Location = new System.Drawing.Point(0, 0);
|
||||
OverlayAreaPictureBox.Name = "OverlayAreaPictureBox";
|
||||
OverlayAreaPictureBox.Size = new System.Drawing.Size(284, 262);
|
||||
OverlayAreaPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
|
||||
OverlayAreaPictureBox.TabIndex = 0;
|
||||
OverlayAreaPictureBox.TabStop = false;
|
||||
OverlayAreaPictureBox.MouseUp += new System.Windows.Forms.MouseEventHandler(this.OverlayArea_Click);
|
||||
//
|
||||
// OverlayLabel
|
||||
//
|
||||
this.OverlayLabel.AutoSize = true;
|
||||
this.OverlayLabel.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.OverlayLabel.ForeColor = System.Drawing.Color.DarkGray;
|
||||
this.OverlayLabel.Location = new System.Drawing.Point(8, 8);
|
||||
this.OverlayLabel.Name = "OverlayLabel";
|
||||
this.OverlayLabel.Size = new System.Drawing.Size(25, 13);
|
||||
this.OverlayLabel.TabIndex = 1;
|
||||
this.OverlayLabel.Text = "...";
|
||||
//
|
||||
// ThumbnailOverlay
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.Color.Black;
|
||||
this.ClientSize = new System.Drawing.Size(284, 262);
|
||||
this.ControlBox = false;
|
||||
this.Controls.Add(this.OverlayLabel);
|
||||
this.Controls.Add(OverlayAreaPictureBox);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "ThumbnailOverlay";
|
||||
this.ShowIcon = false;
|
||||
this.ShowInTaskbar = false;
|
||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||
this.Text = "PreviewOverlay";
|
||||
this.TransparencyKey = System.Drawing.Color.Black;
|
||||
((System.ComponentModel.ISupportInitialize)(OverlayAreaPictureBox)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label OverlayLabel;
|
||||
}
|
||||
}
|
||||
46
Eve-O-Preview/View/Implementation/ThumbnailOverlay.cs
Normal file
46
Eve-O-Preview/View/Implementation/ThumbnailOverlay.cs
Normal file
@@ -0,0 +1,46 @@
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
using EveOPreview.Services;
|
||||
|
||||
namespace EveOPreview.UI
|
||||
{
|
||||
public partial class ThumbnailOverlay : Form
|
||||
{
|
||||
#region Private fields
|
||||
private readonly Action<object, MouseEventArgs> _areaClickAction;
|
||||
#endregion
|
||||
|
||||
public ThumbnailOverlay(Form owner, Action<object, MouseEventArgs> areaClickAction)
|
||||
{
|
||||
this.Owner = owner;
|
||||
this._areaClickAction = areaClickAction;
|
||||
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void OverlayArea_Click(object sender, MouseEventArgs e)
|
||||
{
|
||||
this._areaClickAction(this, e);
|
||||
}
|
||||
|
||||
public void SetOverlayLabel(string label)
|
||||
{
|
||||
this.OverlayLabel.Text = label;
|
||||
}
|
||||
|
||||
public void EnableOverlayLabel(bool enable)
|
||||
{
|
||||
this.OverlayLabel.Visible = enable;
|
||||
}
|
||||
|
||||
protected override CreateParams CreateParams
|
||||
{
|
||||
get
|
||||
{
|
||||
var Params = base.CreateParams;
|
||||
Params.ExStyle |= (int)InteropConstants.WS_EX_TOOLWINDOW;
|
||||
return Params;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
123
Eve-O-Preview/View/Implementation/ThumbnailOverlay.resx
Normal file
123
Eve-O-Preview/View/Implementation/ThumbnailOverlay.resx
Normal file
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="OverlayAreaPictureBox.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
</root>
|
||||
52
Eve-O-Preview/View/Implementation/ThumbnailView.Designer.cs
generated
Normal file
52
Eve-O-Preview/View/Implementation/ThumbnailView.Designer.cs
generated
Normal file
@@ -0,0 +1,52 @@
|
||||
namespace EveOPreview.UI
|
||||
{
|
||||
partial class ThumbnailView
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// ThumbnailView
|
||||
//
|
||||
this.AccessibleRole = System.Windows.Forms.AccessibleRole.None;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.Color.Black;
|
||||
this.ClientSize = new System.Drawing.Size(153, 89);
|
||||
this.ControlBox = false;
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.MinimumSize = new System.Drawing.Size(64, 64);
|
||||
this.Name = "ThumbnailView";
|
||||
this.Opacity = 0.1D;
|
||||
this.ShowIcon = false;
|
||||
this.ShowInTaskbar = false;
|
||||
this.Text = "Preview";
|
||||
this.TopMost = true;
|
||||
this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.MouseDown_Handler);
|
||||
this.MouseEnter += new System.EventHandler(this.MouseEnter_Handler);
|
||||
this.MouseLeave += new System.EventHandler(this.MouseLeave_Handler);
|
||||
this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.MouseMove_Handler);
|
||||
this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.MouseUp_Handler);
|
||||
this.Move += new System.EventHandler(this.Move_Handler);
|
||||
this.Resize += new System.EventHandler(this.Resize_Handler);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
545
Eve-O-Preview/View/Implementation/ThumbnailView.cs
Normal file
545
Eve-O-Preview/View/Implementation/ThumbnailView.cs
Normal file
@@ -0,0 +1,545 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using EveOPreview.Services;
|
||||
using EveOPreview.UI.Hotkeys;
|
||||
using EveOPreview.View;
|
||||
|
||||
namespace EveOPreview.UI
|
||||
{
|
||||
public partial class ThumbnailView : Form, IThumbnailView
|
||||
{
|
||||
#region Private fields
|
||||
private readonly IWindowManager _windowManager;
|
||||
private readonly ThumbnailOverlay _overlay;
|
||||
private IDwmThumbnail _thumbnail;
|
||||
|
||||
// Part of the logic (namely current size / position management)
|
||||
// was moved to the view due to the performance reasons
|
||||
private bool _isOverlayVisible;
|
||||
private bool _isTopMost;
|
||||
private bool _isPositionChanged;
|
||||
private bool _isSizeChanged;
|
||||
private bool _isCustomMouseModeActive;
|
||||
private bool _isHighlightEnabled;
|
||||
private int _highlightWidth;
|
||||
private DateTime _suppressResizeEventsTimestamp;
|
||||
private Size _baseZoomSize;
|
||||
private Point _baseZoomLocation;
|
||||
private Point _baseMousePosition;
|
||||
private Size _baseZoomMaximumSize;
|
||||
|
||||
private HotkeyHandler _hotkeyHandler;
|
||||
#endregion
|
||||
|
||||
public ThumbnailView(IWindowManager windowManager)
|
||||
{
|
||||
this._windowManager = windowManager;
|
||||
|
||||
this.IsEnabled = true;
|
||||
this.IsActive = false;
|
||||
|
||||
this.IsOverlayEnabled = false;
|
||||
this._isOverlayVisible = false;
|
||||
this._isTopMost = false;
|
||||
|
||||
this._isPositionChanged = true;
|
||||
this._isSizeChanged = true;
|
||||
this._isCustomMouseModeActive = false;
|
||||
|
||||
this._isHighlightEnabled = false;
|
||||
|
||||
this._suppressResizeEventsTimestamp = DateTime.UtcNow;
|
||||
|
||||
InitializeComponent();
|
||||
|
||||
this._overlay = new ThumbnailOverlay(this, this.MouseDown_Handler);
|
||||
}
|
||||
|
||||
public IntPtr Id { get; set; }
|
||||
|
||||
public string Title
|
||||
{
|
||||
get => this.Text;
|
||||
set
|
||||
{
|
||||
this.Text = value;
|
||||
this._overlay.SetOverlayLabel(value);
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsEnabled { get; set; }
|
||||
|
||||
public bool IsActive { get; set; }
|
||||
|
||||
public bool IsOverlayEnabled { get; set; }
|
||||
|
||||
public Point ThumbnailLocation
|
||||
{
|
||||
get => this.Location;
|
||||
set
|
||||
{
|
||||
if ((value.X > 0) || (value.Y > 0))
|
||||
{
|
||||
this.StartPosition = FormStartPosition.Manual;
|
||||
}
|
||||
this.Location = value;
|
||||
}
|
||||
}
|
||||
|
||||
public Size ThumbnailSize
|
||||
{
|
||||
get => this.ClientSize;
|
||||
set => this.ClientSize = value;
|
||||
}
|
||||
|
||||
public Action<IntPtr> ThumbnailResized { get; set; }
|
||||
|
||||
public Action<IntPtr> ThumbnailMoved { get; set; }
|
||||
|
||||
public Action<IntPtr> ThumbnailFocused { get; set; }
|
||||
|
||||
public Action<IntPtr> ThumbnailLostFocus { get; set; }
|
||||
|
||||
public Action<IntPtr> ThumbnailActivated { get; set; }
|
||||
|
||||
public Action<IntPtr> ThumbnailDeactivated { get; set; }
|
||||
|
||||
public new void Show()
|
||||
{
|
||||
base.Show();
|
||||
|
||||
this._isPositionChanged = true;
|
||||
this._isSizeChanged = true;
|
||||
this._isOverlayVisible = false;
|
||||
|
||||
// Thumbnail will be properly registered during the Manager's Refresh cycle
|
||||
this.Refresh();
|
||||
|
||||
this.IsActive = true;
|
||||
}
|
||||
|
||||
public new void Hide()
|
||||
{
|
||||
this.IsActive = false;
|
||||
|
||||
this._overlay.Hide();
|
||||
base.Hide();
|
||||
}
|
||||
|
||||
public new void Close()
|
||||
{
|
||||
this.IsActive = false;
|
||||
this._thumbnail.Unregister();
|
||||
this._overlay.Close();
|
||||
base.Close();
|
||||
}
|
||||
|
||||
// This method is used to determine if the provided Handle is related to client or its thumbnail
|
||||
public bool IsKnownHandle(IntPtr handle)
|
||||
{
|
||||
return (this.Id == handle) || (this.Handle == handle) || (this._overlay.Handle == handle);
|
||||
}
|
||||
|
||||
public void SetSizeLimitations(Size minimumSize, Size maximumSize)
|
||||
{
|
||||
this.MinimumSize = minimumSize;
|
||||
this.MaximumSize = maximumSize;
|
||||
}
|
||||
|
||||
public void SetOpacity(double opacity)
|
||||
{
|
||||
this.Opacity = opacity;
|
||||
|
||||
// Overlay opacity settings
|
||||
// Of the thumbnail's opacity is almost full then set the overlay's one to
|
||||
// full. Otherwise set it to half of the thumnail opacity
|
||||
// Opacity value is stored even if the overlay is not displayed atm
|
||||
this._overlay.Opacity = this.Opacity > 0.9 ? 1.0 : 1.0 - (1.0 - this.Opacity) / 2;
|
||||
}
|
||||
|
||||
public void SetFrames(bool enable)
|
||||
{
|
||||
FormBorderStyle style = enable ? FormBorderStyle.SizableToolWindow : FormBorderStyle.None;
|
||||
|
||||
// No need to change the borders style if it is ALREADY correct
|
||||
if (this.FormBorderStyle == style)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Fix for WinForms issue with the Resize event being fired with inconsistent ClientSize value
|
||||
// Any Resize events fired before this timestamp will be ignored
|
||||
this._suppressResizeEventsTimestamp = DateTime.UtcNow.AddMilliseconds(450);
|
||||
this.FormBorderStyle = style;
|
||||
|
||||
// Notify about possible contents position change
|
||||
this._isSizeChanged = true;
|
||||
}
|
||||
|
||||
public void SetTopMost(bool enableTopmost)
|
||||
{
|
||||
// IMO WinForms could check this too
|
||||
if (this._isTopMost == enableTopmost)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
this.TopMost = enableTopmost;
|
||||
this._overlay.TopMost = enableTopmost;
|
||||
|
||||
this._isTopMost = enableTopmost;
|
||||
}
|
||||
|
||||
public void SetHighlight(bool enabled, Color color, int width)
|
||||
{
|
||||
if (this._isHighlightEnabled == enabled)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (enabled)
|
||||
{
|
||||
this._isHighlightEnabled = true;
|
||||
this._highlightWidth = width;
|
||||
this.BackColor = color;
|
||||
}
|
||||
else
|
||||
{
|
||||
this._isHighlightEnabled = false;
|
||||
this.BackColor = SystemColors.Control;
|
||||
}
|
||||
|
||||
this._isSizeChanged = true;
|
||||
}
|
||||
|
||||
public void ZoomIn(ViewZoomAnchor anchor, int zoomFactor)
|
||||
{
|
||||
int oldWidth = this._baseZoomSize.Width;
|
||||
int oldHeight = this._baseZoomSize.Height;
|
||||
|
||||
int locationX = this.Location.X;
|
||||
int locationY = this.Location.Y;
|
||||
|
||||
int newWidth = (zoomFactor * this.ClientSize.Width) + (this.Size.Width - this.ClientSize.Width);
|
||||
int newHeight = (zoomFactor * this.ClientSize.Height) + (this.Size.Height - this.ClientSize.Height);
|
||||
|
||||
// First change size, THEN move the window
|
||||
// Otherwise there is a chance to fail in a loop
|
||||
// Zoom requied -> Moved the windows 1st -> Focus is lost -> Window is moved back -> Focus is back on -> Zoom required -> ...
|
||||
this.MaximumSize = new Size(0, 0);
|
||||
this.Size = new Size(newWidth, newHeight);
|
||||
|
||||
switch (anchor)
|
||||
{
|
||||
case ViewZoomAnchor.NW:
|
||||
break;
|
||||
case ViewZoomAnchor.N:
|
||||
this.Location = new Point(locationX - newWidth / 2 + oldWidth / 2, locationY);
|
||||
break;
|
||||
case ViewZoomAnchor.NE:
|
||||
this.Location = new Point(locationX - newWidth + oldWidth, locationY);
|
||||
break;
|
||||
|
||||
case ViewZoomAnchor.W:
|
||||
this.Location = new Point(locationX, locationY - newHeight / 2 + oldHeight / 2);
|
||||
break;
|
||||
case ViewZoomAnchor.C:
|
||||
this.Location = new Point(locationX - newWidth / 2 + oldWidth / 2, locationY - newHeight / 2 + oldHeight / 2);
|
||||
break;
|
||||
case ViewZoomAnchor.E:
|
||||
this.Location = new Point(locationX - newWidth + oldWidth, locationY - newHeight / 2 + oldHeight / 2);
|
||||
break;
|
||||
|
||||
case ViewZoomAnchor.SW:
|
||||
this.Location = new Point(locationX, locationY - newHeight + this._baseZoomSize.Height);
|
||||
break;
|
||||
case ViewZoomAnchor.S:
|
||||
this.Location = new Point(locationX - newWidth / 2 + oldWidth / 2, locationY - newHeight + oldHeight);
|
||||
break;
|
||||
case ViewZoomAnchor.SE:
|
||||
this.Location = new Point(locationX - newWidth + oldWidth, locationY - newHeight + oldHeight);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void ZoomOut()
|
||||
{
|
||||
this.RestoreWindowSizeAndLocation();
|
||||
}
|
||||
|
||||
public void RegisterHotkey(Keys hotkey)
|
||||
{
|
||||
if (this._hotkeyHandler != null)
|
||||
{
|
||||
this.UnregisterHotkey();
|
||||
}
|
||||
|
||||
if (hotkey == Keys.None)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
this._hotkeyHandler = new HotkeyHandler(this.Handle, hotkey);
|
||||
this._hotkeyHandler.Pressed += HotkeyPressed_Handler;
|
||||
try
|
||||
{
|
||||
this._hotkeyHandler.Register();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
// There can be a lot of possible exception reasons here
|
||||
// In case of any of them the hotkey setting is silently ignored
|
||||
}
|
||||
}
|
||||
|
||||
public void UnregisterHotkey()
|
||||
{
|
||||
if (this._hotkeyHandler == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
this._hotkeyHandler.Unregister();
|
||||
this._hotkeyHandler.Pressed -= HotkeyPressed_Handler;
|
||||
this._hotkeyHandler.Dispose();
|
||||
this._hotkeyHandler = null;
|
||||
}
|
||||
|
||||
public void Refresh(bool forceRefresh)
|
||||
{
|
||||
// To prevent flickering the old broken thumbnail is removed AFTER the new shiny one is created
|
||||
IDwmThumbnail obsoleteThumbnail = forceRefresh ? this._thumbnail : null;
|
||||
|
||||
if ((this._thumbnail == null) || forceRefresh)
|
||||
{
|
||||
this.RegisterThumbnail();
|
||||
}
|
||||
|
||||
bool sizeChanged = this._isSizeChanged || forceRefresh;
|
||||
bool locationChanged = this._isPositionChanged || forceRefresh;
|
||||
|
||||
if (sizeChanged)
|
||||
{
|
||||
this.RecalculateThumbnailSize();
|
||||
|
||||
this.UpdateThumbnail();
|
||||
|
||||
this._isSizeChanged = false;
|
||||
}
|
||||
|
||||
obsoleteThumbnail?.Unregister();
|
||||
|
||||
this._overlay.EnableOverlayLabel(this.IsOverlayEnabled);
|
||||
|
||||
if (!this._isOverlayVisible)
|
||||
{
|
||||
// One-time action to show the Overlay before it is set up
|
||||
// Otherwise its position won't be set
|
||||
this._overlay.Show();
|
||||
this._isOverlayVisible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!(sizeChanged || locationChanged))
|
||||
{
|
||||
// No need to adjust in the overlay location if it is already visible and properly set
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Size overlaySize = this.ClientSize;
|
||||
Point overlayLocation = this.Location;
|
||||
|
||||
int borderWidth = (this.Size.Width - this.ClientSize.Width) / 2;
|
||||
overlayLocation.X += borderWidth;
|
||||
overlayLocation.Y += (this.Size.Height - this.ClientSize.Height) - borderWidth;
|
||||
|
||||
this._isPositionChanged = false;
|
||||
this._overlay.Size = overlaySize;
|
||||
this._overlay.Location = overlayLocation;
|
||||
this._overlay.Refresh();
|
||||
}
|
||||
|
||||
private void RecalculateThumbnailSize()
|
||||
{
|
||||
// This approach would work only for square-shaped thumbnail window
|
||||
// To get PROPER results we have to do some crazy math
|
||||
//int delta = this._isHighlightEnabled ? this._highlightWidth : 0;
|
||||
//this._thumbnail.rcDestination = new RECT(0 + delta, 0 + delta, this.ClientSize.Width - delta, this.ClientSize.Height - delta);
|
||||
if (!this._isHighlightEnabled)
|
||||
{
|
||||
//No highlighting enabled, so no odd math required
|
||||
this._thumbnail.Move(0, 0, this.ClientSize.Width, this.ClientSize.Height);
|
||||
return;
|
||||
}
|
||||
|
||||
int baseWidth = this.ClientSize.Width;
|
||||
int baseHeight = this.ClientSize.Height;
|
||||
double baseAspectRatio = ((double)baseWidth) / baseHeight;
|
||||
|
||||
int actualHeight = baseHeight - 2 * this._highlightWidth;
|
||||
double desiredWidth = actualHeight * baseAspectRatio;
|
||||
int actualWidth = (int)Math.Round(desiredWidth, MidpointRounding.AwayFromZero);
|
||||
int highlightWidthLeft = (baseWidth - actualWidth) / 2;
|
||||
int highlightWidthRight = baseWidth - actualWidth - highlightWidthLeft;
|
||||
|
||||
this._thumbnail.Move(0 + highlightWidthLeft, 0 + this._highlightWidth, baseWidth - highlightWidthRight, baseHeight - this._highlightWidth);
|
||||
}
|
||||
|
||||
#region GUI events
|
||||
protected override CreateParams CreateParams
|
||||
{
|
||||
get
|
||||
{
|
||||
var Params = base.CreateParams;
|
||||
Params.ExStyle |= (int)InteropConstants.WS_EX_TOOLWINDOW;
|
||||
return Params;
|
||||
}
|
||||
}
|
||||
|
||||
private void Move_Handler(object sender, EventArgs e)
|
||||
{
|
||||
this._isPositionChanged = true;
|
||||
this.ThumbnailMoved?.Invoke(this.Id);
|
||||
}
|
||||
|
||||
private void Resize_Handler(object sender, EventArgs e)
|
||||
{
|
||||
if (DateTime.UtcNow < this._suppressResizeEventsTimestamp)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
this._isSizeChanged = true;
|
||||
|
||||
this.ThumbnailResized?.Invoke(this.Id);
|
||||
}
|
||||
|
||||
private void MouseEnter_Handler(object sender, EventArgs e)
|
||||
{
|
||||
this.ExitCustomMouseMode();
|
||||
this.SaveWindowSizeAndLocation();
|
||||
|
||||
this.ThumbnailFocused?.Invoke(this.Id);
|
||||
}
|
||||
|
||||
private void MouseLeave_Handler(object sender, EventArgs e)
|
||||
{
|
||||
this.ThumbnailLostFocus?.Invoke(this.Id);
|
||||
}
|
||||
|
||||
private void MouseDown_Handler(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (e.Button == MouseButtons.Left)
|
||||
{
|
||||
if (Control.ModifierKeys == Keys.Control)
|
||||
{
|
||||
this.ThumbnailDeactivated?.Invoke(this.Id);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.ThumbnailActivated?.Invoke(this.Id);
|
||||
}
|
||||
}
|
||||
|
||||
if ((e.Button == MouseButtons.Right) || (e.Button == (MouseButtons.Left | MouseButtons.Right)))
|
||||
{
|
||||
this.EnterCustomMouseMode();
|
||||
}
|
||||
}
|
||||
|
||||
private void MouseMove_Handler(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (this._isCustomMouseModeActive)
|
||||
{
|
||||
this.ProcessCustomMouseMode(e.Button.HasFlag(MouseButtons.Left), e.Button.HasFlag(MouseButtons.Right));
|
||||
}
|
||||
}
|
||||
|
||||
private void MouseUp_Handler(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (e.Button == MouseButtons.Right)
|
||||
{
|
||||
this.ExitCustomMouseMode();
|
||||
}
|
||||
}
|
||||
|
||||
private void HotkeyPressed_Handler(object sender, HandledEventArgs e)
|
||||
{
|
||||
this.ThumbnailActivated?.Invoke(this.Id);
|
||||
|
||||
e.Handled = true;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Thumbnail management
|
||||
private void RegisterThumbnail()
|
||||
{
|
||||
this._thumbnail = this._windowManager.RegisterThumbnail(this.Handle, this.Id);
|
||||
}
|
||||
|
||||
private void UpdateThumbnail()
|
||||
{
|
||||
this._thumbnail.Update();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Custom Mouse mode
|
||||
// This pair of methods saves/restores certain window propeties
|
||||
// Methods are used to remove the 'Zoom' effect (if any) when the
|
||||
// custom resize/move mode is activated
|
||||
// Methods are kept on this level because moving to the presenter
|
||||
// the code that responds to the mouse events like movement
|
||||
// seems like a huge overkill
|
||||
private void SaveWindowSizeAndLocation()
|
||||
{
|
||||
this._baseZoomSize = this.Size;
|
||||
this._baseZoomLocation = this.Location;
|
||||
this._baseZoomMaximumSize = this.MaximumSize;
|
||||
}
|
||||
|
||||
private void RestoreWindowSizeAndLocation()
|
||||
{
|
||||
this.Size = this._baseZoomSize;
|
||||
this.MaximumSize = this._baseZoomMaximumSize;
|
||||
this.Location = this._baseZoomLocation;
|
||||
}
|
||||
|
||||
private void EnterCustomMouseMode()
|
||||
{
|
||||
this.RestoreWindowSizeAndLocation();
|
||||
|
||||
this._isCustomMouseModeActive = true;
|
||||
this._baseMousePosition = Control.MousePosition;
|
||||
}
|
||||
|
||||
private void ProcessCustomMouseMode(bool leftButton, bool rightButton)
|
||||
{
|
||||
Point mousePosition = Control.MousePosition;
|
||||
int offsetX = mousePosition.X - this._baseMousePosition.X;
|
||||
int offsetY = mousePosition.Y - this._baseMousePosition.Y;
|
||||
this._baseMousePosition = mousePosition;
|
||||
|
||||
// Left + Right buttons trigger thumbnail resize
|
||||
// Right button only trigger thumbnail movement
|
||||
if (leftButton && rightButton)
|
||||
{
|
||||
this.Size = new Size(this.Size.Width + offsetX, this.Size.Height + offsetY);
|
||||
this._baseZoomSize = this.Size;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Location = new Point(this.Location.X + offsetX, this.Location.Y + offsetY);
|
||||
this._baseZoomLocation = this.Location;
|
||||
}
|
||||
}
|
||||
|
||||
private void ExitCustomMouseMode()
|
||||
{
|
||||
this._isCustomMouseModeActive = false;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
120
Eve-O-Preview/View/Implementation/ThumbnailView.resx
Normal file
120
Eve-O-Preview/View/Implementation/ThumbnailView.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
Reference in New Issue
Block a user