Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / System / Windows / Documents / ColumnResizeUndoUnit.cs / 1 / ColumnResizeUndoUnit.cs
//---------------------------------------------------------------------------- // // File: ColumnResizeUndoUnit.cs // // Description: Undo unit for resizing columns // // History: // 01/27/2005 : GHermann - Created // //--------------------------------------------------------------------------- using MS.Internal.Documents; namespace System.Windows.Documents { internal class ColumnResizeUndoUnit : ParentUndoUnit { #region Constructors internal ColumnResizeUndoUnit(TextPointer textPointerTable, int columnIndex, double[] columnWidths, double resizeAmount) : base("ColumnResize") { _textContainer = textPointerTable.TextContainer; _cpTable = _textContainer.Start.GetOffsetToPosition(textPointerTable); _columnWidths = columnWidths; _columnIndex = columnIndex; _resizeAmount = resizeAmount; } #endregion Constructors #region Public Methods ////// Perform the appropriate action for this unit. If this is a parent undo unit, the /// parent must create an appropriate parent undo unit to contain the redo units. /// public override void Do() { UndoManager undoManager; IParentUndoUnit redo; TextPointer textPointerTable; Table table; undoManager = TopContainer as UndoManager; redo = null; textPointerTable = new TextPointer(_textContainer.Start, _cpTable, LogicalDirection.Forward); table = (Table) textPointerTable.Parent; _columnWidths[_columnIndex] -= _resizeAmount; if(_columnIndex < table.ColumnCount - 1) { _columnWidths[_columnIndex + 1] += _resizeAmount; } if(undoManager != null && undoManager.IsEnabled) { redo = new ColumnResizeUndoUnit(textPointerTable, _columnIndex, _columnWidths, -_resizeAmount); undoManager.Open(redo); } TextRangeEditTables.EnsureTableColumnsAreFixedSize(table, _columnWidths); if(redo != null) { undoManager.Close(redo, UndoCloseAction.Commit); } } #endregion Public Methods #region Private Data private TextContainer _textContainer; private double[] _columnWidths; private int _cpTable; private int _columnIndex; private double _resizeAmount; #endregion Private Data } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // // File: ColumnResizeUndoUnit.cs // // Description: Undo unit for resizing columns // // History: // 01/27/2005 : GHermann - Created // //--------------------------------------------------------------------------- using MS.Internal.Documents; namespace System.Windows.Documents { internal class ColumnResizeUndoUnit : ParentUndoUnit { #region Constructors internal ColumnResizeUndoUnit(TextPointer textPointerTable, int columnIndex, double[] columnWidths, double resizeAmount) : base("ColumnResize") { _textContainer = textPointerTable.TextContainer; _cpTable = _textContainer.Start.GetOffsetToPosition(textPointerTable); _columnWidths = columnWidths; _columnIndex = columnIndex; _resizeAmount = resizeAmount; } #endregion Constructors #region Public Methods ////// Perform the appropriate action for this unit. If this is a parent undo unit, the /// parent must create an appropriate parent undo unit to contain the redo units. /// public override void Do() { UndoManager undoManager; IParentUndoUnit redo; TextPointer textPointerTable; Table table; undoManager = TopContainer as UndoManager; redo = null; textPointerTable = new TextPointer(_textContainer.Start, _cpTable, LogicalDirection.Forward); table = (Table) textPointerTable.Parent; _columnWidths[_columnIndex] -= _resizeAmount; if(_columnIndex < table.ColumnCount - 1) { _columnWidths[_columnIndex + 1] += _resizeAmount; } if(undoManager != null && undoManager.IsEnabled) { redo = new ColumnResizeUndoUnit(textPointerTable, _columnIndex, _columnWidths, -_resizeAmount); undoManager.Open(redo); } TextRangeEditTables.EnsureTableColumnsAreFixedSize(table, _columnWidths); if(redo != null) { undoManager.Close(redo, UndoCloseAction.Commit); } } #endregion Public Methods #region Private Data private TextContainer _textContainer; private double[] _columnWidths; private int _cpTable; private int _columnIndex; private double _resizeAmount; #endregion Private Data } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EventToken.cs
- QilReference.cs
- Point3DKeyFrameCollection.cs
- NativeMethods.cs
- LongValidatorAttribute.cs
- ColorConverter.cs
- DataSourceListEditor.cs
- TextTreeTextNode.cs
- SafeLocalMemHandle.cs
- CollectionConverter.cs
- StandardBindingCollectionElement.cs
- JapaneseLunisolarCalendar.cs
- EntityContainerEntitySetDefiningQuery.cs
- CodeTypeReferenceCollection.cs
- InertiaRotationBehavior.cs
- MarkerProperties.cs
- Converter.cs
- EntityContainerEmitter.cs
- WindowsScrollBar.cs
- LinqDataSourceEditData.cs
- AutoScrollHelper.cs
- UIElement3DAutomationPeer.cs
- FileStream.cs
- XsdDataContractImporter.cs
- Function.cs
- ApplicationContext.cs
- Errors.cs
- UdpChannelFactory.cs
- ObjectListDataBindEventArgs.cs
- WebPartMenuStyle.cs
- _FixedSizeReader.cs
- WindowPattern.cs
- X509SecurityTokenParameters.cs
- MaskedTextProvider.cs
- ItemTypeToolStripMenuItem.cs
- AnimationStorage.cs
- ViewStateModeByIdAttribute.cs
- CompoundFileIOPermission.cs
- ContentOperations.cs
- QueryModel.cs
- UIntPtr.cs
- ColumnHeaderConverter.cs
- Schema.cs
- Helper.cs
- ElementHostAutomationPeer.cs
- COM2ComponentEditor.cs
- TextEditorMouse.cs
- TreeNodeMouseHoverEvent.cs
- ReadOnlyHierarchicalDataSourceView.cs
- SqlError.cs
- SimpleWebHandlerParser.cs
- LineSegment.cs
- LogEntryDeserializer.cs
- SystemWebCachingSectionGroup.cs
- PaperSource.cs
- httpserverutility.cs
- coordinatorscratchpad.cs
- WeakReferenceKey.cs
- LeafCellTreeNode.cs
- AdapterDictionary.cs
- HandleExceptionArgs.cs
- NotEqual.cs
- EventOpcode.cs
- DbCommandTree.cs
- Compiler.cs
- PropertyEmitter.cs
- MappableObjectManager.cs
- Timeline.cs
- Events.cs
- StaticFileHandler.cs
- HTMLTagNameToTypeMapper.cs
- EastAsianLunisolarCalendar.cs
- CachedPathData.cs
- VScrollBar.cs
- ViewCellRelation.cs
- MenuCommands.cs
- MultipleViewProviderWrapper.cs
- PerformanceCounterPermission.cs
- RequestQueryParser.cs
- ControlHelper.cs
- EventLogEntryCollection.cs
- JavaScriptString.cs
- Guid.cs
- HttpUnhandledOperationInvoker.cs
- ChtmlTextWriter.cs
- EnumerableRowCollection.cs
- ThousandthOfEmRealPoints.cs
- LinqTreeNodeEvaluator.cs
- TargetFrameworkUtil.cs
- PlatformCulture.cs
- DataGridViewSortCompareEventArgs.cs
- columnmapfactory.cs
- UrlMapping.cs
- DocumentApplication.cs
- InputScope.cs
- WindowsSpinner.cs
- PixelFormats.cs
- NativeMethods.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- XsltArgumentList.cs