- Material Pair 리스트뷰로 변경 및 그래프 refresh 수정

This commit is contained in:
2017-06-23 02:21:25 +09:00
parent 902c78615b
commit c5344b873f
4 changed files with 159 additions and 60 deletions

View File

@@ -185,25 +185,32 @@ namespace friction
#region Events from panels #region Events from panels
public void OnApplyData(string strSpring, string strTable) public void OnApplyData(string strSpring, string strTable)
{ {
Console.WriteLine(string.Format("[start] MainForm::OnApplyData({0}, {1})", strSpring, strTable));
m_DataHandler.SetSelectedMaterial(strSpring, strTable);
if (strTable == "All") if (strTable == "All")
{ {
trendGraphToolStripMenuItem.Enabled = toolStripButtonTrendGraph.Enabled = false; trendGraphToolStripMenuItem.Enabled = toolStripButtonTrendGraph.Enabled = false;
radarGraphToolStripMenuItem.Enabled = toolStripButtonRadarGraph.Enabled = true; radarGraphToolStripMenuItem.Enabled = toolStripButtonRadarGraph.Enabled = true;
if (m_RadarGraphPanel.Visible == true) if (m_RadarGraphPanel != null)
m_RadarGraphPanel.UpdateGraph(); m_RadarGraphPanel.UpdateGraph();
if (m_TrendGraphPanel != null)
m_TrendGraphPanel.UpdateGraph();
} }
else else
{ {
trendGraphToolStripMenuItem.Enabled = toolStripButtonTrendGraph.Enabled = true; trendGraphToolStripMenuItem.Enabled = toolStripButtonTrendGraph.Enabled = true;
radarGraphToolStripMenuItem.Enabled = toolStripButtonRadarGraph.Enabled = false; radarGraphToolStripMenuItem.Enabled = toolStripButtonRadarGraph.Enabled = false;
if (m_TrendGraphPanel.Visible == true) if (m_TrendGraphPanel != null)
m_TrendGraphPanel.UpdateGraph(); m_TrendGraphPanel.UpdateGraph();
} }
m_DataHandler.SetSelectedMaterial(strSpring, strTable);
m_AnalysisPanel.UpdateData(m_DataHandler); m_AnalysisPanel.UpdateData(m_DataHandler);
Console.WriteLine(string.Format("[end ] MainForm::OnApplyData({0}, {1})", strSpring, strTable));
} }
public void OnRadarSelectTable(string strTable) public void OnRadarSelectTable(string strTable)

View File

