Changeset 6032 for branches/histogram
- Timestamp:
- 04/19/11 17:47:26 (14 years ago)
- Location:
- branches/histogram
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/histogram
- Property svn:mergeinfo changed
/trunk/sources merged: 6025
- Property svn:mergeinfo changed
-
branches/histogram/HeuristicLab.Analysis
- Property svn:mergeinfo changed (with no actual effect on merging)
-
branches/histogram/HeuristicLab.Analysis.Views/3.3/DataTableView.cs
r6020 r6032 137 137 AddDataRow(row); 138 138 ConfigureChartArea(chart.ChartAreas[0]); 139 RecalculateAxesScale(chart.ChartAreas[0]); 139 140 } 140 141 } … … 155 156 156 157 chart.Series.Add(series); 157 chart.ChartAreas[0].RecalculateAxesScale();158 158 ConfigureChartArea(chart.ChartAreas[0]); 159 RecalculateAxesScale(chart.ChartAreas[0]); 159 160 UpdateYCursorInterval(); 160 161 } … … 208 209 209 210 private void ConfigureChartArea(ChartArea area) { 210 if (Content.VisualProperties.TitleFont != null) 211 chart.Titles[0].Font = Content.VisualProperties.TitleFont; 212 if (!Content.VisualProperties.TitleColor.IsEmpty) 213 chart.Titles[0].ForeColor = Content.VisualProperties.TitleColor; 214 215 if (Content.VisualProperties.AxisTitleFont != null) 216 area.AxisX.TitleFont = Content.VisualProperties.AxisTitleFont; 217 if (!Content.VisualProperties.AxisTitleColor.IsEmpty) 218 area.AxisX.TitleForeColor = Content.VisualProperties.AxisTitleColor; 211 if (Content.VisualProperties.TitleFont != null) chart.Titles[0].Font = Content.VisualProperties.TitleFont; 212 if (!Content.VisualProperties.TitleColor.IsEmpty) chart.Titles[0].ForeColor = Content.VisualProperties.TitleColor; 213 214 if (Content.VisualProperties.AxisTitleFont != null) area.AxisX.TitleFont = Content.VisualProperties.AxisTitleFont; 215 if (!Content.VisualProperties.AxisTitleColor.IsEmpty) area.AxisX.TitleForeColor = Content.VisualProperties.AxisTitleColor; 219 216 area.AxisX.Title = Content.VisualProperties.XAxisTitle; 220 217 221 if (Content.VisualProperties.AxisTitleFont != null) 222 area.AxisX2.TitleFont = Content.VisualProperties.AxisTitleFont; 223 if (!Content.VisualProperties.AxisTitleColor.IsEmpty) 224 area.AxisX2.TitleForeColor = Content.VisualProperties.AxisTitleColor; 218 if (Content.VisualProperties.AxisTitleFont != null) area.AxisX2.TitleFont = Content.VisualProperties.AxisTitleFont; 219 if (!Content.VisualProperties.AxisTitleColor.IsEmpty) area.AxisX2.TitleForeColor = Content.VisualProperties.AxisTitleColor; 225 220 area.AxisX2.Title = Content.VisualProperties.SecondXAxisTitle; 226 221 227 if (Content.VisualProperties.AxisTitleFont != null) 228 area.AxisY.TitleFont = Content.VisualProperties.AxisTitleFont; 229 if (!Content.VisualProperties.AxisTitleColor.IsEmpty) 230 area.AxisY.TitleForeColor = Content.VisualProperties.AxisTitleColor; 222 if (Content.VisualProperties.AxisTitleFont != null) area.AxisY.TitleFont = Content.VisualProperties.AxisTitleFont; 223 if (!Content.VisualProperties.AxisTitleColor.IsEmpty) area.AxisY.TitleForeColor = Content.VisualProperties.AxisTitleColor; 231 224 area.AxisY.Title = Content.VisualProperties.YAxisTitle; 232 225 233 if (Content.VisualProperties.AxisTitleFont != null) 234 area.AxisY2.TitleFont = Content.VisualProperties.AxisTitleFont; 235 if (!Content.VisualProperties.AxisTitleColor.IsEmpty) 236 area.AxisY2.TitleForeColor = Content.VisualProperties.AxisTitleColor; 226 if (Content.VisualProperties.AxisTitleFont != null) area.AxisY2.TitleFont = Content.VisualProperties.AxisTitleFont; 227 if (!Content.VisualProperties.AxisTitleColor.IsEmpty) area.AxisY2.TitleForeColor = Content.VisualProperties.AxisTitleColor; 237 228 area.AxisY2.Title = Content.VisualProperties.SecondYAxisTitle; 238 229 } 230 231 private void RecalculateAxesScale(ChartArea area) { 232 // Reset the axes bounds so that RecalculateAxesScale() will assign new bounds 233 foreach (Axis a in area.Axes) { 234 a.Minimum = double.NaN; 235 a.Maximum = double.NaN; 236 } 239 237 area.RecalculateAxesScale(); 240 area.AxisX.Minimum = Content.VisualProperties.XAxisMinimumFixedValue; 241 area.AxisX.Maximum = Content.VisualProperties.XAxisMaximumFixedValue; 242 area.AxisX2.Minimum = Content.VisualProperties.SecondXAxisMinimumFixedValue; 243 area.AxisX2.Maximum = Content.VisualProperties.SecondXAxisMaximumFixedValue; 244 area.AxisY.Minimum = Content.VisualProperties.YAxisMinimumFixedValue; 245 area.AxisY.Maximum = Content.VisualProperties.YAxisMaximumFixedValue; 246 area.AxisY2.Minimum = Content.VisualProperties.SecondYAxisMinimumFixedValue; 247 area.AxisY2.Maximum = Content.VisualProperties.SecondYAxisMaximumFixedValue; 238 239 if (!Content.VisualProperties.XAxisMinimumAuto && !double.IsNaN(Content.VisualProperties.XAxisMinimumFixedValue)) area.AxisX.Minimum = Content.VisualProperties.XAxisMinimumFixedValue; 240 #region Workaround for bug in RecalculateAxesScale() that would assign -1 241 else { 242 if (area.AxisX.IsStartedFromZero 243 && chart.Series.Where(x => x.XAxisType == AxisType.Primary).Any() 244 && chart.Series.Where(x => x.XAxisType == AxisType.Primary).SelectMany(x => x.Points).Any()) { 245 double minX = chart.Series.Where(x => x.XAxisType == AxisType.Primary).SelectMany(x => x.Points).Select(x => x.XValue).Min(); 246 if (minX >= 0 && area.AxisX.Minimum < 0) area.AxisX.Minimum = 0; 247 } 248 } 249 #endregion 250 if (!Content.VisualProperties.XAxisMaximumAuto && !double.IsNaN(Content.VisualProperties.XAxisMaximumFixedValue)) area.AxisX.Maximum = Content.VisualProperties.XAxisMaximumFixedValue; 251 if (!Content.VisualProperties.SecondXAxisMinimumAuto && !double.IsNaN(Content.VisualProperties.SecondXAxisMinimumFixedValue)) area.AxisX2.Minimum = Content.VisualProperties.SecondXAxisMinimumFixedValue; 252 #region Workaround for bug in RecalculateAxesScale() that would assign -1 253 else { 254 if (area.AxisX2.IsStartedFromZero 255 && chart.Series.Where(x => x.XAxisType == AxisType.Secondary).Any() 256 && chart.Series.Where(x => x.XAxisType == AxisType.Secondary).SelectMany(x => x.Points).Any()) { 257 double minX2 = chart.Series.Where(x => x.XAxisType == AxisType.Secondary).SelectMany(x => x.Points).Select(x => x.XValue).Min(); 258 if (minX2 >= 0 && area.AxisX2.Minimum < 0) area.AxisX2.Minimum = 0; 259 } 260 } 261 #endregion 262 if (!Content.VisualProperties.SecondXAxisMaximumAuto && !double.IsNaN(Content.VisualProperties.SecondXAxisMaximumFixedValue)) area.AxisX2.Maximum = Content.VisualProperties.SecondXAxisMaximumFixedValue; 263 if (!Content.VisualProperties.YAxisMinimumAuto && !double.IsNaN(Content.VisualProperties.YAxisMinimumFixedValue)) area.AxisY.Minimum = Content.VisualProperties.YAxisMinimumFixedValue; 264 if (!Content.VisualProperties.YAxisMaximumAuto && !double.IsNaN(Content.VisualProperties.YAxisMaximumFixedValue)) area.AxisY.Maximum = Content.VisualProperties.YAxisMaximumFixedValue; 265 if (!Content.VisualProperties.SecondYAxisMinimumAuto && !double.IsNaN(Content.VisualProperties.SecondYAxisMinimumFixedValue)) area.AxisY2.Minimum = Content.VisualProperties.SecondYAxisMinimumFixedValue; 266 if (!Content.VisualProperties.SecondYAxisMaximumAuto && !double.IsNaN(Content.VisualProperties.SecondYAxisMaximumFixedValue)) area.AxisY2.Maximum = Content.VisualProperties.SecondYAxisMaximumFixedValue; 267 if (area.AxisX.Minimum > area.AxisX.Maximum) area.AxisX.Maximum = area.AxisX.Minimum + 1; 268 if (area.AxisX2.Minimum > area.AxisX2.Maximum) area.AxisX2.Maximum = area.AxisX2.Minimum + 1; 269 if (area.AxisY.Minimum > area.AxisY.Maximum) area.AxisY.Maximum = area.AxisY.Minimum + 1; 270 if (area.AxisY2.Minimum > area.AxisY2.Maximum) area.AxisY2.Maximum = area.AxisY2.Minimum + 1; 248 271 } 249 272 … … 278 301 if (invisibleSeries.Contains(series)) 279 302 invisibleSeries.Remove(series); 280 chart.ChartAreas[0].RecalculateAxesScale();303 RecalculateAxesScale(chart.ChartAreas[0]); 281 304 } 282 305 … … 296 319 else { 297 320 ConfigureChartArea(chart.ChartAreas[0]); 321 RecalculateAxesScale(chart.ChartAreas[0]); // axes min/max could have changed 298 322 } 299 323 } … … 359 383 ConfigureSeries(series, row); 360 384 FillSeriesWithRowValues(series, row); 361 chart.ChartAreas[0].RecalculateAxesScale();385 RecalculateAxesScale(chart.ChartAreas[0]); 362 386 } 363 387 } … … 383 407 rowSeries.Points.Clear(); 384 408 FillSeriesWithRowValues(rowSeries, row); 409 RecalculateAxesScale(chart.ChartAreas[0]); 385 410 UpdateYCursorInterval(); 386 411 } … … 399 424 rowSeries.Points.Clear(); 400 425 FillSeriesWithRowValues(rowSeries, row); 426 RecalculateAxesScale(chart.ChartAreas[0]); 401 427 UpdateYCursorInterval(); 402 428 } … … 426 452 } 427 453 } 454 RecalculateAxesScale(chart.ChartAreas[0]); 428 455 UpdateYCursorInterval(); 429 456 } … … 442 469 rowSeries.Points.Clear(); 443 470 FillSeriesWithRowValues(rowSeries, row); 471 RecalculateAxesScale(chart.ChartAreas[0]); 444 472 UpdateYCursorInterval(); 445 473 } … … 459 487 rowSeries.Points.Clear(); 460 488 FillSeriesWithRowValues(rowSeries, row); 489 RecalculateAxesScale(chart.ChartAreas[0]); 461 490 UpdateYCursorInterval(); 462 491 } … … 511 540 FillSeriesWithRowValues(series, row); 512 541 this.chart.Legends[series.Legend].ForeColor = Color.Black; 542 RecalculateAxesScale(chart.ChartAreas[0]); 513 543 UpdateYCursorInterval(); 514 544 } … … 580 610 else rounding = 10; 581 611 return rounding * base10; 612 } 613 614 private double HumanRoundMax(double max) { 615 double base10; 616 if (max > 0) base10 = Math.Pow(10.0, Math.Floor(Math.Log10(max))); 617 else base10 = Math.Pow(10.0, Math.Ceiling(Math.Log10(-max))); 618 double rounding = (max > 0) ? base10 : -base10; 619 while (rounding < max) rounding += base10; 620 return rounding; 582 621 } 583 622 -
branches/histogram/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesControl.Designer.cs
r6020 r6032 145 145 this.yAxisPrimaryTitleTextBox.Location = new System.Drawing.Point(63, 23); 146 146 this.yAxisPrimaryTitleTextBox.Name = "yAxisPrimaryTitleTextBox"; 147 this.yAxisPrimaryTitleTextBox.Size = new System.Drawing.Size(2 43, 20);147 this.yAxisPrimaryTitleTextBox.Size = new System.Drawing.Size(221, 20); 148 148 this.yAxisPrimaryTitleTextBox.TabIndex = 1; 149 149 this.yAxisPrimaryTitleTextBox.Validated += new System.EventHandler(this.yPrimaryTitleTextBox_Validated); … … 207 207 this.xAxisPrimaryTitleTextBox.Location = new System.Drawing.Point(63, 23); 208 208 this.xAxisPrimaryTitleTextBox.Name = "xAxisPrimaryTitleTextBox"; 209 this.xAxisPrimaryTitleTextBox.Size = new System.Drawing.Size(2 45, 20);209 this.xAxisPrimaryTitleTextBox.Size = new System.Drawing.Size(221, 20); 210 210 this.xAxisPrimaryTitleTextBox.TabIndex = 1; 211 211 this.xAxisPrimaryTitleTextBox.Validated += new System.EventHandler(this.xPrimaryTitleTextBox_Validated); … … 234 234 this.xAxisPrimaryMaximumFixedTextBox.Location = new System.Drawing.Point(126, 2); 235 235 this.xAxisPrimaryMaximumFixedTextBox.Name = "xAxisPrimaryMaximumFixedTextBox"; 236 this.xAxisPrimaryMaximumFixedTextBox.Size = new System.Drawing.Size( 117, 20);236 this.xAxisPrimaryMaximumFixedTextBox.Size = new System.Drawing.Size(95, 20); 237 237 this.xAxisPrimaryMaximumFixedTextBox.TabIndex = 2; 238 238 this.xAxisPrimaryMaximumFixedTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.xAxisPrimaryMaximumFixedTextBox_Validating); … … 276 276 this.xAxisPrimaryMinimumFixedTextBox.Location = new System.Drawing.Point(126, 2); 277 277 this.xAxisPrimaryMinimumFixedTextBox.Name = "xAxisPrimaryMinimumFixedTextBox"; 278 this.xAxisPrimaryMinimumFixedTextBox.Size = new System.Drawing.Size( 117, 20);278 this.xAxisPrimaryMinimumFixedTextBox.Size = new System.Drawing.Size(95, 20); 279 279 this.xAxisPrimaryMinimumFixedTextBox.TabIndex = 2; 280 280 this.xAxisPrimaryMinimumFixedTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.xAxisPrimaryMinimumFixedTextBox_Validating); … … 334 334 this.xAxisSecondaryTitleTextBox.Location = new System.Drawing.Point(63, 23); 335 335 this.xAxisSecondaryTitleTextBox.Name = "xAxisSecondaryTitleTextBox"; 336 this.xAxisSecondaryTitleTextBox.Size = new System.Drawing.Size(2 45, 20);336 this.xAxisSecondaryTitleTextBox.Size = new System.Drawing.Size(221, 20); 337 337 this.xAxisSecondaryTitleTextBox.TabIndex = 1; 338 338 this.xAxisSecondaryTitleTextBox.Validated += new System.EventHandler(this.xSecondaryTitleTextBox_Validated); … … 370 370 this.xAxisSecondaryMaximumFixedTextBox.Location = new System.Drawing.Point(126, 2); 371 371 this.xAxisSecondaryMaximumFixedTextBox.Name = "xAxisSecondaryMaximumFixedTextBox"; 372 this.xAxisSecondaryMaximumFixedTextBox.Size = new System.Drawing.Size( 117, 20);372 this.xAxisSecondaryMaximumFixedTextBox.Size = new System.Drawing.Size(95, 20); 373 373 this.xAxisSecondaryMaximumFixedTextBox.TabIndex = 2; 374 374 this.xAxisSecondaryMaximumFixedTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.xAxisSecondaryMaximumFixedTextBox_Validating); … … 412 412 this.xAxisSecondaryMinimumFixedTextBox.Location = new System.Drawing.Point(126, 2); 413 413 this.xAxisSecondaryMinimumFixedTextBox.Name = "xAxisSecondaryMinimumFixedTextBox"; 414 this.xAxisSecondaryMinimumFixedTextBox.Size = new System.Drawing.Size( 117, 20);414 this.xAxisSecondaryMinimumFixedTextBox.Size = new System.Drawing.Size(95, 20); 415 415 this.xAxisSecondaryMinimumFixedTextBox.TabIndex = 2; 416 416 this.xAxisSecondaryMinimumFixedTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.xAxisSecondaryMinimumFixedTextBox_Validating); … … 596 596 this.yAxisSecondaryMaximumFixedTextBox.Location = new System.Drawing.Point(126, 2); 597 597 this.yAxisSecondaryMaximumFixedTextBox.Name = "yAxisSecondaryMaximumFixedTextBox"; 598 this.yAxisSecondaryMaximumFixedTextBox.Size = new System.Drawing.Size( 117, 20);598 this.yAxisSecondaryMaximumFixedTextBox.Size = new System.Drawing.Size(95, 20); 599 599 this.yAxisSecondaryMaximumFixedTextBox.TabIndex = 2; 600 600 this.yAxisSecondaryMaximumFixedTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.yAxisSecondaryMaximumFixedTextBox_Validating); … … 638 638 this.yAxisSecondaryMinimumFixedTextBox.Location = new System.Drawing.Point(126, 2); 639 639 this.yAxisSecondaryMinimumFixedTextBox.Name = "yAxisSecondaryMinimumFixedTextBox"; 640 this.yAxisSecondaryMinimumFixedTextBox.Size = new System.Drawing.Size( 117, 20);640 this.yAxisSecondaryMinimumFixedTextBox.Size = new System.Drawing.Size(95, 20); 641 641 this.yAxisSecondaryMinimumFixedTextBox.TabIndex = 2; 642 642 this.yAxisSecondaryMinimumFixedTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.yAxisSecondaryMinimumFixedTextBox_Validating); … … 713 713 this.yAxisPrimaryMaximumFixedTextBox.Location = new System.Drawing.Point(126, 2); 714 714 this.yAxisPrimaryMaximumFixedTextBox.Name = "yAxisPrimaryMaximumFixedTextBox"; 715 this.yAxisPrimaryMaximumFixedTextBox.Size = new System.Drawing.Size( 117, 20);715 this.yAxisPrimaryMaximumFixedTextBox.Size = new System.Drawing.Size(95, 20); 716 716 this.yAxisPrimaryMaximumFixedTextBox.TabIndex = 2; 717 717 this.yAxisPrimaryMaximumFixedTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.yAxisPrimaryMaximumFixedTextBox_Validating); … … 755 755 this.yAxisPrimaryMinimumFixedTextBox.Location = new System.Drawing.Point(126, 2); 756 756 this.yAxisPrimaryMinimumFixedTextBox.Name = "yAxisPrimaryMinimumFixedTextBox"; 757 this.yAxisPrimaryMinimumFixedTextBox.Size = new System.Drawing.Size( 117, 20);757 this.yAxisPrimaryMinimumFixedTextBox.Size = new System.Drawing.Size(95, 20); 758 758 this.yAxisPrimaryMinimumFixedTextBox.TabIndex = 2; 759 759 this.yAxisPrimaryMinimumFixedTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.yAxisPrimaryMinimumFixedTextBox_Validating); -
branches/histogram/HeuristicLab.Analysis.Views/3.3/DataTableVisualPropertiesControl.cs
r6020 r6032 161 161 double val; 162 162 if (double.TryParse(tb.Text, out val)) { 163 Content.XAxisMinimumFixedValue = val; 164 errorProvider.SetError(tb, string.Empty); 163 if (val >= Content.XAxisMaximumFixedValue) { 164 errorProvider.SetError(tb, "Number must be smaller than maximum."); 165 e.Cancel = true; 166 } else { 167 Content.XAxisMinimumFixedValue = val; 168 errorProvider.SetError(tb, string.Empty); 169 } 165 170 } else { 166 171 errorProvider.SetError(tb, "Not a valid number."); … … 175 180 double val; 176 181 if (double.TryParse(tb.Text, out val)) { 177 Content.XAxisMaximumFixedValue = val; 178 errorProvider.SetError(tb, string.Empty); 182 if (val <= Content.XAxisMinimumFixedValue) { 183 errorProvider.SetError(tb, "Number must be greater than minimum."); 184 e.Cancel = true; 185 } else { 186 Content.XAxisMaximumFixedValue = val; 187 errorProvider.SetError(tb, string.Empty); 188 } 179 189 } else { 180 190 errorProvider.SetError(tb, "Not a valid number."); … … 189 199 double val; 190 200 if (double.TryParse(tb.Text, out val)) { 191 Content.SecondXAxisMinimumFixedValue = val; 192 errorProvider.SetError(tb, string.Empty); 201 if (val >= Content.SecondXAxisMaximumFixedValue) { 202 errorProvider.SetError(tb, "Number must be smaller than maximum."); 203 e.Cancel = true; 204 } else { 205 Content.SecondXAxisMinimumFixedValue = val; 206 errorProvider.SetError(tb, string.Empty); 207 } 193 208 } else { 194 209 errorProvider.SetError(tb, "Not a valid number."); … … 203 218 double val; 204 219 if (double.TryParse(tb.Text, out val)) { 205 Content.SecondXAxisMaximumFixedValue = val; 206 errorProvider.SetError(tb, string.Empty); 220 if (val <= Content.SecondXAxisMinimumFixedValue) { 221 errorProvider.SetError(tb, "Number must be greater than minimum."); 222 e.Cancel = true; 223 } else { 224 Content.SecondXAxisMaximumFixedValue = val; 225 errorProvider.SetError(tb, string.Empty); 226 } 207 227 } else { 208 228 errorProvider.SetError(tb, "Not a valid number."); … … 217 237 double val; 218 238 if (double.TryParse(tb.Text, out val)) { 219 Content.YAxisMinimumFixedValue = val; 220 errorProvider.SetError(tb, string.Empty); 239 if (val >= Content.YAxisMaximumFixedValue) { 240 errorProvider.SetError(tb, "Number must be smaller than maximum."); 241 e.Cancel = true; 242 } else { 243 Content.YAxisMinimumFixedValue = val; 244 errorProvider.SetError(tb, string.Empty); 245 } 221 246 } else { 222 247 errorProvider.SetError(tb, "Not a valid number."); … … 231 256 double val; 232 257 if (double.TryParse(tb.Text, out val)) { 233 Content.YAxisMaximumFixedValue = val; 234 errorProvider.SetError(tb, string.Empty); 258 if (val <= Content.YAxisMinimumFixedValue) { 259 errorProvider.SetError(tb, "Number must be greater than minimum."); 260 e.Cancel = true; 261 } else { 262 Content.YAxisMaximumFixedValue = val; 263 errorProvider.SetError(tb, string.Empty); 264 } 235 265 } else { 236 266 errorProvider.SetError(tb, "Not a valid number."); … … 245 275 double val; 246 276 if (double.TryParse(tb.Text, out val)) { 247 Content.SecondYAxisMinimumFixedValue = val; 248 errorProvider.SetError(tb, string.Empty); 277 if (val >= Content.SecondYAxisMaximumFixedValue) { 278 errorProvider.SetError(tb, "Number must be smaller than maximum."); 279 e.Cancel = true; 280 } else { 281 Content.SecondYAxisMinimumFixedValue = val; 282 errorProvider.SetError(tb, string.Empty); 283 } 249 284 } else { 250 285 errorProvider.SetError(tb, "Not a valid number."); … … 259 294 double val; 260 295 if (double.TryParse(tb.Text, out val)) { 261 Content.SecondYAxisMaximumFixedValue = val; 262 errorProvider.SetError(tb, string.Empty); 296 if (val <= Content.SecondYAxisMinimumFixedValue) { 297 errorProvider.SetError(tb, "Number must be greater than minimum."); 298 e.Cancel = true; 299 } else { 300 Content.SecondYAxisMaximumFixedValue = val; 301 errorProvider.SetError(tb, string.Empty); 302 } 263 303 } else { 264 304 errorProvider.SetError(tb, "Not a valid number."); -
branches/histogram/HeuristicLab.Encodings.PermutationEncoding
- Property svn:mergeinfo changed (with no actual effect on merging)
-
branches/histogram/HeuristicLab.Optimization/3.3/Problems/SingleObjectiveHeuristicOptimizationProblem.cs
- Property svn:mergeinfo changed (with no actual effect on merging)
-
branches/histogram/HeuristicLab.Parameters/3.3/ValueParameter.cs
r5843 r6032 54 54 public ValueParameter(string name, string description, T value) : base(name, description, value) { } 55 55 public ValueParameter(string name, string description, T value, bool getsCollected) : base(name, description, value, getsCollected) { } 56 57 protected T CreateDefaultValue() { 58 Type type = typeof(T); 59 if (type.IsAbstract) return null; 60 ConstructorInfo defaultConstructor = type.GetConstructor(Type.EmptyTypes); 61 if (defaultConstructor == null) return null; 56 62 57 protected T CreateDefaultValue() { 58 ConstructorInfo defaultConstructor = typeof(T).GetConstructor(Type.EmptyTypes); 59 if (defaultConstructor != null) 60 return (T)defaultConstructor.Invoke(new object[0]); 61 return null; 63 return (T)defaultConstructor.Invoke(new object[0]); 62 64 } 63 65 -
branches/histogram/HeuristicLab.Persistence
- Property svn:mergeinfo changed (with no actual effect on merging)
-
branches/histogram/HeuristicLab.Problems.DataAnalysis
- Property svn:mergeinfo changed (with no actual effect on merging)
-
branches/histogram/HeuristicLab.Problems.VehicleRouting
- Property svn:mergeinfo changed (with no actual effect on merging)
-
branches/histogram/HeuristicLab.Problems.VehicleRouting.Views
- Property svn:mergeinfo changed (with no actual effect on merging)
Note: See TracChangeset
for help on using the changeset viewer.