public void SetModel(OneVsAllModel model) { panel1.Controls.Clear(); m_Model = model; m_Views.Clear(); //how to best utilize the space?? look for the closest perfect square int num = (int)(Math.Floor(Math.Sqrt(m_Model.SplatList.Count))) + 1; float sz = (float)(panel1.Width) / (num); int szi = (int)sz; for (int i = 0, k = 0; i < num && k < m_Model.SplatList.Count; i++) { for (int j = 0; j < num && k < m_Model.SplatList.Count; j++, k++) { var view = new SplatterviewContainer(); view.Name = "oneVsAll" + k; view.Size = new Size(szi - 25, szi - 25); view.Location = new Point(i * szi + 25, j * szi); view.PointSelection += new EventHandler(view_PointSelection); view.View.DoubleClick += new EventHandler(view_DoubleClick); view.View.setSplatPM(m_Model.SplatList[k]); m_Views.Add(view.View); panel1.Controls.Add(view); } } sliderController1.SetView(m_Views); foreach (var series in m_Model.Groups) { ListViewItem item = new ListViewItem(series.Name); item.Name = series.Name; item.BackColor = series.Color; if (!listView1.Items.ContainsKey(item.Name)) { m_Series[item] = series; listView1.Items.Add(item); } } ListViewItem otherItem = new ListViewItem(m_Model.OthersName); otherItem.Name = m_Model.OthersName; otherItem.BackColor = m_Model.OtherColor; listView1.Items.Add(otherItem); }
private void button1vsAll_Click(object sender, EventArgs e) { var addDialog = new AddTo1vsAllDialog(); addDialog.Text = "Show one vs rest"; if (listViewDataFiles.SelectedItems.Count > 0) { var oneVersusAllDialog = new OneVersusAllDialog(); var item = listViewDataFiles.SelectedItems[0]; var dataFile = m_Files[item]; oneVersusAllDialog.Text = string.Format("One versus rest({0}): {1}", OneVRestCount++, dataFile.Name); addDialog.SetDataFile(dataFile, false); var res = addDialog.ShowDialog(this); if (res == System.Windows.Forms.DialogResult.OK) { var lists = dataFile.ConvertToOneVsAllDataSeries(addDialog.GroupBy, addDialog.HorizontalDim, addDialog.VerticalDim, 10); OneVsAllModel model = new OneVsAllModel(lists, addDialog.HorizontalDim, addDialog.VerticalDim); oneVersusAllDialog.SetModel(model); oneVersusAllDialog.Show(this); oneVersusAllDialog.BringToFront(); } } }