Mateiral Pair에서 check된 항목 load/save/remove
Compatibility Map에 적용
This commit is contained in:
172
MainForm.cs
172
MainForm.cs
@@ -25,6 +25,8 @@ namespace friction
|
||||
|
||||
Report m_Report = null;
|
||||
|
||||
ToolStripMenuItem m_CurPref = null;
|
||||
|
||||
public MainForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
@@ -37,24 +39,26 @@ namespace friction
|
||||
m_RadarGraphPanel = new PanelRadarGraph(this, m_DataHandler);
|
||||
m_TrendGraphPanel = new PanelTrendGraph(this, m_DataHandler);
|
||||
|
||||
Config.GetInstance().Init();
|
||||
UpdateRecentFile();
|
||||
UpdatePreference();
|
||||
if(Config.OPTION.GetInstance().WindowBound.Width > 0)
|
||||
Bounds = Config.OPTION.GetInstance().WindowBound;
|
||||
|
||||
|
||||
Theme.Apply(this);
|
||||
Theme.Apply(menuStrip);
|
||||
Theme.Apply(toolStripMain);
|
||||
Theme.Apply(statusStrip);
|
||||
|
||||
dockPanel.Font = new Font(dockPanel.Font.FontFamily, 12.0f);
|
||||
|
||||
Config.Init();
|
||||
UpdateRecentFile();
|
||||
if(Config.OPTION.WindowBound.Width > 0)
|
||||
Bounds = Config.OPTION.WindowBound;
|
||||
}
|
||||
|
||||
void UpdateRecentFile()
|
||||
{
|
||||
recentToolStripMenuItem.DropDownItems.Clear();
|
||||
|
||||
foreach (string file in Enumerable.Reverse(Config.OPTION.m_RecentList))
|
||||
foreach (string file in Enumerable.Reverse(Config.OPTION.GetInstance().m_RecentList))
|
||||
{
|
||||
ToolStripItem item = recentToolStripMenuItem.DropDownItems.Add(file);
|
||||
item.BackColor = Theme.Backcolor;
|
||||
@@ -69,6 +73,17 @@ namespace friction
|
||||
OpenDB(strFile);
|
||||
}
|
||||
|
||||
public void OnSpringCheckChanged(string strItem, bool bChecked)
|
||||
{
|
||||
m_CompatibilityPanel.SpringCheckChanged(strItem, bChecked);
|
||||
}
|
||||
|
||||
public void OnTableCheckChanged(string strItem, bool bChecked)
|
||||
{
|
||||
m_CompatibilityPanel.TableCheckChanged(strItem, bChecked);
|
||||
}
|
||||
|
||||
|
||||
private void OpenDB(string strFile=null)
|
||||
{
|
||||
if (strFile == null)
|
||||
@@ -111,8 +126,9 @@ namespace friction
|
||||
|
||||
toolStripStatusLabel.Text = m_DBFileName;
|
||||
|
||||
Config.OPTION.AddRecentFile(m_DBFileName);
|
||||
Config.OPTION.GetInstance().AddRecentFile(m_DBFileName);
|
||||
UpdateRecentFile();
|
||||
LoadPref(Config.GetInstance().m_strCurMaterial);
|
||||
|
||||
Cursor.Current = Cursors.Default;
|
||||
}
|
||||
@@ -375,10 +391,144 @@ namespace friction
|
||||
|
||||
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
Config.OPTION.WindowBound = this.Bounds;
|
||||
Config.OPTION.CheckedColumns = m_ResultPanel.GetCheckedColumns();
|
||||
Config.OPTION.UncheckedColumns = m_ResultPanel.GetUncheckedColumns();
|
||||
Config.Save();
|
||||
Config.OPTION.GetInstance().WindowBound = this.Bounds;
|
||||
Config.OPTION.GetInstance().CheckedColumns = m_ResultPanel.GetCheckedColumns();
|
||||
Config.OPTION.GetInstance().UncheckedColumns = m_ResultPanel.GetUncheckedColumns();
|
||||
Config.GetInstance().Save();
|
||||
}
|
||||
|
||||
#region preference
|
||||
void UpdatePreference()
|
||||
{
|
||||
foreach (string pref in Config.GetInstance().m_CheckedMaterial.Keys)
|
||||
{
|
||||
ToolStripMenuItem item = new ToolStripMenuItem(pref);
|
||||
ToolStripItem load = item.DropDownItems.Add("Load");
|
||||
load.Click += PreferenceLoadClick;
|
||||
ToolStripItem save = item.DropDownItems.Add("Save");
|
||||
save.Click += PreferenceSaveClick;
|
||||
if (pref != "Default")
|
||||
{
|
||||
ToolStripItem remove = item.DropDownItems.Add("Remove");
|
||||
remove.Click += PreferenceRemoveClick;
|
||||
}
|
||||
|
||||
preferenceToolStripMenuItem.DropDownItems.Add(item);
|
||||
|
||||
if (pref == Config.GetInstance().m_strCurMaterial)
|
||||
{
|
||||
item.Text = "ㆍ" + pref;
|
||||
m_CurPref = item;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void SelectPref(string strPrefName)
|
||||
{
|
||||
foreach (ToolStripItem menuitem in preferenceToolStripMenuItem.DropDownItems)
|
||||
{
|
||||
if (menuitem.Text.StartsWith("ㆍ") == true)
|
||||
menuitem.Text = menuitem.Text.Substring("ㆍ".Length);
|
||||
|
||||
if (menuitem.Text == strPrefName)
|
||||
{
|
||||
menuitem.Text = "ㆍ" + menuitem.Text;
|
||||
m_CurPref = (ToolStripMenuItem)menuitem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void LoadPref(string strPrefName)
|
||||
{
|
||||
Config.GetInstance().m_strCurMaterial = strPrefName;
|
||||
|
||||
m_MaterialPanel.LoadCheckedMaterial(strPrefName);
|
||||
m_CompatibilityPanel.SetMaterialChecked(strPrefName);
|
||||
|
||||
SelectPref(strPrefName);
|
||||
Config.GetInstance().Save();
|
||||
}
|
||||
|
||||
private void PreferenceLoadClick(object sender, EventArgs e)
|
||||
{
|
||||
ToolStripItem item = (ToolStripItem)sender;
|
||||
ToolStripMenuItem parent = (ToolStripMenuItem)item.OwnerItem;
|
||||
string strPrefName = parent.Text;
|
||||
if (strPrefName.StartsWith("ㆍ"))
|
||||
strPrefName = strPrefName.Substring("ㆍ".Length);
|
||||
|
||||
LoadPref(strPrefName);
|
||||
}
|
||||
|
||||
private void PreferenceSaveClick(object sender, EventArgs e)
|
||||
{
|
||||
ToolStripItem item = (ToolStripItem)sender;
|
||||
ToolStripMenuItem parent = (ToolStripMenuItem)item.OwnerItem;
|
||||
string strPrefName = parent.Text;
|
||||
if (strPrefName.StartsWith("ㆍ"))
|
||||
strPrefName = strPrefName.Substring("ㆍ".Length);
|
||||
Config.GetInstance().m_strCurMaterial = strPrefName;
|
||||
|
||||
m_MaterialPanel.SaveCheckedMaterial(strPrefName);
|
||||
|
||||
SelectPref(strPrefName);
|
||||
Config.GetInstance().Save();
|
||||
}
|
||||
|
||||
private void PreferenceRemoveClick(object sender, EventArgs e)
|
||||
{
|
||||
ToolStripItem item = (ToolStripItem)sender;
|
||||
ToolStripMenuItem parent = (ToolStripMenuItem)item.OwnerItem;
|
||||
string strPrefName = parent.Text;
|
||||
if (strPrefName.StartsWith("ㆍ"))
|
||||
strPrefName = strPrefName.Substring("ㆍ".Length);
|
||||
|
||||
Config.GetInstance().RemovePref(strPrefName);
|
||||
preferenceToolStripMenuItem.DropDownItems.Remove(parent);
|
||||
|
||||
if (parent == m_CurPref)
|
||||
PreferenceLoadClick(((ToolStripMenuItem)preferenceToolStripMenuItem.DropDownItems[2]).DropDownItems[0], null);
|
||||
|
||||
Config.GetInstance().Save();
|
||||
}
|
||||
|
||||
private void newToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
NewPreference popup = new NewPreference(this);
|
||||
popup.Show();
|
||||
}
|
||||
|
||||
public void OnPreferenceAdd(string strName)
|
||||
{
|
||||
if(Config.GetInstance().HasPref(strName) == true)
|
||||
{
|
||||
MessageBox.Show("Preference name should be different from others.");
|
||||
NewPreference popup = new NewPreference(this);
|
||||
popup.Show();
|
||||
return;
|
||||
}
|
||||
|
||||
Config.GetInstance().InsertPref(strName);
|
||||
Config.GetInstance().m_strCurMaterial = strName;
|
||||
|
||||
ToolStripMenuItem item = new ToolStripMenuItem(strName);
|
||||
ToolStripItem load = item.DropDownItems.Add("Load");
|
||||
load.Click += PreferenceLoadClick;
|
||||
ToolStripItem save = item.DropDownItems.Add("Save");
|
||||
save.Click += PreferenceSaveClick;
|
||||
ToolStripItem remove = item.DropDownItems.Add("Remove");
|
||||
save.Click += PreferenceRemoveClick;
|
||||
|
||||
preferenceToolStripMenuItem.DropDownItems.Add(item);
|
||||
|
||||
|
||||
if(m_CurPref != null)
|
||||
m_CurPref.Text = m_CurPref.Text.Substring("ㆍ".Length);
|
||||
m_CurPref = item;
|
||||
m_CurPref.Text = "ㆍ" + m_CurPref.Text;
|
||||
|
||||
Theme.Apply(menuStrip);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user