- Timestamp:
- 01/11/09 23:25:59 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/DataSetView.cs
r1106 r1109 25 25 using System.Drawing; 26 26 using System.Data; 27 using System.Linq; 27 28 using System.Text; 28 29 using System.Windows.Forms; … … 38 39 set { dataSet = value; } 39 40 } 40 41 private Results results; 41 42 public DataSetView() { 42 43 InitializeComponent(); … … 55 56 problemControl.Dock = DockStyle.Fill; 56 57 editorGroupBox.Controls.Add(problemControl); 58 PopulateViewComboBox(); 59 resultsButton.Enabled = viewComboBox.SelectedItem != null; 60 } 61 62 private void PopulateViewComboBox() { 63 DiscoveryService service = new DiscoveryService(); 64 IResultsViewFactory[] factories = service.GetInstances<IResultsViewFactory>(); 65 viewComboBox.DataSource = factories; 66 viewComboBox.ValueMember = "Name"; 57 67 } 58 68 … … 63 73 64 74 private void resultsButton_Click(object sender, EventArgs e) { 65 Results results = dataSet.GetResults(); 66 IControl resultsControl = new ResultsViewContainer(results); 67 PluginManager.ControlManager.ShowControl(resultsControl); 75 if (results == null) 76 ReloadResults(); 77 try { 78 IResultsViewFactory factory = (IResultsViewFactory)viewComboBox.SelectedItem; 79 BackgroundWorker worker = new BackgroundWorker(); 80 worker.WorkerReportsProgress = true; 81 worker.WorkerSupportsCancellation = true; 82 worker.ProgressChanged += delegate(object progressChangedSender, ProgressChangedEventArgs progressChangedArgs) { 83 progressBar.Value = progressChangedArgs.ProgressPercentage; 84 }; 85 worker.DoWork += delegate(object doWorkSender, DoWorkEventArgs doWorkArgs) { 86 worker.ReportProgress(10); 87 results.GetEntries().Last(); // preload list by accessing last element 88 worker.ReportProgress(100); 89 }; 90 resultsButton.Enabled = false; 91 worker.RunWorkerAsync(); 92 worker.RunWorkerCompleted += delegate(object completedSender, RunWorkerCompletedEventArgs compledArgs) { 93 resultsButton.Enabled = true; 94 progressBar.Value = 0; 95 IControl control = factory.CreateView(results); 96 PluginManager.ControlManager.ShowControl(control); 97 }; 98 } 99 catch (Exception ex) { 100 string text = "Couldn't load selected view: " + viewComboBox.SelectedItem + "\n" + ex.Message; 101 MessageBox.Show(text, "Unable to create view", MessageBoxButtons.OK, MessageBoxIcon.Error); 102 } 103 } 104 105 private void ReloadResults() { 106 results = dataSet.GetResults(); 68 107 } 69 108 }
Note: See TracChangeset
for help on using the changeset viewer.