Files
friction/PanelAnalysis.cs
mjjo53 44841453e9 - Congig 추가
- friction.exe -> squeak.exe
- 색상 변경
- analysis 기준 변경
2017-06-21 02:41:29 +09:00

137 lines
3.9 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;
namespace friction
{
public partial class PanelAnalysis : DockContent
{
MainForm m_Owner = null;
string m_CurSpring = "";
public PanelAnalysis(MainForm owner)
{
InitializeComponent();
m_Owner = owner;
Theme.Apply(this);
Theme.Apply(dgvAnalysis);
typeof(DataGridView).InvokeMember("DoubleBuffered",
BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.SetProperty,
null, dgvAnalysis, new object[] { true });
lbInfo11.BackColor = Theme.Green;
lbInfo12.BackColor = Theme.Yellow;
lbInfo13.BackColor = Theme.Red;
lbInfo21.BackColor = Theme.Green;
lbInfo22.BackColor = Theme.Yellow;
lbInfo23.BackColor = Theme.Red;
lbInfo24.BackColor = Theme.Gray;
}
public void Reset()
{
m_CurSpring = "";
}
private Color GetDependancyColor(float fValue, int iCnt)
{
Config.ANALYSIS.DEPENDANCY Type = Config.ANALYSIS.GetDependancy(fValue, iCnt);
switch(Type)
{
case Config.ANALYSIS.DEPENDANCY.NO:
return Theme.Green;
case Config.ANALYSIS.DEPENDANCY.POTENTIAL:
return Theme.Yellow;
case Config.ANALYSIS.DEPENDANCY.HIGH:
return Theme.Red;
case Config.ANALYSIS.DEPENDANCY.NOT_ENNOUGH_DATA:
return Theme.Gray;
}
return Theme.White;
}
public void UpdateData(DataHandler data)
{
string strSpring = data.GetCurSpring();
if (strSpring == m_CurSpring)
return;
dgvAnalysis.Columns.Clear();
dgvAnalysis.Rows.Clear();
dgvAnalysis.DefaultCellStyle.Format = "N2";
dgvAnalysis.Columns.Add("chTable", "Table");
dgvAnalysis.Columns.Add("chNoTest", "No. of Tests");
dgvAnalysis.Columns.Add("chAvg", "Average RPN");
dgvAnalysis.Columns.Add("chSTD", "Standard Deviation");
dgvAnalysis.Columns.Add("chForce", "Normal Force");
dgvAnalysis.Columns.Add("chTemp", "Temperature");
dgvAnalysis.Columns.Add("chHumi", "Rel. Humidity");
dgvAnalysis.Columns.Add("chVel", "Velocity");
foreach (string strTable in data.GetTableList())
{
DataHandler.CalcResult result = data.GetCalc(strSpring, strTable);
int iIdx = dgvAnalysis.Rows.Add(strTable, result.m_iCnt, result.m_fAvgRPN, result.m_fStdRPN, result.m_fDiffByForce, result.m_fDiffByTemp, result.m_fDiffByHumid, result.m_fDiffByVel);
Config.ANALYSIS.RISK RiskType = Config.ANALYSIS.GetRisk(result.m_fAvgRPN);
Config.ANALYSIS.DEPENDANCY DependancyType = Config.ANALYSIS.GetDependancy(result.m_fStdRPN, result.m_iCnt);
if(DependancyType == Config.ANALYSIS.DEPENDANCY.NOT_ENNOUGH_DATA)
{
for (int i = 2; i <= 7; i++)
{
dgvAnalysis.Rows[iIdx].Cells[i].Style.BackColor = Theme.Gray;
dgvAnalysis.Rows[iIdx].Cells[i].Style.ForeColor = Theme.Backcolor;
}
}
else
{
switch (RiskType)
{
case Config.ANALYSIS.RISK.NO:
dgvAnalysis.Rows[iIdx].Cells[2].Style.BackColor = Theme.Green;
break;
case Config.ANALYSIS.RISK.POTENTIAL:
dgvAnalysis.Rows[iIdx].Cells[2].Style.BackColor = Theme.Yellow;
break;
case Config.ANALYSIS.RISK.HIGH:
dgvAnalysis.Rows[iIdx].Cells[2].Style.BackColor = Theme.Red;
break;
}
dgvAnalysis.Rows[iIdx].Cells[3].Style.BackColor = GetDependancyColor(result.m_fStdRPN, result.m_iCnt);
dgvAnalysis.Rows[iIdx].Cells[4].Style.BackColor = GetDependancyColor(result.m_fDiffByForce, result.m_iCnt);
dgvAnalysis.Rows[iIdx].Cells[5].Style.BackColor = GetDependancyColor(result.m_fDiffByTemp, result.m_iCnt);
dgvAnalysis.Rows[iIdx].Cells[6].Style.BackColor = GetDependancyColor(result.m_fDiffByHumid, result.m_iCnt);
dgvAnalysis.Rows[iIdx].Cells[7].Style.BackColor = GetDependancyColor(result.m_fDiffByVel, result.m_iCnt);
}
}
m_CurSpring = strSpring;
}
}
}