public override DataTemplate SelectTemplate(object item, DependencyObject container) { if (container == null) { return(null); } FrameworkElement element = container as FrameworkElement; if (element == null) { return(null); } if (item == null) { return(element.TryFindResource("DT_Empty") as DataTemplate); } ParameterStructure.Component.Component component = item as ParameterStructure.Component.Component; ParameterStructure.Component.EmptyComponentSlot compslot = new EmptyComponentSlot { SlotType = 0, SlotName = string.Empty, SlotDescr = string.Empty }; if (item is ParameterStructure.Component.EmptyComponentSlot) { compslot = (ParameterStructure.Component.EmptyComponentSlot)item; } ParameterStructure.Parameter.Parameter parameter = item as ParameterStructure.Parameter.Parameter; ParameterStructure.Parameter.Calculation calc = item as ParameterStructure.Parameter.Calculation; ParameterStructure.Geometry.GeometricRelationship geom_rel = item as ParameterStructure.Geometry.GeometricRelationship; ParameterStructure.Geometry.HierarchicalContainer hcontainer = item as ParameterStructure.Geometry.HierarchicalContainer; if (component != null) { if (component.IsHidden) { return(element.TryFindResource("ComponentInListHidden") as DataTemplate); } else { return(element.TryFindResource("ComponentWInstancesWoControlsInList") as DataTemplate); } } else if (!(string.IsNullOrEmpty(compslot.SlotName))) { if (compslot.IsLarge) { return(element.TryFindResource("ComponentSlotInParamList") as DataTemplate); } else { return(element.TryFindResource("ComponentSlotInList") as DataTemplate); } } else if (parameter != null) { return(element.TryFindResource("ParamInListMapping") as DataTemplate); } else if (calc != null) { return(element.TryFindResource("CalcInListMapping") as DataTemplate); } else if (geom_rel != null) { return(element.TryFindResource("GeomRelationshipInMappingTree") as DataTemplate); } else if (hcontainer != null) { return(element.TryFindResource("HierarchicalContainerInList") as DataTemplate); } else { return(null); } }
public override DataTemplate SelectTemplate(object item, DependencyObject container) { if (container == null) { return(null); } FrameworkElement element = container as FrameworkElement; if (element == null) { return(null); } if (item == null) { return(element.TryFindResource("DT_Empty") as DataTemplate); } ParameterStructure.Component.Component component = item as ParameterStructure.Component.Component; ParameterStructure.Component.EmptyComponentSlot compslot = new EmptyComponentSlot { SlotType = 0, SlotName = string.Empty, SlotDescr = string.Empty }; if (item is ParameterStructure.Component.EmptyComponentSlot) { compslot = (ParameterStructure.Component.EmptyComponentSlot)item; } ParameterStructure.Parameter.Parameter parameter = item as ParameterStructure.Parameter.Parameter; ParameterStructure.Parameter.Calculation calc = item as ParameterStructure.Parameter.Calculation; if (component != null) { if (component.IsHidden) { return(element.TryFindResource("ComponentInListHidden") as DataTemplate); } else { return(element.TryFindResource("ComponentInList") as DataTemplate); } } else if (!(string.IsNullOrEmpty(compslot.SlotName))) { if (compslot.IsLarge) { return(element.TryFindResource("ComponentSlotInParamList") as DataTemplate); } else { return(element.TryFindResource("ComponentSlotInList") as DataTemplate); } } else if (parameter != null) { return(element.TryFindResource("ParamOfCompInList") as DataTemplate); } else if (calc != null) { return(element.TryFindResource("CalcInList") as DataTemplate); } else { return(null); } }
public override void CompareWith <T>(List <T> _cc) { if (this.CompResult_Done) { return; } if (_cc == null) { return; } ComparisonResult tmp = this.CompResult; foreach (ComparableContent entry in _cc) { if (!(entry is Calculation)) { continue; } if (entry.CompResult_Done) { continue; } Calculation calc = entry as Calculation; ComparisonResult tmp_c = calc.CompResult; if (tmp == ComparisonResult.UNIQUE) { if (Calculation.HaveSameOutput(this, calc)) { tmp = ComparisonResult.SAMENAME_DIFFUNIT; this.Buddy = calc; if (tmp_c <= ComparisonResult.SAMENAME_DIFFUNIT) { tmp_c = ComparisonResult.SAMENAME_DIFFUNIT; calc.Buddy = this; } } } if (tmp == ComparisonResult.SAMENAME_DIFFUNIT) { if (Calculation.HaveSameOutput(this, calc) && Calculation.HaveSameInput(this, calc)) { tmp = ComparisonResult.SAMENAMEUNIT_DIFFVALUE; this.Buddy = calc; if (tmp_c <= ComparisonResult.SAMENAMEUNIT_DIFFVALUE) { tmp_c = ComparisonResult.SAMENAMEUNIT_DIFFVALUE; calc.Buddy = this; } } } if (tmp == ComparisonResult.SAMENAMEUNIT_DIFFVALUE) { if (Calculation.HaveSameOutput(this, calc) && Calculation.HaveSameInput(this, calc) && Calculation.HaveSameExpression(this, calc)) { this.CompResult = ComparisonResult.SAME; this.CompResult_Done = true; this.Buddy = calc; if (tmp_c <= ComparisonResult.SAME) { calc.CompResult = ComparisonResult.SAME; calc.CompResult_Done = true; calc.Buddy = this; } return; } } calc.CompResult = tmp_c; } this.CompResult = tmp; this.CompResult_Done = true; }