(1) Results.Output.Printers.WMChart added, (2) Results.Forms.MoreWMResultsDlg added, (3) Output.Printers.OnePerMeter can print graphs, ver. 2.18.1249

This commit is contained in:
Milan Hanajik
2019-06-21 13:25:13 +02:00
parent b873dd5bf5
commit e252e55197
24 changed files with 1043 additions and 293 deletions
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2017 Sensus Slovensko a.s.
/// Copyright (c) 2017-2019 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
@@ -111,12 +111,16 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
printerCfg.BelowItems3 = newCfg.BelowItems3;
printerCfg.Footer = newCfg.Footer;
printerCfg.TestsAreRows = newCfg.TestsAreRows;
printerCfg.DocName = newCfg.DocName;
printerCfg.ImgName = newCfg.ImgName;
printerCfg.GraphLeft = newCfg.GraphLeft;
printerCfg.GraphTop = newCfg.GraphTop;
printerCfg.GraphWid = newCfg.GraphWid;
printerCfg.GraphHgh = newCfg.GraphHgh;
printerCfg.ImgLeft = newCfg.ImgLeft;
printerCfg.ImgTop = newCfg.ImgTop;
printerCfg.ImgWid = newCfg.ImgWid;
printerCfg.ImgHgh = newCfg.ImgHgh;
printerCfg.ImgName = newCfg.ImgName;
printerCfg.DocName = newCfg.DocName;
ApplyConfig();
}
@@ -224,11 +228,15 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
BelowItems3 = printerCfg.BelowItems3,
Footer = printerCfg.Footer,
TestsAreRows = printerCfg.TestsAreRows,
ImgFullPathName = (wm.ArchivePath != null) ? System.IO.Path.Combine(wm.ArchivePath, printerCfg.ImgName) : null,
GraphLeft = printerCfg.GraphLeft,
GraphTop = printerCfg.GraphTop,
GraphWid = printerCfg.GraphWid,
GraphHgh = printerCfg.GraphHgh,
ImgLeft = printerCfg.ImgLeft,
ImgTop = printerCfg.ImgTop,
ImgWid = printerCfg.ImgWid,
ImgHgh = printerCfg.ImgHgh,
ImgFullPathName = (wm.ArchivePath != null) ? System.IO.Path.Combine(wm.ArchivePath, printerCfg.ImgName) : null,
};
new Results.Output.Printers.OnePerMeter.OnePerMeterPrintDocument(batch, cfg, wm, documentName).Print();
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2017 Sensus Slovensko a.s.
/// Copyright (c) 2017-2019 Sensus Slovensko a.s.
///
using System.Xml.Serialization;
using Config.Entities;
@@ -59,12 +59,16 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
public string Footer;
public bool TestsAreRows; /// true = Tests are rows
public string DocName;
public string ImgName;
public int GraphLeft;
public int GraphTop;
public int GraphWid;
public int GraphHgh;
public int ImgLeft;
public int ImgTop;
public int ImgWid;
public int ImgHgh;
public string ImgName;
public string DocName;
[XmlIgnore]
public Config.Entities.MetersKind MetersKind;
@@ -75,7 +75,6 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
this.footerFontFamilyComboBox = new System.Windows.Forms.ComboBox();
this.footerFontLabel = new System.Windows.Forms.Label();
this.imageNameTextBox = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.imageLeftTextBox = new System.Windows.Forms.TextBox();
this.imageTopTextBox = new System.Windows.Forms.TextBox();
this.imageWidthTextBox = new System.Windows.Forms.TextBox();
@@ -103,6 +102,11 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
this.belowItems2Button = new System.Windows.Forms.Button();
this.belowItems1Button = new System.Windows.Forms.Button();
this.table1FormComboBox = new System.Windows.Forms.ComboBox();
this.label3 = new System.Windows.Forms.Label();
this.graphHeightTextBox = new System.Windows.Forms.TextBox();
this.graphWidthTextBox = new System.Windows.Forms.TextBox();
this.graphTopTextBox = new System.Windows.Forms.TextBox();
this.graphLeftTextBox = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// nameTextBox
@@ -214,9 +218,9 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
// footerButton
//
this.footerButton.Enabled = false;
this.footerButton.Location = new System.Drawing.Point(287, 303);
this.footerButton.Location = new System.Drawing.Point(291, 285);
this.footerButton.Name = "footerButton";
this.footerButton.Size = new System.Drawing.Size(100, 23);
this.footerButton.Size = new System.Drawing.Size(100, 20);
this.footerButton.TabIndex = 41;
this.footerButton.Text = "Footer";
this.footerButton.UseVisualStyleBackColor = true;
@@ -225,9 +229,9 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
// headerButton
//
this.headerButton.Enabled = false;
this.headerButton.Location = new System.Drawing.Point(287, 193);
this.headerButton.Location = new System.Drawing.Point(291, 190);
this.headerButton.Name = "headerButton";
this.headerButton.Size = new System.Drawing.Size(100, 23);
this.headerButton.Size = new System.Drawing.Size(100, 20);
this.headerButton.TabIndex = 37;
this.headerButton.Text = "Title";
this.headerButton.UseVisualStyleBackColor = true;
@@ -236,9 +240,9 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
// testItemsButton
//
this.testItemsButton.Enabled = false;
this.testItemsButton.Location = new System.Drawing.Point(287, 237);
this.testItemsButton.Location = new System.Drawing.Point(291, 228);
this.testItemsButton.Name = "testItemsButton";
this.testItemsButton.Size = new System.Drawing.Size(100, 23);
this.testItemsButton.Size = new System.Drawing.Size(100, 20);
this.testItemsButton.TabIndex = 39;
this.testItemsButton.Text = "1st table";
this.testItemsButton.UseVisualStyleBackColor = true;
@@ -405,9 +409,9 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
// testItems2Button
//
this.testItems2Button.Enabled = false;
this.testItems2Button.Location = new System.Drawing.Point(287, 259);
this.testItems2Button.Location = new System.Drawing.Point(291, 247);
this.testItems2Button.Name = "testItems2Button";
this.testItems2Button.Size = new System.Drawing.Size(100, 23);
this.testItems2Button.Size = new System.Drawing.Size(100, 20);
this.testItems2Button.TabIndex = 40;
this.testItems2Button.Text = "2nd table";
this.testItems2Button.UseVisualStyleBackColor = true;
@@ -507,24 +511,15 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
// imageNameTextBox
//
this.imageNameTextBox.Enabled = false;
this.imageNameTextBox.Location = new System.Drawing.Point(143, 304);
this.imageNameTextBox.Location = new System.Drawing.Point(287, 306);
this.imageNameTextBox.Name = "imageNameTextBox";
this.imageNameTextBox.Size = new System.Drawing.Size(135, 20);
this.imageNameTextBox.TabIndex = 44;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(57, 307);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(87, 13);
this.label3.TabIndex = 45;
this.label3.Text = "Image file name :";
//
// imageLeftTextBox
//
this.imageLeftTextBox.Enabled = false;
this.imageLeftTextBox.Location = new System.Drawing.Point(143, 282);
this.imageLeftTextBox.Location = new System.Drawing.Point(141, 306);
this.imageLeftTextBox.Name = "imageLeftTextBox";
this.imageLeftTextBox.Size = new System.Drawing.Size(33, 20);
this.imageLeftTextBox.TabIndex = 46;
@@ -532,7 +527,7 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
// imageTopTextBox
//
this.imageTopTextBox.Enabled = false;
this.imageTopTextBox.Location = new System.Drawing.Point(179, 282);
this.imageTopTextBox.Location = new System.Drawing.Point(177, 306);
this.imageTopTextBox.Name = "imageTopTextBox";
this.imageTopTextBox.Size = new System.Drawing.Size(31, 20);
this.imageTopTextBox.TabIndex = 47;
@@ -540,7 +535,7 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
// imageWidthTextBox
//
this.imageWidthTextBox.Enabled = false;
this.imageWidthTextBox.Location = new System.Drawing.Point(213, 282);
this.imageWidthTextBox.Location = new System.Drawing.Point(211, 306);
this.imageWidthTextBox.Name = "imageWidthTextBox";
this.imageWidthTextBox.Size = new System.Drawing.Size(31, 20);
this.imageWidthTextBox.TabIndex = 48;
@@ -548,7 +543,7 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
// imageHeightTextBox
//
this.imageHeightTextBox.Enabled = false;
this.imageHeightTextBox.Location = new System.Drawing.Point(247, 282);
this.imageHeightTextBox.Location = new System.Drawing.Point(245, 306);
this.imageHeightTextBox.Name = "imageHeightTextBox";
this.imageHeightTextBox.Size = new System.Drawing.Size(31, 20);
this.imageHeightTextBox.TabIndex = 49;
@@ -556,20 +551,20 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(41, 285);
this.label4.Location = new System.Drawing.Point(17, 309);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(103, 13);
this.label4.Size = new System.Drawing.Size(115, 13);
this.label4.TabIndex = 50;
this.label4.Text = "Image left/top/w/h :";
this.label4.Text = "Image left/top/w/h/file";
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(109, 266);
this.label8.Location = new System.Drawing.Point(55, 269);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(172, 13);
this.label8.Size = new System.Drawing.Size(224, 13);
this.label8.TabIndex = 57;
this.label8.Text = "Image coordinates are in 0.254 mm";
this.label8.Text = "Graph and image coordinates are in 0.254 mm";
//
// label6
//
@@ -634,9 +629,9 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
// commonItems3Button
//
this.commonItems3Button.Enabled = false;
this.commonItems3Button.Location = new System.Drawing.Point(393, 215);
this.commonItems3Button.Location = new System.Drawing.Point(397, 209);
this.commonItems3Button.Name = "commonItems3Button";
this.commonItems3Button.Size = new System.Drawing.Size(47, 23);
this.commonItems3Button.Size = new System.Drawing.Size(47, 20);
this.commonItems3Button.TabIndex = 65;
this.commonItems3Button.Text = "Col. 3";
this.commonItems3Button.UseVisualStyleBackColor = true;
@@ -645,9 +640,9 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
// commonItems2Button
//
this.commonItems2Button.Enabled = false;
this.commonItems2Button.Location = new System.Drawing.Point(340, 215);
this.commonItems2Button.Location = new System.Drawing.Point(344, 209);
this.commonItems2Button.Name = "commonItems2Button";
this.commonItems2Button.Size = new System.Drawing.Size(47, 23);
this.commonItems2Button.Size = new System.Drawing.Size(47, 20);
this.commonItems2Button.TabIndex = 64;
this.commonItems2Button.Text = "Col. 2";
this.commonItems2Button.UseVisualStyleBackColor = true;
@@ -656,9 +651,9 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
// commonItems1Button
//
this.commonItems1Button.Enabled = false;
this.commonItems1Button.Location = new System.Drawing.Point(287, 215);
this.commonItems1Button.Location = new System.Drawing.Point(291, 209);
this.commonItems1Button.Name = "commonItems1Button";
this.commonItems1Button.Size = new System.Drawing.Size(47, 23);
this.commonItems1Button.Size = new System.Drawing.Size(47, 20);
this.commonItems1Button.TabIndex = 63;
this.commonItems1Button.Text = "Col. 1";
this.commonItems1Button.UseVisualStyleBackColor = true;
@@ -727,9 +722,9 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
// belowItems3Button
//
this.belowItems3Button.Enabled = false;
this.belowItems3Button.Location = new System.Drawing.Point(393, 281);
this.belowItems3Button.Location = new System.Drawing.Point(397, 266);
this.belowItems3Button.Name = "belowItems3Button";
this.belowItems3Button.Size = new System.Drawing.Size(47, 23);
this.belowItems3Button.Size = new System.Drawing.Size(47, 20);
this.belowItems3Button.TabIndex = 77;
this.belowItems3Button.Text = "Col. 3";
this.belowItems3Button.UseVisualStyleBackColor = true;
@@ -738,9 +733,9 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
// belowItems2Button
//
this.belowItems2Button.Enabled = false;
this.belowItems2Button.Location = new System.Drawing.Point(340, 281);
this.belowItems2Button.Location = new System.Drawing.Point(344, 266);
this.belowItems2Button.Name = "belowItems2Button";
this.belowItems2Button.Size = new System.Drawing.Size(47, 23);
this.belowItems2Button.Size = new System.Drawing.Size(47, 20);
this.belowItems2Button.TabIndex = 76;
this.belowItems2Button.Text = "Col. 2";
this.belowItems2Button.UseVisualStyleBackColor = true;
@@ -749,9 +744,9 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
// belowItems1Button
//
this.belowItems1Button.Enabled = false;
this.belowItems1Button.Location = new System.Drawing.Point(287, 281);
this.belowItems1Button.Location = new System.Drawing.Point(291, 266);
this.belowItems1Button.Name = "belowItems1Button";
this.belowItems1Button.Size = new System.Drawing.Size(47, 23);
this.belowItems1Button.Size = new System.Drawing.Size(47, 20);
this.belowItems1Button.TabIndex = 75;
this.belowItems1Button.Text = "Col. 1";
this.belowItems1Button.UseVisualStyleBackColor = true;
@@ -761,15 +756,61 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
//
this.table1FormComboBox.Enabled = false;
this.table1FormComboBox.FormattingEnabled = true;
this.table1FormComboBox.Location = new System.Drawing.Point(388, 249);
this.table1FormComboBox.Location = new System.Drawing.Point(392, 237);
this.table1FormComboBox.Name = "table1FormComboBox";
this.table1FormComboBox.Size = new System.Drawing.Size(64, 21);
this.table1FormComboBox.TabIndex = 78;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(17, 288);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(97, 13);
this.label3.TabIndex = 83;
this.label3.Text = "Graph left/top/w/h";
//
// graphHeightTextBox
//
this.graphHeightTextBox.Enabled = false;
this.graphHeightTextBox.Location = new System.Drawing.Point(245, 285);
this.graphHeightTextBox.Name = "graphHeightTextBox";
this.graphHeightTextBox.Size = new System.Drawing.Size(31, 20);
this.graphHeightTextBox.TabIndex = 82;
//
// graphWidthTextBox
//
this.graphWidthTextBox.Enabled = false;
this.graphWidthTextBox.Location = new System.Drawing.Point(211, 285);
this.graphWidthTextBox.Name = "graphWidthTextBox";
this.graphWidthTextBox.Size = new System.Drawing.Size(31, 20);
this.graphWidthTextBox.TabIndex = 81;
//
// graphTopTextBox
//
this.graphTopTextBox.Enabled = false;
this.graphTopTextBox.Location = new System.Drawing.Point(177, 285);
this.graphTopTextBox.Name = "graphTopTextBox";
this.graphTopTextBox.Size = new System.Drawing.Size(31, 20);
this.graphTopTextBox.TabIndex = 80;
//
// graphLeftTextBox
//
this.graphLeftTextBox.Enabled = false;
this.graphLeftTextBox.Location = new System.Drawing.Point(141, 285);
this.graphLeftTextBox.Name = "graphLeftTextBox";
this.graphLeftTextBox.Size = new System.Drawing.Size(33, 20);
this.graphLeftTextBox.TabIndex = 79;
//
// PrinterCfgCtrl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.label3);
this.Controls.Add(this.graphHeightTextBox);
this.Controls.Add(this.graphWidthTextBox);
this.Controls.Add(this.graphTopTextBox);
this.Controls.Add(this.graphLeftTextBox);
this.Controls.Add(this.table1FormComboBox);
this.Controls.Add(this.belowItems3Button);
this.Controls.Add(this.belowItems2Button);
@@ -797,7 +838,6 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
this.Controls.Add(this.imageWidthTextBox);
this.Controls.Add(this.imageTopTextBox);
this.Controls.Add(this.imageLeftTextBox);
this.Controls.Add(this.label3);
this.Controls.Add(this.imageNameTextBox);
this.Controls.Add(this.footerItalicCheckBox);
this.Controls.Add(this.footerBoldCheckBox);
@@ -896,7 +936,6 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
private System.Windows.Forms.ComboBox footerFontFamilyComboBox;
private System.Windows.Forms.Label footerFontLabel;
private System.Windows.Forms.TextBox imageNameTextBox;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox imageLeftTextBox;
private System.Windows.Forms.TextBox imageTopTextBox;
private System.Windows.Forms.TextBox imageWidthTextBox;
@@ -924,5 +963,10 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
private System.Windows.Forms.Button belowItems2Button;
private System.Windows.Forms.Button belowItems1Button;
private System.Windows.Forms.ComboBox table1FormComboBox;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox graphHeightTextBox;
private System.Windows.Forms.TextBox graphWidthTextBox;
private System.Windows.Forms.TextBox graphTopTextBox;
private System.Windows.Forms.TextBox graphLeftTextBox;
}
}
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2017 Sensus Slovensko a.s.
/// Copyright (c) 2017-2019 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
@@ -138,12 +138,17 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
cultureComboBox.Text = config.Culture.ToString();
docNameTextBox.Text = config.DocName;
imageNameTextBox.Text = config.ImgName;
graphLeftTextBox.Text = config.GraphLeft.ToString();
graphTopTextBox.Text = config.GraphTop.ToString();
graphWidthTextBox.Text = config.GraphWid.ToString();
graphHeightTextBox.Text = config.GraphHgh.ToString();
imageLeftTextBox.Text = config.ImgLeft.ToString();
imageTopTextBox.Text = config.ImgTop.ToString();
imageWidthTextBox.Text = config.ImgWid.ToString();
imageHeightTextBox.Text = config.ImgHgh.ToString();
imageNameTextBox.Text = config.ImgName;
docNameTextBox.Text = config.DocName;
table1FormComboBox.Text = config.Form.ToString();
}
@@ -192,12 +197,16 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
belowItems2Button.Enabled = true;
belowItems3Button.Enabled = true;
footerButton.Enabled = true;
docNameTextBox.Enabled = true;
imageNameTextBox.Enabled = true;
graphLeftTextBox.Enabled = true;
graphTopTextBox.Enabled = true;
graphWidthTextBox.Enabled = true;
graphHeightTextBox.Enabled = true;
imageLeftTextBox.Enabled = true;
imageTopTextBox.Enabled = true;
imageWidthTextBox.Enabled = true;
imageHeightTextBox.Enabled = true;
imageNameTextBox.Enabled = true;
docNameTextBox.Enabled = true;
}
public CfgUpdateFlags VerifyCfg(ref string message)
@@ -304,24 +313,42 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
}
if (!int.TryParse(graphLeftTextBox.Text, out dummy) || dummy < 0 || dummy > 1100)
{
message += Environment.NewLine + "Graph left' should be between 0 and 1100";
flags |= CfgUpdateFlags.Error;
}
if (!int.TryParse(graphTopTextBox.Text, out dummy) || dummy < 0 || dummy > 1100)
{
message += Environment.NewLine + "Graph top' should be between 0 and 1100";
flags |= CfgUpdateFlags.Error;
}
if (!int.TryParse(graphWidthTextBox.Text, out dummy) || dummy < 0 || dummy > 1100)
{
message += Environment.NewLine + "Graph width' should be between 0 and 1100";
flags |= CfgUpdateFlags.Error;
}
if (!int.TryParse(graphHeightTextBox.Text, out dummy) || dummy < 0 || dummy > 1100)
{
message += Environment.NewLine + "Graph height' should be between 0 and 1100";
flags |= CfgUpdateFlags.Error;
}
if (!int.TryParse(imageLeftTextBox.Text, out dummy) || dummy < 0 || dummy > 1100)
{
message += Environment.NewLine + "Image left' should be between 0 and 1100";
flags |= CfgUpdateFlags.Error;
}
if (!int.TryParse(imageTopTextBox.Text, out dummy) || dummy < 0 || dummy > 1100)
{
message += Environment.NewLine + "Image top' should be between 0 and 1100";
flags |= CfgUpdateFlags.Error;
}
if (!int.TryParse(imageWidthTextBox.Text, out dummy) || dummy < 0 || dummy > 1100)
{
message += Environment.NewLine + "Image width' should be between 0 and 1100";
flags |= CfgUpdateFlags.Error;
}
if (!int.TryParse(imageHeightTextBox.Text, out dummy) || dummy < 0 || dummy > 1100)
{
message += Environment.NewLine + "Image height' should be between 0 and 1100";
@@ -431,12 +458,18 @@ namespace TBF.BenchControl.Output.Printers.OnePerMeter
}
}
flags |= UpdateDifferent(ref config.DocName, docNameTextBox.Text, CfgUpdateFlags.InvokeCfgChange | CfgUpdateFlags.AnyChange);
flags |= UpdateDifferent(ref config.ImgName, imageNameTextBox.Text, CfgUpdateFlags.InvokeCfgChange | CfgUpdateFlags.AnyChange);
flags |= UpdateDifferent(ref config.GraphLeft, graphLeftTextBox.Text, CfgUpdateFlags.InvokeCfgChange | CfgUpdateFlags.AnyChange);
flags |= UpdateDifferent(ref config.GraphTop, graphTopTextBox.Text, CfgUpdateFlags.InvokeCfgChange | CfgUpdateFlags.AnyChange);
flags |= UpdateDifferent(ref config.GraphWid, graphWidthTextBox.Text, CfgUpdateFlags.InvokeCfgChange | CfgUpdateFlags.AnyChange);
flags |= UpdateDifferent(ref config.GraphHgh, graphHeightTextBox.Text, CfgUpdateFlags.InvokeCfgChange | CfgUpdateFlags.AnyChange);
flags |= UpdateDifferent(ref config.ImgLeft, imageLeftTextBox.Text, CfgUpdateFlags.InvokeCfgChange | CfgUpdateFlags.AnyChange);
flags |= UpdateDifferent(ref config.ImgTop, imageTopTextBox.Text, CfgUpdateFlags.InvokeCfgChange | CfgUpdateFlags.AnyChange);
flags |= UpdateDifferent(ref config.ImgWid, imageWidthTextBox.Text, CfgUpdateFlags.InvokeCfgChange | CfgUpdateFlags.AnyChange);
flags |= UpdateDifferent(ref config.ImgHgh, imageHeightTextBox.Text, CfgUpdateFlags.InvokeCfgChange | CfgUpdateFlags.AnyChange);
flags |= UpdateDifferent(ref config.ImgName, imageNameTextBox.Text, CfgUpdateFlags.InvokeCfgChange | CfgUpdateFlags.AnyChange);
flags |= UpdateDifferent(ref config.DocName, docNameTextBox.Text, CfgUpdateFlags.InvokeCfgChange | CfgUpdateFlags.AnyChange);
if ((flags & CfgUpdateFlags.InvokeCfgChange) != 0)
{