Changeset 6673
- Timestamp:
- 08/19/11 11:25:46 (13 years ago)
- Location:
- trunk/sources
- Files:
-
- 1 added
- 11 edited
- 4 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Optimization.Views/3.3/HeuristicLab.Optimization.Views-3.3.csproj
r6662 r6673 128 128 <DependentUpon>BatchRunView.cs</DependentUpon> 129 129 </Compile> 130 <Compile Include="RunCollectionContentConstraintView.cs"> 131 <SubType>UserControl</SubType> 132 </Compile> 133 <Compile Include="RunCollectionContentConstraintView.Designer.cs"> 134 <DependentUpon>RunCollectionContentConstraintView.cs</DependentUpon> 135 </Compile> 130 136 <Compile Include="ExperimentTreeView.cs"> 131 137 <SubType>UserControl</SubType> … … 176 182 <DependentUpon>RunCollectionConstraintCollectionView.cs</DependentUpon> 177 183 </Compile> 178 <Compile Include="RunCollectionCo nstraintView.cs">179 <SubType>UserControl</SubType> 180 </Compile> 181 <Compile Include="RunCollectionCo nstraintView.Designer.cs">182 <DependentUpon>RunCollectionCo nstraintView.cs</DependentUpon>184 <Compile Include="RunCollectionColumnConstraintView.cs"> 185 <SubType>UserControl</SubType> 186 </Compile> 187 <Compile Include="RunCollectionColumnConstraintView.Designer.cs"> 188 <DependentUpon>RunCollectionColumnConstraintView.cs</DependentUpon> 183 189 </Compile> 184 190 <Compile Include="OptimizerListView.cs"> -
trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionBubbleChartView.Designer.cs
r6558 r6673 61 61 this.chart = new HeuristicLab.Visualization.ChartControlsExtensions.EnhancedChart(); 62 62 this.openBoxPlotViewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 63 this.hideRunToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 63 64 this.zoomButton = new System.Windows.Forms.RadioButton(); 64 65 this.selectButton = new System.Windows.Forms.RadioButton(); … … 214 215 this.openBoxPlotViewToolStripMenuItem.Text = "Open BoxPlot View"; 215 216 this.openBoxPlotViewToolStripMenuItem.Click += new System.EventHandler(this.openBoxPlotViewToolStripMenuItem_Click); 217 // 218 // hideRunToolStripMenuItem 219 // 220 this.hideRunToolStripMenuItem.Name = "hideRunToolStripMenuItem"; 221 this.hideRunToolStripMenuItem.Size = new System.Drawing.Size(256, 22); 222 this.hideRunToolStripMenuItem.Text = "Hide Run"; 223 this.hideRunToolStripMenuItem.Click += new System.EventHandler(hideRunToolStripMenuItem_Click); 216 224 // 217 225 // zoomButton … … 374 382 private System.Windows.Forms.Label noRunsLabel; 375 383 private System.Windows.Forms.ToolStripMenuItem openBoxPlotViewToolStripMenuItem; 384 private System.Windows.Forms.ToolStripMenuItem hideRunToolStripMenuItem; 376 385 private System.Windows.Forms.Button colorXAxisButton; 377 386 private System.Windows.Forms.Button colorYAxisButton; -
trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionBubbleChartView.cs
r6096 r6673 55 55 public RunCollectionBubbleChartView() { 56 56 InitializeComponent(); 57 chart.ContextMenuStrip.Items.Insert(0, openBoxPlotViewToolStripMenuItem); 57 58 chart.ContextMenuStrip.Items.Insert(0, hideRunToolStripMenuItem); 59 chart.ContextMenuStrip.Items.Insert(1, openBoxPlotViewToolStripMenuItem); 60 chart.ContextMenuStrip.Opening += new System.ComponentModel.CancelEventHandler(ContextMenuStrip_Opening); 58 61 59 62 runToDataPointMapping = new Dictionary<IRun, List<DataPoint>>(); … … 631 634 } 632 635 636 private IRun runToHide = null; 637 private void ContextMenuStrip_Opening(object sender, System.ComponentModel.CancelEventArgs e) { 638 var pos = Control.MousePosition; 639 var chartPos = chart.PointToClient(pos); 640 641 HitTestResult h = this.chart.HitTest(chartPos.X, chartPos.Y); 642 if (h.ChartElementType == ChartElementType.DataPoint) { 643 runToHide = (IRun)((DataPoint)h.Object).Tag; 644 hideRunToolStripMenuItem.Visible = true; 645 } else { 646 runToHide = null; 647 hideRunToolStripMenuItem.Visible = false; 648 } 649 650 } 651 private void hideRunToolStripMenuItem_Click(object sender, EventArgs e) { 652 var constraint = Content.Constraints.OfType<RunCollectionContentConstraint>().Where(c => c.Active).FirstOrDefault(); 653 if (constraint == null) { 654 constraint = new RunCollectionContentConstraint(); 655 Content.Constraints.Add(constraint); 656 constraint.Active = true; 657 } 658 constraint.ConstraintData.Add(runToHide); 659 } 660 633 661 private void openBoxPlotViewToolStripMenuItem_Click(object sender, EventArgs e) { 634 662 RunCollectionBoxPlotView boxplotView = new RunCollectionBoxPlotView(); … … 662 690 } 663 691 #endregion 664 665 692 } 666 693 } -
trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionColumnConstraintView.Designer.cs
r6661 r6673 21 21 22 22 namespace HeuristicLab.Optimization.Views { 23 partial class RunCollectionCo nstraintView {23 partial class RunCollectionColumnConstraintView { 24 24 /// <summary> 25 25 /// Required designer variable. -
trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionColumnConstraintView.cs
r6661 r6673 28 28 29 29 namespace HeuristicLab.Optimization.Views { 30 [Content(typeof(IRunCollectionCo nstraint))]31 public partial class RunCollectionCo nstraintView : ItemView {32 public RunCollectionCo nstraintView() {30 [Content(typeof(IRunCollectionColumnConstraint))] 31 public partial class RunCollectionColumnConstraintView : ItemView { 32 public RunCollectionColumnConstraintView() { 33 33 InitializeComponent(); 34 34 } 35 35 36 public new IRunCollectionCo nstraint Content {37 get { return (IRunCollectionCo nstraint)base.Content; }36 public new IRunCollectionColumnConstraint Content { 37 get { return (IRunCollectionColumnConstraint)base.Content; } 38 38 set { base.Content = value; } 39 39 } -
trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionComparisonConstraintView.cs
r5445 r6673 29 29 namespace HeuristicLab.Optimization.Views { 30 30 [Content(typeof(RunCollectionComparisonConstraint), true)] 31 public partial class RunCollectionComparisonConstraintView : RunCollectionCo nstraintView {31 public partial class RunCollectionComparisonConstraintView : RunCollectionColumnConstraintView { 32 32 public RunCollectionComparisonConstraintView() { 33 33 InitializeComponent(); -
trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionContentConstraintView.Designer.cs
r6661 r6673 20 20 #endregion 21 21 22 using System.Windows.Forms; 23 22 24 namespace HeuristicLab.Optimization.Views { 23 partial class RunCollectionCon straintView {25 partial class RunCollectionContentConstraintView { 24 26 /// <summary> 25 27 /// Required designer variable. … … 45 47 /// </summary> 46 48 private void InitializeComponent() { 47 this.lblConstrainedMember = new System.Windows.Forms.Label();48 this.lblComparisonOperation = new System.Windows.Forms.Label();49 this.lblCompareValue = new System.Windows.Forms.Label();50 this.cmbConstraintOperation = new System.Windows.Forms.ComboBox();51 49 this.chbActive = new System.Windows.Forms.CheckBox(); 52 this. cmbConstraintColumn = new System.Windows.Forms.ComboBox();50 this.runsView = new HeuristicLab.Optimization.Views.RunCollectionContentConstraintView.RunSetView(); 53 51 this.SuspendLayout(); 54 //55 // lblConstrainedMember56 //57 this.lblConstrainedMember.AutoSize = true;58 this.lblConstrainedMember.Location = new System.Drawing.Point(3, 6);59 this.lblConstrainedMember.Name = "lblConstrainedMember";60 this.lblConstrainedMember.Size = new System.Drawing.Size(107, 13);61 this.lblConstrainedMember.TabIndex = 0;62 this.lblConstrainedMember.Text = "Constrained Member:";63 //64 // lblComparisonOperation65 //66 this.lblComparisonOperation.AutoSize = true;67 this.lblComparisonOperation.Location = new System.Drawing.Point(3, 32);68 this.lblComparisonOperation.Name = "lblComparisonOperation";69 this.lblComparisonOperation.Size = new System.Drawing.Size(106, 13);70 this.lblComparisonOperation.TabIndex = 1;71 this.lblComparisonOperation.Text = "Constraint Operation:";72 //73 // lblCompareValue74 //75 this.lblCompareValue.AutoSize = true;76 this.lblCompareValue.Location = new System.Drawing.Point(3, 59);77 this.lblCompareValue.Name = "lblCompareValue";78 this.lblCompareValue.Size = new System.Drawing.Size(83, 13);79 this.lblCompareValue.TabIndex = 2;80 this.lblCompareValue.Text = "Constraint Data:";81 //82 // cmbConstraintOperation83 //84 this.cmbConstraintOperation.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)85 | System.Windows.Forms.AnchorStyles.Right)));86 this.cmbConstraintOperation.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;87 this.cmbConstraintOperation.FormattingEnabled = true;88 this.cmbConstraintOperation.Location = new System.Drawing.Point(127, 29);89 this.cmbConstraintOperation.Name = "cmbConstraintOperation";90 this.cmbConstraintOperation.Size = new System.Drawing.Size(246, 21);91 this.cmbConstraintOperation.TabIndex = 4;92 this.cmbConstraintOperation.SelectedIndexChanged += new System.EventHandler(this.cmbComparisonOperation_SelectedIndexChanged);93 52 // 94 53 // chbActive 95 54 // 96 55 this.chbActive.AutoSize = true; 97 this.chbActive.Location = new System.Drawing.Point( 127, 82);56 this.chbActive.Location = new System.Drawing.Point(3, 3); 98 57 this.chbActive.Name = "chbActive"; 99 58 this.chbActive.Size = new System.Drawing.Size(56, 17); … … 103 62 this.chbActive.CheckedChanged += new System.EventHandler(this.chbActive_CheckedChanged); 104 63 // 105 // cmbConstraintColumn64 // operatorSetView1 106 65 // 107 this.cmbConstraintColumn.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 108 | System.Windows.Forms.AnchorStyles.Right))); 109 this.cmbConstraintColumn.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 110 this.cmbConstraintColumn.FormattingEnabled = true; 111 this.cmbConstraintColumn.Location = new System.Drawing.Point(127, 3); 112 this.cmbConstraintColumn.Name = "cmbConstraintColumn"; 113 this.cmbConstraintColumn.Size = new System.Drawing.Size(246, 21); 114 this.cmbConstraintColumn.TabIndex = 8; 115 this.cmbConstraintColumn.SelectedIndexChanged += new System.EventHandler(this.cmbConstraintColumn_SelectedIndexChanged); 66 this.runsView.Anchor = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom; 67 this.runsView.Caption = "Runs View"; 68 this.runsView.Content = null; 69 this.runsView.Location = new System.Drawing.Point(3, 26); 70 this.runsView.Name = "runsView"; 71 this.runsView.ReadOnly = false; 72 this.runsView.Size = new System.Drawing.Size(309, 323); 73 this.runsView.TabIndex = 8; 116 74 // 117 // RunCollectionCon straintView75 // RunCollectionContentConstraintView 118 76 // 119 77 this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 120 78 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 121 this.Controls.Add(this. cmbConstraintColumn);79 this.Controls.Add(this.runsView); 122 80 this.Controls.Add(this.chbActive); 123 this.Controls.Add(this.cmbConstraintOperation); 124 this.Controls.Add(this.lblCompareValue); 125 this.Controls.Add(this.lblComparisonOperation); 126 this.Controls.Add(this.lblConstrainedMember); 127 this.Name = "RunCollectionConstraintView"; 128 this.Size = new System.Drawing.Size(376, 102); 81 this.Name = "RunCollectionContentConstraintView"; 82 this.Size = new System.Drawing.Size(315, 352); 129 83 this.ResumeLayout(false); 130 84 this.PerformLayout(); … … 134 88 #endregion 135 89 136 private System.Windows.Forms.Label lblConstrainedMember;137 private System.Windows.Forms.Label lblComparisonOperation;138 private System.Windows.Forms.Label lblCompareValue;139 90 private System.Windows.Forms.CheckBox chbActive; 140 protected System.Windows.Forms.ComboBox cmbConstraintColumn; 141 protected System.Windows.Forms.ComboBox cmbConstraintOperation; 91 private RunSetView runsView; 142 92 } 143 93 } -
trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionContentConstraintView.cs
r6661 r6673 22 22 using System; 23 23 using System.Linq; 24 using HeuristicLab.Core; 24 using System.Windows.Forms; 25 using HeuristicLab.Common; 25 26 using HeuristicLab.Core.Views; 26 using HeuristicLab.Data;27 27 using HeuristicLab.MainForm; 28 28 29 29 namespace HeuristicLab.Optimization.Views { 30 [Content(typeof( IRunCollectionConstraint))]31 public partial class RunCollectionCon straintView : ItemView {32 public RunCollectionCon straintView() {30 [Content(typeof(RunCollectionContentConstraint), true)] 31 public partial class RunCollectionContentConstraintView : ItemView { 32 public RunCollectionContentConstraintView() { 33 33 InitializeComponent(); 34 runsView.ShowDetails = false; 34 35 } 35 36 36 public new IRunCollectionConstraint Content {37 get { return ( IRunCollectionConstraint)base.Content; }37 public new RunCollectionContentConstraint Content { 38 get { return (RunCollectionContentConstraint)base.Content; } 38 39 set { base.Content = value; } 39 40 } … … 41 42 protected override void OnContentChanged() { 42 43 base.OnContentChanged(); 43 cmbConstraintColumn.Items.Clear();44 cmbConstraintOperation.Items.Clear();45 46 44 if (Content != null) { 47 cmbConstraintOperation.Items.AddRange(Content.AllowedConstraintOperations.ToArray());48 if (Content.ConstraintOperation != null)49 cmbConstraintOperation.SelectedItem = Content.ConstraintOperation;50 else if (cmbConstraintOperation.Items.Count != 0)51 cmbConstraintOperation.SelectedIndex = 0;52 UpdateColumnComboBox();53 45 chbActive.Checked = Content.Active; 54 46 ReadOnly = Content.Active; 55 } else 47 runsView.RunCollection = Content.ConstrainedValue; 48 runsView.Content = Content.ConstraintData; 49 } else { 56 50 chbActive.Checked = false; 57 } 58 59 protected virtual void UpdateColumnComboBox() { 60 this.cmbConstraintColumn.Items.Clear(); 61 if (Content.ConstrainedValue != null) { 62 this.cmbConstraintColumn.Items.AddRange(((IStringConvertibleMatrix)Content.ConstrainedValue).ColumnNames.ToArray()); 63 if (!string.IsNullOrEmpty(Content.ConstraintColumn)) 64 this.cmbConstraintColumn.SelectedItem = Content.ConstraintColumn; 51 runsView.RunCollection = null; 52 runsView.Content = null; 65 53 } 66 54 } … … 68 56 protected override void RegisterContentEvents() { 69 57 base.RegisterContentEvents(); 70 this.Content.ActiveChanged += new EventHandler(Content_ActiveChanged); 71 this.Content.ConstraintOperationChanged += new EventHandler(Content_ComparisonOperationChanged); 72 this.Content.ConstraintColumnChanged += new EventHandler(Content_ConstraintColumnChanged); 73 this.Content.ConstrainedValueChanged += new EventHandler(Content_ConstrainedValueChanged); 58 Content.ActiveChanged += new EventHandler(Content_ActiveChanged); 74 59 } 75 60 76 61 protected override void DeregisterContentEvents() { 77 62 base.DeregisterContentEvents(); 78 this.Content.ActiveChanged -= new EventHandler(Content_ActiveChanged); 79 this.Content.ConstraintOperationChanged -= new EventHandler(Content_ComparisonOperationChanged); 80 this.Content.ConstraintColumnChanged -= new EventHandler(Content_ConstraintColumnChanged); 81 this.Content.ConstrainedValueChanged += new EventHandler(Content_ConstrainedValueChanged); 63 Content.ActiveChanged -= new EventHandler(Content_ActiveChanged); 82 64 } 83 65 84 66 protected override void SetEnabledStateOfControls() { 85 67 base.SetEnabledStateOfControls(); 86 cmbConstraintColumn.Enabled = !this.ReadOnly && Content != null; 87 cmbConstraintOperation.Enabled = !this.ReadOnly && Content != null; 88 chbActive.Enabled = !this.Locked && Content != null; 89 } 90 91 protected virtual void Content_ConstrainedValueChanged(object sender, EventArgs e) { 92 this.UpdateColumnComboBox(); 93 } 94 95 protected virtual void Content_ConstraintColumnChanged(object sender, EventArgs e) { 96 if (Content.ConstrainedValue != null) { 97 if (cmbConstraintColumn.SelectedItem.ToString() != Content.ConstraintColumn) 98 cmbConstraintColumn.SelectedItem = Content.ConstraintColumn; 99 } 100 } 101 private void cmbConstraintColumn_SelectedIndexChanged(object sender, EventArgs e) { 102 if (Content.ConstrainedValue != null) { 103 Content.ConstraintColumn = (string)cmbConstraintColumn.SelectedItem; 104 } 105 } 106 107 protected virtual void Content_ComparisonOperationChanged(object sender, EventArgs e) { 108 if (Content.ConstraintOperation != (ConstraintOperation)this.cmbConstraintOperation.SelectedItem) 109 this.cmbConstraintOperation.SelectedItem = Content.ConstraintOperation; 110 } 111 protected virtual void cmbComparisonOperation_SelectedIndexChanged(object sender, EventArgs e) { 112 Content.ConstraintOperation = (ConstraintOperation)this.cmbConstraintOperation.SelectedItem; 68 chbActive.Enabled = !Locked && Content != null; 69 runsView.Enabled = !Locked && Content != null; 113 70 } 114 71 115 72 protected virtual void Content_ActiveChanged(object sender, EventArgs e) { 116 if (this.chbActive.Checked != Content.Active) 117 this.chbActive.Checked = Content.Active; 118 this.ReadOnly = Content.Active; 73 chbActive.Checked = Content.Active; 74 ReadOnly = Content.Active; 119 75 } 120 76 protected virtual void chbActive_CheckedChanged(object sender, EventArgs e) { … … 122 78 Content.Active = chbActive.Checked; 123 79 } 80 81 private class RunSetView : ItemSetView<IRun> { 82 public RunCollection RunCollection { get; set; } 83 84 protected override void itemsListView_DragEnter(object sender, DragEventArgs e) { 85 base.itemsListView_DragEnter(sender, e); 86 if (RunCollection != null) { 87 var dropData = e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat); 88 foreach (var run in dropData.GetObjectGraphObjects().OfType<IRun>()) 89 validDragOperation = validDragOperation && RunCollection.Contains(run); 90 } 91 } 92 93 protected override void itemsListView_DragOver(object sender, DragEventArgs e) { 94 e.Effect = DragDropEffects.None; 95 if (validDragOperation) { 96 e.Effect = DragDropEffects.Link; 97 } 98 } 99 } 124 100 } 125 101 } -
trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionEqualityConstraintView.cs
r5445 r6673 25 25 namespace HeuristicLab.Optimization.Views { 26 26 [Content(typeof(RunCollectionEqualityConstraint), true)] 27 public partial class RunCollectionEqualityConstraintView : RunCollectionCo nstraintView {27 public partial class RunCollectionEqualityConstraintView : RunCollectionColumnConstraintView { 28 28 public RunCollectionEqualityConstraintView() { 29 29 InitializeComponent(); -
trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionTypeCompatibilityConstraintView.cs
r5445 r6673 25 25 namespace HeuristicLab.Optimization.Views { 26 26 [Content(typeof(RunCollectionTypeCompatibilityConstraint), true)] 27 public partial class RunCollectionTypeCompatibilityConstraintView : RunCollectionCo nstraintView {27 public partial class RunCollectionTypeCompatibilityConstraintView : RunCollectionColumnConstraintView { 28 28 public RunCollectionTypeCompatibilityConstraintView() { 29 29 InitializeComponent(); -
trunk/sources/HeuristicLab.Optimization/3.3/HeuristicLab.Optimization-3.3.csproj
r6665 r6673 144 144 <Compile Include="RunCollectionConstraints\RunCollectionComparisonConstraint.cs" /> 145 145 <Compile Include="RunCollectionConstraints\RunCollectionConstraintCollection.cs" /> 146 <Compile Include="RunCollectionConstraints\RunCollectionContentConstraint.cs" /> 146 147 <Compile Include="RunCollectionConstraints\RunCollectionTypeCompatiblityConstraint.cs" /> 147 148 <Compile Include="RunCollectionConstraints\RunCollectionEqualityConstraint.cs" /> -
trunk/sources/HeuristicLab.Optimization/3.3/RunCollectionConstraints/IRunCollectionConstraint.cs
r5445 r6673 26 26 public interface IRunCollectionConstraint : IConstraint { 27 27 new RunCollection ConstrainedValue { get; set; } 28 } 29 30 public interface IRunCollectionColumnConstraint : IRunCollectionConstraint { 28 31 string ConstraintColumn { get; set; } 29 32 event EventHandler ConstraintColumnChanged; -
trunk/sources/HeuristicLab.Optimization/3.3/RunCollectionConstraints/RunCollectionComparisonConstraint.cs
r5445 r6673 30 30 [StorableClass] 31 31 [Item("RunCollectionComparisonConstraint", "A constraint which compares the members of the contained runs with the constraint data.")] 32 public class RunCollectionComparisonConstraint : ComparisonConstraint, IRunCollectionCo nstraint {32 public class RunCollectionComparisonConstraint : ComparisonConstraint, IRunCollectionColumnConstraint { 33 33 [StorableConstructor] 34 34 protected RunCollectionComparisonConstraint(bool deserializing) : base(deserializing) { } -
trunk/sources/HeuristicLab.Optimization/3.3/RunCollectionConstraints/RunCollectionEqualityConstraint.cs
r5445 r6673 30 30 [StorableClass] 31 31 [Item("RunCollectionEqualityConstraint", "A constraint which checks the members of the contained runs for equality to the constraint data.")] 32 public class RunCollectionEqualityConstraint : EqualityConstraint, IRunCollectionCo nstraint {32 public class RunCollectionEqualityConstraint : EqualityConstraint, IRunCollectionColumnConstraint { 33 33 [StorableConstructor] 34 34 protected RunCollectionEqualityConstraint(bool deserializing) : base(deserializing) { } -
trunk/sources/HeuristicLab.Optimization/3.3/RunCollectionConstraints/RunCollectionTypeCompatiblityConstraint.cs
r5445 r6673 30 30 [StorableClass] 31 31 [Item("RunCollectionTypeCompatibilityConstraint", "A constraint which checks the members of the contained runs for type compabitiliby to the constraint data.")] 32 public class RunCollectionTypeCompatibilityConstraint : TypeCompatibilityConstraint, IRunCollectionCo nstraint {32 public class RunCollectionTypeCompatibilityConstraint : TypeCompatibilityConstraint, IRunCollectionColumnConstraint { 33 33 [StorableConstructor] 34 34 protected RunCollectionTypeCompatibilityConstraint(bool deserializing) {
Note: See TracChangeset
for help on using the changeset viewer.