중간 커밋

- dockpanelsuite 추가
- RowPanel, TablePanel 추가
This commit is contained in:
2017-06-14 18:21:43 +09:00
parent 475523e02e
commit 1b54dab234
14 changed files with 533 additions and 110 deletions

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
obj/
bin/
.vs/

3
.gitmodules vendored Normal file
View File

@@ -0,0 +1,3 @@
[submodule "dockpanelsuite"]
path = dockpanelsuite
url = https://github.com/dockpanelsuite/dockpanelsuite.git

View File

@@ -3,14 +3,84 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OfficeOpenXml;
using System.IO;
using System.Data;
namespace friction
{
public class DataExcel
public class DataHandler
{
public void LoadData(string strFileName)
{
DataTable m_Data = new DataTable();
List<string> m_Material1 = new List<string>();
List<string> m_Material2 = new List<string>();
public void LoadData2(string strFileName)
{
FileInfo newFile = new FileInfo(strFileName);
ExcelPackage package = new ExcelPackage(newFile);
ExcelWorksheet Sheet = package.Workbook.Worksheets[1];
m_Data.Clear();
// read column
for (int iCol = Sheet.Dimension.Start.Column; iCol <= Sheet.Dimension.End.Column; iCol++)
{
string strCol = (string)Sheet.Cells[Sheet.Dimension.Start.Row, iCol].Value;
m_Data.Columns.Add(new DataColumn(strCol));
}
// read data
for (int iRow = Sheet.Dimension.Start.Row + 1; iRow <= Sheet.Dimension.End.Row; iRow++)
{
DataRow newRow = m_Data.NewRow();
for (int iCol = Sheet.Dimension.Start.Column; iCol <= Sheet.Dimension.End.Column; iCol++)
{
var value = Sheet.Cells[iRow, iCol].Value;
if (value is double)
{
float fData = (float)(double)value;
newRow[iCol-1] = fData;
}
else
{
string strData = "";
if (value != null)
strData = (string)value;
newRow[iCol-1] = strData;
}
}
m_Data.Rows.Add(newRow);
}
m_Material1 = (from r in m_Data.AsEnumerable()
select r["Material spring"]).Distinct().Cast<string>().ToList();
m_Material2 = (from r in m_Data.AsEnumerable()
select r["material 2 table"]).Distinct().Cast<string>().ToList();
Console.WriteLine("end");
}
public List<string> GetMaterial1()
{
return m_Material1;
}
public List<string> GetMaterial2()
{
return m_Material2;
}
public DataTable GetData()
{
return m_Data;
}
}
}

15
MainForm.Designer.cs generated
View File

@@ -33,6 +33,7 @@
this.toolStripButtonOpen = new System.Windows.Forms.ToolStripButton();
this.statusStrip = new System.Windows.Forms.StatusStrip();
this.toolStripStatusLabel = new System.Windows.Forms.ToolStripStatusLabel();
this.dockPanel = new WeifenLuo.WinFormsUI.Docking.DockPanel();
this.toolStripMain.SuspendLayout();
this.statusStrip.SuspendLayout();
this.SuspendLayout();
@@ -75,14 +76,23 @@
this.toolStripStatusLabel.Size = new System.Drawing.Size(122, 17);
this.toolStripStatusLabel.Text = "Please open database";
//
// Form1
// dockPanel
//
this.dockPanel.Dock = System.Windows.Forms.DockStyle.Fill;
this.dockPanel.Location = new System.Drawing.Point(0, 25);
this.dockPanel.Name = "dockPanel";
this.dockPanel.Size = new System.Drawing.Size(947, 598);
this.dockPanel.TabIndex = 2;
//
// MainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(947, 645);
this.Controls.Add(this.dockPanel);
this.Controls.Add(this.statusStrip);
this.Controls.Add(this.toolStripMain);
this.Name = "Form1";
this.Name = "MainForm";
this.Text = "Form1";
this.toolStripMain.ResumeLayout(false);
this.toolStripMain.PerformLayout();
@@ -99,6 +109,7 @@
private System.Windows.Forms.ToolStripButton toolStripButtonOpen;
private System.Windows.Forms.StatusStrip statusStrip;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel;
private WeifenLuo.WinFormsUI.Docking.DockPanel dockPanel;
}
}

View File

