Adding warning when newly selected font is too height.
authorsl
Tue, 19 Aug 2014 17:29:52 +0200
changeset 36a3aa661da810
parent 35 f3893924a6eb
child 37 405a2590eda4
Adding warning when newly selected font is too height.
Reworking our UI.
Server/MainForm.Designer.cs
Server/MainForm.cs
     1.1 --- a/Server/MainForm.Designer.cs	Mon Aug 18 23:43:44 2014 +0200
     1.2 +++ b/Server/MainForm.Designer.cs	Tue Aug 19 17:29:52 2014 +0200
     1.3 @@ -29,18 +29,24 @@
     1.4          private void InitializeComponent()
     1.5          {
     1.6              this.components = new System.ComponentModel.Container();
     1.7 -            this.tabControl = new System.Windows.Forms.TabControl();
     1.8 +            this.panelDisplay = new System.Windows.Forms.Panel();
     1.9 +            this.tableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
    1.10 +            this.fontDialog = new System.Windows.Forms.FontDialog();
    1.11 +            this.timer = new System.Windows.Forms.Timer(this.components);
    1.12 +            this.statusStrip = new System.Windows.Forms.StatusStrip();
    1.13 +            this.toolStripStatusLabelConnect = new System.Windows.Forms.ToolStripStatusLabel();
    1.14 +            this.toolStripStatusLabelSpring = new System.Windows.Forms.ToolStripStatusLabel();
    1.15 +            this.toolStripStatusLabelPower = new System.Windows.Forms.ToolStripStatusLabel();
    1.16 +            this.toolStripStatusLabelFps = new System.Windows.Forms.ToolStripStatusLabel();
    1.17 +            this.tabPageClients = new System.Windows.Forms.TabPage();
    1.18 +            this.buttonCloseClients = new System.Windows.Forms.Button();
    1.19 +            this.buttonStartClient = new System.Windows.Forms.Button();
    1.20 +            this.treeViewClients = new System.Windows.Forms.TreeView();
    1.21              this.tabPageDisplay = new System.Windows.Forms.TabPage();
    1.22 -            this.buttonCloseClients = new System.Windows.Forms.Button();
    1.23              this.checkBoxFixedPitchFontOnly = new System.Windows.Forms.CheckBox();
    1.24              this.buttonSuspend = new System.Windows.Forms.Button();
    1.25 -            this.buttonStartClient = new System.Windows.Forms.Button();
    1.26              this.checkBoxReverseScreen = new System.Windows.Forms.CheckBox();
    1.27              this.checkBoxConnectOnStartup = new System.Windows.Forms.CheckBox();
    1.28 -            this.panelDisplay = new System.Windows.Forms.Panel();
    1.29 -            this.tableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
    1.30 -            this.marqueeLabelTop = new SharpDisplayManager.MarqueeLabel();
    1.31 -            this.marqueeLabelBottom = new SharpDisplayManager.MarqueeLabel();
    1.32              this.checkBoxShowBorders = new System.Windows.Forms.CheckBox();
    1.33              this.trackBarBrightness = new System.Windows.Forms.TrackBar();
    1.34              this.buttonFill = new System.Windows.Forms.Button();
    1.35 @@ -49,48 +55,202 @@
    1.36              this.buttonOpen = new System.Windows.Forms.Button();
    1.37              this.buttonCapture = new System.Windows.Forms.Button();
    1.38              this.buttonFont = new System.Windows.Forms.Button();
    1.39 -            this.tabPageTests = new System.Windows.Forms.TabPage();
    1.40 -            this.tabPageClients = new System.Windows.Forms.TabPage();
    1.41 -            this.treeViewClients = new System.Windows.Forms.TreeView();
    1.42 -            this.fontDialog = new System.Windows.Forms.FontDialog();
    1.43 -            this.timer = new System.Windows.Forms.Timer(this.components);
    1.44 -            this.statusStrip = new System.Windows.Forms.StatusStrip();
    1.45 -            this.toolStripStatusLabelConnect = new System.Windows.Forms.ToolStripStatusLabel();
    1.46 -            this.toolStripStatusLabelSpring = new System.Windows.Forms.ToolStripStatusLabel();
    1.47 -            this.toolStripStatusLabelPower = new System.Windows.Forms.ToolStripStatusLabel();
    1.48 -            this.toolStripStatusLabelFps = new System.Windows.Forms.ToolStripStatusLabel();
    1.49 -            this.tabControl.SuspendLayout();
    1.50 -            this.tabPageDisplay.SuspendLayout();
    1.51 +            this.tabControl = new System.Windows.Forms.TabControl();
    1.52 +            this.labelWarning = new System.Windows.Forms.Label();
    1.53 +            this.marqueeLabelTop = new SharpDisplayManager.MarqueeLabel();
    1.54 +            this.marqueeLabelBottom = new SharpDisplayManager.MarqueeLabel();
    1.55              this.panelDisplay.SuspendLayout();
    1.56              this.tableLayoutPanel.SuspendLayout();
    1.57 +            this.statusStrip.SuspendLayout();
    1.58 +            this.tabPageClients.SuspendLayout();
    1.59 +            this.tabPageDisplay.SuspendLayout();
    1.60              ((System.ComponentModel.ISupportInitialize)(this.trackBarBrightness)).BeginInit();
    1.61 -            this.tabPageClients.SuspendLayout();
    1.62 -            this.statusStrip.SuspendLayout();
    1.63 +            this.tabControl.SuspendLayout();
    1.64              this.SuspendLayout();
    1.65              // 
    1.66 -            // tabControl
    1.67 +            // panelDisplay
    1.68              // 
    1.69 -            this.tabControl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
    1.70 +            this.panelDisplay.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
    1.71 +            this.panelDisplay.Controls.Add(this.tableLayoutPanel);
    1.72 +            this.panelDisplay.Location = new System.Drawing.Point(173, 40);
    1.73 +            this.panelDisplay.Margin = new System.Windows.Forms.Padding(0);
    1.74 +            this.panelDisplay.Name = "panelDisplay";
    1.75 +            this.panelDisplay.Size = new System.Drawing.Size(258, 66);
    1.76 +            this.panelDisplay.TabIndex = 12;
    1.77 +            // 
    1.78 +            // tableLayoutPanel
    1.79 +            // 
    1.80 +            this.tableLayoutPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
    1.81              | System.Windows.Forms.AnchorStyles.Left) 
    1.82              | System.Windows.Forms.AnchorStyles.Right)));
    1.83 -            this.tabControl.Controls.Add(this.tabPageDisplay);
    1.84 -            this.tabControl.Controls.Add(this.tabPageTests);
    1.85 -            this.tabControl.Controls.Add(this.tabPageClients);
    1.86 -            this.tabControl.Location = new System.Drawing.Point(12, 12);
    1.87 -            this.tabControl.Name = "tabControl";
    1.88 -            this.tabControl.SelectedIndex = 0;
    1.89 -            this.tabControl.Size = new System.Drawing.Size(600, 395);
    1.90 -            this.tabControl.TabIndex = 0;
    1.91 +            this.tableLayoutPanel.BackColor = System.Drawing.SystemColors.ControlLightLight;
    1.92 +            this.tableLayoutPanel.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single;
    1.93 +            this.tableLayoutPanel.ColumnCount = 1;
    1.94 +            this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
    1.95 +            this.tableLayoutPanel.Controls.Add(this.marqueeLabelTop, 0, 0);
    1.96 +            this.tableLayoutPanel.Controls.Add(this.marqueeLabelBottom, 0, 1);
    1.97 +            this.tableLayoutPanel.Location = new System.Drawing.Point(0, 0);
    1.98 +            this.tableLayoutPanel.Margin = new System.Windows.Forms.Padding(0);
    1.99 +            this.tableLayoutPanel.Name = "tableLayoutPanel";
   1.100 +            this.tableLayoutPanel.RowCount = 2;
   1.101 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
   1.102 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
   1.103 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.104 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.105 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.106 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.107 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.108 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.109 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.110 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.111 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.112 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.113 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.114 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.115 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.116 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.117 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.118 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.119 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.120 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.121 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.122 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.123 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.124 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.125 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.126 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.127 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.128 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.129 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.130 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.131 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.132 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.133 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.134 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.135 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.136 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.137 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.138 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.139 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.140 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.141 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.142 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.143 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.144 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.145 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.146 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.147 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.148 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.149 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.150 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.151 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.152 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.153 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.154 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.155 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.156 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.157 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.158 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.159 +            this.tableLayoutPanel.Size = new System.Drawing.Size(256, 64);
   1.160 +            this.tableLayoutPanel.TabIndex = 5;
   1.161 +            // 
   1.162 +            // timer
   1.163 +            // 
   1.164 +            this.timer.Enabled = true;
   1.165 +            this.timer.Interval = 50;
   1.166 +            this.timer.Tick += new System.EventHandler(this.timer_Tick);
   1.167 +            // 
   1.168 +            // statusStrip
   1.169 +            // 
   1.170 +            this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
   1.171 +            this.toolStripStatusLabelConnect,
   1.172 +            this.toolStripStatusLabelSpring,
   1.173 +            this.toolStripStatusLabelPower,
   1.174 +            this.toolStripStatusLabelFps});
   1.175 +            this.statusStrip.Location = new System.Drawing.Point(0, 495);
   1.176 +            this.statusStrip.Name = "statusStrip";
   1.177 +            this.statusStrip.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional;
   1.178 +            this.statusStrip.Size = new System.Drawing.Size(624, 22);
   1.179 +            this.statusStrip.TabIndex = 1;
   1.180 +            this.statusStrip.Text = "statusStrip";
   1.181 +            // 
   1.182 +            // toolStripStatusLabelConnect
   1.183 +            // 
   1.184 +            this.toolStripStatusLabelConnect.Name = "toolStripStatusLabelConnect";
   1.185 +            this.toolStripStatusLabelConnect.Size = new System.Drawing.Size(86, 17);
   1.186 +            this.toolStripStatusLabelConnect.Text = "Not connected";
   1.187 +            // 
   1.188 +            // toolStripStatusLabelSpring
   1.189 +            // 
   1.190 +            this.toolStripStatusLabelSpring.Name = "toolStripStatusLabelSpring";
   1.191 +            this.toolStripStatusLabelSpring.Size = new System.Drawing.Size(473, 17);
   1.192 +            this.toolStripStatusLabelSpring.Spring = true;
   1.193 +            // 
   1.194 +            // toolStripStatusLabelPower
   1.195 +            // 
   1.196 +            this.toolStripStatusLabelPower.Name = "toolStripStatusLabelPower";
   1.197 +            this.toolStripStatusLabelPower.Size = new System.Drawing.Size(24, 17);
   1.198 +            this.toolStripStatusLabelPower.Text = "NA";
   1.199 +            // 
   1.200 +            // toolStripStatusLabelFps
   1.201 +            // 
   1.202 +            this.toolStripStatusLabelFps.Name = "toolStripStatusLabelFps";
   1.203 +            this.toolStripStatusLabelFps.Size = new System.Drawing.Size(26, 17);
   1.204 +            this.toolStripStatusLabelFps.Text = "FPS";
   1.205 +            // 
   1.206 +            // tabPageClients
   1.207 +            // 
   1.208 +            this.tabPageClients.Controls.Add(this.buttonCloseClients);
   1.209 +            this.tabPageClients.Controls.Add(this.buttonStartClient);
   1.210 +            this.tabPageClients.Controls.Add(this.treeViewClients);
   1.211 +            this.tabPageClients.Location = new System.Drawing.Point(4, 22);
   1.212 +            this.tabPageClients.Name = "tabPageClients";
   1.213 +            this.tabPageClients.Padding = new System.Windows.Forms.Padding(3);
   1.214 +            this.tabPageClients.Size = new System.Drawing.Size(592, 317);
   1.215 +            this.tabPageClients.TabIndex = 2;
   1.216 +            this.tabPageClients.Text = "Clients";
   1.217 +            this.tabPageClients.UseVisualStyleBackColor = true;
   1.218 +            // 
   1.219 +            // buttonCloseClients
   1.220 +            // 
   1.221 +            this.buttonCloseClients.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
   1.222 +            this.buttonCloseClients.Location = new System.Drawing.Point(6, 35);
   1.223 +            this.buttonCloseClients.Name = "buttonCloseClients";
   1.224 +            this.buttonCloseClients.Size = new System.Drawing.Size(75, 23);
   1.225 +            this.buttonCloseClients.TabIndex = 20;
   1.226 +            this.buttonCloseClients.Text = "Close Clients";
   1.227 +            this.buttonCloseClients.UseVisualStyleBackColor = true;
   1.228 +            this.buttonCloseClients.Click += new System.EventHandler(this.buttonCloseClients_Click);
   1.229 +            // 
   1.230 +            // buttonStartClient
   1.231 +            // 
   1.232 +            this.buttonStartClient.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
   1.233 +            this.buttonStartClient.Location = new System.Drawing.Point(6, 6);
   1.234 +            this.buttonStartClient.Name = "buttonStartClient";
   1.235 +            this.buttonStartClient.Size = new System.Drawing.Size(75, 23);
   1.236 +            this.buttonStartClient.TabIndex = 19;
   1.237 +            this.buttonStartClient.Text = "Start Client";
   1.238 +            this.buttonStartClient.UseVisualStyleBackColor = true;
   1.239 +            this.buttonStartClient.Click += new System.EventHandler(this.buttonStartClient_Click);
   1.240 +            // 
   1.241 +            // treeViewClients
   1.242 +            // 
   1.243 +            this.treeViewClients.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
   1.244 +            | System.Windows.Forms.AnchorStyles.Left) 
   1.245 +            | System.Windows.Forms.AnchorStyles.Right)));
   1.246 +            this.treeViewClients.Location = new System.Drawing.Point(87, 6);
   1.247 +            this.treeViewClients.Name = "treeViewClients";
   1.248 +            this.treeViewClients.Size = new System.Drawing.Size(499, 308);
   1.249 +            this.treeViewClients.TabIndex = 0;
   1.250 +            this.treeViewClients.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeViewClients_AfterSelect);
   1.251              // 
   1.252              // tabPageDisplay
   1.253              // 
   1.254 -            this.tabPageDisplay.Controls.Add(this.buttonCloseClients);
   1.255 +            this.tabPageDisplay.Controls.Add(this.labelWarning);
   1.256              this.tabPageDisplay.Controls.Add(this.checkBoxFixedPitchFontOnly);
   1.257              this.tabPageDisplay.Controls.Add(this.buttonSuspend);
   1.258 -            this.tabPageDisplay.Controls.Add(this.buttonStartClient);
   1.259              this.tabPageDisplay.Controls.Add(this.checkBoxReverseScreen);
   1.260              this.tabPageDisplay.Controls.Add(this.checkBoxConnectOnStartup);
   1.261 -            this.tabPageDisplay.Controls.Add(this.panelDisplay);
   1.262              this.tabPageDisplay.Controls.Add(this.checkBoxShowBorders);
   1.263              this.tabPageDisplay.Controls.Add(this.trackBarBrightness);
   1.264              this.tabPageDisplay.Controls.Add(this.buttonFill);
   1.265 @@ -102,25 +262,16 @@
   1.266              this.tabPageDisplay.Location = new System.Drawing.Point(4, 22);
   1.267              this.tabPageDisplay.Name = "tabPageDisplay";
   1.268              this.tabPageDisplay.Padding = new System.Windows.Forms.Padding(3);
   1.269 -            this.tabPageDisplay.Size = new System.Drawing.Size(592, 369);
   1.270 +            this.tabPageDisplay.Size = new System.Drawing.Size(592, 317);
   1.271              this.tabPageDisplay.TabIndex = 0;
   1.272              this.tabPageDisplay.Text = "Display";
   1.273              this.tabPageDisplay.UseVisualStyleBackColor = true;
   1.274              // 
   1.275 -            // buttonCloseClients
   1.276 -            // 
   1.277 -            this.buttonCloseClients.Location = new System.Drawing.Point(7, 224);
   1.278 -            this.buttonCloseClients.Name = "buttonCloseClients";
   1.279 -            this.buttonCloseClients.Size = new System.Drawing.Size(75, 23);
   1.280 -            this.buttonCloseClients.TabIndex = 18;
   1.281 -            this.buttonCloseClients.Text = "Close Clients";
   1.282 -            this.buttonCloseClients.UseVisualStyleBackColor = true;
   1.283 -            this.buttonCloseClients.Click += new System.EventHandler(this.buttonCloseClients_Click);
   1.284 -            // 
   1.285              // checkBoxFixedPitchFontOnly
   1.286              // 
   1.287 +            this.checkBoxFixedPitchFontOnly.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
   1.288              this.checkBoxFixedPitchFontOnly.AutoSize = true;
   1.289 -            this.checkBoxFixedPitchFontOnly.Location = new System.Drawing.Point(113, 275);
   1.290 +            this.checkBoxFixedPitchFontOnly.Location = new System.Drawing.Point(113, 223);
   1.291              this.checkBoxFixedPitchFontOnly.Name = "checkBoxFixedPitchFontOnly";
   1.292              this.checkBoxFixedPitchFontOnly.Size = new System.Drawing.Size(120, 17);
   1.293              this.checkBoxFixedPitchFontOnly.TabIndex = 17;
   1.294 @@ -129,7 +280,8 @@
   1.295              // 
   1.296              // buttonSuspend
   1.297              // 
   1.298 -            this.buttonSuspend.Location = new System.Drawing.Point(7, 253);
   1.299 +            this.buttonSuspend.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
   1.300 +            this.buttonSuspend.Location = new System.Drawing.Point(6, 230);
   1.301              this.buttonSuspend.Name = "buttonSuspend";
   1.302              this.buttonSuspend.Size = new System.Drawing.Size(75, 23);
   1.303              this.buttonSuspend.TabIndex = 16;
   1.304 @@ -137,20 +289,11 @@
   1.305              this.buttonSuspend.UseVisualStyleBackColor = true;
   1.306              this.buttonSuspend.Click += new System.EventHandler(this.buttonSuspend_Click);
   1.307              // 
   1.308 -            // buttonStartClient
   1.309 -            // 
   1.310 -            this.buttonStartClient.Location = new System.Drawing.Point(6, 282);
   1.311 -            this.buttonStartClient.Name = "buttonStartClient";
   1.312 -            this.buttonStartClient.Size = new System.Drawing.Size(75, 23);
   1.313 -            this.buttonStartClient.TabIndex = 15;
   1.314 -            this.buttonStartClient.Text = "Start Client";
   1.315 -            this.buttonStartClient.UseVisualStyleBackColor = true;
   1.316 -            this.buttonStartClient.Click += new System.EventHandler(this.buttonStartClient_Click);
   1.317 -            // 
   1.318              // checkBoxReverseScreen
   1.319              // 
   1.320 +            this.checkBoxReverseScreen.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
   1.321              this.checkBoxReverseScreen.AutoSize = true;
   1.322 -            this.checkBoxReverseScreen.Location = new System.Drawing.Point(113, 298);
   1.323 +            this.checkBoxReverseScreen.Location = new System.Drawing.Point(113, 246);
   1.324              this.checkBoxReverseScreen.Name = "checkBoxReverseScreen";
   1.325              this.checkBoxReverseScreen.Size = new System.Drawing.Size(101, 17);
   1.326              this.checkBoxReverseScreen.TabIndex = 14;
   1.327 @@ -160,8 +303,9 @@
   1.328              // 
   1.329              // checkBoxConnectOnStartup
   1.330              // 
   1.331 +            this.checkBoxConnectOnStartup.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
   1.332              this.checkBoxConnectOnStartup.AutoSize = true;
   1.333 -            this.checkBoxConnectOnStartup.Location = new System.Drawing.Point(113, 321);
   1.334 +            this.checkBoxConnectOnStartup.Location = new System.Drawing.Point(113, 269);
   1.335              this.checkBoxConnectOnStartup.Name = "checkBoxConnectOnStartup";
   1.336              this.checkBoxConnectOnStartup.Size = new System.Drawing.Size(119, 17);
   1.337              this.checkBoxConnectOnStartup.TabIndex = 13;
   1.338 @@ -169,128 +313,11 @@
   1.339              this.checkBoxConnectOnStartup.UseVisualStyleBackColor = true;
   1.340              this.checkBoxConnectOnStartup.CheckedChanged += new System.EventHandler(this.checkBoxConnectOnStartup_CheckedChanged);
   1.341              // 
   1.342 -            // panelDisplay
   1.343 -            // 
   1.344 -            this.panelDisplay.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
   1.345 -            this.panelDisplay.Controls.Add(this.tableLayoutPanel);
   1.346 -            this.panelDisplay.Location = new System.Drawing.Point(181, 151);
   1.347 -            this.panelDisplay.Margin = new System.Windows.Forms.Padding(0);
   1.348 -            this.panelDisplay.Name = "panelDisplay";
   1.349 -            this.panelDisplay.Size = new System.Drawing.Size(258, 66);
   1.350 -            this.panelDisplay.TabIndex = 12;
   1.351 -            // 
   1.352 -            // tableLayoutPanel
   1.353 -            // 
   1.354 -            this.tableLayoutPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
   1.355 -            | System.Windows.Forms.AnchorStyles.Left) 
   1.356 -            | System.Windows.Forms.AnchorStyles.Right)));
   1.357 -            this.tableLayoutPanel.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single;
   1.358 -            this.tableLayoutPanel.ColumnCount = 1;
   1.359 -            this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
   1.360 -            this.tableLayoutPanel.Controls.Add(this.marqueeLabelTop, 0, 0);
   1.361 -            this.tableLayoutPanel.Controls.Add(this.marqueeLabelBottom, 0, 1);
   1.362 -            this.tableLayoutPanel.Location = new System.Drawing.Point(0, 0);
   1.363 -            this.tableLayoutPanel.Margin = new System.Windows.Forms.Padding(0);
   1.364 -            this.tableLayoutPanel.Name = "tableLayoutPanel";
   1.365 -            this.tableLayoutPanel.RowCount = 2;
   1.366 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
   1.367 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
   1.368 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.369 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.370 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.371 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.372 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.373 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.374 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.375 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.376 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.377 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.378 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.379 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.380 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.381 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.382 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.383 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.384 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.385 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.386 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.387 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.388 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.389 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.390 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.391 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.392 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.393 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.394 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.395 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.396 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.397 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.398 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.399 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.400 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.401 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.402 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.403 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.404 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.405 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.406 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.407 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.408 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.409 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.410 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.411 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.412 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.413 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.414 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.415 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.416 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.417 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.418 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.419 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.420 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.421 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.422 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.423 -            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
   1.424 -            this.tableLayoutPanel.Size = new System.Drawing.Size(256, 64);
   1.425 -            this.tableLayoutPanel.TabIndex = 5;
   1.426 -            // 
   1.427 -            // marqueeLabelTop
   1.428 -            // 
   1.429 -            this.marqueeLabelTop.AutoEllipsis = true;
   1.430 -            this.marqueeLabelTop.BackColor = System.Drawing.Color.Transparent;
   1.431 -            this.marqueeLabelTop.Dock = System.Windows.Forms.DockStyle.Fill;
   1.432 -            this.marqueeLabelTop.Location = new System.Drawing.Point(1, 1);
   1.433 -            this.marqueeLabelTop.Margin = new System.Windows.Forms.Padding(0);
   1.434 -            this.marqueeLabelTop.Name = "marqueeLabelTop";
   1.435 -            this.marqueeLabelTop.OwnTimer = false;
   1.436 -            this.marqueeLabelTop.PixelsPerSecond = 64;
   1.437 -            this.marqueeLabelTop.Separator = "|";
   1.438 -            this.marqueeLabelTop.Size = new System.Drawing.Size(254, 30);
   1.439 -            this.marqueeLabelTop.TabIndex = 2;
   1.440 -            this.marqueeLabelTop.Text = "ABCDEFGHIJKLMNOPQRST-0123456789";
   1.441 -            this.marqueeLabelTop.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
   1.442 -            this.marqueeLabelTop.UseCompatibleTextRendering = true;
   1.443 -            // 
   1.444 -            // marqueeLabelBottom
   1.445 -            // 
   1.446 -            this.marqueeLabelBottom.AutoEllipsis = true;
   1.447 -            this.marqueeLabelBottom.Dock = System.Windows.Forms.DockStyle.Fill;
   1.448 -            this.marqueeLabelBottom.Location = new System.Drawing.Point(1, 32);
   1.449 -            this.marqueeLabelBottom.Margin = new System.Windows.Forms.Padding(0);
   1.450 -            this.marqueeLabelBottom.Name = "marqueeLabelBottom";
   1.451 -            this.marqueeLabelBottom.OwnTimer = false;
   1.452 -            this.marqueeLabelBottom.PixelsPerSecond = 64;
   1.453 -            this.marqueeLabelBottom.Separator = "|";
   1.454 -            this.marqueeLabelBottom.Size = new System.Drawing.Size(254, 31);
   1.455 -            this.marqueeLabelBottom.TabIndex = 3;
   1.456 -            this.marqueeLabelBottom.Text = "abcdefghijklmnopqrst-0123456789";
   1.457 -            this.marqueeLabelBottom.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
   1.458 -            this.marqueeLabelBottom.UseCompatibleTextRendering = true;
   1.459 -            // 
   1.460              // checkBoxShowBorders
   1.461              // 
   1.462 +            this.checkBoxShowBorders.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
   1.463              this.checkBoxShowBorders.AutoSize = true;
   1.464 -            this.checkBoxShowBorders.Location = new System.Drawing.Point(113, 344);
   1.465 +            this.checkBoxShowBorders.Location = new System.Drawing.Point(113, 292);
   1.466              this.checkBoxShowBorders.Name = "checkBoxShowBorders";
   1.467              this.checkBoxShowBorders.Size = new System.Drawing.Size(91, 17);
   1.468              this.checkBoxShowBorders.TabIndex = 11;
   1.469 @@ -306,7 +333,7 @@
   1.470              this.trackBarBrightness.Location = new System.Drawing.Point(544, 9);
   1.471              this.trackBarBrightness.Name = "trackBarBrightness";
   1.472              this.trackBarBrightness.Orientation = System.Windows.Forms.Orientation.Vertical;
   1.473 -            this.trackBarBrightness.Size = new System.Drawing.Size(45, 357);
   1.474 +            this.trackBarBrightness.Size = new System.Drawing.Size(45, 305);
   1.475              this.trackBarBrightness.TabIndex = 10;
   1.476              this.trackBarBrightness.TickStyle = System.Windows.Forms.TickStyle.Both;
   1.477              this.trackBarBrightness.Scroll += new System.EventHandler(this.trackBarBrightness_Scroll);
   1.478 @@ -354,7 +381,7 @@
   1.479              // buttonCapture
   1.480              // 
   1.481              this.buttonCapture.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
   1.482 -            this.buttonCapture.Location = new System.Drawing.Point(6, 311);
   1.483 +            this.buttonCapture.Location = new System.Drawing.Point(6, 259);
   1.484              this.buttonCapture.Name = "buttonCapture";
   1.485              this.buttonCapture.Size = new System.Drawing.Size(75, 23);
   1.486              this.buttonCapture.TabIndex = 5;
   1.487 @@ -365,7 +392,7 @@
   1.488              // buttonFont
   1.489              // 
   1.490              this.buttonFont.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
   1.491 -            this.buttonFont.Location = new System.Drawing.Point(6, 340);
   1.492 +            this.buttonFont.Location = new System.Drawing.Point(6, 288);
   1.493              this.buttonFont.Name = "buttonFont";
   1.494              this.buttonFont.Size = new System.Drawing.Size(75, 23);
   1.495              this.buttonFont.TabIndex = 0;
   1.496 @@ -373,104 +400,88 @@
   1.497              this.buttonFont.UseVisualStyleBackColor = true;
   1.498              this.buttonFont.Click += new System.EventHandler(this.buttonFont_Click);
   1.499              // 
   1.500 -            // tabPageTests
   1.501 +            // tabControl
   1.502              // 
   1.503 -            this.tabPageTests.Location = new System.Drawing.Point(4, 22);
   1.504 -            this.tabPageTests.Name = "tabPageTests";
   1.505 -            this.tabPageTests.Padding = new System.Windows.Forms.Padding(3);
   1.506 -            this.tabPageTests.Size = new System.Drawing.Size(592, 369);
   1.507 -            this.tabPageTests.TabIndex = 1;
   1.508 -            this.tabPageTests.Text = "Test";
   1.509 -            this.tabPageTests.UseVisualStyleBackColor = true;
   1.510 -            // 
   1.511 -            // tabPageClients
   1.512 -            // 
   1.513 -            this.tabPageClients.Controls.Add(this.treeViewClients);
   1.514 -            this.tabPageClients.Location = new System.Drawing.Point(4, 22);
   1.515 -            this.tabPageClients.Name = "tabPageClients";
   1.516 -            this.tabPageClients.Padding = new System.Windows.Forms.Padding(3);
   1.517 -            this.tabPageClients.Size = new System.Drawing.Size(592, 369);
   1.518 -            this.tabPageClients.TabIndex = 2;
   1.519 -            this.tabPageClients.Text = "Clients";
   1.520 -            this.tabPageClients.UseVisualStyleBackColor = true;
   1.521 -            // 
   1.522 -            // treeViewClients
   1.523 -            // 
   1.524 -            this.treeViewClients.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
   1.525 +            this.tabControl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
   1.526              | System.Windows.Forms.AnchorStyles.Left) 
   1.527              | System.Windows.Forms.AnchorStyles.Right)));
   1.528 -            this.treeViewClients.Location = new System.Drawing.Point(6, 6);
   1.529 -            this.treeViewClients.Name = "treeViewClients";
   1.530 -            this.treeViewClients.Size = new System.Drawing.Size(439, 357);
   1.531 -            this.treeViewClients.TabIndex = 0;
   1.532 -            this.treeViewClients.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeViewClients_AfterSelect);
   1.533 +            this.tabControl.Controls.Add(this.tabPageDisplay);
   1.534 +            this.tabControl.Controls.Add(this.tabPageClients);
   1.535 +            this.tabControl.Location = new System.Drawing.Point(12, 139);
   1.536 +            this.tabControl.Name = "tabControl";
   1.537 +            this.tabControl.SelectedIndex = 0;
   1.538 +            this.tabControl.Size = new System.Drawing.Size(600, 343);
   1.539 +            this.tabControl.TabIndex = 0;
   1.540              // 
   1.541 -            // timer
   1.542 +            // labelWarning
   1.543              // 
   1.544 -            this.timer.Enabled = true;
   1.545 -            this.timer.Interval = 50;
   1.546 -            this.timer.Tick += new System.EventHandler(this.timer_Tick);
   1.547 +            this.labelWarning.AutoSize = true;
   1.548 +            this.labelWarning.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
   1.549 +            this.labelWarning.ForeColor = System.Drawing.Color.Red;
   1.550 +            this.labelWarning.Location = new System.Drawing.Point(87, 9);
   1.551 +            this.labelWarning.Name = "labelWarning";
   1.552 +            this.labelWarning.Size = new System.Drawing.Size(80, 16);
   1.553 +            this.labelWarning.TabIndex = 18;
   1.554 +            this.labelWarning.Text = "WARNING";
   1.555 +            this.labelWarning.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
   1.556 +            this.labelWarning.Visible = false;
   1.557              // 
   1.558 -            // statusStrip
   1.559 +            // marqueeLabelTop
   1.560              // 
   1.561 -            this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
   1.562 -            this.toolStripStatusLabelConnect,
   1.563 -            this.toolStripStatusLabelSpring,
   1.564 -            this.toolStripStatusLabelPower,
   1.565 -            this.toolStripStatusLabelFps});
   1.566 -            this.statusStrip.Location = new System.Drawing.Point(0, 420);
   1.567 -            this.statusStrip.Name = "statusStrip";
   1.568 -            this.statusStrip.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional;
   1.569 -            this.statusStrip.Size = new System.Drawing.Size(624, 22);
   1.570 -            this.statusStrip.TabIndex = 1;
   1.571 -            this.statusStrip.Text = "statusStrip";
   1.572 +            this.marqueeLabelTop.AutoEllipsis = true;
   1.573 +            this.marqueeLabelTop.BackColor = System.Drawing.Color.Transparent;
   1.574 +            this.marqueeLabelTop.Dock = System.Windows.Forms.DockStyle.Fill;
   1.575 +            this.marqueeLabelTop.Location = new System.Drawing.Point(1, -124);
   1.576 +            this.marqueeLabelTop.Margin = new System.Windows.Forms.Padding(0);
   1.577 +            this.marqueeLabelTop.Name = "marqueeLabelTop";
   1.578 +            this.marqueeLabelTop.OwnTimer = false;
   1.579 +            this.marqueeLabelTop.PixelsPerSecond = 64;
   1.580 +            this.marqueeLabelTop.Separator = "|";
   1.581 +            this.marqueeLabelTop.Size = new System.Drawing.Size(254, 20);
   1.582 +            this.marqueeLabelTop.TabIndex = 2;
   1.583 +            this.marqueeLabelTop.Text = "ABCDEFGHIJKLMNOPQRST-0123456789";
   1.584 +            this.marqueeLabelTop.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
   1.585 +            this.marqueeLabelTop.UseCompatibleTextRendering = true;
   1.586              // 
   1.587 -            // toolStripStatusLabelConnect
   1.588 +            // marqueeLabelBottom
   1.589              // 
   1.590 -            this.toolStripStatusLabelConnect.Name = "toolStripStatusLabelConnect";
   1.591 -            this.toolStripStatusLabelConnect.Size = new System.Drawing.Size(86, 17);
   1.592 -            this.toolStripStatusLabelConnect.Text = "Not connected";
   1.593 -            // 
   1.594 -            // toolStripStatusLabelSpring
   1.595 -            // 
   1.596 -            this.toolStripStatusLabelSpring.Name = "toolStripStatusLabelSpring";
   1.597 -            this.toolStripStatusLabelSpring.Size = new System.Drawing.Size(473, 17);
   1.598 -            this.toolStripStatusLabelSpring.Spring = true;
   1.599 -            // 
   1.600 -            // toolStripStatusLabelPower
   1.601 -            // 
   1.602 -            this.toolStripStatusLabelPower.Name = "toolStripStatusLabelPower";
   1.603 -            this.toolStripStatusLabelPower.Size = new System.Drawing.Size(24, 17);
   1.604 -            this.toolStripStatusLabelPower.Text = "NA";
   1.605 -            // 
   1.606 -            // toolStripStatusLabelFps
   1.607 -            // 
   1.608 -            this.toolStripStatusLabelFps.Name = "toolStripStatusLabelFps";
   1.609 -            this.toolStripStatusLabelFps.Size = new System.Drawing.Size(26, 17);
   1.610 -            this.toolStripStatusLabelFps.Text = "FPS";
   1.611 +            this.marqueeLabelBottom.AutoEllipsis = true;
   1.612 +            this.marqueeLabelBottom.Dock = System.Windows.Forms.DockStyle.Fill;
   1.613 +            this.marqueeLabelBottom.Location = new System.Drawing.Point(1, -40);
   1.614 +            this.marqueeLabelBottom.Margin = new System.Windows.Forms.Padding(0);
   1.615 +            this.marqueeLabelBottom.Name = "marqueeLabelBottom";
   1.616 +            this.marqueeLabelBottom.OwnTimer = false;
   1.617 +            this.marqueeLabelBottom.PixelsPerSecond = 64;
   1.618 +            this.marqueeLabelBottom.Separator = "|";
   1.619 +            this.marqueeLabelBottom.Size = new System.Drawing.Size(254, 20);
   1.620 +            this.marqueeLabelBottom.TabIndex = 3;
   1.621 +            this.marqueeLabelBottom.Text = "abcdefghijklmnopqrst-0123456789";
   1.622 +            this.marqueeLabelBottom.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
   1.623 +            this.marqueeLabelBottom.UseCompatibleTextRendering = true;
   1.624              // 
   1.625              // MainForm
   1.626              // 
   1.627              this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
   1.628              this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
   1.629 -            this.ClientSize = new System.Drawing.Size(624, 442);
   1.630 +            this.ClientSize = new System.Drawing.Size(624, 517);
   1.631              this.Controls.Add(this.statusStrip);
   1.632              this.Controls.Add(this.tabControl);
   1.633 +            this.Controls.Add(this.panelDisplay);
   1.634              this.MinimumSize = new System.Drawing.Size(640, 480);
   1.635              this.Name = "MainForm";
   1.636              this.Text = "Sharp Display Manager";
   1.637              this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
   1.638              this.Load += new System.EventHandler(this.MainForm_Load);
   1.639              this.Resize += new System.EventHandler(this.MainForm_Resize);
   1.640 -            this.tabControl.ResumeLayout(false);
   1.641 +            this.panelDisplay.ResumeLayout(false);
   1.642 +            this.tableLayoutPanel.ResumeLayout(false);
   1.643 +            this.statusStrip.ResumeLayout(false);
   1.644 +            this.statusStrip.PerformLayout();
   1.645 +            this.tabPageClients.ResumeLayout(false);
   1.646              this.tabPageDisplay.ResumeLayout(false);
   1.647              this.tabPageDisplay.PerformLayout();
   1.648 -            this.panelDisplay.ResumeLayout(false);
   1.649 -            this.tableLayoutPanel.ResumeLayout(false);
   1.650              ((System.ComponentModel.ISupportInitialize)(this.trackBarBrightness)).EndInit();
   1.651 -            this.tabPageClients.ResumeLayout(false);
   1.652 -            this.statusStrip.ResumeLayout(false);
   1.653 -            this.statusStrip.PerformLayout();
   1.654 +            this.tabControl.ResumeLayout(false);
   1.655              this.ResumeLayout(false);
   1.656              this.PerformLayout();
   1.657  
   1.658 @@ -478,36 +489,36 @@
   1.659  
   1.660          #endregion
   1.661  
   1.662 -        private System.Windows.Forms.TabControl tabControl;
   1.663 -        private System.Windows.Forms.TabPage tabPageDisplay;
   1.664 -        private System.Windows.Forms.TabPage tabPageTests;
   1.665 -        private System.Windows.Forms.Button buttonFont;
   1.666          private System.Windows.Forms.FontDialog fontDialog;
   1.667 -        private System.Windows.Forms.Button buttonCapture;
   1.668          private System.Windows.Forms.Timer timer;
   1.669 -        private System.Windows.Forms.Button buttonFill;
   1.670 -        private System.Windows.Forms.Button buttonClear;
   1.671 -        private System.Windows.Forms.Button buttonClose;
   1.672 -        private System.Windows.Forms.Button buttonOpen;
   1.673 -        private System.Windows.Forms.TrackBar trackBarBrightness;
   1.674          private System.Windows.Forms.StatusStrip statusStrip;
   1.675          private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelConnect;
   1.676          private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelFps;
   1.677          private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelSpring;
   1.678 -        private System.Windows.Forms.CheckBox checkBoxShowBorders;
   1.679          private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelPower;
   1.680          private System.Windows.Forms.Panel panelDisplay;
   1.681          private System.Windows.Forms.TableLayoutPanel tableLayoutPanel;
   1.682          private MarqueeLabel marqueeLabelTop;
   1.683          private MarqueeLabel marqueeLabelBottom;
   1.684 -        private System.Windows.Forms.CheckBox checkBoxConnectOnStartup;
   1.685 -        private System.Windows.Forms.CheckBox checkBoxReverseScreen;
   1.686 -        private System.Windows.Forms.Button buttonStartClient;
   1.687 -        private System.Windows.Forms.Button buttonSuspend;
   1.688 -        private System.Windows.Forms.CheckBox checkBoxFixedPitchFontOnly;
   1.689 -        private System.Windows.Forms.Button buttonCloseClients;
   1.690          private System.Windows.Forms.TabPage tabPageClients;
   1.691          private System.Windows.Forms.TreeView treeViewClients;
   1.692 +        private System.Windows.Forms.TabPage tabPageDisplay;
   1.693 +        private System.Windows.Forms.CheckBox checkBoxFixedPitchFontOnly;
   1.694 +        private System.Windows.Forms.Button buttonSuspend;
   1.695 +        private System.Windows.Forms.CheckBox checkBoxReverseScreen;
   1.696 +        private System.Windows.Forms.CheckBox checkBoxConnectOnStartup;
   1.697 +        private System.Windows.Forms.CheckBox checkBoxShowBorders;
   1.698 +        private System.Windows.Forms.TrackBar trackBarBrightness;
   1.699 +        private System.Windows.Forms.Button buttonFill;
   1.700 +        private System.Windows.Forms.Button buttonClear;
   1.701 +        private System.Windows.Forms.Button buttonClose;
   1.702 +        private System.Windows.Forms.Button buttonOpen;
   1.703 +        private System.Windows.Forms.Button buttonCapture;
   1.704 +        private System.Windows.Forms.Button buttonFont;
   1.705 +        private System.Windows.Forms.TabControl tabControl;
   1.706 +        private System.Windows.Forms.Button buttonCloseClients;
   1.707 +        private System.Windows.Forms.Button buttonStartClient;
   1.708 +        private System.Windows.Forms.Label labelWarning;
   1.709      }
   1.710  }
   1.711  
     2.1 --- a/Server/MainForm.cs	Mon Aug 18 23:43:44 2014 +0200
     2.2 +++ b/Server/MainForm.cs	Tue Aug 19 17:29:52 2014 +0200
     2.3 @@ -97,9 +97,17 @@
     2.4                  marqueeLabelBottom.Font = fontDialog.Font;
     2.5                  Properties.Settings.Default.DisplayFont = fontDialog.Font;
     2.6                  Properties.Settings.Default.Save();
     2.7 -                //label1.Font = fontDlg.Font;
     2.8 -                //textBox1.BackColor = fontDlg.Color;
     2.9 -                //label1.ForeColor = fontDlg.Color;
    2.10 +                //
    2.11 +                if (fontDialog.Font.Height > marqueeLabelBottom.Height)
    2.12 +                {
    2.13 +                    labelWarning.Text = "WARNING: Selected font is too height by " + (fontDialog.Font.Height - marqueeLabelBottom.Height) + " pixels!";
    2.14 +                    labelWarning.Visible = true;
    2.15 +                }
    2.16 +                else
    2.17 +                {
    2.18 +                    labelWarning.Visible = false;
    2.19 +                }
    2.20 +
    2.21              }
    2.22          }
    2.23  
    2.24 @@ -388,7 +396,7 @@
    2.25                  }
    2.26              }
    2.27              else
    2.28 -            {                
    2.29 +            {
    2.30                  //We removed that as it often lags for some reason
    2.31                  //iServiceHost.Close();
    2.32              }
    2.33 @@ -429,6 +437,7 @@
    2.34          {
    2.35              Thread clientThread = new Thread(SharpDisplayClient.Program.Main);
    2.36              clientThread.Start();
    2.37 +            BringToFront();
    2.38          }
    2.39  
    2.40          private void buttonSuspend_Click(object sender, EventArgs e)
    2.41 @@ -454,16 +463,16 @@
    2.42  
    2.43          }
    2.44  
    2.45 -        //Delegates are used for our thread safe method 
    2.46 +        //Delegates are used for our thread safe method
    2.47          public delegate void AddClientDelegate(string aSessionId, IDisplayServiceCallback aCallback);
    2.48          public delegate void RemoveClientDelegate(string aSessionId);
    2.49          public delegate void SetTextDelegate(string SessionId, int aLineIndex, string aText);
    2.50          public delegate void SetTextsDelegate(string SessionId, System.Collections.Generic.IList<string> aTexts);
    2.51          public delegate void SetClientNameDelegate(string aSessionId, string aName);
    2.52  
    2.53 -       
    2.54 +
    2.55          /// <summary>
    2.56 -        /// 
    2.57 +        ///
    2.58          /// </summary>
    2.59          /// <param name="aSessionId"></param>
    2.60          /// <param name="aCallback"></param>
    2.61 @@ -487,7 +496,7 @@
    2.62          }
    2.63  
    2.64          /// <summary>
    2.65 -        /// 
    2.66 +        ///
    2.67          /// </summary>
    2.68          /// <param name="aSessionId"></param>
    2.69          public void RemoveClientThreadSafe(string aSessionId)
    2.70 @@ -520,7 +529,7 @@
    2.71          }
    2.72  
    2.73          /// <summary>
    2.74 -        /// 
    2.75 +        ///
    2.76          /// </summary>
    2.77          /// <param name="aLineIndex"></param>
    2.78          /// <param name="aText"></param>
    2.79 @@ -548,7 +557,7 @@
    2.80                      //Only support two lines for now
    2.81                      if (aLineIndex == 0)
    2.82                      {
    2.83 -                        marqueeLabelTop.Text = aText;                        
    2.84 +                        marqueeLabelTop.Text = aText;
    2.85                      }
    2.86                      else if (aLineIndex == 1)
    2.87                      {
    2.88 @@ -562,7 +571,7 @@
    2.89          }
    2.90  
    2.91          /// <summary>
    2.92 -        /// 
    2.93 +        ///
    2.94          /// </summary>
    2.95          /// <param name="aTexts"></param>
    2.96          public void SetTextsThreadSafe(string aSessionId, System.Collections.Generic.IList<string> aTexts)
    2.97 @@ -614,7 +623,7 @@
    2.98  
    2.99  
   2.100          /// <summary>
   2.101 -        /// 
   2.102 +        ///
   2.103          /// </summary>
   2.104          /// <param name="aSessionId"></param>
   2.105          /// <param name="aName"></param>
   2.106 @@ -642,7 +651,7 @@
   2.107          }
   2.108  
   2.109          /// <summary>
   2.110 -        /// 
   2.111 +        ///
   2.112          /// </summary>
   2.113          /// <param name="aClient"></param>
   2.114          private void UpdateClientTreeViewNode(ClientData aClient)
   2.115 @@ -685,7 +694,7 @@
   2.116                      //No name, use session ID instead
   2.117                      node.Text = aClient.SessionId;
   2.118                  }
   2.119 -        
   2.120 +
   2.121                  if (aClient.Texts.Count > 0)
   2.122                  {
   2.123                      //Create root node for our texts
   2.124 @@ -702,6 +711,7 @@
   2.125              }
   2.126          }
   2.127  
   2.128 +
   2.129      }
   2.130  
   2.131      /// <summary>