using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using TeamXBMC.TranslatorCore; namespace TeamXBMC.Translator { /// /// Summary description for RegionForm. /// public class RegionForm : System.Windows.Forms.Form { private class Unit { public Unit(string nameShort, string nameLong) { this.nameShort=nameShort; this.nameLong=nameLong; } public string NameShort { get { return nameShort; } } public string NameLong { get { return nameLong; } } private string nameShort; private string nameLong; }; private ArrayList speedUnits=new ArrayList(); private ArrayList tempUnits=new ArrayList(); private LanguageInfo.Region region=null; private System.Windows.Forms.Button buttonOK; private System.Windows.Forms.Button buttonCancel; private System.Windows.Forms.TabControl tabControl1; private System.Windows.Forms.TabPage tabPage1; private System.Windows.Forms.TabPage tabPage2; private System.Windows.Forms.TabPage tabPage3; private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label4; private System.Windows.Forms.Label label5; private System.Windows.Forms.Label label6; private System.Windows.Forms.Label label7; private System.Windows.Forms.Label label8; private System.Windows.Forms.Label label9; private System.Windows.Forms.Label label10; private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.Label label11; private System.Windows.Forms.Label label12; private System.Windows.Forms.Label label13; private System.Windows.Forms.Label label14; private System.Windows.Forms.GroupBox groupBox2; private System.Windows.Forms.Label label15; private System.Windows.Forms.Label label17; private System.Windows.Forms.Label label18; private System.Windows.Forms.Label label19; private System.Windows.Forms.Label label20; private System.Windows.Forms.Label label16; private System.Windows.Forms.Label label21; private System.Windows.Forms.TextBox textBoxDateShort; private System.Windows.Forms.TextBox textBoxDateLong; private System.Windows.Forms.TextBox textBoxAM; private System.Windows.Forms.TextBox textBoxPM; private System.Windows.Forms.TextBox textBoxTime; private System.Windows.Forms.ComboBox comboBoxTempUnit; private System.Windows.Forms.ComboBox comboBoxSpeedUnit; /// /// Required designer variable. /// private System.ComponentModel.Container components = null; public RegionForm() { // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // } /// /// Clean up any resources being used. /// protected override void Dispose( bool disposing ) { if( disposing ) { if(components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.buttonOK = new System.Windows.Forms.Button(); this.buttonCancel = new System.Windows.Forms.Button(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.label11 = new System.Windows.Forms.Label(); this.label8 = new System.Windows.Forms.Label(); this.label5 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); this.label10 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label(); this.label9 = new System.Windows.Forms.Label(); this.label7 = new System.Windows.Forms.Label(); this.label6 = new System.Windows.Forms.Label(); this.textBoxDateShort = new System.Windows.Forms.TextBox(); this.textBoxDateLong = new System.Windows.Forms.TextBox(); this.label2 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.groupBox2 = new System.Windows.Forms.GroupBox(); this.label20 = new System.Windows.Forms.Label(); this.label19 = new System.Windows.Forms.Label(); this.label18 = new System.Windows.Forms.Label(); this.label17 = new System.Windows.Forms.Label(); this.label15 = new System.Windows.Forms.Label(); this.label14 = new System.Windows.Forms.Label(); this.label13 = new System.Windows.Forms.Label(); this.label12 = new System.Windows.Forms.Label(); this.textBoxAM = new System.Windows.Forms.TextBox(); this.textBoxPM = new System.Windows.Forms.TextBox(); this.textBoxTime = new System.Windows.Forms.TextBox(); this.tabPage3 = new System.Windows.Forms.TabPage(); this.comboBoxTempUnit = new System.Windows.Forms.ComboBox(); this.label21 = new System.Windows.Forms.Label(); this.comboBoxSpeedUnit = new System.Windows.Forms.ComboBox(); this.label16 = new System.Windows.Forms.Label(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); this.groupBox1.SuspendLayout(); this.tabPage2.SuspendLayout(); this.groupBox2.SuspendLayout(); this.tabPage3.SuspendLayout(); this.SuspendLayout(); // // buttonOK // this.buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK; this.buttonOK.FlatStyle = System.Windows.Forms.FlatStyle.System; this.buttonOK.Location = new System.Drawing.Point(184, 336); this.buttonOK.Name = "buttonOK"; this.buttonOK.TabIndex = 1; this.buttonOK.Text = "OK"; this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); // // buttonCancel // this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.buttonCancel.FlatStyle = System.Windows.Forms.FlatStyle.System; this.buttonCancel.Location = new System.Drawing.Point(272, 336); this.buttonCancel.Name = "buttonCancel"; this.buttonCancel.TabIndex = 2; this.buttonCancel.Text = "Cancel"; // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); this.tabControl1.Controls.Add(this.tabPage2); this.tabControl1.Controls.Add(this.tabPage3); this.tabControl1.Location = new System.Drawing.Point(8, 8); this.tabControl1.Name = "tabControl1"; this.tabControl1.SelectedIndex = 0; this.tabControl1.Size = new System.Drawing.Size(344, 320); this.tabControl1.TabIndex = 0; // // tabPage1 // this.tabPage1.BackColor = System.Drawing.SystemColors.ControlLightLight; this.tabPage1.Controls.Add(this.groupBox1); this.tabPage1.Controls.Add(this.textBoxDateShort); this.tabPage1.Controls.Add(this.textBoxDateLong); this.tabPage1.Controls.Add(this.label2); this.tabPage1.Controls.Add(this.label1); this.tabPage1.Location = new System.Drawing.Point(4, 22); this.tabPage1.Name = "tabPage1"; this.tabPage1.Size = new System.Drawing.Size(336, 294); this.tabPage1.TabIndex = 0; this.tabPage1.Text = "Date"; // // groupBox1 // this.groupBox1.Controls.Add(this.label11); this.groupBox1.Controls.Add(this.label8); this.groupBox1.Controls.Add(this.label5); this.groupBox1.Controls.Add(this.label4); this.groupBox1.Controls.Add(this.label10); this.groupBox1.Controls.Add(this.label3); this.groupBox1.Controls.Add(this.label9); this.groupBox1.Controls.Add(this.label7); this.groupBox1.Controls.Add(this.label6); this.groupBox1.FlatStyle = System.Windows.Forms.FlatStyle.System; this.groupBox1.Location = new System.Drawing.Point(8, 72); this.groupBox1.Name = "groupBox1"; this.groupBox1.Size = new System.Drawing.Size(312, 216); this.groupBox1.TabIndex = 12; this.groupBox1.TabStop = false; this.groupBox1.Text = "Date Format"; // // label11 // this.label11.Location = new System.Drawing.Point(32, 176); this.label11.Name = "label11"; this.label11.Size = new System.Drawing.Size(208, 32); this.label11.TabIndex = 12; this.label11.Text = "Optional text can be placed between apostrophes (\' \')"; // // label8 // this.label8.Location = new System.Drawing.Point(32, 112); this.label8.Name = "label8"; this.label8.Size = new System.Drawing.Size(208, 23); this.label8.TabIndex = 9; this.label8.Text = "M = numeric month without prefixed zero"; // // label5 // this.label5.Location = new System.Drawing.Point(32, 56); this.label5.Name = "label5"; this.label5.Size = new System.Drawing.Size(208, 23); this.label5.TabIndex = 6; this.label5.Text = "D = numeric day without prefixed zero"; // // label4 // this.label4.Location = new System.Drawing.Point(32, 40); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(208, 23); this.label4.TabIndex = 5; this.label4.Text = "DD = numeric day with prefixed zero"; // // label10 // this.label10.Location = new System.Drawing.Point(32, 152); this.label10.Name = "label10"; this.label10.Size = new System.Drawing.Size(208, 23); this.label10.TabIndex = 11; this.label10.Text = "YY = Year as two-digit number"; // // label3 // this.label3.Location = new System.Drawing.Point(32, 24); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(208, 16); this.label3.TabIndex = 4; this.label3.Text = "DDDD = Day of week as string"; // // label9 // this.label9.Location = new System.Drawing.Point(32, 136); this.label9.Name = "label9"; this.label9.Size = new System.Drawing.Size(208, 23); this.label9.TabIndex = 10; this.label9.Text = "YYYY = Year as four-digit number"; // // label7 // this.label7.Location = new System.Drawing.Point(32, 96); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(208, 23); this.label7.TabIndex = 8; this.label7.Text = "MM = numeric month with prefixed zero"; // // label6 // this.label6.Location = new System.Drawing.Point(32, 80); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(208, 23); this.label6.TabIndex = 7; this.label6.Text = "MMMM = Month as string"; // // textBoxDateShort // this.textBoxDateShort.Location = new System.Drawing.Point(96, 48); this.textBoxDateShort.Name = "textBoxDateShort"; this.textBoxDateShort.Size = new System.Drawing.Size(224, 20); this.textBoxDateShort.TabIndex = 3; this.textBoxDateShort.Text = ""; // // textBoxDateLong // this.textBoxDateLong.Location = new System.Drawing.Point(96, 16); this.textBoxDateLong.Name = "textBoxDateLong"; this.textBoxDateLong.Size = new System.Drawing.Size(224, 20); this.textBoxDateLong.TabIndex = 1; this.textBoxDateLong.Text = ""; // // label2 // this.label2.Location = new System.Drawing.Point(8, 48); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(80, 23); this.label2.TabIndex = 2; this.label2.Text = "Date Short:"; // // label1 // this.label1.Location = new System.Drawing.Point(8, 16); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(80, 23); this.label1.TabIndex = 0; this.label1.Text = "Date Long:"; // // tabPage2 // this.tabPage2.BackColor = System.Drawing.SystemColors.ControlLightLight; this.tabPage2.Controls.Add(this.groupBox2); this.tabPage2.Controls.Add(this.label14); this.tabPage2.Controls.Add(this.label13); this.tabPage2.Controls.Add(this.label12); this.tabPage2.Controls.Add(this.textBoxAM); this.tabPage2.Controls.Add(this.textBoxPM); this.tabPage2.Controls.Add(this.textBoxTime); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Size = new System.Drawing.Size(336, 294); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "Time"; // // groupBox2 // this.groupBox2.Controls.Add(this.label20); this.groupBox2.Controls.Add(this.label19); this.groupBox2.Controls.Add(this.label18); this.groupBox2.Controls.Add(this.label17); this.groupBox2.Controls.Add(this.label15); this.groupBox2.FlatStyle = System.Windows.Forms.FlatStyle.System; this.groupBox2.Location = new System.Drawing.Point(8, 112); this.groupBox2.Name = "groupBox2"; this.groupBox2.Size = new System.Drawing.Size(320, 176); this.groupBox2.TabIndex = 6; this.groupBox2.TabStop = false; this.groupBox2.Text = "Time Format"; // // label20 // this.label20.Location = new System.Drawing.Point(16, 128); this.label20.Name = "label20"; this.label20.Size = new System.Drawing.Size(232, 23); this.label20.TabIndex = 5; this.label20.Text = "hh, mm, ss = with prefixed zero"; // // label19 // this.label19.Location = new System.Drawing.Point(16, 104); this.label19.Name = "label19"; this.label19.Size = new System.Drawing.Size(232, 23); this.label19.TabIndex = 4; this.label19.Text = "h, m, s = without prefixed zero"; // // label18 // this.label18.Location = new System.Drawing.Point(16, 80); this.label18.Name = "label18"; this.label18.TabIndex = 3; this.label18.Text = "H=24 hour clock"; // // label17 // this.label17.Location = new System.Drawing.Point(16, 56); this.label17.Name = "label17"; this.label17.TabIndex = 2; this.label17.Text = "h=12 hour clock"; // // label15 // this.label15.Location = new System.Drawing.Point(16, 32); this.label15.Name = "label15"; this.label15.Size = new System.Drawing.Size(280, 23); this.label15.TabIndex = 0; this.label15.Text = "h=hour, m=minute, s=second, x=meridiem symbol"; // // label14 // this.label14.Location = new System.Drawing.Point(8, 80); this.label14.Name = "label14"; this.label14.Size = new System.Drawing.Size(72, 23); this.label14.TabIndex = 5; this.label14.Text = "AM symbol:"; // // label13 // this.label13.Location = new System.Drawing.Point(8, 48); this.label13.Name = "label13"; this.label13.Size = new System.Drawing.Size(72, 23); this.label13.TabIndex = 3; this.label13.Text = "PM symbol:"; // // label12 // this.label12.Location = new System.Drawing.Point(8, 16); this.label12.Name = "label12"; this.label12.Size = new System.Drawing.Size(72, 23); this.label12.TabIndex = 1; this.label12.Text = "Time:"; // // textBoxAM // this.textBoxAM.Location = new System.Drawing.Point(88, 80); this.textBoxAM.Name = "textBoxAM"; this.textBoxAM.Size = new System.Drawing.Size(72, 20); this.textBoxAM.TabIndex = 6; this.textBoxAM.Text = ""; // // textBoxPM // this.textBoxPM.Location = new System.Drawing.Point(88, 48); this.textBoxPM.Name = "textBoxPM"; this.textBoxPM.Size = new System.Drawing.Size(72, 20); this.textBoxPM.TabIndex = 4; this.textBoxPM.Text = ""; // // textBoxTime // this.textBoxTime.Location = new System.Drawing.Point(88, 16); this.textBoxTime.Name = "textBoxTime"; this.textBoxTime.Size = new System.Drawing.Size(136, 20); this.textBoxTime.TabIndex = 2; this.textBoxTime.Text = ""; // // tabPage3 // this.tabPage3.BackColor = System.Drawing.SystemColors.ControlLightLight; this.tabPage3.Controls.Add(this.comboBoxTempUnit); this.tabPage3.Controls.Add(this.label21); this.tabPage3.Controls.Add(this.comboBoxSpeedUnit); this.tabPage3.Controls.Add(this.label16); this.tabPage3.Location = new System.Drawing.Point(4, 22); this.tabPage3.Name = "tabPage3"; this.tabPage3.Size = new System.Drawing.Size(336, 294); this.tabPage3.TabIndex = 2; this.tabPage3.Text = "Other"; // // comboBoxTempUnit // this.comboBoxTempUnit.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.comboBoxTempUnit.Location = new System.Drawing.Point(136, 112); this.comboBoxTempUnit.Name = "comboBoxTempUnit"; this.comboBoxTempUnit.Size = new System.Drawing.Size(121, 21); this.comboBoxTempUnit.TabIndex = 4; // // label21 // this.label21.Location = new System.Drawing.Point(24, 112); this.label21.Name = "label21"; this.label21.TabIndex = 3; this.label21.Text = "Temperature Unit:"; // // comboBoxSpeedUnit // this.comboBoxSpeedUnit.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.comboBoxSpeedUnit.Location = new System.Drawing.Point(136, 48); this.comboBoxSpeedUnit.Name = "comboBoxSpeedUnit"; this.comboBoxSpeedUnit.Size = new System.Drawing.Size(121, 21); this.comboBoxSpeedUnit.TabIndex = 1; // // label16 // this.label16.Location = new System.Drawing.Point(24, 48); this.label16.Name = "label16"; this.label16.TabIndex = 0; this.label16.Text = "Speed Unit:"; // // RegionForm // this.AcceptButton = this.buttonOK; this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.CancelButton = this.buttonCancel; this.ClientSize = new System.Drawing.Size(362, 368); this.Controls.Add(this.tabControl1); this.Controls.Add(this.buttonCancel); this.Controls.Add(this.buttonOK); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "RegionForm"; this.ShowInTaskbar = false; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.Text = "Region Properties"; this.Load += new System.EventHandler(this.RegionForm_Load); this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); this.groupBox1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); this.groupBox2.ResumeLayout(false); this.tabPage3.ResumeLayout(false); this.ResumeLayout(false); } #endregion #region Form initialization /// /// Updates controls with its values from a region /// private void RegionForm_Load(object sender, System.EventArgs e) { // setup abbreviation array for speed units speedUnits.Add(new Unit("kmh", "km/h")); speedUnits.Add(new Unit("mpmin", "m/min")); speedUnits.Add(new Unit("mps", "m/s")); speedUnits.Add(new Unit("fth", "foot/h")); speedUnits.Add(new Unit("ftm", "foot/min")); speedUnits.Add(new Unit("fts", "foot/s")); speedUnits.Add(new Unit("mph", "mph")); speedUnits.Add(new Unit("kts", "knots")); speedUnits.Add(new Unit("beaufort", "beaufort")); speedUnits.Add(new Unit("inchs", "inch/s")); speedUnits.Add(new Unit("yards", "yard/s")); speedUnits.Add(new Unit("fpf", "Furlong/Fortnight")); // fill combobox with long names foreach (Unit speedUnit in speedUnits) { comboBoxSpeedUnit.Items.Add(speedUnit.NameLong); } // select the combobox item based on the abbreviation foreach (Unit speedUnit in speedUnits) { if (speedUnit.NameShort==region.SpeedUnit) { comboBoxSpeedUnit.Text=speedUnit.NameLong; } } // setup abbreviation array for temp units tempUnits.Add(new Unit("F", "°F")); tempUnits.Add(new Unit("K", "K")); tempUnits.Add(new Unit("C", "°C")); tempUnits.Add(new Unit("Re", "°Ré")); tempUnits.Add(new Unit("Ra", "°Ra")); tempUnits.Add(new Unit("Ro", "°Rø")); tempUnits.Add(new Unit("De", "°De")); tempUnits.Add(new Unit("N", "°N")); // fill combobox with long names foreach (Unit tempUnit in tempUnits) { comboBoxTempUnit.Items.Add(tempUnit.NameLong); } // select the combobox item based on the abbreviation foreach (Unit tempUnit in tempUnits) { if (tempUnit.NameShort==region.TempUnit) { comboBoxTempUnit.Text=tempUnit.NameLong; } } // fill in the rest of the region info textBoxDateShort.Text=region.DateShort; textBoxDateLong.Text=region.DateLong; textBoxTime.Text=region.Time; textBoxAM.Text=region.SymbolAM; textBoxPM.Text=region.SymbolPM; } #endregion #region Control events /// /// Updates the region with the values of the controls /// private void buttonOK_Click(object sender, System.EventArgs e) { region.DateShort=textBoxDateShort.Text; region.DateLong=textBoxDateLong.Text; region.Time=textBoxTime.Text; region.SymbolAM=textBoxAM.Text; region.SymbolPM=textBoxPM.Text; // tranlate the speed unit text of the combobox to // the abbreviation used in the xml file foreach (Unit speedUnit in speedUnits) { if (speedUnit.NameLong==comboBoxSpeedUnit.Text) { region.SpeedUnit=speedUnit.NameShort; } } // tranlate the temp unit text of the combobox to // the abbreviation used in the xml file foreach (Unit tempUnit in tempUnits) { if (tempUnit.NameLong==comboBoxTempUnit.Text) { region.TempUnit=tempUnit.NameShort; } } } #endregion #region Properties /// /// Set/get the region to be edited /// public LanguageInfo.Region RegionInfo { get { return region; } set { region=value; } } #endregion } }