@@ -7,18 +7,24 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;
namespace friction
{
public partial class MainForm : Form
{
string m_DBFileName = "";
DataExcel m_DataLoader = new DataExcel();
TablePanel m_TablePanel = new TablePanel();
DataHandler m_DataLoader = new DataHandler();
TablePanel m_TablePanel = null;
RowPanel m_RowPanel = null;
public MainForm()
{
InitializeComponent();
dockPanel.Theme = new VS2015DarkTheme();
m_TablePanel = new TablePanel(this);
m_RowPanel = new RowPanel(this);
}
private void toolStripButtonOpen_Click(object sender, EventArgs e)
@@ -29,16 +35,25 @@ namespace friction
if(result == DialogResult.OK)
{
m_DBFileName = ofd.FileName;
m_DataLoader.LoadData(m_DBFileName);
m_DataLoader.LoadData2(m_DBFileName);
UpdateTablePanel();
statusStrip.Text = m_DBFileName;
toolStripStatusLabel.Text = m_DBFileName;
}
}
private void UpdateTablePanel()
{
m_TablePanel.UpdateData(m_DataLoader);
if(m_TablePanel.Visible == false)
m_TablePanel.Show(dockPanel);
}
public void OnApplyData()
{
m_RowPanel.UpdateData(m_DataLoader);
if (m_RowPanel.Visible == false)
m_RowPanel.Show(dockPanel);
}
}
}

View File

@@ -124,97 +124,97 @@
<data name="toolStripButtonOpen.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<metadata name="statusStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

75
RowPanel.Designer.cs generated Normal file
View File

@@ -0,0 +1,75 @@
namespace friction
{
partial class RowPanel
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.dgvData = new System.Windows.Forms.DataGridView();
this.lbColumn = new System.Windows.Forms.CheckedListBox();
((System.ComponentModel.ISupportInitialize)(this.dgvData)).BeginInit();
this.SuspendLayout();
//
// dgvData
//
this.dgvData.AllowUserToOrderColumns = true;
this.dgvData.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvData.Location = new System.Drawing.Point(12, 12);
this.dgvData.Name = "dgvData";
this.dgvData.RowTemplate.Height = 23;
this.dgvData.Size = new System.Drawing.Size(701, 699);
this.dgvData.TabIndex = 0;
//
// lbColumn
//
this.lbColumn.FormattingEnabled = true;
this.lbColumn.Location = new System.Drawing.Point(719, 12);
this.lbColumn.Name = "lbColumn";
this.lbColumn.Size = new System.Drawing.Size(176, 708);
this.lbColumn.TabIndex = 1;
//
// RowPanel
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(919, 723);
this.Controls.Add(this.lbColumn);
this.Controls.Add(this.dgvData);
this.HideOnClose = true;
this.Name = "RowPanel";
this.ShowHint = WeifenLuo.WinFormsUI.Docking.DockState.Document;
this.Text = "Row Data";
((System.ComponentModel.ISupportInitialize)(this.dgvData)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.DataGridView dgvData;
private System.Windows.Forms.CheckedListBox lbColumn;
}
}

31
RowPanel.cs Normal file
View File

@@ -0,0 +1,31 @@
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 RowPanel : DockContent
{
MainForm m_Owner = null;
public RowPanel(MainForm owner)
{
InitializeComponent();
m_Owner = owner;
}
public void UpdateData(DataHandler dataHandler)
{
dgvData.DataSource = dataHandler.GetData();
dgvData.Update();
}
}
}

120
RowPanel.resx Normal file
View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

48
TablePanel.Designer.cs generated
View File

@@ -28,11 +28,57 @@
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.cbMaterial2 = new System.Windows.Forms.ComboBox();
this.cbMaterial1 = new System.Windows.Forms.ComboBox();
this.btApply = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// cbMaterial2
//
this.cbMaterial2.FormattingEnabled = true;
this.cbMaterial2.Location = new System.Drawing.Point(32, 122);
this.cbMaterial2.Name = "cbMaterial2";
this.cbMaterial2.Size = new System.Drawing.Size(121, 20);
this.cbMaterial2.TabIndex = 1;
//
// cbMaterial1
//
this.cbMaterial1.FormattingEnabled = true;
this.cbMaterial1.Location = new System.Drawing.Point(32, 61);
this.cbMaterial1.Name = "cbMaterial1";
this.cbMaterial1.Size = new System.Drawing.Size(121, 20);
this.cbMaterial1.TabIndex = 2;
//
// btApply
//
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);
//
// TablePanel
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(284, 261);
this.Controls.Add(this.btApply);
this.Controls.Add(this.cbMaterial1);
this.Controls.Add(this.cbMaterial2);
this.HideOnClose = true;
this.Name = "TablePanel";
this.ShowHint = WeifenLuo.WinFormsUI.Docking.DockState.DockLeft;
this.Text = "TablePanel";
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.ComboBox cbMaterial2;
private System.Windows.Forms.ComboBox cbMaterial1;
private System.Windows.Forms.Button btApply;
}
}