@@ -28,43 +28,15 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.cbMaterialTable = new System.Windows.Forms.ComboBox();
this.cbMaterialSpring = new System.Windows.Forms.ComboBox();
this.btApply = new System.Windows.Forms.Button();
this.lbFileName = new System.Windows.Forms.Label(); this.lbFileName = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label();
this.lvSpring = new System.Windows.Forms.ListView();
this.lvchSpring = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.lvTable = new System.Windows.Forms.ListView();
this.lvchTable = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.SuspendLayout(); this.SuspendLayout();
// //
// cbMaterialTable
//
this.cbMaterialTable.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbMaterialTable.FormattingEnabled = true;
this.cbMaterialTable.Location = new System.Drawing.Point(32, 122);
this.cbMaterialTable.Name = "cbMaterialTable";
this.cbMaterialTable.Size = new System.Drawing.Size(121, 20);
this.cbMaterialTable.TabIndex = 1;
//
// cbMaterialSpring
//
this.cbMaterialSpring.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbMaterialSpring.FormattingEnabled = true;
this.cbMaterialSpring.Location = new System.Drawing.Point(32, 61);
this.cbMaterialSpring.Name = "cbMaterialSpring";
this.cbMaterialSpring.Size = new System.Drawing.Size(121, 20);
this.cbMaterialSpring.TabIndex = 2;
//
// btApply
//
this.btApply.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btApply.Location = new System.Drawing.Point(32, 179);
this.btApply.Name = "btApply";
this.btApply.Size = new System.Drawing.Size(75, 23);
this.btApply.TabIndex = 3;
this.btApply.Text = "Apply";
this.btApply.UseVisualStyleBackColor = true;
this.btApply.Click += new System.EventHandler(this.btApply_Click);
//
// lbFileName // lbFileName
// //
this.lbFileName.AutoSize = true; this.lbFileName.AutoSize = true;
@@ -77,7 +49,7 @@
// label2 // label2
// //
this.label2.AutoSize = true; this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(30, 46); this.label2.Location = new System.Drawing.Point(12, 46);
this.label2.Name = "label2"; this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(90, 12); this.label2.Size = new System.Drawing.Size(90, 12);
this.label2.TabIndex = 5; this.label2.TabIndex = 5;
@@ -85,25 +57,70 @@
// //
// label3 // label3
// //
this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.label3.AutoSize = true; this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(30, 107); this.label3.Location = new System.Drawing.Point(10, 424);
this.label3.Name = "label3"; this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(86, 12); this.label3.Size = new System.Drawing.Size(86, 12);
this.label3.TabIndex = 6; this.label3.TabIndex = 6;
this.label3.Text = "Material Table"; this.label3.Text = "Material Table";
// //
// lvSpring
//
this.lvSpring.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.lvSpring.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.lvchSpring});
this.lvSpring.FullRowSelect = true;
this.lvSpring.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
this.lvSpring.Location = new System.Drawing.Point(12, 61);
this.lvSpring.Name = "lvSpring";
this.lvSpring.Size = new System.Drawing.Size(326, 343);
this.lvSpring.TabIndex = 7;
this.lvSpring.UseCompatibleStateImageBehavior = false;
this.lvSpring.View = System.Windows.Forms.View.Details;
this.lvSpring.SizeChanged += new System.EventHandler(this.lvSpring_SizeChanged);
this.lvSpring.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.lvSpring_MouseDoubleClick);
//
// lvchSpring
//
this.lvchSpring.Text = "Material Spring";
this.lvchSpring.Width = 308;
//
// lvTable
//
this.lvTable.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.lvTable.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.lvchTable});
this.lvTable.FullRowSelect = true;
this.lvTable.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
this.lvTable.Location = new System.Drawing.Point(12, 439);
this.lvTable.Name = "lvTable";
this.lvTable.Size = new System.Drawing.Size(326, 276);
this.lvTable.TabIndex = 8;
this.lvTable.UseCompatibleStateImageBehavior = false;
this.lvTable.View = System.Windows.Forms.View.Details;
this.lvTable.SizeChanged += new System.EventHandler(this.lvTable_SizeChanged);
this.lvTable.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.lvTable_MouseDoubleClick);
//
// lvchTable
//
this.lvchTable.Text = "Table";
this.lvchTable.Width = 305;
//
// PanelMaterial // PanelMaterial
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(284, 261); this.ClientSize = new System.Drawing.Size(350, 727);
this.ControlBox = false; this.ControlBox = false;
this.Controls.Add(this.lvTable);
this.Controls.Add(this.lvSpring);
this.Controls.Add(this.label3); this.Controls.Add(this.label3);
this.Controls.Add(this.label2); this.Controls.Add(this.label2);
this.Controls.Add(this.lbFileName); this.Controls.Add(this.lbFileName);
this.Controls.Add(this.btApply);
this.Controls.Add(this.cbMaterialSpring);
this.Controls.Add(this.cbMaterialTable);
this.HideOnClose = true; this.HideOnClose = true;
this.Name = "PanelMaterial"; this.Name = "PanelMaterial";
this.ShowHint = WeifenLuo.WinFormsUI.Docking.DockState.DockLeft; this.ShowHint = WeifenLuo.WinFormsUI.Docking.DockState.DockLeft;
@@ -115,12 +132,12 @@
} }
#endregion #endregion
private System.Windows.Forms.ComboBox cbMaterialTable;
private System.Windows.Forms.ComboBox cbMaterialSpring;
private System.Windows.Forms.Button btApply;
private System.Windows.Forms.Label lbFileName; private System.Windows.Forms.Label lbFileName;
private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label3;
private System.Windows.Forms.ListView lvSpring;
private System.Windows.Forms.ListView lvTable;
private System.Windows.Forms.ColumnHeader lvchSpring;
private System.Windows.Forms.ColumnHeader lvchTable;
} }
} }

View File

