VirtualTreeDisplayData IBranch.GetDisplayData(int row, int column, VirtualTreeDisplayDataMasks requiredData)
                    {
                        SurveyGroupingTypeGlyph glyphProvider = myGlyphProvider;
                        GroupingTypeData        typeData      = myGroupTypeData[row];
                        VirtualTreeDisplayData  retVal        = VirtualTreeDisplayData.Empty;

                        if (0 != (typeData.SelectionState & GroupingTypeSelectionState.CurrentlySelected))
                        {
                            retVal.Bold            = true;
                            retVal.StateImageIndex = (short)StandardCheckBoxImage.CheckedFlat;
                        }
                        else
                        {
                            retVal.StateImageIndex = (short)StandardCheckBoxImage.UncheckedFlat;
                        }
                        retVal.ImageList     = glyphProvider.GroupingTypeImages;
                        retVal.SelectedImage = retVal.Image = (short)glyphProvider.GetGroupingTypeIndex(typeData.GroupingTypeClassInfo);
                        return(retVal);
                    }
 VirtualTreeDisplayData IBranch.GetDisplayData(int row, int column, VirtualTreeDisplayDataMasks requiredData)
 {
     if (row == myCustomReferenceModesList.Count && column == 0)
     {
         VirtualTreeDisplayData retVal = new VirtualTreeDisplayData();
         retVal.ForeColor = SystemColors.GrayText;
         return(retVal);
     }
     if (row < myCustomReferenceModesList.Count && column == (int)Columns.FormatString)
     {
         if (myCustomReferenceModesList[row].CustomFormatString == null || myCustomReferenceModesList[row].CustomFormatString.Length == 0)
         {
             VirtualTreeDisplayData retVal = new VirtualTreeDisplayData();
             retVal.ForeColor = SystemColors.GrayText;
             return(retVal);
         }
     }
     return(VirtualTreeDisplayData.Empty);
 }
示例#3
0
                public override VirtualTreeDisplayData GetDisplayData(int row, int column, VirtualTreeDisplayDataMasks requiredData)
                {
                    VirtualTreeDisplayData displayData = VirtualTreeDisplayData.Empty;

                    displayData.BackColor = SystemColors.ControlLight;
                    bool currentGeneratorSelected = object.ReferenceEquals(_selectedORMGenerator, _ormGenerators[row]);

                    if (currentGeneratorSelected)
                    {
                        displayData.Bold = true;
                    }
                    if (0 != (requiredData.Mask & VirtualTreeDisplayMasks.StateImage))
                    {
                        if (currentGeneratorSelected)
                        {
                            displayData.StateImageIndex = _mainBranch.CanRemoveGenerator(this) ? (short)StandardCheckBoxImage.Checked : (short)StandardCheckBoxImage.CheckedDisabled;
                        }
                        else
                        {
                            displayData.StateImageIndex = (short)StandardCheckBoxImage.Unchecked;
                        }
                    }
                    return(displayData);
                }
示例#4
0
            VirtualTreeDisplayData IBranch.GetDisplayData(int row, int column, VirtualTreeDisplayDataMasks requiredData)
            {
                VirtualTreeDisplayData displayData = VirtualTreeDisplayData.Empty;
                SingleRingTypeInfo     typeNode    = mySingleNodes[row];

                if (mySelectedCount != 0)
                {
                    BitTracker selection  = mySelectionTracker;
                    bool       isSelected = false;
                    bool       isImplied  = false;
                    bool       isBold     = false;
                    if (selection[row])
                    {
                        // Currently on, nothing to check
                        isBold = isSelected = true;
                    }
                    else
                    {
                        // Current state depends on state of other rows
                        int[] positionMap = myEnumValueToPositionMap;
                        RingConstraintType[] relatedTypes = typeNode.ImpliedBy;
                        if (relatedTypes != null)
                        {
                            for (int i = 0; i < relatedTypes.Length; ++i)
                            {
                                if (selection[positionMap[(int)relatedTypes[i]]])
                                {
                                    isImplied = true;
                                    break;
                                }
                            }
                        }
                        if (!isImplied &&
                            null != (relatedTypes = typeNode.ImpliedByCombination))
                        {
                            isImplied = true;
                            for (int i = 0; i < relatedTypes.Length; ++i)
                            {
                                if (!selection[positionMap[(int)relatedTypes[i]]])
                                {
                                    isImplied = false;
                                    break;
                                }
                            }
                        }
                        if (!isImplied)                         // Implied items are never bold
                        {
                            isBold       = true;                // Assume true, determine otherwise
                            relatedTypes = typeNode.IncompatibleWith;
                            for (int i = 0; i < relatedTypes.Length; ++i)
                            {
                                if (selection[positionMap[(int)relatedTypes[i]]])
                                {
                                    isBold = false;
                                    break;
                                }
                            }
                            if (isBold &&
                                null != (relatedTypes = typeNode.IncompatibleWithCombination))
                            {
                                isBold = false;
                                for (int i = 0; i < relatedTypes.Length; ++i)
                                {
                                    if (!selection[positionMap[(int)relatedTypes[i]]])
                                    {
                                        isBold = true;
                                        break;
                                    }
                                }
                            }
                        }
                    }
                    displayData.Bold = isBold;
                    if (isSelected)
                    {
                        displayData.StateImageIndex = (short)StandardCheckBoxImage.CheckedFlat;
                    }
                    else if (isImplied)
                    {
                        displayData.StateImageIndex = (short)StandardCheckBoxImage.IndeterminateFlat;
                    }
                    else
                    {
                        displayData.StateImageIndex = (short)StandardCheckBoxImage.UncheckedFlat;
                    }
                }
                else
                {
                    displayData.StateImageIndex = (short)StandardCheckBoxImage.UncheckedFlat;
                }
                int imageIndex = myImageBase;

                if (imageIndex != -1)
                {
                    displayData.SelectedImage = displayData.Image = (short)(imageIndex + (int)typeNode.Glyph);
                }
                return(displayData);
            }
					VirtualTreeDisplayData IBranch.GetDisplayData(int row, int column, VirtualTreeDisplayDataMasks requiredData)
					{
						if (row == myIntrinsicReferenceModesList.Count && column == 0)
						{
							VirtualTreeDisplayData retVal = new VirtualTreeDisplayData();
							retVal.ForeColor = SystemColors.GrayText;
							return retVal;
						}
						return VirtualTreeDisplayData.Empty;
					}
				VirtualTreeDisplayData IBranch.GetDisplayData(int row, int column, VirtualTreeDisplayDataMasks requiredData)
				{
					VirtualTreeDisplayData retVal = new VirtualTreeDisplayData();
					retVal.BackColor = SystemColors.ControlLight;
					return retVal;
				}
					VirtualTreeDisplayData IBranch.GetDisplayData(int row, int column, VirtualTreeDisplayDataMasks requiredData)
					{
						if (row == myCustomReferenceModesList.Count && column == 0)
						{
							VirtualTreeDisplayData retVal = new VirtualTreeDisplayData();
							retVal.ForeColor = SystemColors.GrayText;
							return retVal;
						}
						if (row < myCustomReferenceModesList.Count && column == (int)Columns.FormatString)
						{
							if (myCustomReferenceModesList[row].CustomFormatString == null || myCustomReferenceModesList[row].CustomFormatString.Length == 0)
							{
								VirtualTreeDisplayData retVal = new VirtualTreeDisplayData();
								retVal.ForeColor = SystemColors.GrayText;
								return retVal;
							}
						}
						return VirtualTreeDisplayData.Empty;
					}