View File

@@ -13,9 +13,33 @@ namespace friction
{
public partial class TablePanel : DockContent
{
public TablePanel()
MainForm m_Owner = null;
public TablePanel(MainForm owner)
{
InitializeComponent();
m_Owner = owner;
this.ApplyTheme();
}
public void UpdateData(DataHandler data)
{
var Material1 = data.GetMaterial1();
var Material2 = data.GetMaterial2();
cbMaterial1.Items.Clear();
foreach(var x in Material1)
cbMaterial1.Items.Add(x);
cbMaterial2.Items.Clear();
foreach (var x in Material2)
cbMaterial2.Items.Add(x);
}
private void btApply_Click(object sender, EventArgs e)
{
m_Owner.OnApplyData();
}
}
}

1
dockpanelsuite Submodule

Submodule dockpanelsuite added at dc15750c0a

View File

@@ -48,14 +48,6 @@
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="WeifenLuo.WinFormsUI.Docking, Version=2.15.0.0, Culture=neutral, PublicKeyToken=5cded1a1a0a7b481, processorArchitecture=MSIL">
<HintPath>packages\DockPanelSuite.2.15.0\lib\net40\WeifenLuo.WinFormsUI.Docking.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="WeifenLuo.WinFormsUI.Docking.ThemeVS2015, Version=2.15.0.0, Culture=neutral, PublicKeyToken=5cded1a1a0a7b481, processorArchitecture=MSIL">
<HintPath>packages\DockPanelSuite.ThemeVS2015.2.15.0\lib\net40\WeifenLuo.WinFormsUI.Docking.ThemeVS2015.dll</HintPath>
<Private>True</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="DataExcel.cs" />
@@ -67,6 +59,12 @@
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="RowPanel.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="RowPanel.Designer.cs">
<DependentUpon>RowPanel.cs</DependentUpon>
</Compile>
<Compile Include="TablePanel.cs">
<SubType>Form</SubType>
</Compile>
@@ -85,6 +83,12 @@
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<EmbeddedResource Include="RowPanel.resx">
<DependentUpon>RowPanel.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="TablePanel.resx">
<DependentUpon>TablePanel.cs</DependentUpon>
</EmbeddedResource>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
@@ -99,6 +103,16 @@
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="dockpanelsuite\WinFormsUI\ThemeVS2015.csproj">
<Project>{007d4ac8-948f-4816-86ad-b9d1343672c1}</Project>
<Name>ThemeVS2015</Name>
</ProjectReference>
<ProjectReference Include="dockpanelsuite\WinFormsUI\WinFormsUI.csproj">
<Project>{c75532c4-765b-418e-b09b-46d36b2abdb1}</Project>
<Name>WinFormsUI</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.

View File

@@ -5,6 +5,10 @@ VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "friction", "friction.csproj", "{D9D645D4-9565-4D56-995A-B28896365A2E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinFormsUI", "dockpanelsuite\WinFormsUI\WinFormsUI.csproj", "{C75532C4-765B-418E-B09B-46D36B2ABDB1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ThemeVS2015", "dockpanelsuite\WinFormsUI\ThemeVS2015.csproj", "{007D4AC8-948F-4816-86AD-B9D1343672C1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -15,6 +19,14 @@ Global
{D9D645D4-9565-4D56-995A-B28896365A2E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D9D645D4-9565-4D56-995A-B28896365A2E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D9D645D4-9565-4D56-995A-B28896365A2E}.Release|Any CPU.Build.0 = Release|Any CPU
{C75532C4-765B-418E-B09B-46D36B2ABDB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C75532C4-765B-418E-B09B-46D36B2ABDB1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C75532C4-765B-418E-B09B-46D36B2ABDB1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C75532C4-765B-418E-B09B-46D36B2ABDB1}.Release|Any CPU.Build.0 = Release|Any CPU
{007D4AC8-948F-4816-86AD-B9D1343672C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{007D4AC8-948F-4816-86AD-B9D1343672C1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{007D4AC8-948F-4816-86AD-B9D1343672C1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{007D4AC8-948F-4816-86AD-B9D1343672C1}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE