From f14238e95bf1a10789585bf7632c5506daecc630 Mon Sep 17 00:00:00 2001 From: emkael Date: Sun, 30 Jul 2017 00:55:33 +0200 Subject: Refactoring Tournament as MySQLTournament --- Aktywator/Aktywator.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Aktywator/Aktywator.csproj') diff --git a/Aktywator/Aktywator.csproj b/Aktywator/Aktywator.csproj index edee3c0..97fa090 100644 --- a/Aktywator/Aktywator.csproj +++ b/Aktywator/Aktywator.csproj @@ -107,7 +107,7 @@ - + ChooseTournament.cs -- cgit v1.2.3 From cfe97d223573c4792e5d42a4443c139fd8c87381 Mon Sep 17 00:00:00 2001 From: emkael Date: Sun, 30 Jul 2017 01:44:48 +0200 Subject: Refactoring MySQL tournament names: generalization --- Aktywator/Aktywator.csproj | 3 ++ Aktywator/Bws.cs | 4 +-- Aktywator/ChooseTournament.cs | 10 ++++++- Aktywator/MainForm.cs | 7 +++-- Aktywator/MySQLTournament.cs | 65 +++++++++++++++---------------------------- Aktywator/ParyTournament.cs | 30 ++++++++++++++++++++ Aktywator/TeamyTournament.cs | 30 ++++++++++++++++++++ Aktywator/Tournament.cs | 36 ++++++++++++++++++++++++ 8 files changed, 136 insertions(+), 49 deletions(-) create mode 100644 Aktywator/ParyTournament.cs create mode 100644 Aktywator/TeamyTournament.cs create mode 100644 Aktywator/Tournament.cs (limited to 'Aktywator/Aktywator.csproj') diff --git a/Aktywator/Aktywator.csproj b/Aktywator/Aktywator.csproj index 97fa090..e1b78f1 100644 --- a/Aktywator/Aktywator.csproj +++ b/Aktywator/Aktywator.csproj @@ -99,6 +99,7 @@ MysqlSettings.cs + @@ -108,6 +109,8 @@ + + ChooseTournament.cs diff --git a/Aktywator/Bws.cs b/Aktywator/Bws.cs index 24e707c..41717b2 100644 --- a/Aktywator/Bws.cs +++ b/Aktywator/Bws.cs @@ -344,7 +344,7 @@ namespace Aktywator else return 0; } - public void syncNames(MySQLTournament tournament, bool interactive, string startRounds) + public void syncNames(Tournament tournament, bool interactive, string startRounds) { int count = 0, countNew = 0, SKOK_STOLOW = 100; data d; @@ -394,7 +394,7 @@ namespace Aktywator query.Append(ew); query.Append(" UNION ALL SELECT ' '; "); } - mydata n = tournament.mysql.select(query.ToString()); + mydata n = ((MySQLTournament)tournament).mysql.select(query.ToString()); DialogResult dr = DialogResult.None; diff --git a/Aktywator/ChooseTournament.cs b/Aktywator/ChooseTournament.cs index 155624b..734b191 100644 --- a/Aktywator/ChooseTournament.cs +++ b/Aktywator/ChooseTournament.cs @@ -34,7 +34,15 @@ namespace Aktywator { if (listBox.SelectedIndex >= 0) { - chosenTournament = turns[listBox.SelectedIndex]; + switch (turns[listBox.SelectedIndex].type) + { + case Tournament.TYPE_PARY: + chosenTournament = new ParyTournament(turns[listBox.SelectedIndex].name); + break; + case Tournament.TYPE_TEAMY: + chosenTournament = new TeamyTournament(turns[listBox.SelectedIndex].name); + break; + } Close(); } } diff --git a/Aktywator/MainForm.cs b/Aktywator/MainForm.cs index 96d965b..e2e87db 100644 --- a/Aktywator/MainForm.cs +++ b/Aktywator/MainForm.cs @@ -15,7 +15,7 @@ namespace Aktywator public string date = "28.06.2017"; private Bws bws; - private MySQLTournament tournament; + private Tournament tournament; public MainForm() { @@ -181,7 +181,7 @@ namespace Aktywator } } - private void updateTournamentInfo(MySQLTournament tournament) + private void updateTournamentInfo(Tournament tournament) { if (tournament != null) { @@ -194,7 +194,7 @@ namespace Aktywator bSync.Enabled = true; bAutoSync.Enabled = true; eInterval.Enabled = true; - if (tournament.type == MySQLTournament.TYPE_TEAMY) + if (tournament.GetType().Equals(typeof(TeamyTournament))) { lSkok.Visible = true; lNazwyTeamow.Visible = true; @@ -209,6 +209,7 @@ namespace Aktywator { lSkok.Visible = false; lNazwyTeamow.Visible = false; + } } diff --git a/Aktywator/MySQLTournament.cs b/Aktywator/MySQLTournament.cs index 54f3f7b..ff3258a 100644 --- a/Aktywator/MySQLTournament.cs +++ b/Aktywator/MySQLTournament.cs @@ -6,24 +6,8 @@ using data = MySql.Data.MySqlClient.MySqlDataReader; namespace Aktywator { - public class MySQLTournament + public class MySQLTournament : Tournament { - public const int TYPE_PARY = 1; - public const int TYPE_TEAMY = 2; - public const int TYPE_UNKNOWN = 0; - - private string _name; - public string name - { - get { return _name; } - } - - private int _type; // 0-unknown, 1-Pary, 2-Teamy - public int type - { - get { return _type; } - } - public MySQL mysql; public MySQLTournament(string name) @@ -38,17 +22,17 @@ namespace Aktywator if ((mysql.selectOne("SHOW TABLES LIKE 'admin'") == "admin") && (mysql.selectOne("SHOW FIELDS IN admin LIKE 'dnazwa'") == "dnazwa") && (mysql.selectOne("SHOW TABLES LIKE 'zawodnicy'") == "zawodnicy")) - _type = MySQLTournament.TYPE_PARY; + _type = Tournament.TYPE_PARY; else if ((mysql.selectOne("SHOW TABLES LIKE 'admin'") == "admin") && (mysql.selectOne("SHOW FIELDS IN admin LIKE 'teamcnt'") == "teamcnt") && (mysql.selectOne("SHOW TABLES LIKE 'players'") == "players")) - _type = MySQLTournament.TYPE_TEAMY; - else _type = MySQLTournament.TYPE_UNKNOWN; + _type = Tournament.TYPE_TEAMY; + else _type = Tournament.TYPE_UNKNOWN; } public override string ToString() { - return this.name + " [" + (this.type == MySQLTournament.TYPE_PARY ? 'P' : 'T') + "]"; + return this.name + " [" + (this.type == Tournament.TYPE_PARY ? 'P' : 'T') + "]"; } public static List getTournaments() @@ -59,31 +43,14 @@ namespace Aktywator while (dbs.Read()) { MySQLTournament t = new MySQLTournament(dbs.GetString(0)); - if (t.type > MySQLTournament.TYPE_UNKNOWN) + if (t.type > Tournament.TYPE_UNKNOWN) list.Add(t); t.mysql.close(); } return list; } - public string getSectionsNum() - { - if (type == MySQLTournament.TYPE_PARY) - return mysql.selectOne("SELECT COUNT(DISTINCT seknum) FROM sektory;"); - else - return "1"; - } - - public string getTablesNum() - { - if (type == MySQLTournament.TYPE_PARY) - return mysql.selectOne("SELECT COUNT(*) FROM sektory;"); - else - return mysql.selectOne("SELECT teamcnt FROM admin;"); - } - - - internal void setup() + override internal void setup() { if (this.mysql != null) { @@ -92,14 +59,26 @@ namespace Aktywator } } - internal string getName() + override internal string getName() { return this.name; } - internal string getTypeLabel() + override public string getSectionsNum() + { + throw new NotImplementedException("Don't call this method on generic class instance"); + } + + override public string getTablesNum() { - return this._type == MySQLTournament.TYPE_PARY ? "Pary" : "Teamy"; + throw new NotImplementedException("Don't call this method on generic class instance"); } + + override internal string getTypeLabel() + { + throw new NotImplementedException("Don't call this method on generic class instance"); + } + } } + diff --git a/Aktywator/ParyTournament.cs b/Aktywator/ParyTournament.cs new file mode 100644 index 0000000..8d80d9f --- /dev/null +++ b/Aktywator/ParyTournament.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Aktywator +{ + class ParyTournament: MySQLTournament + { + public ParyTournament(string name) + : base(name) + { + } + + override internal string getTypeLabel() + { + return "Pary"; + } + + override public string getSectionsNum() + { + return this.mysql.selectOne("SELECT COUNT(DISTINCT seknum) FROM sektory;"); + } + + override public string getTablesNum() + { + return this.mysql.selectOne("SELECT COUNT(*) FROM sektory;"); + } + + } +} diff --git a/Aktywator/TeamyTournament.cs b/Aktywator/TeamyTournament.cs new file mode 100644 index 0000000..34908be --- /dev/null +++ b/Aktywator/TeamyTournament.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Aktywator +{ + class TeamyTournament : MySQLTournament + { + public TeamyTournament(string name) + : base(name) + { + } + + override internal string getTypeLabel() + { + return "Teamy"; + } + + override public string getSectionsNum() + { + return "1"; + } + + override public string getTablesNum() + { + return this.mysql.selectOne("SELECT teamcnt FROM admin;"); + } + + } +} diff --git a/Aktywator/Tournament.cs b/Aktywator/Tournament.cs new file mode 100644 index 0000000..fdeb323 --- /dev/null +++ b/Aktywator/Tournament.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Aktywator +{ + abstract public class Tournament + { + public const int TYPE_PARY = 1; + public const int TYPE_TEAMY = 2; + public const int TYPE_UNKNOWN = 0; + + protected string _name; + public string name + { + get { return _name; } + } + + protected int _type; // 0-unknown, 1-Pary, 2-Teamy + public int type + { + get { return _type; } + } + + abstract internal void setup(); + + abstract internal string getName(); + + abstract public string getSectionsNum(); + + abstract public string getTablesNum(); + + abstract internal string getTypeLabel(); + + } +} -- cgit v1.2.3 From 618dad37ac9fa986facdcc21c1faa277f760dcb2 Mon Sep 17 00:00:00 2001 From: emkael Date: Sun, 30 Jul 2017 03:39:44 +0200 Subject: Data retrieval from RRB tournament files --- Aktywator/Aktywator.csproj | 1 + Aktywator/RRBTournament.cs | 83 ++++++++++++++++++++++++++++++++++++++++++++++ Aktywator/Tournament.cs | 4 ++- 3 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 Aktywator/RRBTournament.cs (limited to 'Aktywator/Aktywator.csproj') diff --git a/Aktywator/Aktywator.csproj b/Aktywator/Aktywator.csproj index e1b78f1..a4dc515 100644 --- a/Aktywator/Aktywator.csproj +++ b/Aktywator/Aktywator.csproj @@ -105,6 +105,7 @@ + diff --git a/Aktywator/RRBTournament.cs b/Aktywator/RRBTournament.cs new file mode 100644 index 0000000..d35e8f3 --- /dev/null +++ b/Aktywator/RRBTournament.cs @@ -0,0 +1,83 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml; +using System.IO; + +namespace Aktywator +{ + class RRBTournament : Tournament + { + private XmlDocument _xml; + private string p; + + public RRBTournament(string name) + { + this._name = name; + this._type = Tournament.TYPE_RRB; + } + + override internal void setup() + { + this._xml = new XmlDocument(); + this._xml.Load(this._name); + } + + override internal string getName() + { + return this._xml.SelectSingleNode("//ustawienia/nazwa").InnerText; + } + + override public string getSectionsNum() + { + List sections = new List(); + foreach (XmlNode table in this._xml.SelectNodes("//monitor/stoly/stol")) + { + string section = table.SelectSingleNode("sektor").InnerText; + if (!sections.Contains(section)) + { + sections.Add(section); + } + } + return sections.Count.ToString(); + } + + override public string getTablesNum() + { + return this._xml.SelectNodes("//monitor/stoly/stol").Count.ToString(); + } + + override internal string getTypeLabel() + { + return "RRBridge"; + } + + override internal Dictionary> getNameList() + { + Dictionary> names = new Dictionary>(); + foreach (XmlNode pair in this._xml.SelectNodes("//lista/para")) + { + int pairNo = Int32.Parse(pair.SelectSingleNode("numer").InnerText); + names.Add(pairNo, new List()); + foreach (XmlNode player in pair.SelectNodes("gracz/nazwisko")) + { + string[] name = player.InnerText.Trim().Split(' '); + if (name.Length > 0) + { + name[0] = name[0][0].ToString(); + names[pairNo].Add(String.Join(" ", name)); + } + } + } + + foreach (KeyValuePair> pair in names) + { + while (pair.Value.Count < 2) + { + pair.Value.Add(""); + } + } + return names; + } + } +} diff --git a/Aktywator/Tournament.cs b/Aktywator/Tournament.cs index 70fe268..85a2666 100644 --- a/Aktywator/Tournament.cs +++ b/Aktywator/Tournament.cs @@ -8,6 +8,7 @@ namespace Aktywator { public const int TYPE_PARY = 1; public const int TYPE_TEAMY = 2; + public const int TYPE_RRB = 3; public const int TYPE_UNKNOWN = 0; protected string _name; @@ -16,7 +17,7 @@ namespace Aktywator get { return _name; } } - protected int _type; // 0-unknown, 1-Pary, 2-Teamy + protected int _type = Tournament.TYPE_UNKNOWN; // 0-unknown, 1-Pary, 2-Teamy, 3-RRB public int type { get { return _type; } @@ -36,5 +37,6 @@ namespace Aktywator { return new Dictionary>(); } + } } -- cgit v1.2.3 From cda00c4a001a736524812fa9a62844a2da715651 Mon Sep 17 00:00:00 2001 From: emkael Date: Tue, 22 Aug 2017 21:43:08 +0200 Subject: Automatic version number and build date loading --- Aktywator/Aktywator.csproj | 6 ++++ Aktywator/MainForm.cs | 5 +-- Aktywator/Properties/Resources.Designer.cs | 54 ++++++++++++++++-------------- Aktywator/Properties/Resources.resx | 13 +++++-- Aktywator/Resources/BuildDate.txt | 1 + 5 files changed, 48 insertions(+), 31 deletions(-) create mode 100644 Aktywator/Resources/BuildDate.txt (limited to 'Aktywator/Aktywator.csproj') diff --git a/Aktywator/Aktywator.csproj b/Aktywator/Aktywator.csproj index a4dc515..f7a2fa6 100644 --- a/Aktywator/Aktywator.csproj +++ b/Aktywator/Aktywator.csproj @@ -129,6 +129,7 @@ True Resources.resx + True @@ -143,6 +144,7 @@ + @@ -162,6 +164,10 @@ + + echo %25date%25 > "$(ProjectDir)\Resources\BuildDate.txt" + + + @@ -68,9 +69,10 @@ - + + @@ -85,9 +87,10 @@ - + + @@ -114,4 +117,8 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\BuildDate.txt;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;windows-1250 + \ No newline at end of file diff --git a/Aktywator/Resources/BuildDate.txt b/Aktywator/Resources/BuildDate.txt new file mode 100644 index 0000000..2c6557e --- /dev/null +++ b/Aktywator/Resources/BuildDate.txt @@ -0,0 +1 @@ +2017-08-22 -- cgit v1.2.3 From 39e94f5ba8ad1232eba6c2f2ab338da3239e0070 Mon Sep 17 00:00:00 2001 From: emkael Date: Wed, 23 Aug 2017 17:46:08 +0200 Subject: Additional options for refreshing names list preview --- Aktywator/Aktywator.csproj | 2 +- Aktywator/MainForm.Designer.cs | 91 ++++++++++++- Aktywator/MainForm.cs | 11 ++ Aktywator/MainForm.resx | 210 +++++++++++++++-------------- Aktywator/Properties/Resources.Designer.cs | 10 +- 5 files changed, 216 insertions(+), 108 deletions(-) (limited to 'Aktywator/Aktywator.csproj') diff --git a/Aktywator/Aktywator.csproj b/Aktywator/Aktywator.csproj index f7a2fa6..661a578 100644 --- a/Aktywator/Aktywator.csproj +++ b/Aktywator/Aktywator.csproj @@ -122,7 +122,7 @@ MysqlSettings.cs - ResXFileCodeGenerator + PublicResXFileCodeGenerator Resources.Designer.cs Designer diff --git a/Aktywator/MainForm.Designer.cs b/Aktywator/MainForm.Designer.cs index 8f61d25..8bb817d 100644 --- a/Aktywator/MainForm.Designer.cs +++ b/Aktywator/MainForm.Designer.cs @@ -85,6 +85,11 @@ this.label1 = new System.Windows.Forms.Label(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.namesPanel = new System.Windows.Forms.Panel(); + this.button1 = new System.Windows.Forms.Button(); + this.numNamesRefreshInterval = new System.Windows.Forms.NumericUpDown(); + this.label10 = new System.Windows.Forms.Label(); + this.label9 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); this.numTeamsTableOffset = new System.Windows.Forms.NumericUpDown(); this.label3 = new System.Windows.Forms.Label(); this.namesGridView = new System.Windows.Forms.DataGridView(); @@ -142,6 +147,7 @@ this.groupBox2.SuspendLayout(); this.tabPage2.SuspendLayout(); this.namesPanel.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numNamesRefreshInterval)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numTeamsTableOffset)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.namesGridView)).BeginInit(); this.syncToolStrip.SuspendLayout(); @@ -726,6 +732,11 @@ // // namesPanel // + this.namesPanel.Controls.Add(this.button1); + this.namesPanel.Controls.Add(this.numNamesRefreshInterval); + this.namesPanel.Controls.Add(this.label10); + this.namesPanel.Controls.Add(this.label9); + this.namesPanel.Controls.Add(this.label7); this.namesPanel.Controls.Add(this.numTeamsTableOffset); this.namesPanel.Controls.Add(this.label3); this.namesPanel.Controls.Add(this.namesGridView); @@ -743,6 +754,72 @@ this.namesPanel.Size = new System.Drawing.Size(562, 449); this.namesPanel.TabIndex = 29; // + // button1 + // + this.button1.AutoSize = true; + this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.button1.Image = ((System.Drawing.Image)(resources.GetObject("button1.Image"))); + this.button1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.button1.Location = new System.Drawing.Point(469, 74); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(90, 23); + this.button1.TabIndex = 34; + this.button1.Text = "Usuń zmiany"; + this.button1.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // numNamesRefreshInterval + // + this.numNamesRefreshInterval.Location = new System.Drawing.Point(408, 76); + this.numNamesRefreshInterval.Maximum = new decimal(new int[] { + 120, + 0, + 0, + 0}); + this.numNamesRefreshInterval.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.numNamesRefreshInterval.Name = "numNamesRefreshInterval"; + this.numNamesRefreshInterval.Size = new System.Drawing.Size(41, 20); + this.numNamesRefreshInterval.TabIndex = 33; + this.numNamesRefreshInterval.Value = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.numNamesRefreshInterval.ValueChanged += new System.EventHandler(this.numNamesRefreshInterval_ValueChanged); + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(273, 78); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(135, 13); + this.label10.TabIndex = 32; + this.label10.Text = "Odśwież podgląd co (sek.):"; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(1, 418); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(499, 13); + this.label9.TabIndex = 31; + this.label9.Text = "Zmiany wprowadzone powyżej nie zostaną nadpisane danymi z turnieju i nie zostaną " + + "zapisane w turnieju."; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(3, 81); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(90, 13); + this.label7.TabIndex = 30; + this.label7.Text = "Podgląd nazwisk:"; + // // numTeamsTableOffset // this.numTeamsTableOffset.Location = new System.Drawing.Point(110, 61); @@ -781,7 +858,7 @@ this.Number, this.NorthSouth, this.EastWest}); - this.namesGridView.Location = new System.Drawing.Point(2, 112); + this.namesGridView.Location = new System.Drawing.Point(2, 98); this.namesGridView.Name = "namesGridView"; this.namesGridView.Size = new System.Drawing.Size(557, 318); this.namesGridView.TabIndex = 28; @@ -861,11 +938,11 @@ // label8 // this.label8.AutoSize = true; - this.label8.Location = new System.Drawing.Point(0, 433); + this.label8.Location = new System.Drawing.Point(1, 432); this.label8.Name = "label8"; - this.label8.Size = new System.Drawing.Size(291, 13); + this.label8.Size = new System.Drawing.Size(323, 13); this.label8.TabIndex = 12; - this.label8.Text = "Do serwerka wysyłane są tylko nazwiska, które się zmieniły."; + this.label8.Text = "Do serwerka wysyłane są tylko nazwiska, które się zaktualizowały."; // // label6 // @@ -1213,6 +1290,7 @@ this.tabPage2.PerformLayout(); this.namesPanel.ResumeLayout(false); this.namesPanel.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numNamesRefreshInterval)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.numTeamsTableOffset)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.namesGridView)).EndInit(); this.syncToolStrip.ResumeLayout(false); @@ -1330,6 +1408,11 @@ private System.Windows.Forms.Panel namesPanel; private System.Windows.Forms.Timer namesTimer; public System.Windows.Forms.NumericUpDown numTeamsTableOffset; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.NumericUpDown numNamesRefreshInterval; + private System.Windows.Forms.Label label10; } } diff --git a/Aktywator/MainForm.cs b/Aktywator/MainForm.cs index a359dbb..978b4bc 100644 --- a/Aktywator/MainForm.cs +++ b/Aktywator/MainForm.cs @@ -518,5 +518,16 @@ namespace Aktywator tournament.displayNameList(namesGridView); } + private void button1_Click(object sender, EventArgs e) + { + tournament.clearCellLocks(namesGridView); + tournament.displayNameList(namesGridView); + } + + private void numNamesRefreshInterval_ValueChanged(object sender, EventArgs e) + { + namesTimer.Interval = Convert.ToInt32(numNamesRefreshInterval.Value) * 1000; + } + } } diff --git a/Aktywator/MainForm.resx b/Aktywator/MainForm.resx index cb89a09..8bfcba9 100644 --- a/Aktywator/MainForm.resx +++ b/Aktywator/MainForm.resx @@ -156,6 +156,20 @@ EhB8Nv8G3gVnEZxaxIXLdsQaXAxuQuyue9DF5wtBRvobVvcSh7caPdiyQ8bjth742vvQ0T2A3n4/9pmt 0OgbEMfg7dp6aLU5QpCZ5k8+faqHrydtGC0JzZlGRd2mhlHN9ColwTvjsoTg30OSvgNCVjq+glI0hgAA AABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAABs0lEQVQ4T6WPz0uTcRzH/Sc8 + eIzI7lJBxzwE6SXq4Gld6lCHBGFB4iFiHkroILaoLGO2GA8LtzYwdG2zWcNNUYSt1qHDYotW+6HO3Pbs + 2fPq+31qDmqPDPs8fHh9Pjzv7ws+XcB/9f7gi6T4u+dCCZSFDZz+mEy1vj9v/hGYlSuQZmg0LJPmAk84 + KQBVVTfYLGewyIWxOP5wgkvDNpluL3AHNin/rPPQn+dlpEijAfeUDAPWFRzeODdsdgYtVk4NXBHxNgLX + /Brjz5Kcvvqea5NfuOPKcnYkisOXEDIdpzfCI1fAXPDct8Jupc6R8x6ODgXpvx5lYnYDVdWo1jQK23vM + uEOcPHdZxNsIZuaWBSBXrNB70YPlVoTE5wKauGWvqlLaqfDqzaq54LESEvhdW+UaW2eOUVAcaFrDoNyj + 65/MBQ9eLAq06tv9CUr9x/nx1G5Q7gcKpmZfC7SqUVP5/mSK/GCfwe1cnqVYsjOBrutkpu3kTvSQtd00 + KPd3a6nOBPLuUl836bu3KWe/GpR7R4JpJYhnMWaE5c1v4x+MeXn1I95A/GCB/NlJN9/I3h8O13T9AroZ + BuMIQa3eAAAAAElFTkSuQmCC @@ -191,8 +205,8 @@ ILJIQNZXPIFbmt0ByoUD9Xap9XIpgvNYBRj0oEI4ASOURgVcDJJQFmmAU5ZTileX1wLKRQWCDPxQFibg 0OSQ1yyWbwreb/9SPlCyESoMAyxKlWJTuTWZXaB8BOASYZBUL5Lr99pl+Dbpmvf/1Jv+//lNOQOBdglw 6jLISCcIhdpv1TlpOFn2BlA5B0QXEuBWZNULOmn7P+6i+//YKy7/Ux8CDbnn8inhqtfL2Kvun2Pvu/63 - 3yT7i0WcwRyqBRMoxkk2Rj2w/5/62Ot/5c/Y/9V/Ev4XvA/7H3Hd6b8B0GZmOWYnqFKcgM1lvcHZqt9x - /807NDYYVassVM+Rms1ny5kOlIOnDbyA15DDMvK6/VegL+WgQqQDXkM2XyAFyokEAAMDAMH8m0kqILe/ + 3yT5i0WcwRyqBRMoxkk2Rj2w/5/62Ot/5c/Y/9V/Ev4XvA/7H3Hd6b8B0GZmOWYnqFKcgM1lvcHZqt9x + /807NDYYVassVM+Rms1ny5kOlIOnDbyA15DDMvK6/VegL+WgQqQDXkM2XyAFyokEAAMDAL2km0Wc3s1o AAAAAElFTkSuQmCC @@ -252,22 +266,22 @@ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAOSSURBVFhH7ZX9T5JRFMfd2vrZ3/nN9fJLWVOXJTrMZmI4 - JfCRdEqCVss0s3hAq4X5kpI2UTMQCSXfTQUEm6GoLWutWrm0rRd7MdOk17+ATs+9ezCgrWU8bK353c7Y - 2D33e865936eoDX9Vzp8YQpQHKq8DfRfgZWIHBJlnbkJ6aSN5BVZWdKySehwfAbxWTvEHellJeYYRWmn - LMCVGKPpFGaVUz4JPRPfQKJ0wL68cZfOtogL0JjfQazY4ko+1gNtw4uQnNcdmImkK2zFktJxXIRhZBk6 - x79Cl+MTdIx+gqaBN9icd6QTEqTXsukUZiU4YQvJUl7/brixjIs4qpoCQdEQSM7ZsXlD7wvgCLtdEYIr - IXQKc8o8PQLS8xPQYl2CbqrzY6q7XmNOP9kPess81LTNwO7MZojkX2L2GEQyKzXyLzi6HF8glRz2MohN - b4IW05uVCEusYrYAYeEAZJ6xQ7PlPXSOfYTcsgkvA6KgizJ+BRdbH0NMWiOExpcxWwASempx2UMuzeBr - MN5Ygiy5GeIytUAc7wadaY4a/zRwEnSubXGXWHSKf/IFDVugzk/MNWLzxr6XcNU6D3rzW9BRBSFzVMSO - lFrYzq3k4A38FTJG7xwBhyD61kUJ1Nh8r8QAHFGPq/baLC5AhTrPqPoemVKDi9jELln9+BHl0E13U46Q - 2+/9JN0oEIqRWbaoScYW1gOiXby4bX9shhYXEE00wNY9VSHh3MrizdElEMarCqe3/XMhc/S2xefGMeUq - jM/Ak3TlV2e8aIcu2oZdCirkOOht/l6Icu4iEOXQryfp2u3LK7RD5ozTDlEOde+mnKr9uRfpzjY9DBzt - CGXfepHc+kzV+WLFXCizOpPyB8mUQlNwUl4vyZW2O0vq74LB9g5ktbeAfUBzn073T2jsGcXDv2CWX2gm - 6SVY8Qf1pBu3KsMTjNtdgjr/keuJWE/Mos7pJVicg63BvrjV9s/5j1yEWH7+dYxZjWlhBbN8auz0EqyY - 1AbSF7fbEiqYQy7V8YdS3TR1452g1D0C3tEeZ7xUT6LOkXk0oXbKqbPXDc5BQcVNiEyum6ZTmZEv55Wa - B16sx+aB4L1bvpxvtS54sb6ZGn1AeO+Wm/PobBHni9V3wJP1RdVj/vP+d6ImkBPBq4YoQV32zlQNK0Z0 - +akn63fy1Q9CeTVb/OL9arU55jRoqUu3MUrBbLd/KkY/Nmv6NxQU9APfswN68ND8NQAAAABJRU5ErkJg + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAOSSURBVFhH7ZX9T5JRFMfd2vq53/nNVf7S27Jlig6zqTic + EPpIOjTBXqZpZvHg66R8SUmdqBmKiJIpar6goDMSrPWylq1c2WZmWZkmmfUX4Om5dw8GtLWKh601v9sZ + G7vnfs85997P47ep/0qnLt8HFCcr7gH9l28lIkdEKUW3IIk0k7xcE0taegduWL9AarEFIk73smLS9aLE + C8PAlehD6RRmlV52B3omv4FEYYWoUzaHxryEC1AbPwAnedgRd6YHOkaXIC7T4JuJJOWZ8yUXbbgI3fgK + dNm+Qrd1FW7cXoWmgQVszjvdBdHS62l0CrMSnjP7pygM67qxFVxEhvI+CHNHQFJiweYNvXPA4RscB4TX + /OkU5iQuHAfppUloNS2Dger8jPKh25iTzveDdvg9VHe8gMPiFggS1DJ7DCKZiRr5Go5u6xokkKNuBuFJ + TdA6tLAR+2MqmS0gPmcAxEUWaBn+CF0Tn+FE6aSbAZHdTRm/gSvtzyAssRH2RJYyWwASemoc8YhDPfgW + 9GPLkCI3QoS4GYizBtAMzVPjnwbOEY1jb0Qti07xTp6gYQtVWTEn9Ni8se81tJneg9b4DjRUQcgcFXGQ + XwP7uBUcvIG3QsbonSPgEETflhChCptHSXTAie9x1FyfwQUoUefJZetB/GpcxE52wZ+PH1EO3XQn5Qi5 + 5dEP0t0GIm98hi1qkrHj6wHRLjK142h4cjMuIJRogN1HKv0DuRX5AaEFsJ9XGUhv+/tC5uhtp5bYMOXK + 9bPgSrqythdutEMXbXtwHhVyHPQ2fy9EOWcRiHLo15V0nZaVDdohc8ZphyiHundSTtn5yo10xU1PfEc7 + QtG3VSQ3zSq75jbM42Ume2zWIMnPGdoWm9lLcqWd9oL6h6AzfwBZzV1gH1M/ptO9Exp7cv7oT5gV5BhJ + eglW5HEt6cStUvcc4zZYWOc9cl0R64pZ1Dm9BItzvH2bJ26b++e9Ry5CrCDrJsasemhxA7MCauz0Eqyw + hAbSE7d7o8uZQy7V8aeLmmnqxttBoXkKvIwee6RUS6LOkXkoobLLqbPXDM5DdvktCIqrm6ZTmZEn5xXq + KTfWY3Nf8N4pT863mxbdWN9Cjd4nvHfKyXl0tojz+aoH4Mr63KoJ73n/K1ETSD/Aq4IQYV3aoQQ1K0x0 + 9aUr6w8JVFN7eNW7vOL9nyogrBCaqUu3IySP2W5/V4x+bDb1b8jP7ztAtwMu0+6jgwAAAABJRU5ErkJg gg== @@ -285,57 +299,57 @@ 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 - YII= + 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 + gg== @@ -361,35 +375,35 @@ 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 diff --git a/Aktywator/Properties/Resources.Designer.cs b/Aktywator/Properties/Resources.Designer.cs index afcf17c..d3dedab 100644 --- a/Aktywator/Properties/Resources.Designer.cs +++ b/Aktywator/Properties/Resources.Designer.cs @@ -22,7 +22,7 @@ namespace Aktywator.Properties { [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { + public class Resources { private static global::System.Resources.ResourceManager resourceMan; @@ -36,7 +36,7 @@ namespace Aktywator.Properties { /// Returns the cached ResourceManager instance used by this class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { + public static global::System.Resources.ResourceManager ResourceManager { get { if (object.ReferenceEquals(resourceMan, null)) { global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Aktywator.Properties.Resources", typeof(Resources).Assembly); @@ -51,7 +51,7 @@ namespace Aktywator.Properties { /// resource lookups using this strongly typed resource class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { + public static global::System.Globalization.CultureInfo Culture { get { return resourceCulture; } @@ -61,10 +61,10 @@ namespace Aktywator.Properties { } /// - /// Looks up a localized string similar to 2017-08-22 + /// Looks up a localized string similar to 2017-08-23 ///. /// - internal static string BuildDate { + public static string BuildDate { get { return ResourceManager.GetString("BuildDate", resourceCulture); } -- cgit v1.2.3 From 4bab40908ea6fc5ccde7801b690442d341a5d6cf Mon Sep 17 00:00:00 2001 From: emkael Date: Tue, 19 Sep 2017 19:30:38 +0200 Subject: Settings form for fetching additional information in Teamy tournaments --- Aktywator/Aktywator.csproj | 9 ++ Aktywator/TeamNamesSettings.Designer.cs | 206 ++++++++++++++++++++++++++++++++ Aktywator/TeamNamesSettings.cs | 154 ++++++++++++++++++++++++ Aktywator/TeamNamesSettings.resx | 120 +++++++++++++++++++ 4 files changed, 489 insertions(+) create mode 100644 Aktywator/TeamNamesSettings.Designer.cs create mode 100644 Aktywator/TeamNamesSettings.cs create mode 100644 Aktywator/TeamNamesSettings.resx (limited to 'Aktywator/Aktywator.csproj') diff --git a/Aktywator/Aktywator.csproj b/Aktywator/Aktywator.csproj index 661a578..2e4c4ac 100644 --- a/Aktywator/Aktywator.csproj +++ b/Aktywator/Aktywator.csproj @@ -110,6 +110,12 @@ + + Form + + + TeamNamesSettings.cs + @@ -131,6 +137,9 @@ Resources.resx True + + TeamNamesSettings.cs + SettingsSingleFileGenerator diff --git a/Aktywator/TeamNamesSettings.Designer.cs b/Aktywator/TeamNamesSettings.Designer.cs new file mode 100644 index 0000000..07b1d97 --- /dev/null +++ b/Aktywator/TeamNamesSettings.Designer.cs @@ -0,0 +1,206 @@ +namespace Aktywator +{ + partial class TeamNamesSettings + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (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.label1 = new System.Windows.Forms.Label(); + this.lTournamentName = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.cbRounds = new System.Windows.Forms.ComboBox(); + this.label4 = new System.Windows.Forms.Label(); + this.cbSegments = new System.Windows.Forms.ComboBox(); + this.label5 = new System.Windows.Forms.Label(); + this.rbShowTeamNames = new System.Windows.Forms.RadioButton(); + this.label6 = new System.Windows.Forms.Label(); + this.cbSecondRow = new System.Windows.Forms.ComboBox(); + this.rbShowPlayerNames = new System.Windows.Forms.RadioButton(); + this.bClose = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(13, 13); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(42, 13); + this.label1.TabIndex = 0; + this.label1.Text = "Turniej:"; + // + // lTournamentName + // + this.lTournamentName.AutoSize = true; + this.lTournamentName.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.lTournamentName.Location = new System.Drawing.Point(61, 13); + this.lTournamentName.Name = "lTournamentName"; + this.lTournamentName.Size = new System.Drawing.Size(109, 13); + this.lTournamentName.TabIndex = 1; + this.lTournamentName.Text = "lTournamentName"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(13, 42); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(42, 13); + this.label3.TabIndex = 2; + this.label3.Text = "Runda:"; + // + // cbRounds + // + this.cbRounds.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cbRounds.FormattingEnabled = true; + this.cbRounds.Location = new System.Drawing.Point(61, 39); + this.cbRounds.Name = "cbRounds"; + this.cbRounds.Size = new System.Drawing.Size(41, 21); + this.cbRounds.TabIndex = 3; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(108, 42); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(52, 13); + this.label4.TabIndex = 4; + this.label4.Text = "Segment:"; + // + // cbSegments + // + this.cbSegments.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cbSegments.FormattingEnabled = true; + this.cbSegments.Location = new System.Drawing.Point(166, 39); + this.cbSegments.Name = "cbSegments"; + this.cbSegments.Size = new System.Drawing.Size(41, 21); + this.cbSegments.TabIndex = 5; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(13, 69); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(52, 13); + this.label5.TabIndex = 6; + this.label5.Text = "Wyświetl:"; + // + // rbShowTeamNames + // + this.rbShowTeamNames.AutoSize = true; + this.rbShowTeamNames.Checked = true; + this.rbShowTeamNames.Location = new System.Drawing.Point(16, 90); + this.rbShowTeamNames.Name = "rbShowTeamNames"; + this.rbShowTeamNames.Size = new System.Drawing.Size(95, 17); + this.rbShowTeamNames.TabIndex = 7; + this.rbShowTeamNames.TabStop = true; + this.rbShowTeamNames.Text = "nazwy teamów"; + this.rbShowTeamNames.UseVisualStyleBackColor = true; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(32, 115); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(65, 13); + this.label6.TabIndex = 8; + this.label6.Text = "drugi wiersz:"; + // + // cbSecondRow + // + this.cbSecondRow.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cbSecondRow.FormattingEnabled = true; + this.cbSecondRow.Items.AddRange(new object[] { + "nic", + "wynik meczu w IMP", + "wynik drużyny w VP"}); + this.cbSecondRow.Location = new System.Drawing.Point(103, 112); + this.cbSecondRow.Name = "cbSecondRow"; + this.cbSecondRow.Size = new System.Drawing.Size(115, 21); + this.cbSecondRow.TabIndex = 9; + // + // rbShowPlayerNames + // + this.rbShowPlayerNames.AutoSize = true; + this.rbShowPlayerNames.Location = new System.Drawing.Point(16, 137); + this.rbShowPlayerNames.Name = "rbShowPlayerNames"; + this.rbShowPlayerNames.Size = new System.Drawing.Size(114, 17); + this.rbShowPlayerNames.TabIndex = 10; + this.rbShowPlayerNames.Text = "nazwiska z lineupu"; + this.rbShowPlayerNames.UseVisualStyleBackColor = true; + this.rbShowPlayerNames.CheckedChanged += new System.EventHandler(this.rbShowPlayerNames_CheckedChanged); + // + // bClose + // + this.bClose.Location = new System.Drawing.Point(16, 164); + this.bClose.Name = "bClose"; + this.bClose.Size = new System.Drawing.Size(202, 23); + this.bClose.TabIndex = 11; + this.bClose.Text = "Zamknij"; + this.bClose.UseVisualStyleBackColor = true; + this.bClose.Click += new System.EventHandler(this.bClose_Click); + // + // TeamNamesSettings + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(230, 199); + this.Controls.Add(this.bClose); + this.Controls.Add(this.rbShowPlayerNames); + this.Controls.Add(this.cbSecondRow); + this.Controls.Add(this.label6); + this.Controls.Add(this.rbShowTeamNames); + this.Controls.Add(this.label5); + this.Controls.Add(this.cbSegments); + this.Controls.Add(this.label4); + this.Controls.Add(this.cbRounds); + this.Controls.Add(this.label3); + this.Controls.Add(this.lTournamentName); + this.Controls.Add(this.label1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.Name = "TeamNamesSettings"; + this.Text = "JFR Teamy - nazwiska"; + this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.TeamNamesSettings_FormClosed); + this.Shown += new System.EventHandler(this.TeamNamesSettings_Shown); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label lTournamentName; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.ComboBox cbRounds; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.ComboBox cbSegments; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.RadioButton rbShowTeamNames; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.ComboBox cbSecondRow; + private System.Windows.Forms.RadioButton rbShowPlayerNames; + private System.Windows.Forms.Button bClose; + } +} \ No newline at end of file diff --git a/Aktywator/TeamNamesSettings.cs b/Aktywator/TeamNamesSettings.cs new file mode 100644 index 0000000..65d5601 --- /dev/null +++ b/Aktywator/TeamNamesSettings.cs @@ -0,0 +1,154 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; + +namespace Aktywator +{ + public partial class TeamNamesSettings : Form + { + public TeamNamesSettings() + { + InitializeComponent(); + } + + private MainForm form; + private TeamyTournament tournament; + public const int OpenClosedDiff = 1000; + + internal void initTournament(TeamyTournament tournament, MainForm form) + { + this.form = form; + this.tournament = tournament; + lTournamentName.Text = this.tournament.getName(); + int rounds = this.tournament.getRoundsNum(); + int segments = this.tournament.getSegmentsNum(); + cbRounds.Items.Clear(); + for (int i = 1; i <= rounds; i++) + { + cbRounds.Items.Add(i.ToString()); + } + cbSegments.Items.Clear(); + for (int i = 1; i <= segments; i++) + { + cbSegments.Items.Add(i.ToString()); + } + List currentSegment = this.tournament.getCurrentSegment(); + cbRounds.SelectedIndex = currentSegment[0] - 1; + cbSegments.SelectedIndex = currentSegment[1] - 1; + cbSecondRow.SelectedIndex = 0; + } + + public string getLabel() + { + StringBuilder ret = new StringBuilder(); + ret.Append(cbRounds.SelectedItem); + ret.Append('-'); + ret.Append(cbSegments.SelectedItem); + ret.Append(", "); + if (rbShowTeamNames.Checked) + { + ret.Append("teamy"); + if (cbSecondRow.SelectedIndex == 1) + { + ret.Append(" + IMP"); + } + if (cbSecondRow.SelectedIndex == 2) + { + ret.Append(" + VP"); + } + } + else + { + ret.Append("lineup"); + } + return ret.ToString(); + } + + public bool arePlayerNamesDisplayed() + { + return rbShowPlayerNames.Checked; + } + + public string getQuery() + { + StringBuilder ret = new StringBuilder(); + ret.Append("SELECT teams.id, "); + if (rbShowTeamNames.Checked) + { + ret.Append("fullname, "); + switch (cbSecondRow.SelectedIndex) { + case 0: + ret.Append("'' FROM teams ORDER BY teams.id"); + break; + case 1: + ret.Append("CONCAT(SUM(IF(segments.homet = teams.id, impH+corrH, impV+corrV)), ' IMP') FROM teams LEFT JOIN segments ON (teams.id = segments.homet OR teams.id = segments.visit) AND segments.rnd = "); + ret.Append(cbRounds.SelectedItem); + ret.Append(" AND segments.segment < "); + ret.Append(cbSegments.SelectedItem); + ret.Append(" GROUP BY teams.id ORDER BY teams.id"); + break; + case 2: + ret.Append("CONCAT(SUM(IF(matches.homet = teams.id, vph+corrh, vpv+corrv)), ' VP') FROM teams LEFT JOIN matches ON (teams.id = matches.homet OR teams.id = matches.visit) AND matches.rnd <= "); + ret.Append(cbRounds.SelectedItem); + ret.Append(" GROUP BY teams.id ORDER BY teams.id"); + break; + } + } + else + { + ret.Append("CONCAT(p1.gname, ' ', p1.sname), CONCAT(p2.gname, ' ', p2.sname) FROM teams JOIN segments ON segments.rnd = "); + ret.Append(cbRounds.SelectedItem); + ret.Append(" AND segments.segment = "); + ret.Append(cbSegments.SelectedItem); + ret.Append(" AND teams.id = segments.homet LEFT JOIN players p1 ON p1.id = segments.openN LEFT JOIN players p2 ON p2.id = segments.openS"); + + ret.Append(" UNION SELECT teams.id, CONCAT(p1.gname, ' ', p1.sname), CONCAT(p2.gname, ' ', p2.sname) FROM teams JOIN segments ON segments.rnd = "); + ret.Append(cbRounds.SelectedItem); + ret.Append(" AND segments.segment = "); + ret.Append(cbSegments.SelectedItem); + ret.Append(" AND teams.id = segments.visit LEFT JOIN players p1 ON p1.id = segments.openE LEFT JOIN players p2 ON p2.id = segments.openW"); + + ret.Append(" UNION SELECT teams.id + "); + ret.Append(TeamNamesSettings.OpenClosedDiff); + ret.Append(", CONCAT(p1.gname, ' ', p1.sname), CONCAT(p2.gname, ' ', p2.sname) FROM teams JOIN segments ON segments.rnd = "); + ret.Append(cbRounds.SelectedItem); + ret.Append(" AND segments.segment = "); + ret.Append(cbSegments.SelectedItem); + ret.Append(" AND teams.id = segments.homet LEFT JOIN players p1 ON p1.id = segments.closeE LEFT JOIN players p2 ON p2.id = segments.closeW"); + + ret.Append(" UNION SELECT teams.id + "); + ret.Append(TeamNamesSettings.OpenClosedDiff); + ret.Append(", CONCAT(p1.gname, ' ', p1.sname), CONCAT(p2.gname, ' ', p2.sname) FROM teams JOIN segments ON segments.rnd = "); + ret.Append(cbRounds.SelectedItem); + ret.Append(" AND segments.segment = "); + ret.Append(cbSegments.SelectedItem); + ret.Append(" AND teams.id = segments.visit LEFT JOIN players p1 ON p1.id = segments.closeN LEFT JOIN players p2 ON p2.id = segments.closeS"); + ret.Append(" ORDER BY id"); + } + Console.WriteLine(ret.ToString()); + return ret.ToString(); + } + + private void rbShowPlayerNames_CheckedChanged(object sender, EventArgs e) + { + cbSecondRow.Enabled = !rbShowPlayerNames.Checked; + } + + private void bClose_Click(object sender, EventArgs e) + { + this.Close(); + } + + private void TeamNamesSettings_FormClosed(object sender, FormClosedEventArgs e) + { + } + + private void TeamNamesSettings_Shown(object sender, EventArgs e) + { + } + } +} diff --git a/Aktywator/TeamNamesSettings.resx b/Aktywator/TeamNamesSettings.resx new file mode 100644 index 0000000..7080a7d --- /dev/null +++ b/Aktywator/TeamNamesSettings.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file -- cgit v1.2.3 From d881985658c2df2f10ed855c71f67c4b993845f0 Mon Sep 17 00:00:00 2001 From: emkael Date: Wed, 27 Sep 2017 13:40:15 +0200 Subject: Preview hand records present in BWS Fixes #2 --- Aktywator/Aktywator.csproj | 9 + Aktywator/Bws.cs | 210 ++++++++++-- Aktywator/HandRecordPreview.Designer.cs | 554 ++++++++++++++++++++++++++++++++ Aktywator/HandRecordPreview.cs | 39 +++ Aktywator/HandRecordPreview.resx | 120 +++++++ Aktywator/MainForm.Designer.cs | 167 ++++++++-- Aktywator/MainForm.cs | 19 ++ Aktywator/MainForm.resx | 194 +++++------ Aktywator/Resources/BuildDate.txt | 2 +- 9 files changed, 1173 insertions(+), 141 deletions(-) create mode 100644 Aktywator/HandRecordPreview.Designer.cs create mode 100644 Aktywator/HandRecordPreview.cs create mode 100644 Aktywator/HandRecordPreview.resx (limited to 'Aktywator/Aktywator.csproj') diff --git a/Aktywator/Aktywator.csproj b/Aktywator/Aktywator.csproj index 2e4c4ac..bdcdba6 100644 --- a/Aktywator/Aktywator.csproj +++ b/Aktywator/Aktywator.csproj @@ -86,6 +86,12 @@ + + Form + + + HandRecordPreview.cs + Form @@ -121,6 +127,9 @@ ChooseTournament.cs + + HandRecordPreview.cs + MainForm.cs diff --git a/Aktywator/Bws.cs b/Aktywator/Bws.cs index 1b96159..2662b88 100644 --- a/Aktywator/Bws.cs +++ b/Aktywator/Bws.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Text; using System.Data.OleDb; using System.Windows.Forms; +using System.Drawing; namespace Aktywator { @@ -20,43 +21,183 @@ namespace Aktywator public bool settingsChanged = false; private static string applicationPath = Common.ProgramFilesx86() + "\\Bridgemate Pro\\"; - private class SectionCheckBox + class HandInfo { - private string section; - private string label; + public List record; + public bool analysis = false; + } + + public Bws(string filename, MainForm main) + { + this._filename = filename; + sql = new Sql(filename); + this.main = main; + string[] sections = this.getSections().Split(','); + this.displaySectionBoardsInfo(sections); + } - public SectionCheckBox(string section, string label) + private void displaySectionBoardsInfo(string[] sections) + { + main.gwSections.Columns.Add(new DataGridViewCheckBoxColumn { Frozen = true, Width = 20, DefaultCellStyle = { ForeColor = Color.White, Alignment = DataGridViewContentAlignment.MiddleCenter } }); + foreach (string section in sections) + { + DataGridViewRow row = new DataGridViewRow(); + row.Height = 20; + row.HeaderCell.Value = this.sectorNumberToLetter(Int16.Parse(section)); + main.gwSections.Rows.Add(row); + } + Dictionary> boards = this.loadSectionBoards(sections); + foreach (KeyValuePair> boardList in boards) + { + main.gwSections.Columns.Add(new DataGridViewTextBoxColumn { HeaderText = boardList.Key.ToString(), Width = 22, DefaultCellStyle = { ForeColor = Color.White, Alignment = DataGridViewContentAlignment.MiddleCenter } }); + foreach (DataGridViewRow row in main.gwSections.Rows) + { + if (boardList.Value.Contains(row.HeaderCell.Value.ToString())) + { + row.Cells[row.Cells.Count - 1].Style.BackColor = Color.White; + } + else + { + row.Cells[row.Cells.Count - 1].Style.BackColor = Color.Gray; + } + row.Cells[row.Cells.Count - 1].ReadOnly = true; + } + } + foreach (DataGridViewRow row in main.gwSections.Rows) { - this.section = section; - this.label = label; + row.Cells[0].Value = true; + ((DataGridViewCheckBoxCell)row.Cells[0]).TrueValue = true; + ((DataGridViewCheckBoxCell)row.Cells[0]).FalseValue = false; } + this.displayHandRecordInfo(boards); + } - override public string ToString() + private Dictionary> loadSectionBoards(string[] sections) { + Dictionary> boards = new Dictionary>(); + foreach (string section in sections) { - return this.label; + string sectionLetter = this.sectorNumberToLetter(Int16.Parse(section)); + int lowBoard = this.lowBoard(section); + int highBoard = this.highBoard(section); + for (int board = lowBoard; board <= highBoard; board++) + { + if (!boards.ContainsKey(board)) + { + boards.Add(board, new List()); + } + boards[board].Add(sectionLetter); + } } + return boards; + } - public string getSection() + private void displayHandRecordInfo(Dictionary> boards) + { + Dictionary> handInfo = this.loadHandRecordInfo(); + foreach (KeyValuePair> board in boards) { - return this.section; + if (handInfo.ContainsKey(board.Key)) + { + foreach (string section in board.Value) + { + this.setHandRecordInfo(board.Key, section, (board.Value.Contains(section) && handInfo[board.Key].ContainsKey(section)) ? handInfo[board.Key][section].record : null, handInfo[board.Key].ContainsKey(section) && handInfo[board.Key][section].analysis); + } + } + else + { + this.setHandRecordInfo(board.Key); + } } } - public Bws(string filename, MainForm main) + private void setHandRecordInfo(int board, string section = null, List layout = null, bool analysis = false) { - this._filename = filename; - sql = new Sql(filename); - this.main = main; - string[] sections = this.getSections().Split(','); - foreach (string section in sections) + foreach (DataGridViewColumn column in main.gwSections.Columns) { - SectionCheckBox item = new SectionCheckBox(section, "sektor " + this.sectorNumberToLetter(Int16.Parse(section)) + " (rozdania " + this.lowBoard(section) + "-" + this.highBoard(section) + ")"); - main.cblSections.Items.Add(item); + if (column.HeaderText.Equals(board.ToString())) + { + foreach (DataGridViewRow row in main.gwSections.Rows) + { + if (row.HeaderCell.Value.Equals(section) || section == null) + { + if (row.Cells[column.Index].Style.BackColor != Color.Gray) + { + if (layout != null) + { + row.Cells[column.Index].Style.BackColor = Color.LimeGreen; + row.Cells[column.Index].Tag = new HandRecord(String.Join(" ", layout.ToArray())); + row.Cells[column.Index].Value = analysis ? "A" : ""; + row.Cells[column.Index].ToolTipText = "Dwukliknij, by podejrzeć rozkład"; + } + else + { + row.Cells[column.Index].Style.BackColor = Color.Crimson; + row.Cells[column.Index].Tag = null; + row.Cells[column.Index].Value = ""; + row.Cells[column.Index].ToolTipText = ""; + } + } + } + } + } + } + } + + private Dictionary> loadHandRecordInfo() + { + Dictionary> info = new Dictionary>(); + try + { + OleDbDataReader handData = sql.select("SELECT `Section`, Board, NorthSpades, NorthHearts, NorthDiamonds, NorthClubs, EastSpades, EastHearts, EastDiamonds, EastClubs, SouthSpades, SouthHearts, SouthDiamonds, SouthClubs, WestSpades, WestHearts, WestDiamonds, WestClubs FROM HandRecord"); + while (handData.Read()) + { + int boardNumber = Int16.Parse(handData[1].ToString()); + if (!info.ContainsKey(boardNumber)) + { + info.Add(boardNumber, new Dictionary()); + } + string section = this.sectorNumberToLetter(Int16.Parse(handData[0].ToString())); + info[boardNumber].Add(section, new HandInfo { record = new List(), analysis = false }); + for (int i = 0; i < 4; i++) + { + StringBuilder singleHand = new StringBuilder(); + for (int j = 0; j < 4; j++) + { + singleHand.Append(handData[2 + i * 4 + j].ToString()); + if (j != 3) + { + singleHand.Append('.'); + } + } + info[boardNumber][section].record.Add(singleHand.ToString().Trim()); + } + } + handData.Close(); } - for (int i = 0; i < main.cblSections.Items.Count; i++) + catch (OleDbException) + { + } + try { - main.cblSections.SetItemChecked(i, true); + OleDbDataReader handData = sql.select("SELECT `Section`, Board FROM HandEvaluation"); + while (handData.Read()) + { + int boardNumber = Int16.Parse(handData[1].ToString()); + string section = this.sectorNumberToLetter(Int16.Parse(handData[0].ToString())); + try + { + info[boardNumber][section].analysis = true; + } + catch (KeyNotFoundException) + { + } + } + handData.Close(); } + catch (OleDbException) + { + } + return info; } private int sectorLetterToNumber(string sector) @@ -73,9 +214,12 @@ namespace Aktywator public string[] getSelectedSections() { List sections = new List(); - foreach (SectionCheckBox section in main.cblSections.CheckedItems) + foreach (DataGridViewRow row in main.gwSections.Rows) { - sections.Add(section.getSection()); + if (Convert.ToBoolean(row.Cells[0].Value)) + { + sections.Add(this.sectorLetterToNumber(row.HeaderCell.Value.ToString()).ToString()); + } } return sections.ToArray(); } @@ -585,20 +729,29 @@ namespace Aktywator string sections = this.sectionsForHandRecords(); if (sections != null) { - foreach (string section in this.sectionsForHandRecords().Split(',')) + string[] sectionLetters = sections.Split(','); + for (int i = 0; i < sectionLetters.Length; i++) + { + sectionLetters[i] = sectionLetters[i].Trim(); + } + foreach (string section in sectionLetters) { - this.clearRecords(section.Trim()); + this.clearRecords(section); } + this.displayHandRecordInfo(this.loadSectionBoards(sectionLetters)); } } public int loadHandRecords(PBN pbn) { int count = 0; - foreach (string section in this.getSelectedSections()) + string[] sections = this.getSelectedSections(); + Dictionary> boards = new Dictionary>(); + foreach (string section in sections) { this.clearRecords(section); for (int i = this.lowBoard(section.Trim()); i <= this.highBoard(section.Trim()); i++) + { if (pbn.handRecords[i] != null) { HandRecord b = pbn.handRecords[i]; @@ -611,6 +764,11 @@ namespace Aktywator str.Append(String.Join("','", b.south)); str.Append("','"); str.Append(String.Join("','", b.west)); str.Append("')"); sql.query(str.ToString()); + if (!boards.ContainsKey(i)) + { + boards.Add(i, new List()); + } + boards[i].Add(this.sectorNumberToLetter(Int16.Parse(section))); int[,] ddTable = pbn.ddTables[i].GetDDTable(); if (ddTable != null) { @@ -639,7 +797,9 @@ namespace Aktywator } count++; } + } } + this.displayHandRecordInfo(this.loadSectionBoards(sections)); return count; } } diff --git a/Aktywator/HandRecordPreview.Designer.cs b/Aktywator/HandRecordPreview.Designer.cs new file mode 100644 index 0000000..83c58fb --- /dev/null +++ b/Aktywator/HandRecordPreview.Designer.cs @@ -0,0 +1,554 @@ +namespace Aktywator +{ + partial class HandRecordPreview + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (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.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.label8 = new System.Windows.Forms.Label(); + this.label9 = new System.Windows.Forms.Label(); + this.label10 = new System.Windows.Forms.Label(); + this.label11 = new System.Windows.Forms.Label(); + this.label12 = new System.Windows.Forms.Label(); + this.label13 = new System.Windows.Forms.Label(); + this.label14 = new System.Windows.Forms.Label(); + this.label15 = new System.Windows.Forms.Label(); + this.label16 = new System.Windows.Forms.Label(); + this.lNorthSpades = new System.Windows.Forms.Label(); + this.lNorthHearts = new System.Windows.Forms.Label(); + this.lNorthDiamonds = new System.Windows.Forms.Label(); + this.lNorthClubs = new System.Windows.Forms.Label(); + this.lEastSpades = new System.Windows.Forms.Label(); + this.lEastHearts = new System.Windows.Forms.Label(); + this.lEastDiamonds = new System.Windows.Forms.Label(); + this.lEastClubs = new System.Windows.Forms.Label(); + this.lSouthSpades = new System.Windows.Forms.Label(); + this.lSouthHearts = new System.Windows.Forms.Label(); + this.lSouthDiamonds = new System.Windows.Forms.Label(); + this.lSouthClubs = new System.Windows.Forms.Label(); + this.lWestClubs = new System.Windows.Forms.Label(); + this.lWestDiamonds = new System.Windows.Forms.Label(); + this.lWestHearts = new System.Windows.Forms.Label(); + this.lWestSpades = new System.Windows.Forms.Label(); + this.tableLayoutPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.ColumnCount = 6; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 6.845966F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 26.48737F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 6.845966F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 26.48737F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 6.845966F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 26.48737F)); + this.tableLayoutPanel1.Controls.Add(this.label1, 2, 0); + this.tableLayoutPanel1.Controls.Add(this.label2, 2, 1); + this.tableLayoutPanel1.Controls.Add(this.label3, 2, 2); + this.tableLayoutPanel1.Controls.Add(this.label4, 2, 3); + this.tableLayoutPanel1.Controls.Add(this.label5, 0, 4); + this.tableLayoutPanel1.Controls.Add(this.label6, 0, 5); + this.tableLayoutPanel1.Controls.Add(this.label7, 0, 6); + this.tableLayoutPanel1.Controls.Add(this.label8, 0, 7); + this.tableLayoutPanel1.Controls.Add(this.label9, 2, 8); + this.tableLayoutPanel1.Controls.Add(this.label10, 2, 9); + this.tableLayoutPanel1.Controls.Add(this.label11, 2, 10); + this.tableLayoutPanel1.Controls.Add(this.label12, 2, 11); + this.tableLayoutPanel1.Controls.Add(this.label13, 4, 4); + this.tableLayoutPanel1.Controls.Add(this.label14, 4, 5); + this.tableLayoutPanel1.Controls.Add(this.label15, 4, 6); + this.tableLayoutPanel1.Controls.Add(this.label16, 4, 7); + this.tableLayoutPanel1.Controls.Add(this.lNorthSpades, 3, 0); + this.tableLayoutPanel1.Controls.Add(this.lNorthHearts, 3, 1); + this.tableLayoutPanel1.Controls.Add(this.lNorthDiamonds, 3, 2); + this.tableLayoutPanel1.Controls.Add(this.lNorthClubs, 3, 3); + this.tableLayoutPanel1.Controls.Add(this.lEastSpades, 5, 4); + this.tableLayoutPanel1.Controls.Add(this.lEastHearts, 5, 5); + this.tableLayoutPanel1.Controls.Add(this.lEastDiamonds, 5, 6); + this.tableLayoutPanel1.Controls.Add(this.lEastClubs, 5, 7); + this.tableLayoutPanel1.Controls.Add(this.lSouthSpades, 3, 8); + this.tableLayoutPanel1.Controls.Add(this.lSouthHearts, 3, 9); + this.tableLayoutPanel1.Controls.Add(this.lSouthDiamonds, 3, 10); + this.tableLayoutPanel1.Controls.Add(this.lSouthClubs, 3, 11); + this.tableLayoutPanel1.Controls.Add(this.lWestClubs, 1, 7); + this.tableLayoutPanel1.Controls.Add(this.lWestDiamonds, 1, 6); + this.tableLayoutPanel1.Controls.Add(this.lWestHearts, 1, 5); + this.tableLayoutPanel1.Controls.Add(this.lWestSpades, 1, 4); + this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.RowCount = 12; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 8.333332F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 8.333332F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 8.333332F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 8.333332F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 8.333332F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 8.333332F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 8.333332F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 8.333332F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 8.333332F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 8.333332F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 8.333332F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 8.333332F)); + this.tableLayoutPanel1.Size = new System.Drawing.Size(292, 265); + this.tableLayoutPanel1.TabIndex = 0; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Dock = System.Windows.Forms.DockStyle.Fill; + this.label1.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label1.Location = new System.Drawing.Point(99, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(13, 22); + this.label1.TabIndex = 0; + this.label1.Text = "♠"; + this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Dock = System.Windows.Forms.DockStyle.Fill; + this.label2.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label2.ForeColor = System.Drawing.Color.Red; + this.label2.Location = new System.Drawing.Point(99, 22); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(13, 22); + this.label2.TabIndex = 1; + this.label2.Text = "♥"; + this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Dock = System.Windows.Forms.DockStyle.Fill; + this.label3.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label3.ForeColor = System.Drawing.Color.Red; + this.label3.Location = new System.Drawing.Point(99, 44); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(13, 22); + this.label3.TabIndex = 2; + this.label3.Text = "♦"; + this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Dock = System.Windows.Forms.DockStyle.Fill; + this.label4.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label4.Location = new System.Drawing.Point(99, 66); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(13, 22); + this.label4.TabIndex = 3; + this.label4.Text = "♣"; + this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Dock = System.Windows.Forms.DockStyle.Fill; + this.label5.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label5.Location = new System.Drawing.Point(3, 88); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(13, 22); + this.label5.TabIndex = 4; + this.label5.Text = "♠"; + this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Dock = System.Windows.Forms.DockStyle.Fill; + this.label6.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label6.ForeColor = System.Drawing.Color.Red; + this.label6.Location = new System.Drawing.Point(3, 110); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(13, 22); + this.label6.TabIndex = 5; + this.label6.Text = "♥"; + this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Dock = System.Windows.Forms.DockStyle.Fill; + this.label7.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label7.ForeColor = System.Drawing.Color.Red; + this.label7.Location = new System.Drawing.Point(3, 132); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(13, 22); + this.label7.TabIndex = 6; + this.label7.Text = "♦"; + this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Dock = System.Windows.Forms.DockStyle.Fill; + this.label8.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label8.Location = new System.Drawing.Point(3, 154); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(13, 22); + this.label8.TabIndex = 7; + this.label8.Text = "♣"; + this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Dock = System.Windows.Forms.DockStyle.Fill; + this.label9.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label9.Location = new System.Drawing.Point(99, 176); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(13, 22); + this.label9.TabIndex = 8; + this.label9.Text = "♠"; + this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Dock = System.Windows.Forms.DockStyle.Fill; + this.label10.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label10.ForeColor = System.Drawing.Color.Red; + this.label10.Location = new System.Drawing.Point(99, 198); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(13, 22); + this.label10.TabIndex = 9; + this.label10.Text = "♥"; + this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Dock = System.Windows.Forms.DockStyle.Fill; + this.label11.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label11.ForeColor = System.Drawing.Color.Red; + this.label11.Location = new System.Drawing.Point(99, 220); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(13, 22); + this.label11.TabIndex = 10; + this.label11.Text = "♦"; + this.label11.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Dock = System.Windows.Forms.DockStyle.Fill; + this.label12.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label12.Location = new System.Drawing.Point(99, 242); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(13, 23); + this.label12.TabIndex = 11; + this.label12.Text = "♣"; + this.label12.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Dock = System.Windows.Forms.DockStyle.Fill; + this.label13.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label13.Location = new System.Drawing.Point(195, 88); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(13, 22); + this.label13.TabIndex = 12; + this.label13.Text = "♠"; + this.label13.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // label14 + // + this.label14.AutoSize = true; + this.label14.Dock = System.Windows.Forms.DockStyle.Fill; + this.label14.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label14.ForeColor = System.Drawing.Color.Red; + this.label14.Location = new System.Drawing.Point(195, 110); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(13, 22); + this.label14.TabIndex = 13; + this.label14.Text = "♥"; + this.label14.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // label15 + // + this.label15.AutoSize = true; + this.label15.Dock = System.Windows.Forms.DockStyle.Fill; + this.label15.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label15.ForeColor = System.Drawing.Color.Red; + this.label15.Location = new System.Drawing.Point(195, 132); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(13, 22); + this.label15.TabIndex = 14; + this.label15.Text = "♦"; + this.label15.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // label16 + // + this.label16.AutoSize = true; + this.label16.Dock = System.Windows.Forms.DockStyle.Fill; + this.label16.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label16.Location = new System.Drawing.Point(195, 154); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(13, 22); + this.label16.TabIndex = 15; + this.label16.Text = "♣"; + this.label16.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // lNorthSpades + // + this.lNorthSpades.AutoSize = true; + this.lNorthSpades.Dock = System.Windows.Forms.DockStyle.Fill; + this.lNorthSpades.Location = new System.Drawing.Point(118, 0); + this.lNorthSpades.Name = "lNorthSpades"; + this.lNorthSpades.Size = new System.Drawing.Size(71, 22); + this.lNorthSpades.TabIndex = 16; + this.lNorthSpades.Text = "N-S"; + this.lNorthSpades.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // lNorthHearts + // + this.lNorthHearts.AutoSize = true; + this.lNorthHearts.Dock = System.Windows.Forms.DockStyle.Fill; + this.lNorthHearts.Location = new System.Drawing.Point(118, 22); + this.lNorthHearts.Name = "lNorthHearts"; + this.lNorthHearts.Size = new System.Drawing.Size(71, 22); + this.lNorthHearts.TabIndex = 17; + this.lNorthHearts.Text = "N-H"; + this.lNorthHearts.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // lNorthDiamonds + // + this.lNorthDiamonds.AutoSize = true; + this.lNorthDiamonds.Dock = System.Windows.Forms.DockStyle.Fill; + this.lNorthDiamonds.Location = new System.Drawing.Point(118, 44); + this.lNorthDiamonds.Name = "lNorthDiamonds"; + this.lNorthDiamonds.Size = new System.Drawing.Size(71, 22); + this.lNorthDiamonds.TabIndex = 18; + this.lNorthDiamonds.Text = "N-D"; + this.lNorthDiamonds.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // lNorthClubs + // + this.lNorthClubs.AutoSize = true; + this.lNorthClubs.Dock = System.Windows.Forms.DockStyle.Fill; + this.lNorthClubs.Location = new System.Drawing.Point(118, 66); + this.lNorthClubs.Name = "lNorthClubs"; + this.lNorthClubs.Size = new System.Drawing.Size(71, 22); + this.lNorthClubs.TabIndex = 19; + this.lNorthClubs.Text = "N-C"; + this.lNorthClubs.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // lEastSpades + // + this.lEastSpades.AutoSize = true; + this.lEastSpades.Dock = System.Windows.Forms.DockStyle.Fill; + this.lEastSpades.Location = new System.Drawing.Point(214, 88); + this.lEastSpades.Name = "lEastSpades"; + this.lEastSpades.Size = new System.Drawing.Size(75, 22); + this.lEastSpades.TabIndex = 20; + this.lEastSpades.Text = "E-S"; + this.lEastSpades.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // lEastHearts + // + this.lEastHearts.AutoSize = true; + this.lEastHearts.Dock = System.Windows.Forms.DockStyle.Fill; + this.lEastHearts.Location = new System.Drawing.Point(214, 110); + this.lEastHearts.Name = "lEastHearts"; + this.lEastHearts.Size = new System.Drawing.Size(75, 22); + this.lEastHearts.TabIndex = 21; + this.lEastHearts.Text = "E-H"; + this.lEastHearts.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // lEastDiamonds + // + this.lEastDiamonds.AutoSize = true; + this.lEastDiamonds.Dock = System.Windows.Forms.DockStyle.Fill; + this.lEastDiamonds.Location = new System.Drawing.Point(214, 132); + this.lEastDiamonds.Name = "lEastDiamonds"; + this.lEastDiamonds.Size = new System.Drawing.Size(75, 22); + this.lEastDiamonds.TabIndex = 22; + this.lEastDiamonds.Text = "E-D"; + this.lEastDiamonds.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // lEastClubs + // + this.lEastClubs.AutoSize = true; + this.lEastClubs.Dock = System.Windows.Forms.DockStyle.Fill; + this.lEastClubs.Location = new System.Drawing.Point(214, 154); + this.lEastClubs.Name = "lEastClubs"; + this.lEastClubs.Size = new System.Drawing.Size(75, 22); + this.lEastClubs.TabIndex = 23; + this.lEastClubs.Text = "E-C"; + this.lEastClubs.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // lSouthSpades + // + this.lSouthSpades.AutoSize = true; + this.lSouthSpades.Dock = System.Windows.Forms.DockStyle.Fill; + this.lSouthSpades.Location = new System.Drawing.Point(118, 176); + this.lSouthSpades.Name = "lSouthSpades"; + this.lSouthSpades.Size = new System.Drawing.Size(71, 22); + this.lSouthSpades.TabIndex = 24; + this.lSouthSpades.Text = "S-S"; + this.lSouthSpades.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // lSouthHearts + // + this.lSouthHearts.AutoSize = true; + this.lSouthHearts.Dock = System.Windows.Forms.DockStyle.Fill; + this.lSouthHearts.Location = new System.Drawing.Point(118, 198); + this.lSouthHearts.Name = "lSouthHearts"; + this.lSouthHearts.Size = new System.Drawing.Size(71, 22); + this.lSouthHearts.TabIndex = 25; + this.lSouthHearts.Text = "S-H"; + this.lSouthHearts.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // lSouthDiamonds + // + this.lSouthDiamonds.AutoSize = true; + this.lSouthDiamonds.Dock = System.Windows.Forms.DockStyle.Fill; + this.lSouthDiamonds.Location = new System.Drawing.Point(118, 220); + this.lSouthDiamonds.Name = "lSouthDiamonds"; + this.lSouthDiamonds.Size = new System.Drawing.Size(71, 22); + this.lSouthDiamonds.TabIndex = 26; + this.lSouthDiamonds.Text = "S-D"; + this.lSouthDiamonds.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // lSouthClubs + // + this.lSouthClubs.AutoSize = true; + this.lSouthClubs.Dock = System.Windows.Forms.DockStyle.Fill; + this.lSouthClubs.Location = new System.Drawing.Point(118, 242); + this.lSouthClubs.Name = "lSouthClubs"; + this.lSouthClubs.Size = new System.Drawing.Size(71, 23); + this.lSouthClubs.TabIndex = 27; + this.lSouthClubs.Text = "S-C"; + this.lSouthClubs.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // lWestClubs + // + this.lWestClubs.AutoSize = true; + this.lWestClubs.Dock = System.Windows.Forms.DockStyle.Fill; + this.lWestClubs.Location = new System.Drawing.Point(22, 154); + this.lWestClubs.Name = "lWestClubs"; + this.lWestClubs.Size = new System.Drawing.Size(71, 22); + this.lWestClubs.TabIndex = 28; + this.lWestClubs.Text = "W-C"; + this.lWestClubs.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // lWestDiamonds + // + this.lWestDiamonds.AutoSize = true; + this.lWestDiamonds.Dock = System.Windows.Forms.DockStyle.Fill; + this.lWestDiamonds.Location = new System.Drawing.Point(22, 132); + this.lWestDiamonds.Name = "lWestDiamonds"; + this.lWestDiamonds.Size = new System.Drawing.Size(71, 22); + this.lWestDiamonds.TabIndex = 29; + this.lWestDiamonds.Text = "W-D"; + this.lWestDiamonds.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // lWestHearts + // + this.lWestHearts.AutoSize = true; + this.lWestHearts.Dock = System.Windows.Forms.DockStyle.Fill; + this.lWestHearts.Location = new System.Drawing.Point(22, 110); + this.lWestHearts.Name = "lWestHearts"; + this.lWestHearts.Size = new System.Drawing.Size(71, 22); + this.lWestHearts.TabIndex = 30; + this.lWestHearts.Text = "W-H"; + this.lWestHearts.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // lWestSpades + // + this.lWestSpades.AutoSize = true; + this.lWestSpades.Dock = System.Windows.Forms.DockStyle.Fill; + this.lWestSpades.Location = new System.Drawing.Point(22, 88); + this.lWestSpades.Name = "lWestSpades"; + this.lWestSpades.Size = new System.Drawing.Size(71, 22); + this.lWestSpades.TabIndex = 31; + this.lWestSpades.Text = "W-S"; + this.lWestSpades.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // HandRecordPreview + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(292, 265); + this.Controls.Add(this.tableLayoutPanel1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.Name = "HandRecordPreview"; + this.ShowInTaskbar = false; + this.tableLayoutPanel1.ResumeLayout(false); + this.tableLayoutPanel1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + 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.Label label11; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.Label label14; + private System.Windows.Forms.Label label15; + private System.Windows.Forms.Label label16; + private System.Windows.Forms.Label lNorthSpades; + private System.Windows.Forms.Label lNorthHearts; + private System.Windows.Forms.Label lNorthDiamonds; + private System.Windows.Forms.Label lNorthClubs; + private System.Windows.Forms.Label lEastSpades; + private System.Windows.Forms.Label lEastHearts; + private System.Windows.Forms.Label lEastDiamonds; + private System.Windows.Forms.Label lEastClubs; + private System.Windows.Forms.Label lSouthSpades; + private System.Windows.Forms.Label lSouthHearts; + private System.Windows.Forms.Label lSouthDiamonds; + private System.Windows.Forms.Label lSouthClubs; + private System.Windows.Forms.Label lWestClubs; + private System.Windows.Forms.Label lWestDiamonds; + private System.Windows.Forms.Label lWestHearts; + private System.Windows.Forms.Label lWestSpades; + } +} \ No newline at end of file diff --git a/Aktywator/HandRecordPreview.cs b/Aktywator/HandRecordPreview.cs new file mode 100644 index 0000000..d5e8446 --- /dev/null +++ b/Aktywator/HandRecordPreview.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; + +namespace Aktywator +{ + public partial class HandRecordPreview : Form + { + public HandRecordPreview() + { + InitializeComponent(); + } + + internal HandRecordPreview(HandRecord record, string boardNo) : this() + { + lNorthSpades.Text = record.north[0]; + lNorthHearts.Text = record.north[1]; + lNorthDiamonds.Text = record.north[2]; + lNorthClubs.Text = record.north[3]; + lEastSpades.Text = record.east[0]; + lEastHearts.Text = record.east[1]; + lEastDiamonds.Text = record.east[2]; + lEastClubs.Text = record.east[3]; + lSouthSpades.Text = record.south[0]; + lSouthHearts.Text = record.south[1]; + lSouthDiamonds.Text = record.south[2]; + lSouthClubs.Text = record.south[3]; + lWestSpades.Text = record.north[0]; + lWestHearts.Text = record.north[1]; + lWestDiamonds.Text = record.north[2]; + lWestClubs.Text = record.west[3]; + this.Text = "ROZDANIE " + boardNo; + } + } +} diff --git a/Aktywator/HandRecordPreview.resx b/Aktywator/HandRecordPreview.resx new file mode 100644 index 0000000..7080a7d --- /dev/null +++ b/Aktywator/HandRecordPreview.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Aktywator/MainForm.Designer.cs b/Aktywator/MainForm.Designer.cs index 6c5dc8e..11af8cb 100644 --- a/Aktywator/MainForm.Designer.cs +++ b/Aktywator/MainForm.Designer.cs @@ -30,6 +30,7 @@ { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); this.open = new System.Windows.Forms.OpenFileDialog(); this.statusStrip1 = new System.Windows.Forms.StatusStrip(); this.status1 = new System.Windows.Forms.ToolStripStatusLabel(); @@ -125,11 +126,19 @@ this.bForceSync = new System.Windows.Forms.ToolStripButton(); this.bTruncate = new System.Windows.Forms.ToolStripButton(); this.tabPage3 = new System.Windows.Forms.TabPage(); + this.label17 = new System.Windows.Forms.Label(); + this.label18 = new System.Windows.Forms.Label(); + this.label15 = new System.Windows.Forms.Label(); + this.label16 = new System.Windows.Forms.Label(); + this.label13 = new System.Windows.Forms.Label(); + this.label14 = new System.Windows.Forms.Label(); + this.label12 = new System.Windows.Forms.Label(); + this.label10 = new System.Windows.Forms.Label(); + this.gwSections = new System.Windows.Forms.DataGridView(); this.toolStrip3 = new System.Windows.Forms.ToolStrip(); this.bLoadHands = new System.Windows.Forms.ToolStripButton(); this.bClearHands = new System.Windows.Forms.ToolStripButton(); this.lRecordSections = new System.Windows.Forms.Label(); - this.cblSections = new System.Windows.Forms.CheckedListBox(); this.label11 = new System.Windows.Forms.Label(); this.timer = new System.Windows.Forms.Timer(this.components); this.openPBN = new System.Windows.Forms.OpenFileDialog(); @@ -159,6 +168,7 @@ this.syncToolStrip.SuspendLayout(); this.toolStrip4.SuspendLayout(); this.tabPage3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.gwSections)).BeginInit(); this.toolStrip3.SuspendLayout(); this.toolStrip1.SuspendLayout(); this.SuspendLayout(); @@ -1188,9 +1198,17 @@ // // tabPage3 // + this.tabPage3.Controls.Add(this.label17); + this.tabPage3.Controls.Add(this.label18); + this.tabPage3.Controls.Add(this.label15); + this.tabPage3.Controls.Add(this.label16); + this.tabPage3.Controls.Add(this.label13); + this.tabPage3.Controls.Add(this.label14); + this.tabPage3.Controls.Add(this.label12); + this.tabPage3.Controls.Add(this.label10); + this.tabPage3.Controls.Add(this.gwSections); this.tabPage3.Controls.Add(this.toolStrip3); this.tabPage3.Controls.Add(this.lRecordSections); - this.tabPage3.Controls.Add(this.cblSections); this.tabPage3.Controls.Add(this.label11); this.tabPage3.Location = new System.Drawing.Point(4, 22); this.tabPage3.Name = "tabPage3"; @@ -1200,15 +1218,129 @@ this.tabPage3.Text = "Rozkłady"; this.tabPage3.UseVisualStyleBackColor = true; // + // label17 + // + this.label17.AutoSize = true; + this.label17.Location = new System.Drawing.Point(458, 460); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(71, 13); + this.label17.TabIndex = 18; + this.label17.Text = "brak rozdania"; + // + // label18 + // + this.label18.AutoSize = true; + this.label18.BackColor = System.Drawing.SystemColors.ControlDark; + this.label18.Location = new System.Drawing.Point(432, 456); + this.label18.MinimumSize = new System.Drawing.Size(20, 20); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(20, 20); + this.label18.TabIndex = 17; + this.label18.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // label15 + // + this.label15.AutoSize = true; + this.label15.Location = new System.Drawing.Point(322, 460); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(104, 13); + this.label15.TabIndex = 16; + this.label15.Text = "rozkład niewczytany"; + // + // label16 + // + this.label16.AutoSize = true; + this.label16.BackColor = System.Drawing.Color.Crimson; + this.label16.Location = new System.Drawing.Point(296, 456); + this.label16.MinimumSize = new System.Drawing.Size(20, 20); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(20, 20); + this.label16.TabIndex = 15; + this.label16.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(156, 460); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(134, 13); + this.label13.TabIndex = 14; + this.label13.Text = "rozkład wczytany z analizą"; + // + // label14 + // + this.label14.AutoSize = true; + this.label14.BackColor = System.Drawing.Color.LimeGreen; + this.label14.ForeColor = System.Drawing.Color.White; + this.label14.Location = new System.Drawing.Point(130, 456); + this.label14.MinimumSize = new System.Drawing.Size(20, 20); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(20, 20); + this.label14.TabIndex = 13; + this.label14.Text = "A"; + this.label14.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(34, 460); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(90, 13); + this.label12.TabIndex = 12; + this.label12.Text = "rozkład wczytany"; + // + // label10 + // + this.label10.AutoSize = true; + this.label10.BackColor = System.Drawing.Color.LimeGreen; + this.label10.Location = new System.Drawing.Point(8, 456); + this.label10.MinimumSize = new System.Drawing.Size(20, 20); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(20, 20); + this.label10.TabIndex = 11; + this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // gwSections + // + this.gwSections.AllowUserToAddRows = false; + this.gwSections.AllowUserToDeleteRows = false; + this.gwSections.AllowUserToResizeColumns = false; + this.gwSections.AllowUserToResizeRows = false; + this.gwSections.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.Disable; + this.gwSections.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Sunken; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.TopLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.gwSections.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1; + this.gwSections.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.gwSections.Location = new System.Drawing.Point(9, 118); + this.gwSections.MultiSelect = false; + this.gwSections.Name = "gwSections"; + this.gwSections.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders; + this.gwSections.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect; + this.gwSections.ShowCellErrors = false; + this.gwSections.ShowEditingIcon = false; + this.gwSections.ShowRowErrors = false; + this.gwSections.Size = new System.Drawing.Size(554, 335); + this.gwSections.TabIndex = 10; + this.gwSections.CellContentDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.gwSections_CellDoubleClick); + this.gwSections.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.gwSections_CellDoubleClick); + this.gwSections.CurrentCellDirtyStateChanged += new System.EventHandler(this.gwSections_CurrentCellDirtyStateChanged); + // // toolStrip3 // this.toolStrip3.BackColor = System.Drawing.Color.White; + this.toolStrip3.Dock = System.Windows.Forms.DockStyle.Bottom; this.toolStrip3.GripMargin = new System.Windows.Forms.Padding(0); this.toolStrip3.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; this.toolStrip3.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.bLoadHands, this.bClearHands}); - this.toolStrip3.Location = new System.Drawing.Point(3, 3); + this.toolStrip3.Location = new System.Drawing.Point(3, 483); this.toolStrip3.Name = "toolStrip3"; this.toolStrip3.Size = new System.Drawing.Size(563, 25); this.toolStrip3.TabIndex = 9; @@ -1220,8 +1352,8 @@ this.bLoadHands.Image = ((System.Drawing.Image)(resources.GetObject("bLoadHands.Image"))); this.bLoadHands.ImageTransparentColor = System.Drawing.Color.Magenta; this.bLoadHands.Name = "bLoadHands"; - this.bLoadHands.Size = new System.Drawing.Size(122, 22); - this.bLoadHands.Text = "Wczytaj rozkłady"; + this.bLoadHands.Size = new System.Drawing.Size(274, 22); + this.bLoadHands.Text = "Wczytaj rozkłady do zaznaczonych sektorów"; this.bLoadHands.Click += new System.EventHandler(this.bLoadHands_Click); // // bClearHands @@ -1238,26 +1370,16 @@ // this.lRecordSections.AutoSize = true; this.lRecordSections.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); - this.lRecordSections.Location = new System.Drawing.Point(6, 138); + this.lRecordSections.Location = new System.Drawing.Point(6, 102); this.lRecordSections.Name = "lRecordSections"; this.lRecordSections.Size = new System.Drawing.Size(54, 13); this.lRecordSections.TabIndex = 7; this.lRecordSections.Text = "Sektory:"; // - // cblSections - // - this.cblSections.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.cblSections.CheckOnClick = true; - this.cblSections.FormattingEnabled = true; - this.cblSections.Location = new System.Drawing.Point(9, 162); - this.cblSections.Name = "cblSections"; - this.cblSections.Size = new System.Drawing.Size(546, 285); - this.cblSections.TabIndex = 6; - // // label11 // this.label11.AutoSize = true; - this.label11.Location = new System.Drawing.Point(6, 49); + this.label11.Location = new System.Drawing.Point(6, 12); this.label11.Name = "label11"; this.label11.Size = new System.Drawing.Size(479, 78); this.label11.TabIndex = 1; @@ -1374,6 +1496,7 @@ this.toolStrip4.PerformLayout(); this.tabPage3.ResumeLayout(false); this.tabPage3.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.gwSections)).EndInit(); this.toolStrip3.ResumeLayout(false); this.toolStrip3.PerformLayout(); this.toolStrip1.ResumeLayout(false); @@ -1436,7 +1559,6 @@ public System.Windows.Forms.CheckBox xCollectPlay; public System.Windows.Forms.CheckBox xCollectBidding; public System.Windows.Forms.CheckBox xCheckLeadCard; - public System.Windows.Forms.CheckedListBox cblSections; private System.Windows.Forms.Label lRecordSections; private System.Windows.Forms.GroupBox groupBox6; private System.Windows.Forms.GroupBox groupBox7; @@ -1493,6 +1615,15 @@ public System.Windows.Forms.Label lGroupSectionsWarning; internal System.Windows.Forms.Button bTeamsNamesSettings; public System.Windows.Forms.Timer namesTimer; + public System.Windows.Forms.DataGridView gwSections; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.Label label17; + private System.Windows.Forms.Label label18; + private System.Windows.Forms.Label label15; + private System.Windows.Forms.Label label16; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.Label label14; + private System.Windows.Forms.Label label12; } } diff --git a/Aktywator/MainForm.cs b/Aktywator/MainForm.cs index 10fa819..602a260 100644 --- a/Aktywator/MainForm.cs +++ b/Aktywator/MainForm.cs @@ -595,5 +595,24 @@ namespace Aktywator tabControl1.Enabled = true; this.Cursor = Cursors.Default; } + + private void gwSections_CellDoubleClick(object sender, DataGridViewCellEventArgs e) + { + if (e.RowIndex > -1 && e.ColumnIndex > 0 && gwSections.Rows[e.RowIndex].Cells[e.ColumnIndex].Tag != null) + { + HandRecordPreview preview = new HandRecordPreview((HandRecord)gwSections.Rows[e.RowIndex].Cells[e.ColumnIndex].Tag, gwSections.Rows[e.RowIndex].HeaderCell.Value + "-" + gwSections.Columns[e.ColumnIndex].HeaderCell.Value); + preview.ShowDialog(); + } + } + + private void gwSections_CurrentCellDirtyStateChanged(object sender, EventArgs e) + { + DataGridView grid = (DataGridView)sender; + if (grid.IsCurrentCellDirty) + { + grid.CommitEdit(DataGridViewDataErrorContexts.Commit); + } + } + } } diff --git a/Aktywator/MainForm.resx b/Aktywator/MainForm.resx index da61849..652834c 100644 --- a/Aktywator/MainForm.resx +++ b/Aktywator/MainForm.resx @@ -178,7 +178,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6 - JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsPAAALDwGS+QOlAAACOUlE + JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsMAAALDAE/QCLIAAACOUlE QVQ4T6WN30tTYRjHz1/QRRdddG8ZERlkYEKCRDDJYsOpFYgNnRkS5jLdYgqGo2CRpZCVNldqls62RGds beZmg3A/zM1xrJ3J6mJhaoOgdnTn23vO8BebEfTA933Oed/n83koAP+VlAvHiAZvDS0w6pTkd/tbugiH 6V0QwzY/dHcuYCXah5/Rx4gEtGhpKIfe+B66YQcZ20FgnJgjPVlPHygQ8rcj4GqKBewVbNX5EwiFwsJb @@ -299,22 +299,22 @@ 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 @@ -331,56 +331,56 @@ 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 gg== @@ -407,35 +407,35 @@ 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 @@ -484,7 +484,7 @@ to także należy ręcznie zrobić Upload. 343, 21 - 43 + 55 diff --git a/Aktywator/Resources/BuildDate.txt b/Aktywator/Resources/BuildDate.txt index c915427..6d547b9 100644 --- a/Aktywator/Resources/BuildDate.txt +++ b/Aktywator/Resources/BuildDate.txt @@ -1 +1 @@ -2017-09-21 +2017-09-27 -- cgit v1.2.3