Adding label "scale to fit" functionality.
authorsl
Fri, 23 Jan 2015 18:33:51 +0100
changeset 1007e02ac8b13ba
parent 99 cf60911d08a7
child 101 c7e8e88e1d75
Adding label "scale to fit" functionality.
Adding scroll separator to config.
Server/DisplaySettings.cs
Server/MainForm.Designer.cs
Server/MainForm.cs
Server/MarqueeLabel.cs
Server/Properties/Settings.Designer.cs
     1.1 --- a/Server/DisplaySettings.cs	Fri Jan 23 15:20:32 2015 +0100
     1.2 +++ b/Server/DisplaySettings.cs	Fri Jan 23 18:33:51 2015 +0100
     1.3 @@ -27,6 +27,9 @@
     1.4              InverseColors = true;
     1.5              ShowBorders = false;
     1.6              FontName = "Microsoft Sans Serif, 9.75pt";
     1.7 +            ScaleToFit = true;
     1.8 +            MinFontSize = 15.0f;
     1.9 +            Separator = "    ";
    1.10          }
    1.11  
    1.12          [DataMember]
    1.13 @@ -51,6 +54,15 @@
    1.14          public bool ShowBorders { get; set; }
    1.15  
    1.16          [DataMember]
    1.17 +        public bool ScaleToFit { get; set; }
    1.18 +
    1.19 +        [DataMember]
    1.20 +        public float MinFontSize { get; set; }
    1.21 +
    1.22 +        [DataMember]
    1.23 +        public string Separator { get; set; }
    1.24 +
    1.25 +        [DataMember]
    1.26          public string FontName { get; set; }
    1.27  
    1.28          public Font Font
    1.29 @@ -72,7 +84,7 @@
    1.30  
    1.31  
    1.32      /// <summary>
    1.33 -    /// Contain settings for each of our display type. 
    1.34 +    /// Contain settings for each of our display type.
    1.35      /// </summary>
    1.36      [TypeConverter(typeof(DisplaySettingsConverter))]
    1.37      [DataContract]
    1.38 @@ -125,7 +137,7 @@
    1.39          {
    1.40              string stringValue = value as string;
    1.41              if (stringValue != null)
    1.42 -            {   
    1.43 +            {
    1.44                  //Load settings form JSON string
    1.45                  byte[] byteArray = Encoding.UTF8.GetBytes(stringValue);
    1.46                  MemoryStream stream = new MemoryStream(byteArray);
     2.1 --- a/Server/MainForm.Designer.cs	Fri Jan 23 15:20:32 2015 +0100
     2.2 +++ b/Server/MainForm.Designer.cs	Fri Jan 23 18:33:51 2015 +0100
     2.3 @@ -28,715 +28,777 @@
     2.4          /// </summary>
     2.5          private void InitializeComponent()
     2.6          {
     2.7 -			this.components = new System.ComponentModel.Container();
     2.8 -			System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
     2.9 -			this.panelDisplay = new System.Windows.Forms.Panel();
    2.10 -			this.tableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
    2.11 -			this.marqueeLabelTop = new SharpDisplayManager.MarqueeLabel();
    2.12 -			this.marqueeLabelBottom = new SharpDisplayManager.MarqueeLabel();
    2.13 -			this.fontDialog = new System.Windows.Forms.FontDialog();
    2.14 -			this.timer = new System.Windows.Forms.Timer(this.components);
    2.15 -			this.statusStrip = new System.Windows.Forms.StatusStrip();
    2.16 -			this.toolStripStatusLabelConnect = new System.Windows.Forms.ToolStripStatusLabel();
    2.17 -			this.toolStripStatusLabelSpring = new System.Windows.Forms.ToolStripStatusLabel();
    2.18 -			this.toolStripStatusLabelPower = new System.Windows.Forms.ToolStripStatusLabel();
    2.19 -			this.toolStripStatusLabelFps = new System.Windows.Forms.ToolStripStatusLabel();
    2.20 -			this.tabPageClients = new System.Windows.Forms.TabPage();
    2.21 -			this.buttonCloseClients = new System.Windows.Forms.Button();
    2.22 -			this.buttonStartClient = new System.Windows.Forms.Button();
    2.23 -			this.treeViewClients = new System.Windows.Forms.TreeView();
    2.24 -			this.tabPageDisplay = new System.Windows.Forms.TabPage();
    2.25 -			this.buttonShowClock = new System.Windows.Forms.Button();
    2.26 -			this.buttonHideClock = new System.Windows.Forms.Button();
    2.27 -			this.buttonPowerOff = new System.Windows.Forms.Button();
    2.28 -			this.buttonPowerOn = new System.Windows.Forms.Button();
    2.29 -			this.labelTimerInterval = new System.Windows.Forms.Label();
    2.30 -			this.maskedTextBoxTimerInterval = new System.Windows.Forms.MaskedTextBox();
    2.31 -			this.comboBoxDisplayType = new System.Windows.Forms.ComboBox();
    2.32 -			this.buttonSuspend = new System.Windows.Forms.Button();
    2.33 -			this.checkBoxConnectOnStartup = new System.Windows.Forms.CheckBox();
    2.34 -			this.trackBarBrightness = new System.Windows.Forms.TrackBar();
    2.35 -			this.buttonFill = new System.Windows.Forms.Button();
    2.36 -			this.buttonClear = new System.Windows.Forms.Button();
    2.37 -			this.buttonClose = new System.Windows.Forms.Button();
    2.38 -			this.buttonOpen = new System.Windows.Forms.Button();
    2.39 -			this.buttonCapture = new System.Windows.Forms.Button();
    2.40 -			this.labelWarning = new System.Windows.Forms.Label();
    2.41 -			this.checkBoxFixedPitchFontOnly = new System.Windows.Forms.CheckBox();
    2.42 -			this.checkBoxShowBorders = new System.Windows.Forms.CheckBox();
    2.43 -			this.buttonFont = new System.Windows.Forms.Button();
    2.44 -			this.tabControl = new System.Windows.Forms.TabControl();
    2.45 -			this.tabPageDesign = new System.Windows.Forms.TabPage();
    2.46 -			this.checkBoxInverseColors = new System.Windows.Forms.CheckBox();
    2.47 -			this.buttonAlignRight = new System.Windows.Forms.Button();
    2.48 -			this.buttonAlignCenter = new System.Windows.Forms.Button();
    2.49 -			this.buttonAlignLeft = new System.Windows.Forms.Button();
    2.50 -			this.buttonRemoveColumn = new System.Windows.Forms.Button();
    2.51 -			this.buttonAddColumn = new System.Windows.Forms.Button();
    2.52 -			this.checkBoxReverseScreen = new System.Windows.Forms.CheckBox();
    2.53 -			this.buttonRemoveRow = new System.Windows.Forms.Button();
    2.54 -			this.buttonAddRow = new System.Windows.Forms.Button();
    2.55 -			this.tabPageApp = new System.Windows.Forms.TabPage();
    2.56 -			this.checkBoxStartMinimized = new System.Windows.Forms.CheckBox();
    2.57 -			this.checkBoxMinimizeToTray = new System.Windows.Forms.CheckBox();
    2.58 -			this.checkBoxAutoStart = new System.Windows.Forms.CheckBox();
    2.59 -			this.buttonUpdate = new System.Windows.Forms.Button();
    2.60 -			this.labelFontWidth = new System.Windows.Forms.Label();
    2.61 -			this.labelFontHeight = new System.Windows.Forms.Label();
    2.62 -			this.pictureBoxDemo = new System.Windows.Forms.PictureBox();
    2.63 -			this.panelDisplay.SuspendLayout();
    2.64 -			this.tableLayoutPanel.SuspendLayout();
    2.65 -			this.statusStrip.SuspendLayout();
    2.66 -			this.tabPageClients.SuspendLayout();
    2.67 -			this.tabPageDisplay.SuspendLayout();
    2.68 -			((System.ComponentModel.ISupportInitialize)(this.trackBarBrightness)).BeginInit();
    2.69 -			this.tabControl.SuspendLayout();
    2.70 -			this.tabPageDesign.SuspendLayout();
    2.71 -			this.tabPageApp.SuspendLayout();
    2.72 -			((System.ComponentModel.ISupportInitialize)(this.pictureBoxDemo)).BeginInit();
    2.73 -			this.SuspendLayout();
    2.74 -			// 
    2.75 -			// panelDisplay
    2.76 -			// 
    2.77 -			this.panelDisplay.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
    2.78 -			this.panelDisplay.Controls.Add(this.tableLayoutPanel);
    2.79 -			this.panelDisplay.Location = new System.Drawing.Point(173, 40);
    2.80 -			this.panelDisplay.Margin = new System.Windows.Forms.Padding(0);
    2.81 -			this.panelDisplay.Name = "panelDisplay";
    2.82 -			this.panelDisplay.Size = new System.Drawing.Size(258, 66);
    2.83 -			this.panelDisplay.TabIndex = 12;
    2.84 -			// 
    2.85 -			// tableLayoutPanel
    2.86 -			// 
    2.87 -			this.tableLayoutPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
    2.88 +            this.components = new System.ComponentModel.Container();
    2.89 +            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
    2.90 +            this.panelDisplay = new System.Windows.Forms.Panel();
    2.91 +            this.tableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
    2.92 +            this.marqueeLabelTop = new SharpDisplayManager.MarqueeLabel();
    2.93 +            this.marqueeLabelBottom = new SharpDisplayManager.MarqueeLabel();
    2.94 +            this.fontDialog = new System.Windows.Forms.FontDialog();
    2.95 +            this.timer = new System.Windows.Forms.Timer(this.components);
    2.96 +            this.statusStrip = new System.Windows.Forms.StatusStrip();
    2.97 +            this.toolStripStatusLabelConnect = new System.Windows.Forms.ToolStripStatusLabel();
    2.98 +            this.toolStripStatusLabelSpring = new System.Windows.Forms.ToolStripStatusLabel();
    2.99 +            this.toolStripStatusLabelPower = new System.Windows.Forms.ToolStripStatusLabel();
   2.100 +            this.toolStripStatusLabelFps = new System.Windows.Forms.ToolStripStatusLabel();
   2.101 +            this.tabPageClients = new System.Windows.Forms.TabPage();
   2.102 +            this.buttonCloseClients = new System.Windows.Forms.Button();
   2.103 +            this.buttonStartClient = new System.Windows.Forms.Button();
   2.104 +            this.treeViewClients = new System.Windows.Forms.TreeView();
   2.105 +            this.tabPageDisplay = new System.Windows.Forms.TabPage();
   2.106 +            this.buttonShowClock = new System.Windows.Forms.Button();
   2.107 +            this.buttonHideClock = new System.Windows.Forms.Button();
   2.108 +            this.buttonPowerOff = new System.Windows.Forms.Button();
   2.109 +            this.buttonPowerOn = new System.Windows.Forms.Button();
   2.110 +            this.labelTimerInterval = new System.Windows.Forms.Label();
   2.111 +            this.maskedTextBoxTimerInterval = new System.Windows.Forms.MaskedTextBox();
   2.112 +            this.comboBoxDisplayType = new System.Windows.Forms.ComboBox();
   2.113 +            this.buttonSuspend = new System.Windows.Forms.Button();
   2.114 +            this.checkBoxConnectOnStartup = new System.Windows.Forms.CheckBox();
   2.115 +            this.trackBarBrightness = new System.Windows.Forms.TrackBar();
   2.116 +            this.buttonFill = new System.Windows.Forms.Button();
   2.117 +            this.buttonClear = new System.Windows.Forms.Button();
   2.118 +            this.buttonClose = new System.Windows.Forms.Button();
   2.119 +            this.buttonOpen = new System.Windows.Forms.Button();
   2.120 +            this.buttonCapture = new System.Windows.Forms.Button();
   2.121 +            this.labelWarning = new System.Windows.Forms.Label();
   2.122 +            this.checkBoxFixedPitchFontOnly = new System.Windows.Forms.CheckBox();
   2.123 +            this.checkBoxShowBorders = new System.Windows.Forms.CheckBox();
   2.124 +            this.buttonFont = new System.Windows.Forms.Button();
   2.125 +            this.tabControl = new System.Windows.Forms.TabControl();
   2.126 +            this.tabPageDesign = new System.Windows.Forms.TabPage();
   2.127 +            this.labelScrollLoopSeparator = new System.Windows.Forms.Label();
   2.128 +            this.textBoxScrollLoopSeparator = new System.Windows.Forms.TextBox();
   2.129 +            this.labelMinFontSize = new System.Windows.Forms.Label();
   2.130 +            this.maskedTextBoxMinFontSize = new System.Windows.Forms.MaskedTextBox();
   2.131 +            this.checkBoxScaleToFit = new System.Windows.Forms.CheckBox();
   2.132 +            this.checkBoxInverseColors = new System.Windows.Forms.CheckBox();
   2.133 +            this.buttonAlignRight = new System.Windows.Forms.Button();
   2.134 +            this.buttonAlignCenter = new System.Windows.Forms.Button();
   2.135 +            this.buttonAlignLeft = new System.Windows.Forms.Button();
   2.136 +            this.buttonRemoveColumn = new System.Windows.Forms.Button();
   2.137 +            this.buttonAddColumn = new System.Windows.Forms.Button();
   2.138 +            this.checkBoxReverseScreen = new System.Windows.Forms.CheckBox();
   2.139 +            this.buttonRemoveRow = new System.Windows.Forms.Button();
   2.140 +            this.buttonAddRow = new System.Windows.Forms.Button();
   2.141 +            this.tabPageApp = new System.Windows.Forms.TabPage();
   2.142 +            this.checkBoxStartMinimized = new System.Windows.Forms.CheckBox();
   2.143 +            this.checkBoxMinimizeToTray = new System.Windows.Forms.CheckBox();
   2.144 +            this.checkBoxAutoStart = new System.Windows.Forms.CheckBox();
   2.145 +            this.buttonUpdate = new System.Windows.Forms.Button();
   2.146 +            this.labelFontWidth = new System.Windows.Forms.Label();
   2.147 +            this.labelFontHeight = new System.Windows.Forms.Label();
   2.148 +            this.pictureBoxDemo = new System.Windows.Forms.PictureBox();
   2.149 +            this.panelDisplay.SuspendLayout();
   2.150 +            this.tableLayoutPanel.SuspendLayout();
   2.151 +            this.statusStrip.SuspendLayout();
   2.152 +            this.tabPageClients.SuspendLayout();
   2.153 +            this.tabPageDisplay.SuspendLayout();
   2.154 +            ((System.ComponentModel.ISupportInitialize)(this.trackBarBrightness)).BeginInit();
   2.155 +            this.tabControl.SuspendLayout();
   2.156 +            this.tabPageDesign.SuspendLayout();
   2.157 +            this.tabPageApp.SuspendLayout();
   2.158 +            ((System.ComponentModel.ISupportInitialize)(this.pictureBoxDemo)).BeginInit();
   2.159 +            this.SuspendLayout();
   2.160 +            // 
   2.161 +            // panelDisplay
   2.162 +            // 
   2.163 +            this.panelDisplay.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
   2.164 +            this.panelDisplay.Controls.Add(this.tableLayoutPanel);
   2.165 +            this.panelDisplay.Location = new System.Drawing.Point(173, 40);
   2.166 +            this.panelDisplay.Margin = new System.Windows.Forms.Padding(0);
   2.167 +            this.panelDisplay.Name = "panelDisplay";
   2.168 +            this.panelDisplay.Size = new System.Drawing.Size(258, 66);
   2.169 +            this.panelDisplay.TabIndex = 12;
   2.170 +            // 
   2.171 +            // tableLayoutPanel
   2.172 +            // 
   2.173 +            this.tableLayoutPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
   2.174              | System.Windows.Forms.AnchorStyles.Left) 
   2.175              | System.Windows.Forms.AnchorStyles.Right)));
   2.176 -			this.tableLayoutPanel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
   2.177 -			this.tableLayoutPanel.BackColor = System.Drawing.SystemColors.ControlLightLight;
   2.178 -			this.tableLayoutPanel.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single;
   2.179 -			this.tableLayoutPanel.ColumnCount = 1;
   2.180 -			this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
   2.181 -			this.tableLayoutPanel.Controls.Add(this.marqueeLabelTop, 0, 0);
   2.182 -			this.tableLayoutPanel.Controls.Add(this.marqueeLabelBottom, 0, 1);
   2.183 -			this.tableLayoutPanel.GrowStyle = System.Windows.Forms.TableLayoutPanelGrowStyle.FixedSize;
   2.184 -			this.tableLayoutPanel.Location = new System.Drawing.Point(0, 0);
   2.185 -			this.tableLayoutPanel.Margin = new System.Windows.Forms.Padding(0);
   2.186 -			this.tableLayoutPanel.Name = "tableLayoutPanel";
   2.187 -			this.tableLayoutPanel.RowCount = 2;
   2.188 -			this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
   2.189 -			this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
   2.190 -			this.tableLayoutPanel.Size = new System.Drawing.Size(256, 64);
   2.191 -			this.tableLayoutPanel.TabIndex = 5;
   2.192 -			// 
   2.193 -			// marqueeLabelTop
   2.194 -			// 
   2.195 -			this.marqueeLabelTop.AutoEllipsis = true;
   2.196 -			this.marqueeLabelTop.AutoSize = true;
   2.197 -			this.marqueeLabelTop.BackColor = System.Drawing.Color.Transparent;
   2.198 -			this.marqueeLabelTop.Dock = System.Windows.Forms.DockStyle.Fill;
   2.199 -			this.marqueeLabelTop.Location = new System.Drawing.Point(1, 1);
   2.200 -			this.marqueeLabelTop.Margin = new System.Windows.Forms.Padding(0);
   2.201 -			this.marqueeLabelTop.Name = "marqueeLabelTop";
   2.202 -			this.marqueeLabelTop.OwnTimer = false;
   2.203 -			this.marqueeLabelTop.PixelsPerSecond = 64;
   2.204 -			this.marqueeLabelTop.Separator = "|";
   2.205 -			this.marqueeLabelTop.Size = new System.Drawing.Size(254, 30);
   2.206 -			this.marqueeLabelTop.TabIndex = 2;
   2.207 -			this.marqueeLabelTop.Text = "ABCDEFGHIJKLMNOPQRST-0123456789";
   2.208 -			this.marqueeLabelTop.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
   2.209 -			this.marqueeLabelTop.UseCompatibleTextRendering = true;
   2.210 -			// 
   2.211 -			// marqueeLabelBottom
   2.212 -			// 
   2.213 -			this.marqueeLabelBottom.AutoEllipsis = true;
   2.214 -			this.marqueeLabelBottom.AutoSize = true;
   2.215 -			this.marqueeLabelBottom.Dock = System.Windows.Forms.DockStyle.Fill;
   2.216 -			this.marqueeLabelBottom.Location = new System.Drawing.Point(1, 32);
   2.217 -			this.marqueeLabelBottom.Margin = new System.Windows.Forms.Padding(0);
   2.218 -			this.marqueeLabelBottom.Name = "marqueeLabelBottom";
   2.219 -			this.marqueeLabelBottom.OwnTimer = false;
   2.220 -			this.marqueeLabelBottom.PixelsPerSecond = 64;
   2.221 -			this.marqueeLabelBottom.Separator = "|";
   2.222 -			this.marqueeLabelBottom.Size = new System.Drawing.Size(254, 31);
   2.223 -			this.marqueeLabelBottom.TabIndex = 3;
   2.224 -			this.marqueeLabelBottom.Text = "abcdefghijklmnopqrst-0123456789";
   2.225 -			this.marqueeLabelBottom.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
   2.226 -			this.marqueeLabelBottom.UseCompatibleTextRendering = true;
   2.227 -			// 
   2.228 -			// timer
   2.229 -			// 
   2.230 -			this.timer.Enabled = true;
   2.231 -			this.timer.Interval = 50;
   2.232 -			this.timer.Tick += new System.EventHandler(this.timer_Tick);
   2.233 -			// 
   2.234 -			// statusStrip
   2.235 -			// 
   2.236 -			this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
   2.237 +            this.tableLayoutPanel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
   2.238 +            this.tableLayoutPanel.BackColor = System.Drawing.SystemColors.ControlLightLight;
   2.239 +            this.tableLayoutPanel.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single;
   2.240 +            this.tableLayoutPanel.ColumnCount = 1;
   2.241 +            this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
   2.242 +            this.tableLayoutPanel.Controls.Add(this.marqueeLabelTop, 0, 0);
   2.243 +            this.tableLayoutPanel.Controls.Add(this.marqueeLabelBottom, 0, 1);
   2.244 +            this.tableLayoutPanel.GrowStyle = System.Windows.Forms.TableLayoutPanelGrowStyle.FixedSize;
   2.245 +            this.tableLayoutPanel.Location = new System.Drawing.Point(0, 0);
   2.246 +            this.tableLayoutPanel.Margin = new System.Windows.Forms.Padding(0);
   2.247 +            this.tableLayoutPanel.Name = "tableLayoutPanel";
   2.248 +            this.tableLayoutPanel.RowCount = 2;
   2.249 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
   2.250 +            this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
   2.251 +            this.tableLayoutPanel.Size = new System.Drawing.Size(256, 64);
   2.252 +            this.tableLayoutPanel.TabIndex = 5;
   2.253 +            // 
   2.254 +            // marqueeLabelTop
   2.255 +            // 
   2.256 +            this.marqueeLabelTop.AutoEllipsis = true;
   2.257 +            this.marqueeLabelTop.AutoSize = true;
   2.258 +            this.marqueeLabelTop.BackColor = System.Drawing.Color.Transparent;
   2.259 +            this.marqueeLabelTop.Dock = System.Windows.Forms.DockStyle.Fill;
   2.260 +            this.marqueeLabelTop.Location = new System.Drawing.Point(1, 1);
   2.261 +            this.marqueeLabelTop.Margin = new System.Windows.Forms.Padding(0);
   2.262 +            this.marqueeLabelTop.MinFontSize = 15F;
   2.263 +            this.marqueeLabelTop.Name = "marqueeLabelTop";
   2.264 +            this.marqueeLabelTop.OwnTimer = false;
   2.265 +            this.marqueeLabelTop.PixelsPerSecond = 64;
   2.266 +            this.marqueeLabelTop.ScaleToFit = true;
   2.267 +            this.marqueeLabelTop.Separator = "|";
   2.268 +            this.marqueeLabelTop.Size = new System.Drawing.Size(254, 30);
   2.269 +            this.marqueeLabelTop.TabIndex = 2;
   2.270 +            this.marqueeLabelTop.Text = "ABCDEFGHIJKLMNOPQRST-0123456789";
   2.271 +            this.marqueeLabelTop.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
   2.272 +            this.marqueeLabelTop.UseCompatibleTextRendering = true;
   2.273 +            // 
   2.274 +            // marqueeLabelBottom
   2.275 +            // 
   2.276 +            this.marqueeLabelBottom.AutoEllipsis = true;
   2.277 +            this.marqueeLabelBottom.AutoSize = true;
   2.278 +            this.marqueeLabelBottom.Dock = System.Windows.Forms.DockStyle.Fill;
   2.279 +            this.marqueeLabelBottom.Location = new System.Drawing.Point(1, 32);
   2.280 +            this.marqueeLabelBottom.Margin = new System.Windows.Forms.Padding(0);
   2.281 +            this.marqueeLabelBottom.MinFontSize = 15F;
   2.282 +            this.marqueeLabelBottom.Name = "marqueeLabelBottom";
   2.283 +            this.marqueeLabelBottom.OwnTimer = false;
   2.284 +            this.marqueeLabelBottom.PixelsPerSecond = 64;
   2.285 +            this.marqueeLabelBottom.ScaleToFit = true;
   2.286 +            this.marqueeLabelBottom.Separator = "|";
   2.287 +            this.marqueeLabelBottom.Size = new System.Drawing.Size(254, 31);
   2.288 +            this.marqueeLabelBottom.TabIndex = 3;
   2.289 +            this.marqueeLabelBottom.Text = "abcdefghijklmnopqrst-0123456789";
   2.290 +            this.marqueeLabelBottom.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
   2.291 +            this.marqueeLabelBottom.UseCompatibleTextRendering = true;
   2.292 +            // 
   2.293 +            // timer
   2.294 +            // 
   2.295 +            this.timer.Enabled = true;
   2.296 +            this.timer.Interval = 50;
   2.297 +            this.timer.Tick += new System.EventHandler(this.timer_Tick);
   2.298 +            // 
   2.299 +            // statusStrip
   2.300 +            // 
   2.301 +            this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
   2.302              this.toolStripStatusLabelConnect,
   2.303              this.toolStripStatusLabelSpring,
   2.304              this.toolStripStatusLabelPower,
   2.305              this.toolStripStatusLabelFps});
   2.306 -			this.statusStrip.Location = new System.Drawing.Point(0, 420);
   2.307 -			this.statusStrip.Name = "statusStrip";
   2.308 -			this.statusStrip.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional;
   2.309 -			this.statusStrip.Size = new System.Drawing.Size(624, 22);
   2.310 -			this.statusStrip.TabIndex = 1;
   2.311 -			this.statusStrip.Text = "statusStrip";
   2.312 -			// 
   2.313 -			// toolStripStatusLabelConnect
   2.314 -			// 
   2.315 -			this.toolStripStatusLabelConnect.Name = "toolStripStatusLabelConnect";
   2.316 -			this.toolStripStatusLabelConnect.Size = new System.Drawing.Size(86, 17);
   2.317 -			this.toolStripStatusLabelConnect.Text = "Not connected";
   2.318 -			// 
   2.319 -			// toolStripStatusLabelSpring
   2.320 -			// 
   2.321 -			this.toolStripStatusLabelSpring.Name = "toolStripStatusLabelSpring";
   2.322 -			this.toolStripStatusLabelSpring.Size = new System.Drawing.Size(473, 17);
   2.323 -			this.toolStripStatusLabelSpring.Spring = true;
   2.324 -			// 
   2.325 -			// toolStripStatusLabelPower
   2.326 -			// 
   2.327 -			this.toolStripStatusLabelPower.Name = "toolStripStatusLabelPower";
   2.328 -			this.toolStripStatusLabelPower.Size = new System.Drawing.Size(24, 17);
   2.329 -			this.toolStripStatusLabelPower.Text = "NA";
   2.330 -			// 
   2.331 -			// toolStripStatusLabelFps
   2.332 -			// 
   2.333 -			this.toolStripStatusLabelFps.Name = "toolStripStatusLabelFps";
   2.334 -			this.toolStripStatusLabelFps.Size = new System.Drawing.Size(26, 17);
   2.335 -			this.toolStripStatusLabelFps.Text = "FPS";
   2.336 -			// 
   2.337 -			// tabPageClients
   2.338 -			// 
   2.339 -			this.tabPageClients.Controls.Add(this.buttonCloseClients);
   2.340 -			this.tabPageClients.Controls.Add(this.buttonStartClient);
   2.341 -			this.tabPageClients.Controls.Add(this.treeViewClients);
   2.342 -			this.tabPageClients.Location = new System.Drawing.Point(4, 22);
   2.343 -			this.tabPageClients.Name = "tabPageClients";
   2.344 -			this.tabPageClients.Padding = new System.Windows.Forms.Padding(3);
   2.345 -			this.tabPageClients.Size = new System.Drawing.Size(592, 242);
   2.346 -			this.tabPageClients.TabIndex = 2;
   2.347 -			this.tabPageClients.Text = "Clients";
   2.348 -			this.tabPageClients.UseVisualStyleBackColor = true;
   2.349 -			// 
   2.350 -			// buttonCloseClients
   2.351 -			// 
   2.352 -			this.buttonCloseClients.Location = new System.Drawing.Point(6, 35);
   2.353 -			this.buttonCloseClients.Name = "buttonCloseClients";
   2.354 -			this.buttonCloseClients.Size = new System.Drawing.Size(75, 23);
   2.355 -			this.buttonCloseClients.TabIndex = 20;
   2.356 -			this.buttonCloseClients.Text = "Close Clients";
   2.357 -			this.buttonCloseClients.UseVisualStyleBackColor = true;
   2.358 -			this.buttonCloseClients.Click += new System.EventHandler(this.buttonCloseClients_Click);
   2.359 -			// 
   2.360 -			// buttonStartClient
   2.361 -			// 
   2.362 -			this.buttonStartClient.Location = new System.Drawing.Point(6, 6);
   2.363 -			this.buttonStartClient.Name = "buttonStartClient";
   2.364 -			this.buttonStartClient.Size = new System.Drawing.Size(75, 23);
   2.365 -			this.buttonStartClient.TabIndex = 19;
   2.366 -			this.buttonStartClient.Text = "Start Client";
   2.367 -			this.buttonStartClient.UseVisualStyleBackColor = true;
   2.368 -			this.buttonStartClient.Click += new System.EventHandler(this.buttonStartClient_Click);
   2.369 -			// 
   2.370 -			// treeViewClients
   2.371 -			// 
   2.372 -			this.treeViewClients.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
   2.373 +            this.statusStrip.Location = new System.Drawing.Point(0, 420);
   2.374 +            this.statusStrip.Name = "statusStrip";
   2.375 +            this.statusStrip.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional;
   2.376 +            this.statusStrip.Size = new System.Drawing.Size(624, 22);
   2.377 +            this.statusStrip.TabIndex = 1;
   2.378 +            this.statusStrip.Text = "statusStrip";
   2.379 +            // 
   2.380 +            // toolStripStatusLabelConnect
   2.381 +            // 
   2.382 +            this.toolStripStatusLabelConnect.Name = "toolStripStatusLabelConnect";
   2.383 +            this.toolStripStatusLabelConnect.Size = new System.Drawing.Size(86, 17);
   2.384 +            this.toolStripStatusLabelConnect.Text = "Not connected";
   2.385 +            // 
   2.386 +            // toolStripStatusLabelSpring
   2.387 +            // 
   2.388 +            this.toolStripStatusLabelSpring.Name = "toolStripStatusLabelSpring";
   2.389 +            this.toolStripStatusLabelSpring.Size = new System.Drawing.Size(473, 17);
   2.390 +            this.toolStripStatusLabelSpring.Spring = true;
   2.391 +            // 
   2.392 +            // toolStripStatusLabelPower
   2.393 +            // 
   2.394 +            this.toolStripStatusLabelPower.Name = "toolStripStatusLabelPower";
   2.395 +            this.toolStripStatusLabelPower.Size = new System.Drawing.Size(24, 17);
   2.396 +            this.toolStripStatusLabelPower.Text = "NA";
   2.397 +            // 
   2.398 +            // toolStripStatusLabelFps
   2.399 +            // 
   2.400 +            this.toolStripStatusLabelFps.Name = "toolStripStatusLabelFps";
   2.401 +            this.toolStripStatusLabelFps.Size = new System.Drawing.Size(26, 17);
   2.402 +            this.toolStripStatusLabelFps.Text = "FPS";
   2.403 +            // 
   2.404 +            // tabPageClients
   2.405 +            // 
   2.406 +            this.tabPageClients.Controls.Add(this.buttonCloseClients);
   2.407 +            this.tabPageClients.Controls.Add(this.buttonStartClient);
   2.408 +            this.tabPageClients.Controls.Add(this.treeViewClients);
   2.409 +            this.tabPageClients.Location = new System.Drawing.Point(4, 22);
   2.410 +            this.tabPageClients.Name = "tabPageClients";
   2.411 +            this.tabPageClients.Padding = new System.Windows.Forms.Padding(3);
   2.412 +            this.tabPageClients.Size = new System.Drawing.Size(592, 242);
   2.413 +            this.tabPageClients.TabIndex = 2;
   2.414 +            this.tabPageClients.Text = "Clients";
   2.415 +            this.tabPageClients.UseVisualStyleBackColor = true;
   2.416 +            // 
   2.417 +            // buttonCloseClients
   2.418 +            // 
   2.419 +            this.buttonCloseClients.Location = new System.Drawing.Point(6, 35);
   2.420 +            this.buttonCloseClients.Name = "buttonCloseClients";
   2.421 +            this.buttonCloseClients.Size = new System.Drawing.Size(75, 23);
   2.422 +            this.buttonCloseClients.TabIndex = 20;
   2.423 +            this.buttonCloseClients.Text = "Close Clients";
   2.424 +            this.buttonCloseClients.UseVisualStyleBackColor = true;
   2.425 +            this.buttonCloseClients.Click += new System.EventHandler(this.buttonCloseClients_Click);
   2.426 +            // 
   2.427 +            // buttonStartClient
   2.428 +            // 
   2.429 +            this.buttonStartClient.Location = new System.Drawing.Point(6, 6);
   2.430 +            this.buttonStartClient.Name = "buttonStartClient";
   2.431 +            this.buttonStartClient.Size = new System.Drawing.Size(75, 23);
   2.432 +            this.buttonStartClient.TabIndex = 19;
   2.433 +            this.buttonStartClient.Text = "Start Client";
   2.434 +            this.buttonStartClient.UseVisualStyleBackColor = true;
   2.435 +            this.buttonStartClient.Click += new System.EventHandler(this.buttonStartClient_Click);
   2.436 +            // 
   2.437 +            // treeViewClients
   2.438 +            // 
   2.439 +            this.treeViewClients.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
   2.440              | System.Windows.Forms.AnchorStyles.Left) 
   2.441              | System.Windows.Forms.AnchorStyles.Right)));
   2.442 -			this.treeViewClients.Location = new System.Drawing.Point(87, 6);
   2.443 -			this.treeViewClients.Name = "treeViewClients";
   2.444 -			this.treeViewClients.Size = new System.Drawing.Size(499, 233);
   2.445 -			this.treeViewClients.TabIndex = 0;
   2.446 -			this.treeViewClients.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeViewClients_AfterSelect);
   2.447 -			// 
   2.448 -			// tabPageDisplay
   2.449 -			// 
   2.450 -			this.tabPageDisplay.Controls.Add(this.buttonShowClock);
   2.451 -			this.tabPageDisplay.Controls.Add(this.buttonHideClock);
   2.452 -			this.tabPageDisplay.Controls.Add(this.buttonPowerOff);
   2.453 -			this.tabPageDisplay.Controls.Add(this.buttonPowerOn);
   2.454 -			this.tabPageDisplay.Controls.Add(this.labelTimerInterval);
   2.455 -			this.tabPageDisplay.Controls.Add(this.maskedTextBoxTimerInterval);
   2.456 -			this.tabPageDisplay.Controls.Add(this.comboBoxDisplayType);
   2.457 -			this.tabPageDisplay.Controls.Add(this.buttonSuspend);
   2.458 -			this.tabPageDisplay.Controls.Add(this.checkBoxConnectOnStartup);
   2.459 -			this.tabPageDisplay.Controls.Add(this.trackBarBrightness);
   2.460 -			this.tabPageDisplay.Controls.Add(this.buttonFill);
   2.461 -			this.tabPageDisplay.Controls.Add(this.buttonClear);
   2.462 -			this.tabPageDisplay.Controls.Add(this.buttonClose);
   2.463 -			this.tabPageDisplay.Controls.Add(this.buttonOpen);
   2.464 -			this.tabPageDisplay.Controls.Add(this.buttonCapture);
   2.465 -			this.tabPageDisplay.Location = new System.Drawing.Point(4, 22);
   2.466 -			this.tabPageDisplay.Name = "tabPageDisplay";
   2.467 -			this.tabPageDisplay.Padding = new System.Windows.Forms.Padding(3);
   2.468 -			this.tabPageDisplay.Size = new System.Drawing.Size(592, 242);
   2.469 -			this.tabPageDisplay.TabIndex = 0;
   2.470 -			this.tabPageDisplay.Text = "Display";
   2.471 -			this.tabPageDisplay.UseVisualStyleBackColor = true;
   2.472 -			// 
   2.473 -			// buttonShowClock
   2.474 -			// 
   2.475 -			this.buttonShowClock.Location = new System.Drawing.Point(293, 124);
   2.476 -			this.buttonShowClock.Name = "buttonShowClock";
   2.477 -			this.buttonShowClock.Size = new System.Drawing.Size(75, 23);
   2.478 -			this.buttonShowClock.TabIndex = 23;
   2.479 -			this.buttonShowClock.Text = "Show Clock";
   2.480 -			this.buttonShowClock.UseVisualStyleBackColor = true;
   2.481 -			this.buttonShowClock.Click += new System.EventHandler(this.buttonShowClock_Click);
   2.482 -			// 
   2.483 -			// buttonHideClock
   2.484 -			// 
   2.485 -			this.buttonHideClock.Location = new System.Drawing.Point(293, 153);
   2.486 -			this.buttonHideClock.Name = "buttonHideClock";
   2.487 -			this.buttonHideClock.Size = new System.Drawing.Size(75, 23);
   2.488 -			this.buttonHideClock.TabIndex = 22;
   2.489 -			this.buttonHideClock.Text = "Hide Clock";
   2.490 -			this.buttonHideClock.UseVisualStyleBackColor = true;
   2.491 -			this.buttonHideClock.Click += new System.EventHandler(this.buttonHideClock_Click);
   2.492 -			// 
   2.493 -			// buttonPowerOff
   2.494 -			// 
   2.495 -			this.buttonPowerOff.Location = new System.Drawing.Point(293, 211);
   2.496 -			this.buttonPowerOff.Name = "buttonPowerOff";
   2.497 -			this.buttonPowerOff.Size = new System.Drawing.Size(75, 23);
   2.498 -			this.buttonPowerOff.TabIndex = 21;
   2.499 -			this.buttonPowerOff.Text = "OFF";
   2.500 -			this.buttonPowerOff.UseVisualStyleBackColor = true;
   2.501 -			this.buttonPowerOff.Click += new System.EventHandler(this.buttonPowerOff_Click);
   2.502 -			// 
   2.503 -			// buttonPowerOn
   2.504 -			// 
   2.505 -			this.buttonPowerOn.Location = new System.Drawing.Point(293, 182);
   2.506 -			this.buttonPowerOn.Name = "buttonPowerOn";
   2.507 -			this.buttonPowerOn.Size = new System.Drawing.Size(75, 23);
   2.508 -			this.buttonPowerOn.TabIndex = 20;
   2.509 -			this.buttonPowerOn.Text = "ON";
   2.510 -			this.buttonPowerOn.UseVisualStyleBackColor = true;
   2.511 -			this.buttonPowerOn.Click += new System.EventHandler(this.buttonPowerOn_Click);
   2.512 -			// 
   2.513 -			// labelTimerInterval
   2.514 -			// 
   2.515 -			this.labelTimerInterval.AutoSize = true;
   2.516 -			this.labelTimerInterval.Location = new System.Drawing.Point(184, 45);
   2.517 -			this.labelTimerInterval.Name = "labelTimerInterval";
   2.518 -			this.labelTimerInterval.Size = new System.Drawing.Size(98, 13);
   2.519 -			this.labelTimerInterval.TabIndex = 19;
   2.520 -			this.labelTimerInterval.Text = "Timer interval (ms) :";
   2.521 -			// 
   2.522 -			// maskedTextBoxTimerInterval
   2.523 -			// 
   2.524 -			this.maskedTextBoxTimerInterval.Location = new System.Drawing.Point(288, 42);
   2.525 -			this.maskedTextBoxTimerInterval.Mask = "000";
   2.526 -			this.maskedTextBoxTimerInterval.Name = "maskedTextBoxTimerInterval";
   2.527 -			this.maskedTextBoxTimerInterval.PromptChar = ' ';
   2.528 -			this.maskedTextBoxTimerInterval.Size = new System.Drawing.Size(24, 20);
   2.529 -			this.maskedTextBoxTimerInterval.TabIndex = 18;
   2.530 -			this.maskedTextBoxTimerInterval.TextChanged += new System.EventHandler(this.maskedTextBoxTimerInterval_TextChanged);
   2.531 -			// 
   2.532 -			// comboBoxDisplayType
   2.533 -			// 
   2.534 -			this.comboBoxDisplayType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
   2.535 -			this.comboBoxDisplayType.FormattingEnabled = true;
   2.536 -			this.comboBoxDisplayType.Items.AddRange(new object[] {
   2.537 +            this.treeViewClients.Location = new System.Drawing.Point(87, 6);
   2.538 +            this.treeViewClients.Name = "treeViewClients";
   2.539 +            this.treeViewClients.Size = new System.Drawing.Size(499, 233);
   2.540 +            this.treeViewClients.TabIndex = 0;
   2.541 +            this.treeViewClients.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeViewClients_AfterSelect);
   2.542 +            // 
   2.543 +            // tabPageDisplay
   2.544 +            // 
   2.545 +            this.tabPageDisplay.Controls.Add(this.buttonShowClock);
   2.546 +            this.tabPageDisplay.Controls.Add(this.buttonHideClock);
   2.547 +            this.tabPageDisplay.Controls.Add(this.buttonPowerOff);
   2.548 +            this.tabPageDisplay.Controls.Add(this.buttonPowerOn);
   2.549 +            this.tabPageDisplay.Controls.Add(this.labelTimerInterval);
   2.550 +            this.tabPageDisplay.Controls.Add(this.maskedTextBoxTimerInterval);
   2.551 +            this.tabPageDisplay.Controls.Add(this.comboBoxDisplayType);
   2.552 +            this.tabPageDisplay.Controls.Add(this.buttonSuspend);
   2.553 +            this.tabPageDisplay.Controls.Add(this.checkBoxConnectOnStartup);
   2.554 +            this.tabPageDisplay.Controls.Add(this.trackBarBrightness);
   2.555 +            this.tabPageDisplay.Controls.Add(this.buttonFill);
   2.556 +            this.tabPageDisplay.Controls.Add(this.buttonClear);
   2.557 +            this.tabPageDisplay.Controls.Add(this.buttonClose);
   2.558 +            this.tabPageDisplay.Controls.Add(this.buttonOpen);
   2.559 +            this.tabPageDisplay.Controls.Add(this.buttonCapture);
   2.560 +            this.tabPageDisplay.Location = new System.Drawing.Point(4, 22);
   2.561 +            this.tabPageDisplay.Name = "tabPageDisplay";
   2.562 +            this.tabPageDisplay.Padding = new System.Windows.Forms.Padding(3);
   2.563 +            this.tabPageDisplay.Size = new System.Drawing.Size(592, 242);
   2.564 +            this.tabPageDisplay.TabIndex = 0;
   2.565 +            this.tabPageDisplay.Text = "Display";
   2.566 +            this.tabPageDisplay.UseVisualStyleBackColor = true;
   2.567 +            // 
   2.568 +            // buttonShowClock
   2.569 +            // 
   2.570 +            this.buttonShowClock.Location = new System.Drawing.Point(293, 124);
   2.571 +            this.buttonShowClock.Name = "buttonShowClock";
   2.572 +            this.buttonShowClock.Size = new System.Drawing.Size(75, 23);
   2.573 +            this.buttonShowClock.TabIndex = 23;
   2.574 +            this.buttonShowClock.Text = "Show Clock";
   2.575 +            this.buttonShowClock.UseVisualStyleBackColor = true;
   2.576 +            this.buttonShowClock.Click += new System.EventHandler(this.buttonShowClock_Click);
   2.577 +            // 
   2.578 +            // buttonHideClock
   2.579 +            // 
   2.580 +            this.buttonHideClock.Location = new System.Drawing.Point(293, 153);
   2.581 +            this.buttonHideClock.Name = "buttonHideClock";
   2.582 +            this.buttonHideClock.Size = new System.Drawing.Size(75, 23);
   2.583 +            this.buttonHideClock.TabIndex = 22;
   2.584 +            this.buttonHideClock.Text = "Hide Clock";
   2.585 +            this.buttonHideClock.UseVisualStyleBackColor = true;
   2.586 +            this.buttonHideClock.Click += new System.EventHandler(this.buttonHideClock_Click);
   2.587 +            // 
   2.588 +            // buttonPowerOff
   2.589 +            // 
   2.590 +            this.buttonPowerOff.Location = new System.Drawing.Point(293, 211);
   2.591 +            this.buttonPowerOff.Name = "buttonPowerOff";
   2.592 +            this.buttonPowerOff.Size = new System.Drawing.Size(75, 23);
   2.593 +            this.buttonPowerOff.TabIndex = 21;
   2.594 +            this.buttonPowerOff.Text = "OFF";
   2.595 +            this.buttonPowerOff.UseVisualStyleBackColor = true;
   2.596 +            this.buttonPowerOff.Click += new System.EventHandler(this.buttonPowerOff_Click);
   2.597 +            // 
   2.598 +            // buttonPowerOn
   2.599 +            // 
   2.600 +            this.buttonPowerOn.Location = new System.Drawing.Point(293, 182);
   2.601 +            this.buttonPowerOn.Name = "buttonPowerOn";
   2.602 +            this.buttonPowerOn.Size = new System.Drawing.Size(75, 23);
   2.603 +            this.buttonPowerOn.TabIndex = 20;
   2.604 +            this.buttonPowerOn.Text = "ON";
   2.605 +            this.buttonPowerOn.UseVisualStyleBackColor = true;
   2.606 +            this.buttonPowerOn.Click += new System.EventHandler(this.buttonPowerOn_Click);
   2.607 +            // 
   2.608 +            // labelTimerInterval
   2.609 +            // 
   2.610 +            this.labelTimerInterval.AutoSize = true;
   2.611 +            this.labelTimerInterval.Location = new System.Drawing.Point(184, 45);
   2.612 +            this.labelTimerInterval.Name = "labelTimerInterval";
   2.613 +            this.labelTimerInterval.Size = new System.Drawing.Size(98, 13);
   2.614 +            this.labelTimerInterval.TabIndex = 19;
   2.615 +            this.labelTimerInterval.Text = "Timer interval (ms) :";
   2.616 +            // 
   2.617 +            // maskedTextBoxTimerInterval
   2.618 +            // 
   2.619 +            this.maskedTextBoxTimerInterval.Location = new System.Drawing.Point(288, 42);
   2.620 +            this.maskedTextBoxTimerInterval.Mask = "000";
   2.621 +            this.maskedTextBoxTimerInterval.Name = "maskedTextBoxTimerInterval";
   2.622 +            this.maskedTextBoxTimerInterval.PromptChar = ' ';
   2.623 +            this.maskedTextBoxTimerInterval.Size = new System.Drawing.Size(24, 20);
   2.624 +            this.maskedTextBoxTimerInterval.TabIndex = 18;
   2.625 +            this.maskedTextBoxTimerInterval.TextChanged += new System.EventHandler(this.maskedTextBoxTimerInterval_TextChanged);
   2.626 +            // 
   2.627 +            // comboBoxDisplayType
   2.628 +            // 
   2.629 +            this.comboBoxDisplayType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
   2.630 +            this.comboBoxDisplayType.FormattingEnabled = true;
   2.631 +            this.comboBoxDisplayType.Items.AddRange(new object[] {
   2.632              "Auto Detect",
   2.633              "Futaba GP1212A01A",
   2.634              "Futaba GP1212A02A"});
   2.635 -			this.comboBoxDisplayType.Location = new System.Drawing.Point(187, 9);
   2.636 -			this.comboBoxDisplayType.Name = "comboBoxDisplayType";
   2.637 -			this.comboBoxDisplayType.Size = new System.Drawing.Size(181, 21);
   2.638 -			this.comboBoxDisplayType.TabIndex = 17;
   2.639 -			this.comboBoxDisplayType.SelectedIndexChanged += new System.EventHandler(this.comboBoxDisplayType_SelectedIndexChanged);
   2.640 -			// 
   2.641 -			// buttonSuspend
   2.642 -			// 
   2.643 -			this.buttonSuspend.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
   2.644 -			this.buttonSuspend.Location = new System.Drawing.Point(6, 184);
   2.645 -			this.buttonSuspend.Name = "buttonSuspend";
   2.646 -			this.buttonSuspend.Size = new System.Drawing.Size(75, 23);
   2.647 -			this.buttonSuspend.TabIndex = 16;
   2.648 -			this.buttonSuspend.Text = "Pause";
   2.649 -			this.buttonSuspend.UseVisualStyleBackColor = true;
   2.650 -			this.buttonSuspend.Click += new System.EventHandler(this.buttonSuspend_Click);
   2.651 -			// 
   2.652 -			// checkBoxConnectOnStartup
   2.653 -			// 
   2.654 -			this.checkBoxConnectOnStartup.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
   2.655 -			this.checkBoxConnectOnStartup.AutoSize = true;
   2.656 -			this.checkBoxConnectOnStartup.Location = new System.Drawing.Point(113, 217);
   2.657 -			this.checkBoxConnectOnStartup.Name = "checkBoxConnectOnStartup";
   2.658 -			this.checkBoxConnectOnStartup.Size = new System.Drawing.Size(119, 17);
   2.659 -			this.checkBoxConnectOnStartup.TabIndex = 13;
   2.660 -			this.checkBoxConnectOnStartup.Text = "Connect on stratup ";
   2.661 -			this.checkBoxConnectOnStartup.UseVisualStyleBackColor = true;
   2.662 -			this.checkBoxConnectOnStartup.CheckedChanged += new System.EventHandler(this.checkBoxConnectOnStartup_CheckedChanged);
   2.663 -			// 
   2.664 -			// trackBarBrightness
   2.665 -			// 
   2.666 -			this.trackBarBrightness.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
   2.667 +            this.comboBoxDisplayType.Location = new System.Drawing.Point(187, 9);
   2.668 +            this.comboBoxDisplayType.Name = "comboBoxDisplayType";
   2.669 +            this.comboBoxDisplayType.Size = new System.Drawing.Size(181, 21);
   2.670 +            this.comboBoxDisplayType.TabIndex = 17;
   2.671 +            this.comboBoxDisplayType.SelectedIndexChanged += new System.EventHandler(this.comboBoxDisplayType_SelectedIndexChanged);
   2.672 +            // 
   2.673 +            // buttonSuspend
   2.674 +            // 
   2.675 +            this.buttonSuspend.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
   2.676 +            this.buttonSuspend.Location = new System.Drawing.Point(6, 184);
   2.677 +            this.buttonSuspend.Name = "buttonSuspend";
   2.678 +            this.buttonSuspend.Size = new System.Drawing.Size(75, 23);
   2.679 +            this.buttonSuspend.TabIndex = 16;
   2.680 +            this.buttonSuspend.Text = "Pause";
   2.681 +            this.buttonSuspend.UseVisualStyleBackColor = true;
   2.682 +            this.buttonSuspend.Click += new System.EventHandler(this.buttonSuspend_Click);
   2.683 +            // 
   2.684 +            // checkBoxConnectOnStartup
   2.685 +            // 
   2.686 +            this.checkBoxConnectOnStartup.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
   2.687 +            this.checkBoxConnectOnStartup.AutoSize = true;
   2.688 +            this.checkBoxConnectOnStartup.Location = new System.Drawing.Point(113, 217);
   2.689 +            this.checkBoxConnectOnStartup.Name = "checkBoxConnectOnStartup";
   2.690 +            this.checkBoxConnectOnStartup.Size = new System.Drawing.Size(119, 17);
   2.691 +            this.checkBoxConnectOnStartup.TabIndex = 13;
   2.692 +            this.checkBoxConnectOnStartup.Text = "Connect on stratup ";
   2.693 +            this.checkBoxConnectOnStartup.UseVisualStyleBackColor = true;
   2.694 +            this.checkBoxConnectOnStartup.CheckedChanged += new System.EventHandler(this.checkBoxConnectOnStartup_CheckedChanged);
   2.695 +            // 
   2.696 +            // trackBarBrightness
   2.697 +            // 
   2.698 +            this.trackBarBrightness.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
   2.699              | System.Windows.Forms.AnchorStyles.Right)));
   2.700 -			this.trackBarBrightness.BackColor = System.Drawing.SystemColors.Window;
   2.701 -			this.trackBarBrightness.Location = new System.Drawing.Point(544, 9);
   2.702 -			this.trackBarBrightness.Name = "trackBarBrightness";
   2.703 -			this.trackBarBrightness.Orientation = System.Windows.Forms.Orientation.Vertical;
   2.704 -			this.trackBarBrightness.Size = new System.Drawing.Size(45, 225);
   2.705 -			this.trackBarBrightness.TabIndex = 10;
   2.706 -			this.trackBarBrightness.TickStyle = System.Windows.Forms.TickStyle.Both;
   2.707 -			this.trackBarBrightness.Scroll += new System.EventHandler(this.trackBarBrightness_Scroll);
   2.708 -			// 
   2.709 -			// buttonFill
   2.710 -			// 
   2.711 -			this.buttonFill.Location = new System.Drawing.Point(6, 93);
   2.712 -			this.buttonFill.Name = "buttonFill";
   2.713 -			this.buttonFill.Size = new System.Drawing.Size(75, 23);
   2.714 -			this.buttonFill.TabIndex = 9;
   2.715 -			this.buttonFill.Text = "Fill";
   2.716 -			this.buttonFill.UseVisualStyleBackColor = true;
   2.717 -			this.buttonFill.Click += new System.EventHandler(this.buttonFill_Click);
   2.718 -			// 
   2.719 -			// buttonClear
   2.720 -			// 
   2.721 -			this.buttonClear.Location = new System.Drawing.Point(6, 64);
   2.722 -			this.buttonClear.Name = "buttonClear";
   2.723 -			this.buttonClear.Size = new System.Drawing.Size(75, 23);
   2.724 -			this.buttonClear.TabIndex = 8;
   2.725 -			this.buttonClear.Text = "Clear";
   2.726 -			this.buttonClear.UseVisualStyleBackColor = true;
   2.727 -			this.buttonClear.Click += new System.EventHandler(this.buttonClear_Click);
   2.728 -			// 
   2.729 -			// buttonClose
   2.730 -			// 
   2.731 -			this.buttonClose.Location = new System.Drawing.Point(6, 35);
   2.732 -			this.buttonClose.Name = "buttonClose";
   2.733 -			this.buttonClose.Size = new System.Drawing.Size(75, 23);
   2.734 -			this.buttonClose.TabIndex = 7;
   2.735 -			this.buttonClose.Text = "Close";
   2.736 -			this.buttonClose.UseVisualStyleBackColor = true;
   2.737 -			this.buttonClose.Click += new System.EventHandler(this.buttonClose_Click);
   2.738 -			// 
   2.739 -			// buttonOpen
   2.740 -			// 
   2.741 -			this.buttonOpen.Location = new System.Drawing.Point(6, 6);
   2.742 -			this.buttonOpen.Name = "buttonOpen";
   2.743 -			this.buttonOpen.Size = new System.Drawing.Size(75, 23);
   2.744 -			this.buttonOpen.TabIndex = 6;
   2.745 -			this.buttonOpen.Text = "Open";
   2.746 -			this.buttonOpen.UseVisualStyleBackColor = true;
   2.747 -			this.buttonOpen.Click += new System.EventHandler(this.buttonOpen_Click);
   2.748 -			// 
   2.749 -			// buttonCapture
   2.750 -			// 
   2.751 -			this.buttonCapture.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
   2.752 -			this.buttonCapture.Location = new System.Drawing.Point(6, 213);
   2.753 -			this.buttonCapture.Name = "buttonCapture";
   2.754 -			this.buttonCapture.Size = new System.Drawing.Size(75, 23);
   2.755 -			this.buttonCapture.TabIndex = 5;
   2.756 -			this.buttonCapture.Text = "Capture";
   2.757 -			this.buttonCapture.UseVisualStyleBackColor = true;
   2.758 -			this.buttonCapture.Click += new System.EventHandler(this.buttonCapture_Click);
   2.759 -			// 
   2.760 -			// labelWarning
   2.761 -			// 
   2.762 -			this.labelWarning.AutoSize = true;
   2.763 -			this.labelWarning.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
   2.764 -			this.labelWarning.ForeColor = System.Drawing.Color.Red;
   2.765 -			this.labelWarning.Location = new System.Drawing.Point(9, 9);
   2.766 -			this.labelWarning.Name = "labelWarning";
   2.767 -			this.labelWarning.Size = new System.Drawing.Size(80, 16);
   2.768 -			this.labelWarning.TabIndex = 18;
   2.769 -			this.labelWarning.Text = "WARNING";
   2.770 -			this.labelWarning.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
   2.771 -			this.labelWarning.Visible = false;
   2.772 -			// 
   2.773 -			// checkBoxFixedPitchFontOnly
   2.774 -			// 
   2.775 -			this.checkBoxFixedPitchFontOnly.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
   2.776 -			this.checkBoxFixedPitchFontOnly.AutoSize = true;
   2.777 -			this.checkBoxFixedPitchFontOnly.Location = new System.Drawing.Point(87, 217);
   2.778 -			this.checkBoxFixedPitchFontOnly.Name = "checkBoxFixedPitchFontOnly";
   2.779 -			this.checkBoxFixedPitchFontOnly.Size = new System.Drawing.Size(120, 17);
   2.780 -			this.checkBoxFixedPitchFontOnly.TabIndex = 17;
   2.781 -			this.checkBoxFixedPitchFontOnly.Text = "Fixed pitch font only";
   2.782 -			this.checkBoxFixedPitchFontOnly.UseVisualStyleBackColor = true;
   2.783 -			// 
   2.784 -			// checkBoxShowBorders
   2.785 -			// 
   2.786 -			this.checkBoxShowBorders.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
   2.787 -			this.checkBoxShowBorders.AutoSize = true;
   2.788 -			this.checkBoxShowBorders.Location = new System.Drawing.Point(485, 29);
   2.789 -			this.checkBoxShowBorders.Name = "checkBoxShowBorders";
   2.790 -			this.checkBoxShowBorders.Size = new System.Drawing.Size(91, 17);
   2.791 -			this.checkBoxShowBorders.TabIndex = 11;
   2.792 -			this.checkBoxShowBorders.Text = "Show borders";
   2.793 -			this.checkBoxShowBorders.UseVisualStyleBackColor = true;
   2.794 -			this.checkBoxShowBorders.CheckedChanged += new System.EventHandler(this.checkBoxShowBorders_CheckedChanged);
   2.795 -			// 
   2.796 -			// buttonFont
   2.797 -			// 
   2.798 -			this.buttonFont.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
   2.799 -			this.buttonFont.Location = new System.Drawing.Point(6, 213);
   2.800 -			this.buttonFont.Name = "buttonFont";
   2.801 -			this.buttonFont.Size = new System.Drawing.Size(75, 23);
   2.802 -			this.buttonFont.TabIndex = 0;
   2.803 -			this.buttonFont.Text = "Select Font";
   2.804 -			this.buttonFont.UseVisualStyleBackColor = true;
   2.805 -			this.buttonFont.Click += new System.EventHandler(this.buttonFont_Click);
   2.806 -			// 
   2.807 -			// tabControl
   2.808 -			// 
   2.809 -			this.tabControl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
   2.810 +            this.trackBarBrightness.BackColor = System.Drawing.SystemColors.Window;
   2.811 +            this.trackBarBrightness.Location = new System.Drawing.Point(544, 9);
   2.812 +            this.trackBarBrightness.Name = "trackBarBrightness";
   2.813 +            this.trackBarBrightness.Orientation = System.Windows.Forms.Orientation.Vertical;
   2.814 +            this.trackBarBrightness.Size = new System.Drawing.Size(45, 225);
   2.815 +            this.trackBarBrightness.TabIndex = 10;
   2.816 +            this.trackBarBrightness.TickStyle = System.Windows.Forms.TickStyle.Both;
   2.817 +            this.trackBarBrightness.Scroll += new System.EventHandler(this.trackBarBrightness_Scroll);
   2.818 +            // 
   2.819 +            // buttonFill
   2.820 +            // 
   2.821 +            this.buttonFill.Location = new System.Drawing.Point(6, 93);
   2.822 +            this.buttonFill.Name = "buttonFill";
   2.823 +            this.buttonFill.Size = new System.Drawing.Size(75, 23);
   2.824 +            this.buttonFill.TabIndex = 9;
   2.825 +            this.buttonFill.Text = "Fill";
   2.826 +            this.buttonFill.UseVisualStyleBackColor = true;
   2.827 +            this.buttonFill.Click += new System.EventHandler(this.buttonFill_Click);
   2.828 +            // 
   2.829 +            // buttonClear
   2.830 +            // 
   2.831 +            this.buttonClear.Location = new System.Drawing.Point(6, 64);
   2.832 +            this.buttonClear.Name = "buttonClear";
   2.833 +            this.buttonClear.Size = new System.Drawing.Size(75, 23);
   2.834 +            this.buttonClear.TabIndex = 8;
   2.835 +            this.buttonClear.Text = "Clear";
   2.836 +            this.buttonClear.UseVisualStyleBackColor = true;
   2.837 +            this.buttonClear.Click += new System.EventHandler(this.buttonClear_Click);
   2.838 +            // 
   2.839 +            // buttonClose
   2.840 +            // 
   2.841 +            this.buttonClose.Location = new System.Drawing.Point(6, 35);
   2.842 +            this.buttonClose.Name = "buttonClose";
   2.843 +            this.buttonClose.Size = new System.Drawing.Size(75, 23);
   2.844 +            this.buttonClose.TabIndex = 7;
   2.845 +            this.buttonClose.Text = "Close";
   2.846 +            this.buttonClose.UseVisualStyleBackColor = true;
   2.847 +            this.buttonClose.Click += new System.EventHandler(this.buttonClose_Click);
   2.848 +            // 
   2.849 +            // buttonOpen
   2.850 +            // 
   2.851 +            this.buttonOpen.Location = new System.Drawing.Point(6, 6);
   2.852 +            this.buttonOpen.Name = "buttonOpen";
   2.853 +            this.buttonOpen.Size = new System.Drawing.Size(75, 23);
   2.854 +            this.buttonOpen.TabIndex = 6;
   2.855 +            this.buttonOpen.Text = "Open";
   2.856 +            this.buttonOpen.UseVisualStyleBackColor = true;
   2.857 +            this.buttonOpen.Click += new System.EventHandler(this.buttonOpen_Click);
   2.858 +            // 
   2.859 +            // buttonCapture
   2.860 +            // 
   2.861 +            this.buttonCapture.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
   2.862 +            this.buttonCapture.Location = new System.Drawing.Point(6, 213);
   2.863 +            this.buttonCapture.Name = "buttonCapture";
   2.864 +            this.buttonCapture.Size = new System.Drawing.Size(75, 23);
   2.865 +            this.buttonCapture.TabIndex = 5;
   2.866 +            this.buttonCapture.Text = "Capture";
   2.867 +            this.buttonCapture.UseVisualStyleBackColor = true;
   2.868 +            this.buttonCapture.Click += new System.EventHandler(this.buttonCapture_Click);
   2.869 +            // 
   2.870 +            // labelWarning
   2.871 +            // 
   2.872 +            this.labelWarning.AutoSize = true;
   2.873 +            this.labelWarning.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
   2.874 +            this.labelWarning.ForeColor = System.Drawing.Color.Red;
   2.875 +            this.labelWarning.Location = new System.Drawing.Point(9, 9);
   2.876 +            this.labelWarning.Name = "labelWarning";
   2.877 +            this.labelWarning.Size = new System.Drawing.Size(80, 16);
   2.878 +            this.labelWarning.TabIndex = 18;
   2.879 +            this.labelWarning.Text = "WARNING";
   2.880 +            this.labelWarning.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
   2.881 +            this.labelWarning.Visible = false;
   2.882 +            // 
   2.883 +            // checkBoxFixedPitchFontOnly
   2.884 +            // 
   2.885 +            this.checkBoxFixedPitchFontOnly.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
   2.886 +            this.checkBoxFixedPitchFontOnly.AutoSize = true;
   2.887 +            this.checkBoxFixedPitchFontOnly.Location = new System.Drawing.Point(87, 217);
   2.888 +            this.checkBoxFixedPitchFontOnly.Name = "checkBoxFixedPitchFontOnly";
   2.889 +            this.checkBoxFixedPitchFontOnly.Size = new System.Drawing.Size(120, 17);
   2.890 +            this.checkBoxFixedPitchFontOnly.TabIndex = 17;
   2.891 +            this.checkBoxFixedPitchFontOnly.Text = "Fixed pitch font only";
   2.892 +            this.checkBoxFixedPitchFontOnly.UseVisualStyleBackColor = true;
   2.893 +            // 
   2.894 +            // checkBoxShowBorders
   2.895 +            // 
   2.896 +            this.checkBoxShowBorders.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
   2.897 +            this.checkBoxShowBorders.AutoSize = true;
   2.898 +            this.checkBoxShowBorders.Location = new System.Drawing.Point(485, 29);
   2.899 +            this.checkBoxShowBorders.Name = "checkBoxShowBorders";
   2.900 +            this.checkBoxShowBorders.Size = new System.Drawing.Size(91, 17);
   2.901 +            this.checkBoxShowBorders.TabIndex = 11;
   2.902 +            this.checkBoxShowBorders.Text = "Show borders";
   2.903 +            this.checkBoxShowBorders.UseVisualStyleBackColor = true;
   2.904 +            this.checkBoxShowBorders.CheckedChanged += new System.EventHandler(this.checkBoxShowBorders_CheckedChanged);
   2.905 +            // 
   2.906 +            // buttonFont
   2.907 +            // 
   2.908 +            this.buttonFont.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
   2.909 +            this.buttonFont.Location = new System.Drawing.Point(6, 213);
   2.910 +            this.buttonFont.Name = "buttonFont";
   2.911 +            this.buttonFont.Size = new System.Drawing.Size(75, 23);
   2.912 +            this.buttonFont.TabIndex = 0;
   2.913 +            this.buttonFont.Text = "Select Font";
   2.914 +            this.buttonFont.UseVisualStyleBackColor = true;
   2.915 +            this.buttonFont.Click += new System.EventHandler(this.buttonFont_Click);
   2.916 +            // 
   2.917 +            // tabControl
   2.918 +            // 
   2.919 +            this.tabControl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
   2.920              | System.Windows.Forms.AnchorStyles.Left) 
   2.921              | System.Windows.Forms.AnchorStyles.Right)));
   2.922 -			this.tabControl.Controls.Add(this.tabPageDisplay);
   2.923 -			this.tabControl.Controls.Add(this.tabPageClients);
   2.924 -			this.tabControl.Controls.Add(this.tabPageDesign);
   2.925 -			this.tabControl.Controls.Add(this.tabPageApp);
   2.926 -			this.tabControl.Location = new System.Drawing.Point(12, 139);
   2.927 -			this.tabControl.Name = "tabControl";
   2.928 -			this.tabControl.SelectedIndex = 0;
   2.929 -			this.tabControl.Size = new System.Drawing.Size(600, 268);
   2.930 -			this.tabControl.TabIndex = 0;
   2.931 -			// 
   2.932 -			// tabPageDesign
   2.933 -			// 
   2.934 -			this.tabPageDesign.Controls.Add(this.checkBoxInverseColors);
   2.935 -			this.tabPageDesign.Controls.Add(this.buttonAlignRight);
   2.936 -			this.tabPageDesign.Controls.Add(this.buttonAlignCenter);
   2.937 -			this.tabPageDesign.Controls.Add(this.buttonAlignLeft);
   2.938 -			this.tabPageDesign.Controls.Add(this.buttonRemoveColumn);
   2.939 -			this.tabPageDesign.Controls.Add(this.checkBoxFixedPitchFontOnly);
   2.940 -			this.tabPageDesign.Controls.Add(this.buttonAddColumn);
   2.941 -			this.tabPageDesign.Controls.Add(this.buttonFont);
   2.942 -			this.tabPageDesign.Controls.Add(this.checkBoxReverseScreen);
   2.943 -			this.tabPageDesign.Controls.Add(this.buttonRemoveRow);
   2.944 -			this.tabPageDesign.Controls.Add(this.buttonAddRow);
   2.945 -			this.tabPageDesign.Controls.Add(this.checkBoxShowBorders);
   2.946 -			this.tabPageDesign.Location = new System.Drawing.Point(4, 22);
   2.947 -			this.tabPageDesign.Name = "tabPageDesign";
   2.948 -			this.tabPageDesign.Padding = new System.Windows.Forms.Padding(3);
   2.949 -			this.tabPageDesign.Size = new System.Drawing.Size(592, 242);
   2.950 -			this.tabPageDesign.TabIndex = 3;
   2.951 -			this.tabPageDesign.Text = "Design";
   2.952 -			this.tabPageDesign.UseVisualStyleBackColor = true;
   2.953 -			// 
   2.954 -			// checkBoxInverseColors
   2.955 -			// 
   2.956 -			this.checkBoxInverseColors.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
   2.957 -			this.checkBoxInverseColors.AutoSize = true;
   2.958 -			this.checkBoxInverseColors.Location = new System.Drawing.Point(485, 52);
   2.959 -			this.checkBoxInverseColors.Name = "checkBoxInverseColors";
   2.960 -			this.checkBoxInverseColors.Size = new System.Drawing.Size(92, 17);
   2.961 -			this.checkBoxInverseColors.TabIndex = 21;
   2.962 -			this.checkBoxInverseColors.Text = "Inverse colors";
   2.963 -			this.checkBoxInverseColors.UseVisualStyleBackColor = true;
   2.964 -			this.checkBoxInverseColors.CheckedChanged += new System.EventHandler(this.checkBoxInverseColors_CheckedChanged);
   2.965 -			// 
   2.966 -			// buttonAlignRight
   2.967 -			// 
   2.968 -			this.buttonAlignRight.Location = new System.Drawing.Point(171, 105);
   2.969 -			this.buttonAlignRight.Name = "buttonAlignRight";
   2.970 -			this.buttonAlignRight.Size = new System.Drawing.Size(75, 23);
   2.971 -			this.buttonAlignRight.TabIndex = 20;
   2.972 -			this.buttonAlignRight.Text = "Align Right";
   2.973 -			this.buttonAlignRight.UseVisualStyleBackColor = true;
   2.974 -			this.buttonAlignRight.Click += new System.EventHandler(this.buttonAlignRight_Click);
   2.975 -			// 
   2.976 -			// buttonAlignCenter
   2.977 -			// 
   2.978 -			this.buttonAlignCenter.Location = new System.Drawing.Point(89, 106);
   2.979 -			this.buttonAlignCenter.Name = "buttonAlignCenter";
   2.980 -			this.buttonAlignCenter.Size = new System.Drawing.Size(75, 23);
   2.981 -			this.buttonAlignCenter.TabIndex = 19;
   2.982 -			this.buttonAlignCenter.Text = "Align Center";
   2.983 -			this.buttonAlignCenter.UseVisualStyleBackColor = true;
   2.984 -			this.buttonAlignCenter.Click += new System.EventHandler(this.buttonAlignCenter_Click);
   2.985 -			// 
   2.986 -			// buttonAlignLeft
   2.987 -			// 
   2.988 -			this.buttonAlignLeft.Location = new System.Drawing.Point(7, 106);
   2.989 -			this.buttonAlignLeft.Name = "buttonAlignLeft";
   2.990 -			this.buttonAlignLeft.Size = new System.Drawing.Size(75, 23);
   2.991 -			this.buttonAlignLeft.TabIndex = 18;
   2.992 -			this.buttonAlignLeft.Text = "Align Left";
   2.993 -			this.buttonAlignLeft.UseVisualStyleBackColor = true;
   2.994 -			this.buttonAlignLeft.Click += new System.EventHandler(this.buttonAlignLeft_Click);
   2.995 -			// 
   2.996 -			// buttonRemoveColumn
   2.997 -			// 
   2.998 -			this.buttonRemoveColumn.Location = new System.Drawing.Point(89, 37);
   2.999 -			this.buttonRemoveColumn.Name = "buttonRemoveColumn";
  2.1000 -			this.buttonRemoveColumn.Size = new System.Drawing.Size(75, 23);
  2.1001 -			this.buttonRemoveColumn.TabIndex = 3;
  2.1002 -			this.buttonRemoveColumn.Text = "Remove col.";
  2.1003 -			this.buttonRemoveColumn.UseVisualStyleBackColor = true;
  2.1004 -			this.buttonRemoveColumn.Click += new System.EventHandler(this.buttonRemoveColumn_Click);
  2.1005 -			// 
  2.1006 -			// buttonAddColumn
  2.1007 -			// 
  2.1008 -			this.buttonAddColumn.Location = new System.Drawing.Point(89, 7);
  2.1009 -			this.buttonAddColumn.Name = "buttonAddColumn";
  2.1010 -			this.buttonAddColumn.Size = new System.Drawing.Size(75, 23);
  2.1011 -			this.buttonAddColumn.TabIndex = 2;
  2.1012 -			this.buttonAddColumn.Text = "Add column";
  2.1013 -			this.buttonAddColumn.UseVisualStyleBackColor = true;
  2.1014 -			this.buttonAddColumn.Click += new System.EventHandler(this.buttonAddColumn_Click);
  2.1015 -			// 
  2.1016 -			// checkBoxReverseScreen
  2.1017 -			// 
  2.1018 -			this.checkBoxReverseScreen.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
  2.1019 -			this.checkBoxReverseScreen.AutoSize = true;
  2.1020 -			this.checkBoxReverseScreen.Location = new System.Drawing.Point(485, 6);
  2.1021 -			this.checkBoxReverseScreen.Name = "checkBoxReverseScreen";
  2.1022 -			this.checkBoxReverseScreen.Size = new System.Drawing.Size(101, 17);
  2.1023 -			this.checkBoxReverseScreen.TabIndex = 14;
  2.1024 -			this.checkBoxReverseScreen.Text = "Reverse screen";
  2.1025 -			this.checkBoxReverseScreen.UseVisualStyleBackColor = true;
  2.1026 -			this.checkBoxReverseScreen.CheckedChanged += new System.EventHandler(this.checkBoxReverseScreen_CheckedChanged);
  2.1027 -			// 
  2.1028 -			// buttonRemoveRow
  2.1029 -			// 
  2.1030 -			this.buttonRemoveRow.Location = new System.Drawing.Point(7, 37);
  2.1031 -			this.buttonRemoveRow.Name = "buttonRemoveRow";
  2.1032 -			this.buttonRemoveRow.Size = new System.Drawing.Size(75, 23);
  2.1033 -			this.buttonRemoveRow.TabIndex = 1;
  2.1034 -			this.buttonRemoveRow.Text = "Remove row";
  2.1035 -			this.buttonRemoveRow.UseVisualStyleBackColor = true;
  2.1036 -			this.buttonRemoveRow.Click += new System.EventHandler(this.buttonRemoveRow_Click);
  2.1037 -			// 
  2.1038 -			// buttonAddRow
  2.1039 -			// 
  2.1040 -			this.buttonAddRow.Location = new System.Drawing.Point(7, 7);
  2.1041 -			this.buttonAddRow.Name = "buttonAddRow";
  2.1042 -			this.buttonAddRow.Size = new System.Drawing.Size(75, 23);
  2.1043 -			this.buttonAddRow.TabIndex = 0;
  2.1044 -			this.buttonAddRow.Text = "Add row";
  2.1045 -			this.buttonAddRow.UseVisualStyleBackColor = true;
  2.1046 -			this.buttonAddRow.Click += new System.EventHandler(this.buttonAddRow_Click);
  2.1047 -			// 
  2.1048 -			// tabPageApp
  2.1049 -			// 
  2.1050 -			this.tabPageApp.Controls.Add(this.checkBoxStartMinimized);
  2.1051 -			this.tabPageApp.Controls.Add(this.checkBoxMinimizeToTray);
  2.1052 -			this.tabPageApp.Controls.Add(this.checkBoxAutoStart);
  2.1053 -			this.tabPageApp.Controls.Add(this.buttonUpdate);
  2.1054 -			this.tabPageApp.Location = new System.Drawing.Point(4, 22);
  2.1055 -			this.tabPageApp.Name = "tabPageApp";
  2.1056 -			this.tabPageApp.Padding = new System.Windows.Forms.Padding(3);
  2.1057 -			this.tabPageApp.Size = new System.Drawing.Size(592, 242);
  2.1058 -			this.tabPageApp.TabIndex = 4;
  2.1059 -			this.tabPageApp.Text = "Application";
  2.1060 -			this.tabPageApp.UseVisualStyleBackColor = true;
  2.1061 -			// 
  2.1062 -			// checkBoxStartMinimized
  2.1063 -			// 
  2.1064 -			this.checkBoxStartMinimized.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
  2.1065 -			this.checkBoxStartMinimized.AutoSize = true;
  2.1066 -			this.checkBoxStartMinimized.Location = new System.Drawing.Point(8, 144);
  2.1067 -			this.checkBoxStartMinimized.Name = "checkBoxStartMinimized";
  2.1068 -			this.checkBoxStartMinimized.Size = new System.Drawing.Size(96, 17);
  2.1069 -			this.checkBoxStartMinimized.TabIndex = 16;
  2.1070 -			this.checkBoxStartMinimized.Text = "Start minimized";
  2.1071 -			this.checkBoxStartMinimized.UseVisualStyleBackColor = true;
  2.1072 -			this.checkBoxStartMinimized.CheckedChanged += new System.EventHandler(this.checkBoxStartMinimized_CheckedChanged);
  2.1073 -			// 
  2.1074 -			// checkBoxMinimizeToTray
  2.1075 -			// 
  2.1076 -			this.checkBoxMinimizeToTray.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
  2.1077 -			this.checkBoxMinimizeToTray.AutoSize = true;
  2.1078 -			this.checkBoxMinimizeToTray.Location = new System.Drawing.Point(8, 167);
  2.1079 -			this.checkBoxMinimizeToTray.Name = "checkBoxMinimizeToTray";
  2.1080 -			this.checkBoxMinimizeToTray.Size = new System.Drawing.Size(133, 17);
  2.1081 -			this.checkBoxMinimizeToTray.TabIndex = 15;
  2.1082 -			this.checkBoxMinimizeToTray.Text = "Minimize to system tray";
  2.1083 -			this.checkBoxMinimizeToTray.UseVisualStyleBackColor = true;
  2.1084 -			this.checkBoxMinimizeToTray.CheckedChanged += new System.EventHandler(this.checkBoxMinimizeToTray_CheckedChanged);
  2.1085 -			// 
  2.1086 -			// checkBoxAutoStart
  2.1087 -			// 
  2.1088 -			this.checkBoxAutoStart.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
  2.1089 -			this.checkBoxAutoStart.AutoSize = true;
  2.1090 -			this.checkBoxAutoStart.Location = new System.Drawing.Point(8, 190);
  2.1091 -			this.checkBoxAutoStart.Name = "checkBoxAutoStart";
  2.1092 -			this.checkBoxAutoStart.Size = new System.Drawing.Size(143, 17);
  2.1093 -			this.checkBoxAutoStart.TabIndex = 14;
  2.1094 -			this.checkBoxAutoStart.Text = "Run on Windows startup";
  2.1095 -			this.checkBoxAutoStart.UseVisualStyleBackColor = true;
  2.1096 -			this.checkBoxAutoStart.CheckedChanged += new System.EventHandler(this.checkBoxAutoStart_CheckedChanged);
  2.1097 -			// 
  2.1098 -			// buttonUpdate
  2.1099 -			// 
  2.1100 -			this.buttonUpdate.Location = new System.Drawing.Point(6, 213);
  2.1101 -			this.buttonUpdate.Name = "buttonUpdate";
  2.1102 -			this.buttonUpdate.Size = new System.Drawing.Size(75, 23);
  2.1103 -			this.buttonUpdate.TabIndex = 0;
  2.1104 -			this.buttonUpdate.Text = "Update";
  2.1105 -			this.buttonUpdate.UseVisualStyleBackColor = true;
  2.1106 -			this.buttonUpdate.Click += new System.EventHandler(this.buttonUpdate_Click);
  2.1107 -			// 
  2.1108 -			// labelFontWidth
  2.1109 -			// 
  2.1110 -			this.labelFontWidth.AutoSize = true;
  2.1111 -			this.labelFontWidth.Location = new System.Drawing.Point(13, 29);
  2.1112 -			this.labelFontWidth.Name = "labelFontWidth";
  2.1113 -			this.labelFontWidth.Size = new System.Drawing.Size(56, 13);
  2.1114 -			this.labelFontWidth.TabIndex = 19;
  2.1115 -			this.labelFontWidth.Text = "Font width";
  2.1116 -			// 
  2.1117 -			// labelFontHeight
  2.1118 -			// 
  2.1119 -			this.labelFontHeight.AutoSize = true;
  2.1120 -			this.labelFontHeight.Location = new System.Drawing.Point(13, 46);
  2.1121 -			this.labelFontHeight.Name = "labelFontHeight";
  2.1122 -			this.labelFontHeight.Size = new System.Drawing.Size(60, 13);
  2.1123 -			this.labelFontHeight.TabIndex = 20;
  2.1124 -			this.labelFontHeight.Text = "Font height";
  2.1125 -			// 
  2.1126 -			// pictureBoxDemo
  2.1127 -			// 
  2.1128 -			this.pictureBoxDemo.Location = new System.Drawing.Point(478, 54);
  2.1129 -			this.pictureBoxDemo.Name = "pictureBoxDemo";
  2.1130 -			this.pictureBoxDemo.Size = new System.Drawing.Size(100, 50);
  2.1131 -			this.pictureBoxDemo.TabIndex = 21;
  2.1132 -			this.pictureBoxDemo.TabStop = false;
  2.1133 -			// 
  2.1134 -			// MainForm
  2.1135 -			// 
  2.1136 -			this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
  2.1137 -			this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
  2.1138 -			this.ClientSize = new System.Drawing.Size(624, 442);
  2.1139 -			this.Controls.Add(this.pictureBoxDemo);
  2.1140 -			this.Controls.Add(this.labelFontHeight);
  2.1141 -			this.Controls.Add(this.labelFontWidth);
  2.1142 -			this.Controls.Add(this.labelWarning);
  2.1143 -			this.Controls.Add(this.statusStrip);
  2.1144 -			this.Controls.Add(this.tabControl);
  2.1145 -			this.Controls.Add(this.panelDisplay);
  2.1146 -			this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
  2.1147 -			this.MinimumSize = new System.Drawing.Size(640, 480);
  2.1148 -			this.Name = "MainForm";
  2.1149 -			this.Text = "Sharp Display Manager";
  2.1150 -			this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
  2.1151 -			this.Load += new System.EventHandler(this.MainForm_Load);
  2.1152 -			this.SizeChanged += new System.EventHandler(this.MainForm_SizeChanged);
  2.1153 -			this.Resize += new System.EventHandler(this.MainForm_Resize);
  2.1154 -			this.panelDisplay.ResumeLayout(false);
  2.1155 -			this.tableLayoutPanel.ResumeLayout(false);
  2.1156 -			this.tableLayoutPanel.PerformLayout();
  2.1157 -			this.statusStrip.ResumeLayout(false);
  2.1158 -			this.statusStrip.PerformLayout();
  2.1159 -			this.tabPageClients.ResumeLayout(false);
  2.1160 -			this.tabPageDisplay.ResumeLayout(false);
  2.1161 -			this.tabPageDisplay.PerformLayout();
  2.1162 -			((System.ComponentModel.ISupportInitialize)(this.trackBarBrightness)).EndInit();
  2.1163 -			this.tabControl.ResumeLayout(false);
  2.1164 -			this.tabPageDesign.ResumeLayout(false);
  2.1165 -			this.tabPageDesign.PerformLayout();
  2.1166 -			this.tabPageApp.ResumeLayout(false);
  2.1167 -			this.tabPageApp.PerformLayout();
  2.1168 -			((System.ComponentModel.ISupportInitialize)(this.pictureBoxDemo)).EndInit();
  2.1169 -			this.ResumeLayout(false);
  2.1170 -			this.PerformLayout();
  2.1171 +            this.tabControl.Controls.Add(this.tabPageDisplay);
  2.1172 +            this.tabControl.Controls.Add(this.tabPageClients);
  2.1173 +            this.tabControl.Controls.Add(this.tabPageDesign);
  2.1174 +            this.tabControl.Controls.Add(this.tabPageApp);
  2.1175 +            this.tabControl.Location = new System.Drawing.Point(12, 139);
  2.1176 +            this.tabControl.Name = "tabControl";
  2.1177 +            this.tabControl.SelectedIndex = 0;
  2.1178 +            this.tabControl.Size = new System.Drawing.Size(600, 268);
  2.1179 +            this.tabControl.TabIndex = 0;
  2.1180 +            // 
  2.1181 +            // tabPageDesign
  2.1182 +            // 
  2.1183 +            this.tabPageDesign.Controls.Add(this.labelScrollLoopSeparator);
  2.1184 +            this.tabPageDesign.Controls.Add(this.textBoxScrollLoopSeparator);
  2.1185 +            this.tabPageDesign.Controls.Add(this.labelMinFontSize);
  2.1186 +            this.tabPageDesign.Controls.Add(this.maskedTextBoxMinFontSize);
  2.1187 +            this.tabPageDesign.Controls.Add(this.checkBoxScaleToFit);
  2.1188 +            this.tabPageDesign.Controls.Add(this.checkBoxInverseColors);
  2.1189 +            this.tabPageDesign.Controls.Add(this.buttonAlignRight);
  2.1190 +            this.tabPageDesign.Controls.Add(this.buttonAlignCenter);
  2.1191 +            this.tabPageDesign.Controls.Add(this.buttonAlignLeft);
  2.1192 +            this.tabPageDesign.Controls.Add(this.buttonRemoveColumn);
  2.1193 +            this.tabPageDesign.Controls.Add(this.checkBoxFixedPitchFontOnly);
  2.1194 +            this.tabPageDesign.Controls.Add(this.buttonAddColumn);
  2.1195 +            this.tabPageDesign.Controls.Add(this.buttonFont);
  2.1196 +            this.tabPageDesign.Controls.Add(this.checkBoxReverseScreen);
  2.1197 +            this.tabPageDesign.Controls.Add(this.buttonRemoveRow);
  2.1198 +            this.tabPageDesign.Controls.Add(this.buttonAddRow);
  2.1199 +            this.tabPageDesign.Controls.Add(this.checkBoxShowBorders);
  2.1200 +            this.tabPageDesign.Location = new System.Drawing.Point(4, 22);
  2.1201 +            this.tabPageDesign.Name = "tabPageDesign";
  2.1202 +            this.tabPageDesign.Padding = new System.Windows.Forms.Padding(3);
  2.1203 +            this.tabPageDesign.Size = new System.Drawing.Size(592, 242);
  2.1204 +            this.tabPageDesign.TabIndex = 3;
  2.1205 +            this.tabPageDesign.Text = "Design";
  2.1206 +            this.tabPageDesign.UseVisualStyleBackColor = true;
  2.1207 +            // 
  2.1208 +            // labelScrollLoopSeparator
  2.1209 +            // 
  2.1210 +            this.labelScrollLoopSeparator.AutoSize = true;
  2.1211 +            this.labelScrollLoopSeparator.Location = new System.Drawing.Point(84, 145);
  2.1212 +            this.labelScrollLoopSeparator.Name = "labelScrollLoopSeparator";
  2.1213 +            this.labelScrollLoopSeparator.Size = new System.Drawing.Size(109, 13);
  2.1214 +            this.labelScrollLoopSeparator.TabIndex = 26;
  2.1215 +            this.labelScrollLoopSeparator.Text = "Scroll loop separator :";
  2.1216 +            // 
  2.1217 +            // textBoxScrollLoopSeparator
  2.1218 +            // 
  2.1219 +            this.textBoxScrollLoopSeparator.Location = new System.Drawing.Point(205, 142);
  2.1220 +            this.textBoxScrollLoopSeparator.Name = "textBoxScrollLoopSeparator";
  2.1221 +            this.textBoxScrollLoopSeparator.Size = new System.Drawing.Size(74, 20);
  2.1222 +            this.textBoxScrollLoopSeparator.TabIndex = 25;
  2.1223 +            this.textBoxScrollLoopSeparator.TextChanged += new System.EventHandler(this.textBoxScrollLoopSeparator_TextChanged);
  2.1224 +            // 
  2.1225 +            // labelMinFontSize
  2.1226 +            // 
  2.1227 +            this.labelMinFontSize.AutoSize = true;
  2.1228 +            this.labelMinFontSize.Location = new System.Drawing.Point(84, 194);
  2.1229 +            this.labelMinFontSize.Name = "labelMinFontSize";
  2.1230 +            this.labelMinFontSize.Size = new System.Drawing.Size(119, 13);
  2.1231 +            this.labelMinFontSize.TabIndex = 24;
  2.1232 +            this.labelMinFontSize.Text = "Minimum font size (pts) :";
  2.1233 +            // 
  2.1234 +            // maskedTextBoxMinFontSize
  2.1235 +            // 
  2.1236 +            this.maskedTextBoxMinFontSize.Location = new System.Drawing.Point(205, 191);
  2.1237 +            this.maskedTextBoxMinFontSize.Mask = "000";
  2.1238 +            this.maskedTextBoxMinFontSize.Name = "maskedTextBoxMinFontSize";
  2.1239 +            this.maskedTextBoxMinFontSize.PromptChar = ' ';
  2.1240 +            this.maskedTextBoxMinFontSize.Size = new System.Drawing.Size(24, 20);
  2.1241 +            this.maskedTextBoxMinFontSize.TabIndex = 23;
  2.1242 +            this.maskedTextBoxMinFontSize.TextChanged += new System.EventHandler(this.maskedTextBoxMinFontSize_TextChanged);
  2.1243 +            // 
  2.1244 +            // checkBoxScaleToFit
  2.1245 +            // 
  2.1246 +            this.checkBoxScaleToFit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
  2.1247 +            this.checkBoxScaleToFit.AutoSize = true;
  2.1248 +            this.checkBoxScaleToFit.Location = new System.Drawing.Point(87, 168);
  2.1249 +            this.checkBoxScaleToFit.Name = "checkBoxScaleToFit";
  2.1250 +            this.checkBoxScaleToFit.Size = new System.Drawing.Size(201, 17);
  2.1251 +            this.checkBoxScaleToFit.TabIndex = 22;
  2.1252 +            this.checkBoxScaleToFit.Text = "Try scale font down to avoid scrolling";
  2.1253 +            this.checkBoxScaleToFit.UseVisualStyleBackColor = true;
  2.1254 +            this.checkBoxScaleToFit.CheckedChanged += new System.EventHandler(this.checkBoxScaleToFit_CheckedChanged);
  2.1255 +            // 
  2.1256 +            // checkBoxInverseColors
  2.1257 +            // 
  2.1258 +            this.checkBoxInverseColors.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
  2.1259 +            this.checkBoxInverseColors.AutoSize = true;
  2.1260 +            this.checkBoxInverseColors.Location = new System.Drawing.Point(485, 52);
  2.1261 +            this.checkBoxInverseColors.Name = "checkBoxInverseColors";
  2.1262 +            this.checkBoxInverseColors.Size = new System.Drawing.Size(92, 17);
  2.1263 +            this.checkBoxInverseColors.TabIndex = 21;
  2.1264 +            this.checkBoxInverseColors.Text = "Inverse colors";
  2.1265 +            this.checkBoxInverseColors.UseVisualStyleBackColor = true;
  2.1266 +            this.checkBoxInverseColors.CheckedChanged += new System.EventHandler(this.checkBoxInverseColors_CheckedChanged);
  2.1267 +            // 
  2.1268 +            // buttonAlignRight
  2.1269 +            // 
  2.1270 +            this.buttonAlignRight.Location = new System.Drawing.Point(170, 81);
  2.1271 +            this.buttonAlignRight.Name = "buttonAlignRight";
  2.1272 +            this.buttonAlignRight.Size = new System.Drawing.Size(75, 23);
  2.1273 +            this.buttonAlignRight.TabIndex = 20;
  2.1274 +            this.buttonAlignRight.Text = "Align Right";
  2.1275 +            this.buttonAlignRight.UseVisualStyleBackColor = true;
  2.1276 +            this.buttonAlignRight.Click += new System.EventHandler(this.buttonAlignRight_Click);
  2.1277 +            // 
  2.1278 +            // buttonAlignCenter
  2.1279 +            // 
  2.1280 +            this.buttonAlignCenter.Location = new System.Drawing.Point(89, 81);
  2.1281 +            this.buttonAlignCenter.Name = "buttonAlignCenter";
  2.1282 +            this.buttonAlignCenter.Size = new System.Drawing.Size(75, 23);
  2.1283 +            this.buttonAlignCenter.TabIndex = 19;
  2.1284 +            this.buttonAlignCenter.Text = "Align Center";
  2.1285 +            this.buttonAlignCenter.UseVisualStyleBackColor = true;
  2.1286 +            this.buttonAlignCenter.Click += new System.EventHandler(this.buttonAlignCenter_Click);
  2.1287 +            // 
  2.1288 +            // buttonAlignLeft
  2.1289 +            // 
  2.1290 +            this.buttonAlignLeft.Location = new System.Drawing.Point(7, 81);
  2.1291 +            this.buttonAlignLeft.Name = "buttonAlignLeft";
  2.1292 +            this.buttonAlignLeft.Size = new System.Drawing.Size(75, 23);
  2.1293 +            this.buttonAlignLeft.TabIndex = 18;
  2.1294 +            this.buttonAlignLeft.Text = "Align Left";
  2.1295 +            this.buttonAlignLeft.UseVisualStyleBackColor = true;
  2.1296 +            this.buttonAlignLeft.Click += new System.EventHandler(this.buttonAlignLeft_Click);
  2.1297 +            // 
  2.1298 +            // buttonRemoveColumn
  2.1299 +            // 
  2.1300 +            this.buttonRemoveColumn.Location = new System.Drawing.Point(88, 37);
  2.1301 +            this.buttonRemoveColumn.Name = "buttonRemoveColumn";
  2.1302 +            this.buttonRemoveColumn.Size = new System.Drawing.Size(75, 23);
  2.1303 +            this.buttonRemoveColumn.TabIndex = 3;
  2.1304 +            this.buttonRemoveColumn.Text = "Remove col.";
  2.1305 +            this.buttonRemoveColumn.UseVisualStyleBackColor = true;
  2.1306 +            this.buttonRemoveColumn.Click += new System.EventHandler(this.buttonRemoveColumn_Click);
  2.1307 +            // 
  2.1308 +            // buttonAddColumn
  2.1309 +            // 
  2.1310 +            this.buttonAddColumn.Location = new System.Drawing.Point(89, 7);
  2.1311 +            this.buttonAddColumn.Name = "buttonAddColumn";
  2.1312 +            this.buttonAddColumn.Size = new System.Drawing.Size(75, 23);
  2.1313 +            this.buttonAddColumn.TabIndex = 2;
  2.1314 +            this.buttonAddColumn.Text = "Add column";
  2.1315 +            this.buttonAddColumn.UseVisualStyleBackColor = true;
  2.1316 +            this.buttonAddColumn.Click += new System.EventHandler(this.buttonAddColumn_Click);
  2.1317 +            // 
  2.1318 +            // checkBoxReverseScreen
  2.1319 +            // 
  2.1320 +            this.checkBoxReverseScreen.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
  2.1321 +            this.checkBoxReverseScreen.AutoSize = true;
  2.1322 +            this.checkBoxReverseScreen.Location = new System.Drawing.Point(485, 6);
  2.1323 +            this.checkBoxReverseScreen.Name = "checkBoxReverseScreen";
  2.1324 +            this.checkBoxReverseScreen.Size = new System.Drawing.Size(101, 17);
  2.1325 +            this.checkBoxReverseScreen.TabIndex = 14;
  2.1326 +            this.checkBoxReverseScreen.Text = "Reverse screen";
  2.1327 +            this.checkBoxReverseScreen.UseVisualStyleBackColor = true;
  2.1328 +            this.checkBoxReverseScreen.CheckedChanged += new System.EventHandler(this.checkBoxReverseScreen_CheckedChanged);
  2.1329 +            // 
  2.1330 +            // buttonRemoveRow
  2.1331 +            // 
  2.1332 +            this.buttonRemoveRow.Location = new System.Drawing.Point(7, 37);
  2.1333 +            this.buttonRemoveRow.Name = "buttonRemoveRow";
  2.1334 +            this.buttonRemoveRow.Size = new System.Drawing.Size(75, 23);
  2.1335 +            this.buttonRemoveRow.TabIndex = 1;
  2.1336 +            this.buttonRemoveRow.Text = "Remove row";
  2.1337 +            this.buttonRemoveRow.UseVisualStyleBackColor = true;
  2.1338 +            this.buttonRemoveRow.Click += new System.EventHandler(this.buttonRemoveRow_Click);
  2.1339 +            // 
  2.1340 +            // buttonAddRow
  2.1341 +            // 
  2.1342 +            this.buttonAddRow.Location = new System.Drawing.Point(7, 7);
  2.1343 +            this.buttonAddRow.Name = "buttonAddRow";
  2.1344 +            this.buttonAddRow.Size = new System.Drawing.Size(75, 23);
  2.1345 +            this.buttonAddRow.TabIndex = 0;
  2.1346 +            this.buttonAddRow.Text = "Add row";
  2.1347 +            this.buttonAddRow.UseVisualStyleBackColor = true;
  2.1348 +            this.buttonAddRow.Click += new System.EventHandler(this.buttonAddRow_Click);
  2.1349 +            // 
  2.1350 +            // tabPageApp
  2.1351 +            // 
  2.1352 +            this.tabPageApp.Controls.Add(this.checkBoxStartMinimized);
  2.1353 +            this.tabPageApp.Controls.Add(this.checkBoxMinimizeToTray);
  2.1354 +            this.tabPageApp.Controls.Add(this.checkBoxAutoStart);
  2.1355 +            this.tabPageApp.Controls.Add(this.buttonUpdate);
  2.1356 +            this.tabPageApp.Location = new System.Drawing.Point(4, 22);
  2.1357 +            this.tabPageApp.Name = "tabPageApp";
  2.1358 +            this.tabPageApp.Padding = new System.Windows.Forms.Padding(3);
  2.1359 +            this.tabPageApp.Size = new System.Drawing.Size(592, 242);
  2.1360 +            this.tabPageApp.TabIndex = 4;
  2.1361 +            this.tabPageApp.Text = "Application";
  2.1362 +            this.tabPageApp.UseVisualStyleBackColor = true;
  2.1363 +            // 
  2.1364 +            // checkBoxStartMinimized
  2.1365 +            // 
  2.1366 +            this.checkBoxStartMinimized.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
  2.1367 +            this.checkBoxStartMinimized.AutoSize = true;
  2.1368 +            this.checkBoxStartMinimized.Location = new System.Drawing.Point(8, 144);
  2.1369 +            this.checkBoxStartMinimized.Name = "checkBoxStartMinimized";
  2.1370 +            this.checkBoxStartMinimized.Size = new System.Drawing.Size(96, 17);
  2.1371 +            this.checkBoxStartMinimized.TabIndex = 16;
  2.1372 +            this.checkBoxStartMinimized.Text = "Start minimized";
  2.1373 +            this.checkBoxStartMinimized.UseVisualStyleBackColor = true;
  2.1374 +            this.checkBoxStartMinimized.CheckedChanged += new System.EventHandler(this.checkBoxStartMinimized_CheckedChanged);
  2.1375 +            // 
  2.1376 +            // checkBoxMinimizeToTray
  2.1377 +            // 
  2.1378 +            this.checkBoxMinimizeToTray.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
  2.1379 +            this.checkBoxMinimizeToTray.AutoSize = true;
  2.1380 +            this.checkBoxMinimizeToTray.Location = new System.Drawing.Point(8, 167);
  2.1381 +            this.checkBoxMinimizeToTray.Name = "checkBoxMinimizeToTray";
  2.1382 +            this.checkBoxMinimizeToTray.Size = new System.Drawing.Size(133, 17);
  2.1383 +            this.checkBoxMinimizeToTray.TabIndex = 15;
  2.1384 +            this.checkBoxMinimizeToTray.Text = "Minimize to system tray";
  2.1385 +            this.checkBoxMinimizeToTray.UseVisualStyleBackColor = true;
  2.1386 +            this.checkBoxMinimizeToTray.CheckedChanged += new System.EventHandler(this.checkBoxMinimizeToTray_CheckedChanged);
  2.1387 +            // 
  2.1388 +            // checkBoxAutoStart
  2.1389 +            // 
  2.1390 +            this.checkBoxAutoStart.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
  2.1391 +            this.checkBoxAutoStart.AutoSize = true;
  2.1392 +            this.checkBoxAutoStart.Location = new System.Drawing.Point(8, 190);
  2.1393 +            this.checkBoxAutoStart.Name = "checkBoxAutoStart";
  2.1394 +            this.checkBoxAutoStart.Size = new System.Drawing.Size(143, 17);
  2.1395 +            this.checkBoxAutoStart.TabIndex = 14;
  2.1396 +            this.checkBoxAutoStart.Text = "Run on Windows startup";
  2.1397 +            this.checkBoxAutoStart.UseVisualStyleBackColor = true;
  2.1398 +            this.checkBoxAutoStart.CheckedChanged += new System.EventHandler(this.checkBoxAutoStart_CheckedChanged);
  2.1399 +            // 
  2.1400 +            // buttonUpdate
  2.1401 +            // 
  2.1402 +            this.buttonUpdate.Location = new System.Drawing.Point(6, 213);
  2.1403 +            this.buttonUpdate.Name = "buttonUpdate";
  2.1404 +            this.buttonUpdate.Size = new System.Drawing.Size(75, 23);
  2.1405 +            this.buttonUpdate.TabIndex = 0;
  2.1406 +            this.buttonUpdate.Text = "Update";
  2.1407 +            this.buttonUpdate.UseVisualStyleBackColor = true;
  2.1408 +            this.buttonUpdate.Click += new System.EventHandler(this.buttonUpdate_Click);
  2.1409 +            // 
  2.1410 +            // labelFontWidth
  2.1411 +            // 
  2.1412 +            this.labelFontWidth.AutoSize = true;
  2.1413 +            this.labelFontWidth.Location = new System.Drawing.Point(13, 29);
  2.1414 +            this.labelFontWidth.Name = "labelFontWidth";
  2.1415 +            this.labelFontWidth.Size = new System.Drawing.Size(56, 13);
  2.1416 +            this.labelFontWidth.TabIndex = 19;
  2.1417 +            this.labelFontWidth.Text = "Font width";
  2.1418 +            // 
  2.1419 +            // labelFontHeight
  2.1420 +            // 
  2.1421 +            this.labelFontHeight.AutoSize = true;
  2.1422 +            this.labelFontHeight.Location = new System.Drawing.Point(13, 46);
  2.1423 +            this.labelFontHeight.Name = "labelFontHeight";
  2.1424 +            this.labelFontHeight.Size = new System.Drawing.Size(60, 13);
  2.1425 +            this.labelFontHeight.TabIndex = 20;
  2.1426 +            this.labelFontHeight.Text = "Font height";
  2.1427 +            // 
  2.1428 +            // pictureBoxDemo
  2.1429 +            // 
  2.1430 +            this.pictureBoxDemo.Location = new System.Drawing.Point(478, 54);
  2.1431 +            this.pictureBoxDemo.Name = "pictureBoxDemo";
  2.1432 +            this.pictureBoxDemo.Size = new System.Drawing.Size(100, 50);
  2.1433 +            this.pictureBoxDemo.TabIndex = 21;
  2.1434 +            this.pictureBoxDemo.TabStop = false;
  2.1435 +            // 
  2.1436 +            // MainForm
  2.1437 +            // 
  2.1438 +            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
  2.1439 +            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
  2.1440 +            this.ClientSize = new System.Drawing.Size(624, 442);
  2.1441 +            this.Controls.Add(this.pictureBoxDemo);
  2.1442 +            this.Controls.Add(this.labelFontHeight);
  2.1443 +            this.Controls.Add(this.labelFontWidth);
  2.1444 +            this.Controls.Add(this.labelWarning);
  2.1445 +            this.Controls.Add(this.statusStrip);
  2.1446 +            this.Controls.Add(this.tabControl);
  2.1447 +            this.Controls.Add(this.panelDisplay);
  2.1448 +            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
  2.1449 +            this.MinimumSize = new System.Drawing.Size(640, 480);
  2.1450 +            this.Name = "MainForm";
  2.1451 +            this.Text = "Sharp Display Manager";
  2.1452 +            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
  2.1453 +            this.Load += new System.EventHandler(this.MainForm_Load);
  2.1454 +            this.SizeChanged += new System.EventHandler(this.MainForm_SizeChanged);
  2.1455 +            this.Resize += new System.EventHandler(this.MainForm_Resize);
  2.1456 +            this.panelDisplay.ResumeLayout(false);
  2.1457 +            this.tableLayoutPanel.ResumeLayout(false);
  2.1458 +            this.tableLayoutPanel.PerformLayout();
  2.1459 +            this.statusStrip.ResumeLayout(false);
  2.1460 +            this.statusStrip.PerformLayout();
  2.1461 +            this.tabPageClients.ResumeLayout(false);
  2.1462 +            this.tabPageDisplay.ResumeLayout(false);
  2.1463 +            this.tabPageDisplay.PerformLayout();
  2.1464 +            ((System.ComponentModel.ISupportInitialize)(this.trackBarBrightness)).EndInit();
  2.1465 +            this.tabControl.ResumeLayout(false);
  2.1466 +            this.tabPageDesign.ResumeLayout(false);
  2.1467 +            this.tabPageDesign.PerformLayout();
  2.1468 +            this.tabPageApp.ResumeLayout(false);
  2.1469 +            this.tabPageApp.PerformLayout();
  2.1470 +            ((System.ComponentModel.ISupportInitialize)(this.pictureBoxDemo)).EndInit();
  2.1471 +            this.ResumeLayout(false);
  2.1472 +            this.PerformLayout();
  2.1473  
  2.1474          }
  2.1475  
  2.1476 @@ -796,6 +858,11 @@
  2.1477  		private System.Windows.Forms.CheckBox checkBoxAutoStart;
  2.1478  		private System.Windows.Forms.CheckBox checkBoxStartMinimized;
  2.1479  		private System.Windows.Forms.CheckBox checkBoxMinimizeToTray;
  2.1480 +        private System.Windows.Forms.MaskedTextBox maskedTextBoxMinFontSize;
  2.1481 +        private System.Windows.Forms.CheckBox checkBoxScaleToFit;
  2.1482 +        private System.Windows.Forms.Label labelMinFontSize;
  2.1483 +        private System.Windows.Forms.Label labelScrollLoopSeparator;
  2.1484 +        private System.Windows.Forms.TextBox textBoxScrollLoopSeparator;
  2.1485      }
  2.1486  }
  2.1487  
     3.1 --- a/Server/MainForm.cs	Fri Jan 23 15:20:32 2015 +0100
     3.2 +++ b/Server/MainForm.cs	Fri Jan 23 18:33:51 2015 +0100
     3.3 @@ -624,9 +624,14 @@
     3.4  			checkBoxStartMinimized.Checked = Properties.Settings.Default.StartMinimized;
     3.5              checkBoxReverseScreen.Checked = cds.ReverseScreen;
     3.6              checkBoxInverseColors.Checked = cds.InverseColors;
     3.7 +            checkBoxScaleToFit.Checked = cds.ScaleToFit;
     3.8 +            maskedTextBoxMinFontSize.Enabled = cds.ScaleToFit;
     3.9 +            labelMinFontSize.Enabled = cds.ScaleToFit;
    3.10 +            maskedTextBoxMinFontSize.Text = cds.MinFontSize.ToString();
    3.11              comboBoxDisplayType.SelectedIndex = cds.DisplayType;
    3.12              timer.Interval = cds.TimerInterval;
    3.13              maskedTextBoxTimerInterval.Text = cds.TimerInterval.ToString();
    3.14 +            textBoxScrollLoopSeparator.Text = cds.Separator;
    3.15              //
    3.16              SetupPixelDelegates();
    3.17  
    3.18 @@ -741,6 +746,16 @@
    3.19              SetupPixelDelegates();
    3.20          }
    3.21  
    3.22 +        private void checkBoxScaleToFit_CheckedChanged(object sender, EventArgs e)
    3.23 +        {
    3.24 +            //Save our scale to fit setting
    3.25 +            cds.ScaleToFit = checkBoxScaleToFit.Checked;
    3.26 +            Properties.Settings.Default.Save();
    3.27 +            //
    3.28 +            labelMinFontSize.Enabled = cds.ScaleToFit;
    3.29 +            maskedTextBoxMinFontSize.Enabled = cds.ScaleToFit;
    3.30 +        }
    3.31 +
    3.32          private void MainForm_Resize(object sender, EventArgs e)
    3.33          {
    3.34              if (WindowState == FormWindowState.Minimized)
    3.35 @@ -1258,7 +1273,9 @@
    3.36                      control.Name = "marqueeLabelCol" + aColumn + "Row" + aRow;
    3.37                      control.OwnTimer = false;
    3.38                      control.PixelsPerSecond = 64;
    3.39 -                    control.Separator = "|";
    3.40 +                    control.Separator = cds.Separator;
    3.41 +                    control.MinFontSize = cds.MinFontSize;
    3.42 +                    control.ScaleToFit = cds.ScaleToFit;
    3.43                      //control.Size = new System.Drawing.Size(254, 30);
    3.44                      //control.TabIndex = 2;
    3.45                      control.Font = cds.Font;
    3.46 @@ -1372,7 +1389,9 @@
    3.47                  label.Name = "marqueeLabel" + aField.Index;
    3.48                  label.OwnTimer = false;
    3.49                  label.PixelsPerSecond = 64;
    3.50 -                label.Separator = "|";
    3.51 +                label.Separator = cds.Separator;
    3.52 +                label.MinFontSize = cds.MinFontSize;
    3.53 +                label.ScaleToFit = cds.ScaleToFit;
    3.54                  //control.Size = new System.Drawing.Size(254, 30);
    3.55                  //control.TabIndex = 2;
    3.56                  label.Font = cds.Font;
    3.57 @@ -1442,7 +1461,6 @@
    3.58              }
    3.59          }
    3.60  
    3.61 -
    3.62          private void maskedTextBoxTimerInterval_TextChanged(object sender, EventArgs e)
    3.63          {
    3.64              if (maskedTextBoxTimerInterval.Text != "")
    3.65 @@ -1458,6 +1476,28 @@
    3.66              }
    3.67          }
    3.68  
    3.69 +        private void maskedTextBoxMinFontSize_TextChanged(object sender, EventArgs e)
    3.70 +        {
    3.71 +            if (maskedTextBoxMinFontSize.Text != "")
    3.72 +            {
    3.73 +                int minFontSize = Convert.ToInt32(maskedTextBoxMinFontSize.Text);
    3.74 +
    3.75 +                if (minFontSize > 0)
    3.76 +                {
    3.77 +                    //TODO: re-create layout? update our fields?
    3.78 +                    cds.MinFontSize = minFontSize;
    3.79 +                    Properties.Settings.Default.Save();
    3.80 +                }
    3.81 +            }
    3.82 +        }
    3.83 +
    3.84 +        private void textBoxScrollLoopSeparator_TextChanged(object sender, EventArgs e)
    3.85 +        {
    3.86 +            //TODO: re-create layout? update our fields?
    3.87 +            cds.Separator = textBoxScrollLoopSeparator.Text;
    3.88 +            Properties.Settings.Default.Save();
    3.89 +        }
    3.90 +
    3.91          private void buttonPowerOn_Click(object sender, EventArgs e)
    3.92          {
    3.93              iDisplay.PowerOn();
    3.94 @@ -1588,6 +1628,9 @@
    3.95  
    3.96  		}
    3.97  
    3.98 +
    3.99 +
   3.100 +
   3.101      }
   3.102  
   3.103      /// <summary>
     4.1 --- a/Server/MarqueeLabel.cs	Fri Jan 23 15:20:32 2015 +0100
     4.2 +++ b/Server/MarqueeLabel.cs	Fri Jan 23 18:33:51 2015 +0100
     4.3 @@ -20,6 +20,7 @@
     4.4          private SizeF iTextSize;
     4.5          private SizeF iSeparatorSize;
     4.6          private SizeF iScrollSize;
     4.7 +        private Font iFontInUse;
     4.8  
     4.9          [Category("Appearance")]
    4.10          [Description("Separator in our scrolling loop.")]
    4.11 @@ -36,6 +37,20 @@
    4.12          public int PixelsPerSecond { get; set; }
    4.13  
    4.14          [Category("Behavior")]
    4.15 +        [Description("Should we scale down our font to try fit our text without scrolling.")]
    4.16 +        [DefaultValue(false)]
    4.17 +        [Browsable(true), EditorBrowsable(EditorBrowsableState.Always)]
    4.18 +        [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
    4.19 +        public bool ScaleToFit { get; set; }
    4.20 +
    4.21 +        [Category("Behavior")]
    4.22 +        [Description("Minimum size of our font allowed when scaling is enabled.")]
    4.23 +        [DefaultValue(15)]
    4.24 +        [Browsable(true), EditorBrowsable(EditorBrowsableState.Always)]
    4.25 +        [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
    4.26 +        public float MinFontSize { get; set; }
    4.27 +
    4.28 +        [Category("Behavior")]
    4.29          [Description("Use an internal or an external timer.")]
    4.30          [DefaultValue(true)]
    4.31          [Browsable(true), EditorBrowsable(EditorBrowsableState.Always)]
    4.32 @@ -83,6 +98,10 @@
    4.33              PixelsLeft = 0;
    4.34              CurrentPosition = 0;
    4.35              iBrush = new SolidBrush(ForeColor);
    4.36 +            MinFontSize = 15;
    4.37 +            ScaleToFit = true;
    4.38 +            //Just clone our font
    4.39 +            iFontInUse = new Font(Font, Font.Style);
    4.40  
    4.41              //Following is needed if we ever switch from Label to Control base class.
    4.42              //Without it you get some pretty nasty flicker
    4.43 @@ -217,38 +236,64 @@
    4.44          }
    4.45  
    4.46  
    4.47 -        private void HandleTextSizeChange()
    4.48 +        private void ComputeSizes()
    4.49          {
    4.50 -            //Reset our timer whenever our text changes
    4.51 -            CurrentPosition = 0;
    4.52 -            LastTickTime = DateTime.Now;
    4.53 -            PixelsLeft = 0;
    4.54 -
    4.55              //For all string measurements and drawing issues refer to the following article:
    4.56              // http://stackoverflow.com/questions/1203087/why-is-graphics-measurestring-returning-a-higher-than-expected-number
    4.57              //Update text size according to text and font
    4.58              Graphics g = this.CreateGraphics();
    4.59              g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit;
    4.60              iStringFormat = GetStringFormatFromContentAllignment(TextAlign);
    4.61 -            iTextSize = g.MeasureString(Text, Font, Int32.MaxValue, iStringFormat);
    4.62 -            iSeparatorSize = g.MeasureString(Separator, Font, Int32.MaxValue, iStringFormat);
    4.63 +            iTextSize = g.MeasureString(Text, iFontInUse, Int32.MaxValue, iStringFormat);
    4.64 +            iSeparatorSize = g.MeasureString(Separator, iFontInUse, Int32.MaxValue, iStringFormat);
    4.65              //Scroll width is the width of our text and our separator without taking kerning into account since
    4.66              //both text and separator are drawn independently from each other.
    4.67              iScrollSize.Width = iSeparatorSize.Width + iTextSize.Width;
    4.68              iScrollSize.Height = Math.Max(iSeparatorSize.Height, iTextSize.Height); //Not relevant for now
    4.69 -            //We don't want scroll with to take kerning into account so we don't use the following
    4.70 +            //We don't want scroll width to take kerning into account so we don't use the following
    4.71              //iScrollSize = g.MeasureString(Text + Separator, Font, Int32.MaxValue, iStringFormat);
    4.72 +        }
    4.73 +
    4.74 +        private void HandleTextSizeChange()
    4.75 +        {
    4.76 +            ComputeSizes();
    4.77  
    4.78              if (NeedToScroll())
    4.79              {
    4.80 -                //Always align left when scrolling
    4.81 -                iStringFormat.Alignment = StringAlignment.Near;
    4.82 +                if (ScaleToFit && iFontInUse.SizeInPoints > MinFontSize)
    4.83 +                {
    4.84 +                    //Try scaling down
    4.85 +                    iFontInUse = new Font(Font.FontFamily, iFontInUse.SizeInPoints - 1, Font.Style);
    4.86 +                    //Recurse until we are done
    4.87 +                    HandleTextSizeChange();
    4.88 +                }
    4.89 +                else
    4.90 +                {
    4.91 +                    if (ScaleToFit)
    4.92 +                    {
    4.93 +                        //Our minimum font size still needs scrolling
    4.94 +                        //Reset our font then
    4.95 +                        iFontInUse = new Font(Font,Font.Style);
    4.96 +                        ComputeSizes();
    4.97 +                    }
    4.98 +
    4.99 +                    //Scrolling is ok or needed
   4.100 +                    //Always align left when scrolling
   4.101 +                    iStringFormat.Alignment = StringAlignment.Near;
   4.102 +                }
   4.103              }
   4.104  
   4.105 +            //Reset our timer whenever our text changes
   4.106 +            CurrentPosition = 0;
   4.107 +            PixelsLeft = 0;
   4.108 +            LastTickTime = DateTime.Now;
   4.109          }
   4.110  
   4.111          protected override void OnTextChanged(EventArgs e)
   4.112          {
   4.113 +            //Just clone our font
   4.114 +            iFontInUse = new Font(Font, Font.Style);
   4.115 +
   4.116              HandleTextSizeChange();
   4.117  
   4.118              base.OnTextChanged(e);
   4.119 @@ -256,11 +301,24 @@
   4.120  
   4.121          protected override void OnFontChanged(EventArgs e)
   4.122          {
   4.123 +            //Just clone our font
   4.124 +            iFontInUse = new Font(Font,Font.Style);
   4.125 +
   4.126              HandleTextSizeChange();
   4.127  
   4.128              base.OnFontChanged(e);
   4.129          }
   4.130  
   4.131 +        protected override void OnSizeChanged(EventArgs e)
   4.132 +        {
   4.133 +            //Just clone our font
   4.134 +            iFontInUse = new Font(Font, Font.Style);
   4.135 +
   4.136 +            HandleTextSizeChange();
   4.137 +
   4.138 +            base.OnSizeChanged(e);
   4.139 +        }
   4.140 +
   4.141          protected override void OnTextAlignChanged(EventArgs e)
   4.142          {
   4.143              iStringFormat = GetStringFormatFromContentAllignment(TextAlign);
   4.144 @@ -288,17 +346,17 @@
   4.145                  //Doing separate draw operation allows us not to take kerning into account between separator and string
   4.146                  //Draw the first one
   4.147                  e.Graphics.TranslateTransform(-(float)CurrentPosition, 0);
   4.148 -                e.Graphics.DrawString(Text, Font, iBrush, ClientRectangle, iStringFormat);
   4.149 +                e.Graphics.DrawString(Text, iFontInUse, iBrush, ClientRectangle, iStringFormat);
   4.150                  //Draw separator
   4.151                  e.Graphics.TranslateTransform(iTextSize.Width, 0);
   4.152 -                e.Graphics.DrawString(Separator, Font, iBrush, ClientRectangle, iStringFormat);
   4.153 +                e.Graphics.DrawString(Separator, iFontInUse, iBrush, ClientRectangle, iStringFormat);
   4.154                  //Draw the last one
   4.155                  e.Graphics.TranslateTransform(iSeparatorSize.Width, 0);
   4.156 -                e.Graphics.DrawString(Text, Font, iBrush, ClientRectangle, iStringFormat);
   4.157 +                e.Graphics.DrawString(Text, iFontInUse, iBrush, ClientRectangle, iStringFormat);
   4.158              }
   4.159              else
   4.160              {
   4.161 -                e.Graphics.DrawString(Text, Font, iBrush, ClientRectangle, iStringFormat);
   4.162 +                e.Graphics.DrawString(Text, iFontInUse, iBrush, ClientRectangle, iStringFormat);
   4.163              }
   4.164  
   4.165  
     5.1 --- a/Server/Properties/Settings.Designer.cs	Fri Jan 23 15:20:32 2015 +0100
     5.2 +++ b/Server/Properties/Settings.Designer.cs	Fri Jan 23 18:33:51 2015 +0100
     5.3 @@ -1,7 +1,7 @@
     5.4  //------------------------------------------------------------------------------
     5.5  // <auto-generated>
     5.6  //     This code was generated by a tool.
     5.7 -//     Runtime Version:4.0.30319.18444
     5.8 +//     Runtime Version:4.0.30319.18408
     5.9  //
    5.10  //     Changes to this file may cause incorrect behavior and will be lost if
    5.11  //     the code is regenerated.