Files
friction/PanelMaterial.cs
mjjo53 879b3abda4 - 글자 크기와 툴바 아이콘 크기 조정
- Material compatibility table 리포트에 추가
- Material compatibility table 정렬되지 않도록
- 탭 패널 아이콘 적용

Radar Graph
- 항목의 폰트 크기 조정
- 영역에 색 지정 데이터는 라인으로
- 이 창을 띄울 땐 무조건 All이 선택되도록
- 데이터가 3개보다 적을 때 팝업

Trend Graph
- 재질 쌍 표시
- 영역 색을 조정

Analysis Table
- 재질 더블클릭 시 Material Table이 선택
2017-06-28 01:26:07 +09:00

134 lines
3.1 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;
namespace friction
{
public partial class PanelMaterial : DockContent
{
MainForm m_Owner = null;
ListViewItem m_SelectedSpring = null;
ListViewItem m_SelectedTable = null;
public PanelMaterial(MainForm owner)
{
InitializeComponent();
m_Owner = owner;
this.ApplyTheme();
Theme.Apply(this);
Theme.Apply(lvSpring);
Theme.Apply(lvTable);
}
public void UpdateData(DataHandler data)
{
m_SelectedSpring = null;
m_SelectedTable = null;
var SpringList = data.GetSpringList();
var TableList = data.GetTableList();
lvSpring.Items.Clear();
foreach (var x in SpringList)
lvSpring.Items.Add(x);
lvTable.Items.Clear();
lvTable.Items.Add("All");
foreach (var x in TableList)
lvTable.Items.Add(x);
lvSpring.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
lvTable.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
lbFileName.Text = data.GetFileName();
SelectSpring(0);
SelectTable(0);
}
private void lvSpring_SizeChanged(object sender, EventArgs e)
{
Theme.ResizeFullColumn(lvSpring);
}
private void lvTable_SizeChanged(object sender, EventArgs e)
{
Theme.ResizeFullColumn(lvTable);
}
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 = Theme.Orange;
if(m_SelectedSpring != null && m_SelectedTable != null)
m_Owner.OnApplyData(this, 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 = Theme.Orange;
if (m_SelectedSpring != null && m_SelectedTable != null)
m_Owner.OnApplyData(this, m_SelectedSpring.Text, m_SelectedTable.Text);
}
public void SelectTable(string strTable)
{
if (m_SelectedTable != null)
{
m_SelectedTable.Font = lvTable.Font;
m_SelectedTable.ForeColor = Theme.Forecolor;
}
foreach(ListViewItem item in lvTable.Items)
{
if(item.Text == strTable)
{
m_SelectedTable = item;
item.Font = new Font(lvTable.Font, FontStyle.Bold);
item.ForeColor = Theme.Orange;
break;
}
}
}
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]);
}
}
}