private void MaxMinDialog_Load(object sender, EventArgs e) { Max = Selector.Maxmin(Table).Max[Column]; Min = Selector.Maxmin(Table).Min[Column]; MaxLabel.Text = Max.ToString(); MinLabel.Text = Min.ToString(); var constrains = Selector.Constrains(Table)[Column]; var names = new List <string>(); foreach (var constrain in constrains) { names.Add(constrain.Name); } if (Origin == null) { Constrain = new TireDataConstrain(StaticFunctions.GetUniqueName(names, "新規セレクタ"), Column, Max, Min, false); } else { Constrain = Origin.Copy(); } NameTB.Text = Constrain.Name; NotCheckBox.Checked = Constrain.Not; MaxTB.Text = Constrain.Max.ToString(); MinTB.Text = Constrain.Min.ToString(); CalculateMinimumEntropy(Target, Max, Min); Extract(); }
public MaxMinDialog(TireDataColumn column, Table table, TireDataSetSelector selector, TireDataConstrain constrain = null) { InitializeComponent(); Origin = constrain; Column = column; Table = table; Selector = selector; Target = new List <double>(); foreach (var data in selector.Target(table)) { Target.Add(data[column]); } Target.Sort(); MainChart.ChartAreas[0].AxisX.Title = Column.ToString(); MainChart.ChartAreas[0].AxisY.Title = "データ数(個)"; Series exSeries = new Series(); Series nexSeries = new Series(); Series SelectedAreaSeries = new Series(); exSeries.LegendText = "抽出データ"; nexSeries.LegendText = "削除データ"; SelectedAreaSeries.LegendText = "選択範囲"; exSeries.ChartType = SeriesChartType.StackedColumn; nexSeries.ChartType = SeriesChartType.StackedColumn; SelectedAreaSeries.ChartType = SeriesChartType.Area; exSeries.Color = Color.Green; nexSeries.Color = Color.Red; SelectedAreaSeries.Color = Color.LightBlue; MainChart.Series.Clear(); MainChart.Series.Add(SelectedAreaSeries); MainChart.Series.Add(exSeries); MainChart.Series.Add(nexSeries); }
public IDataSet SelectedData() { if (Changed) { if (PureSlipX) { Selector.RemoveConstrain(FZ, AttachedTable); Selector.RemoveConstrain(P, AttachedTable); Selector.RemoveConstrain(IA, AttachedTable); Selector.RemoveConstrain(T, AttachedTable); Selector.RemoveConstrain(SA, AttachedTable); FZ = new TireDataConstrain("FZ", TireDataColumn.FZ, FZBar.valueR, FZBar.valueL); P = new TireDataConstrain("P", TireDataColumn.P, PBar.valueR, PBar.valueL); IA = new TireDataConstrain("IA", TireDataColumn.IA, IABar.valueR, IABar.valueL); T = new TireDataConstrain("T", TireDataColumn.TSTC, TBar.valueR, TBar.valueL); SA = new TireDataConstrain("SA", TireDataColumn.SA, 0.5, -0.5); Selector.AddConstrain(FZ, AttachedTable); Selector.AddConstrain(P, AttachedTable); Selector.AddConstrain(IA, AttachedTable); Selector.AddConstrain(T, AttachedTable); Selector.AddConstrain(SA, AttachedTable); Selector.ExtractData(AttachedTable, NumSearch); } else { Selector.RemoveConstrain(FZ, Table.CorneringTable); Selector.RemoveConstrain(P, Table.CorneringTable); Selector.RemoveConstrain(IA, Table.CorneringTable); Selector.RemoveConstrain(T, Table.CorneringTable); Selector.RemoveConstrain(SA, Table.CorneringTable); Selector.RemoveConstrain(SR, Table.CorneringTable); Selector.RemoveConstrain(FZ, Table.DriveBrakeTable); Selector.RemoveConstrain(P, Table.DriveBrakeTable); Selector.RemoveConstrain(IA, Table.DriveBrakeTable); Selector.RemoveConstrain(T, Table.DriveBrakeTable); Selector.RemoveConstrain(SA, Table.DriveBrakeTable); Selector.RemoveConstrain(SR, Table.DriveBrakeTable); Selector.RemoveConstrain(FZ, Table.TransientTable); Selector.RemoveConstrain(P, Table.TransientTable); Selector.RemoveConstrain(IA, Table.TransientTable); Selector.RemoveConstrain(T, Table.TransientTable); Selector.RemoveConstrain(SA, Table.TransientTable); Selector.RemoveConstrain(SR, Table.TransientTable); FZ = new TireDataConstrain("FZ", TireDataColumn.FZ, FZBar.valueR, FZBar.valueL); P = new TireDataConstrain("P", TireDataColumn.P, PBar.valueR, PBar.valueL); IA = new TireDataConstrain("IA", TireDataColumn.IA, IABar.valueR, IABar.valueL); T = new TireDataConstrain("T", TireDataColumn.TSTC, TBar.valueR, TBar.valueL); SA = new TireDataConstrain("SA", TireDataColumn.SA, SABar.valueR, SABar.valueL); SR = new TireDataConstrain("SR", TireDataColumn.SR, SRBar.valueR, SRBar.valueL); Selector.AddConstrain(FZ, Table.CorneringTable); Selector.AddConstrain(P, Table.CorneringTable); Selector.AddConstrain(IA, Table.CorneringTable); Selector.AddConstrain(T, Table.CorneringTable); Selector.AddConstrain(SA, Table.CorneringTable); Selector.AddConstrain(SR, Table.CorneringTable); Selector.AddConstrain(FZ, Table.DriveBrakeTable); Selector.AddConstrain(P, Table.DriveBrakeTable); Selector.AddConstrain(IA, Table.DriveBrakeTable); Selector.AddConstrain(T, Table.DriveBrakeTable); Selector.AddConstrain(SA, Table.DriveBrakeTable); Selector.AddConstrain(SR, Table.DriveBrakeTable); Selector.AddConstrain(FZ, Table.TransientTable); Selector.AddConstrain(P, Table.TransientTable); Selector.AddConstrain(IA, Table.TransientTable); Selector.AddConstrain(T, Table.TransientTable); Selector.AddConstrain(SA, Table.TransientTable); Selector.AddConstrain(SR, Table.TransientTable); Selector.ExtractData(Table.CorneringTable, NumSearch / 4); Selector.ExtractData(Table.DriveBrakeTable, NumSearch * 3 / 4); Selector.ExtractData(Table.TransientTable, NumSearch); } } Changed = false; return(Selector); }
private void UpdateValues() { var limit = MFFD.IDataset.GetDataSet().MaxminSet.Limit(AttachedTable); if (PureSlipX) { if (Selector != null) { Selector.RemoveConstrain(FZ, AttachedTable); Selector.RemoveConstrain(P, AttachedTable); Selector.RemoveConstrain(IA, AttachedTable); Selector.RemoveConstrain(T, AttachedTable); Selector.RemoveConstrain(SA, AttachedTable); } FZ = new TireDataConstrain("FZ", TireDataColumn.FZ, limit.Max.FZ, limit.Min.FZ); P = new TireDataConstrain("P", TireDataColumn.P, limit.Max.P, limit.Min.P); IA = new TireDataConstrain("IA", TireDataColumn.IA, limit.Max.IA, limit.Min.IA); T = new TireDataConstrain("T", TireDataColumn.TSTC, limit.Max.TSTC, limit.Min.TSTC); SA = new TireDataConstrain("SA", TireDataColumn.SA, limit.Max.SA, limit.Min.SA); Selector = new TireDataSetSelector(mffd.IDataset); Selector.AddConstrain(FZ, AttachedTable); Selector.AddConstrain(P, AttachedTable); Selector.AddConstrain(IA, AttachedTable); Selector.AddConstrain(T, AttachedTable); Selector.AddConstrain(SA, AttachedTable); } else { if (Selector != null) { Selector.RemoveConstrain(FZ, Table.CorneringTable); Selector.RemoveConstrain(P, Table.CorneringTable); Selector.RemoveConstrain(IA, Table.CorneringTable); Selector.RemoveConstrain(T, Table.CorneringTable); Selector.RemoveConstrain(SA, Table.CorneringTable); Selector.RemoveConstrain(SR, Table.CorneringTable); Selector.RemoveConstrain(FZ, Table.DriveBrakeTable); Selector.RemoveConstrain(P, Table.DriveBrakeTable); Selector.RemoveConstrain(IA, Table.DriveBrakeTable); Selector.RemoveConstrain(T, Table.DriveBrakeTable); Selector.RemoveConstrain(SA, Table.DriveBrakeTable); Selector.RemoveConstrain(SR, Table.DriveBrakeTable); } limit = StaticFunctions.TireDataMaxminMerge( MFFD.IDataset.GetDataSet().MaxminSet.Limit(Table.CorneringTable), MFFD.IDataset.GetDataSet().MaxminSet.Limit(Table.DriveBrakeTable) ); limit = StaticFunctions.TireDataMaxminMerge( limit, MFFD.IDataset.GetDataSet().MaxminSet.Limit(Table.TransientTable) ); FZ = new TireDataConstrain("FZ", TireDataColumn.FZ, limit.Max.FZ, limit.Min.FZ); P = new TireDataConstrain("P", TireDataColumn.P, limit.Max.P, limit.Min.P); IA = new TireDataConstrain("IA", TireDataColumn.IA, limit.Max.IA, limit.Min.IA); T = new TireDataConstrain("T", TireDataColumn.TSTC, limit.Max.TSTC, limit.Min.TSTC); SA = new TireDataConstrain("SA", TireDataColumn.SA, limit.Max.SA, limit.Min.SA); SR = new TireDataConstrain("SR", TireDataColumn.SR, limit.Max.SR, limit.Min.SR); Selector = new TireDataSetSelector(mffd.IDataset); Selector.AddConstrain(FZ, Table.CorneringTable); Selector.AddConstrain(P, Table.CorneringTable); Selector.AddConstrain(IA, Table.CorneringTable); Selector.AddConstrain(T, Table.CorneringTable); Selector.AddConstrain(SA, Table.CorneringTable); Selector.AddConstrain(SR, Table.CorneringTable); Selector.AddConstrain(FZ, Table.DriveBrakeTable); Selector.AddConstrain(P, Table.DriveBrakeTable); Selector.AddConstrain(IA, Table.DriveBrakeTable); Selector.AddConstrain(T, Table.DriveBrakeTable); Selector.AddConstrain(SA, Table.DriveBrakeTable); Selector.AddConstrain(SR, Table.DriveBrakeTable); } FZBar.Max = limit.Max.FZ; FZBar.Min = limit.Min.FZ; PBar.Max = limit.Max.P; PBar.Min = limit.Min.P; IABar.Max = limit.Max.IA; IABar.Min = limit.Min.IA; TBar.Max = limit.Max.TSTC; TBar.Min = limit.Min.TSTC; SABar.Max = limit.Max.SA; SABar.Min = limit.Min.SA; SRBar.Max = limit.Max.SR; SRBar.Min = limit.Min.SR; FZBar.valueR = limit.Max.FZ; FZBar.valueL = limit.Min.FZ; PBar.valueR = limit.Max.P; PBar.valueL = limit.Min.P; IABar.valueR = limit.Max.IA; IABar.valueL = limit.Min.IA; TBar.valueR = limit.Max.TSTC; TBar.valueL = limit.Min.TSTC; SABar.valueR = limit.Max.SA; SABar.valueL = limit.Min.SA; SRBar.valueR = limit.Max.SR; SRBar.valueL = limit.Min.SR; }
void AddConstrainToNode(TireDataColumn column, TreeNode ParentNode, TireDataConstrain constrain) { var node = new TreeNode(constrain.Name); ParentNode.Nodes.Add(node); node.ContextMenuStrip = new ContextMenuStrip(); EventHandler handler = delegate(object sender, EventArgs e) { var d = new MaxMinDialog(column, Table, Selector, constrain); d.ShowDialog(); if (d.DialogResult == DialogResult.OK) { constrain.CopyFrom(d.Constrain); Selector.ExtractData(); Selector.ConfirmStateChanged(Table); node.Text = constrain.Name; if (SelectedAreaChanged != null) { SelectedAreaChanged(Selector); } property.Changed(); } }; node.TreeView.NodeMouseDoubleClick += delegate(object sender, TreeNodeMouseClickEventArgs e) { if (e.Node == node) { handler(sender, e); } }; node.TreeView.AfterLabelEdit += delegate(object sender, NodeLabelEditEventArgs e) { e.CancelEdit = true; if (e.Node == node && e.Label != null && e.Label != "") { constrain.Name = e.Label; node.Text = e.Label; Selector.ConfirmStateChanged(Table); property.Changed(); } }; node.ContextMenuStrip.Items.Add( new ToolStripMenuItem( "名前の変更", null, delegate(object sender, EventArgs e) { node.BeginEdit(); } ) ); node.ContextMenuStrip.Items.Add( new ToolStripMenuItem( "編集", null, handler ) ); node.ContextMenuStrip.Items.Add( new ToolStripMenuItem( "削除", null, delegate(object sender, EventArgs e) { Selector.RemoveConstrain(constrain, Table); Selector.ExtractData(); ParentNode.Nodes.Remove(node); if (SelectedAreaChanged != null) { SelectedAreaChanged(Selector); } property.Changed(); } ) ); }