@@ -15,6 +15,9 @@ namespace friction
{ {
MainForm m_Owner = null; MainForm m_Owner = null;
ListViewItem m_SelectedSpring = null;
ListViewItem m_SelectedTable = null;
public PanelMaterial(MainForm owner) public PanelMaterial(MainForm owner)
{ {
InitializeComponent(); InitializeComponent();
@@ -23,35 +26,88 @@ namespace friction
this.ApplyTheme(); this.ApplyTheme();
Theme.Apply(this); Theme.Apply(this);
Theme.Apply(cbMaterialSpring); Theme.Apply(lvSpring);
Theme.Apply(cbMaterialTable); Theme.Apply(lvTable);
Theme.Apply(btApply);
} }
public void UpdateData(DataHandler data) public void UpdateData(DataHandler data)
{ {
m_SelectedSpring = null;
m_SelectedTable = null;
var SpringList = data.GetSpringList(); var SpringList = data.GetSpringList();
var TableList = data.GetTableList(); var TableList = data.GetTableList();
cbMaterialSpring.Items.Clear(); lvSpring.Items.Clear();
foreach (var x in SpringList) foreach (var x in SpringList)
cbMaterialSpring.Items.Add(x); lvSpring.Items.Add(x);
cbMaterialSpring.SelectedIndex = 0;
lvTable.Items.Clear();
cbMaterialTable.Items.Clear(); lvTable.Items.Add("All");
cbMaterialTable.Items.Add("All");
foreach (var x in TableList) foreach (var x in TableList)
cbMaterialTable.Items.Add(x); lvTable.Items.Add(x);
cbMaterialTable.SelectedIndex = 0;
lvSpring.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
lvTable.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
lbFileName.Text = data.GetFileName(); lbFileName.Text = data.GetFileName();
m_Owner.OnApplyData((string)cbMaterialSpring.SelectedItem, (string)cbMaterialTable.SelectedItem); SelectSpring(0);
SelectTable(0);
} }
private void btApply_Click(object sender, EventArgs e) private void lvSpring_SizeChanged(object sender, EventArgs e)
{ {
m_Owner.OnApplyData((string)cbMaterialSpring.SelectedItem, (string)cbMaterialTable.SelectedItem); lvSpring.Columns[0].Width = lvSpring.Width - SystemInformation.VerticalScrollBarWidth - lvSpring.Margin.Right*2;
}
private void lvTable_SizeChanged(object sender, EventArgs e)
{
lvTable.Columns[0].Width = lvTable.Width - SystemInformation.VerticalScrollBarWidth - lvTable.Margin.Right*2;
}
private void SelectSpring(int iIdx)
{
if (m_SelectedSpring != null)
{
m_SelectedSpring.Font = lvSpring.Font;
m_SelectedSpring.ForeColor = Theme.Forecolor;
}
m_SelectedSpring = lvSpring.Items[iIdx];
m_SelectedSpring.Font = new Font(lvSpring.Font, FontStyle.Bold);
m_SelectedSpring.ForeColor = Color.Orange;
if(m_SelectedSpring != null && m_SelectedTable != null)
m_Owner.OnApplyData(m_SelectedSpring.Text, m_SelectedTable.Text);
}
private void SelectTable(int iIdx)
{
if (m_SelectedTable != null)
{
m_SelectedTable.Font = lvTable.Font;
m_SelectedTable.ForeColor = Theme.Forecolor;
}
m_SelectedTable = lvTable.Items[iIdx];
m_SelectedTable.Font = new Font(lvTable.Font, FontStyle.Bold);
m_SelectedTable.ForeColor = Color.Orange;
if (m_SelectedSpring != null && m_SelectedTable != null)
m_Owner.OnApplyData(m_SelectedSpring.Text, m_SelectedTable.Text);
}
private void lvSpring_MouseDoubleClick(object sender, MouseEventArgs e)
{
if(lvSpring.SelectedIndices.Count == 1)
SelectSpring(lvSpring.SelectedIndices[0]);
}
private void lvTable_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (lvTable.SelectedIndices.Count == 1)
SelectTable(lvTable.SelectedIndices[0]);
} }
} }
} }

View File

@@ -112,13 +112,30 @@ namespace friction
string strSpring = m_DataHandler.GetCurSpring(); string strSpring = m_DataHandler.GetCurSpring();
string strTable = m_DataHandler.GetCurTable(); string strTable = m_DataHandler.GetCurTable();
if (m_CurSpring == strSpring && m_CurTable == strTable && rbHumidity.Checked == m_bHumidity) Console.WriteLine(string.Format("[start] TrendGraph::UpdateGraph ({0}, {1}) -> ({2}, {3})",
m_CurSpring, m_CurTable, strSpring, strTable));
if (m_CurSpring == strSpring && m_CurTable == strTable
&& rbHumidity.Checked == m_bHumidity
&& m_bHumidity == rbHumidity.Checked)
{
return; return;
}
var Chart = m_DataHandler.GetHumidityChart(strSpring, strTable); var Chart = m_DataHandler.GetHumidityChart(strSpring, strTable);
if (Chart.Count <= 0) if (Chart.Count <= 0)
{
foreach(Series series in trendChart.Series)
series.Values.Clear();
m_CurSpring = strSpring;
m_CurTable = strTable;
m_bHumidity = rbHumidity.Checked;
return; return;
}
string strTitle = ""; string strTitle = "";
double dMin = 0; double dMin = 0;
@@ -260,6 +277,8 @@ namespace friction
m_CurSpring = strSpring; m_CurSpring = strSpring;
m_CurTable = strTable; m_CurTable = strTable;
m_bHumidity = rbHumidity.Checked; m_bHumidity = rbHumidity.Checked;
Console.WriteLine(string.Format("[end ] TrendGraph::UpdateGraph({0}, {1})", strSpring, strTable));
} }
private void rbHumidity_CheckedChanged(object sender, EventArgs e) private void rbHumidity_CheckedChanged(object sender, EventArgs e)