public PropertyGridItemEditedEventArgs(
     PropertyGridItemElement visualItem,
     IValueEditor editor,
     bool canceled)
     : base((PropertyGridItemElementBase)visualItem)
 {
     this.editor   = editor;
     this.canceled = canceled;
 }
Beispiel #2
0
        private PropertyGridSpreadExportRow CreateExportRow(
            PropertyGridItemBase item,
            int itemLevel,
            int currentRowIndex,
            ref bool skipHiddenChildItems,
            ref int collapsedParentLevel,
            ref bool exportChildItemsHidden)
        {
            PropertyGridSpreadExportRow gridSpreadExportRow = new PropertyGridSpreadExportRow();

            if (!item.Expanded && this.CollapsedItemOption == HiddenOption.DoNotExport)
            {
                skipHiddenChildItems = true;
                collapsedParentLevel = itemLevel;
            }
            if (exportChildItemsHidden && collapsedParentLevel >= itemLevel)
            {
                exportChildItemsHidden = false;
            }
            if (item is PropertyGridItem)
            {
                PropertyGridItem        propertyGridItem        = item as PropertyGridItem;
                PropertyGridItemElement propertyGridItemElement = (PropertyGridItemElement)null;
                if (this.ExportVisualSettings)
                {
                    propertyGridItemElement = this.elementProvider.GetElement((PropertyGridItemBase)propertyGridItem, (object)null) as PropertyGridItemElement;
                    this.propertyGrid.PropertyGridElement.PropertyTableElement.ViewElement.Children.Add((RadElement)propertyGridItemElement);
                    propertyGridItemElement.Attach((PropertyGridItemBase)propertyGridItem, (object)null);
                }
                for (int index = 0; index < itemLevel; ++index)
                {
                    PropertyGridSpreadExportIndentCell exportIndentCell = new PropertyGridSpreadExportIndentCell();
                    exportIndentCell.Size = new Size(this.ItemIndent, exportChildItemsHidden ? 0 : -1);
                    if (this.ExportVisualSettings)
                    {
                        if (index == 0 && this.isGridGrouped)
                        {
                            if (itemLevel > 1)
                            {
                                this.GetStylesFromVisualCell((PropertyGridSpreadExportCell)exportIndentCell, (LightVisualElement)propertyGridItemElement.HeaderElement);
                            }
                            else
                            {
                                this.GetStylesFromVisualCell((PropertyGridSpreadExportCell)exportIndentCell, (LightVisualElement)propertyGridItemElement.ExpanderElement);
                            }
                        }
                        else
                        {
                            this.GetStylesFromVisualCell((PropertyGridSpreadExportCell)exportIndentCell, (LightVisualElement)propertyGridItemElement.IndentElement);
                        }
                        this.GetBordersFromVisualCell((PropertyGridSpreadExportCell)exportIndentCell, (LightVisualElement)propertyGridItemElement);
                    }
                    this.OnCellFormatting(new PropertyGridSpreadExportCellFormattingEventArgs((PropertyGridSpreadExportCell)exportIndentCell, (PropertyGridItemBase)propertyGridItem, currentRowIndex));
                    gridSpreadExportRow.Cells.Add((PropertyGridSpreadExportCell)exportIndentCell);
                }
                PropertyGridSpreadExportContentCell exportContentCell1 = new PropertyGridSpreadExportContentCell();
                exportContentCell1.Text     = propertyGridItem.Label;
                exportContentCell1.ColSpan += this.depthOfTree - propertyGridItem.Level;
                exportContentCell1.Size     = new Size(this.textCellWidth - itemLevel * this.ItemIndent, exportChildItemsHidden ? 0 : -1);
                gridSpreadExportRow.Cells.Add((PropertyGridSpreadExportCell)exportContentCell1);
                if (this.ExportVisualSettings)
                {
                    this.GetStylesFromVisualCell((PropertyGridSpreadExportCell)exportContentCell1, (LightVisualElement)propertyGridItemElement.TextElement);
                    this.GetBordersFromVisualCell((PropertyGridSpreadExportCell)exportContentCell1, (LightVisualElement)propertyGridItemElement);
                }
                this.OnCellFormatting(new PropertyGridSpreadExportCellFormattingEventArgs((PropertyGridSpreadExportCell)exportContentCell1, (PropertyGridItemBase)propertyGridItem, currentRowIndex));
                PropertyGridSpreadExportContentCell exportContentCell2 = new PropertyGridSpreadExportContentCell();
                exportContentCell2.Value = propertyGridItem.Value;
                exportContentCell2.Text  = propertyGridItem.FormattedValue;
                exportContentCell2.Size  = new Size(this.valueCellWidth, exportChildItemsHidden ? 0 : -1);
                if (this.ExportVisualSettings)
                {
                    this.GetStylesFromVisualCell((PropertyGridSpreadExportCell)exportContentCell2, (LightVisualElement)propertyGridItemElement.ValueElement);
                    this.GetBordersFromVisualCell((PropertyGridSpreadExportCell)exportContentCell2, (LightVisualElement)propertyGridItemElement);
                }
                this.OnCellFormatting(new PropertyGridSpreadExportCellFormattingEventArgs((PropertyGridSpreadExportCell)exportContentCell2, (PropertyGridItemBase)propertyGridItem, currentRowIndex));
                gridSpreadExportRow.Cells.Add((PropertyGridSpreadExportCell)exportContentCell2);
                if (this.ExportDescriptions)
                {
                    PropertyGridSpreadExportContentCell exportContentCell3 = new PropertyGridSpreadExportContentCell();
                    exportContentCell3.Text = propertyGridItem.Description;
                    exportContentCell3.Size = new Size((this.textCellWidth + this.valueCellWidth) * 2, exportChildItemsHidden ? 0 : -1);
                    if (this.ExportVisualSettings)
                    {
                        this.GetStylesFromVisualCell((PropertyGridSpreadExportCell)exportContentCell3, (LightVisualElement)propertyGridItemElement.ValueElement);
                        this.GetBordersFromVisualCell((PropertyGridSpreadExportCell)exportContentCell3, (LightVisualElement)propertyGridItemElement);
                    }
                    this.OnCellFormatting(new PropertyGridSpreadExportCellFormattingEventArgs((PropertyGridSpreadExportCell)exportContentCell3, (PropertyGridItemBase)propertyGridItem, currentRowIndex));
                    gridSpreadExportRow.Cells.Add((PropertyGridSpreadExportCell)exportContentCell3);
                }
                if (this.ExportVisualSettings)
                {
                    this.elementProvider.CacheElement((IVirtualizedElement <PropertyGridItemBase>)propertyGridItemElement);
                    propertyGridItemElement.Detach();
                    this.propertyGrid.PropertyGridElement.PropertyTableElement.ViewElement.Children.Remove((RadElement)propertyGridItemElement);
                }
            }
            else if (item is PropertyGridGroupItem)
            {
                this.isGridGrouped = true;
                PropertyGridGroupItem    propertyGridGroupItem = item as PropertyGridGroupItem;
                PropertyGridGroupElement gridGroupElement      = (PropertyGridGroupElement)null;
                if (this.ExportVisualSettings)
                {
                    gridGroupElement = this.elementProvider.GetElement((PropertyGridItemBase)propertyGridGroupItem, (object)null) as PropertyGridGroupElement;
                    this.propertyGrid.PropertyGridElement.PropertyTableElement.ViewElement.Children.Add((RadElement)gridGroupElement);
                    gridGroupElement.Attach((PropertyGridItemBase)propertyGridGroupItem, (object)null);
                }
                PropertyGridSpreadExportContentCell exportContentCell = new PropertyGridSpreadExportContentCell();
                exportContentCell.Text = propertyGridGroupItem.Label;
                ++exportContentCell.ColSpan;
                ++exportContentCell.ColSpan;
                exportContentCell.ColSpan += this.depthOfTree;
                if (this.ExportDescriptions)
                {
                    ++exportContentCell.ColSpan;
                }
                exportContentCell.Size = new Size(this.textCellWidth + this.valueCellWidth + this.depthOfTree * this.ItemIndent, -1);
                if (this.ExportVisualSettings)
                {
                    this.GetStylesFromVisualCell((PropertyGridSpreadExportCell)exportContentCell, (LightVisualElement)gridGroupElement.TextElement);
                    this.GetBordersFromVisualCell((PropertyGridSpreadExportCell)exportContentCell, (LightVisualElement)gridGroupElement.TextElement);
                }
                this.OnCellFormatting(new PropertyGridSpreadExportCellFormattingEventArgs((PropertyGridSpreadExportCell)exportContentCell, (PropertyGridItemBase)propertyGridGroupItem, currentRowIndex));
                gridSpreadExportRow.Cells.Add((PropertyGridSpreadExportCell)exportContentCell);
                if (this.ExportVisualSettings)
                {
                    this.elementProvider.CacheElement((IVirtualizedElement <PropertyGridItemBase>)gridGroupElement);
                    gridGroupElement.Detach();
                    this.propertyGrid.PropertyGridElement.PropertyTableElement.ViewElement.Children.Remove((RadElement)gridGroupElement);
                }
            }
            if (!exportChildItemsHidden)
            {
                exportChildItemsHidden = !item.Expanded && this.CollapsedItemOption == HiddenOption.ExportAsHidden;
                collapsedParentLevel   = itemLevel;
            }
            return(gridSpreadExportRow);
        }