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
- SqlErrorCollection.cs
- CompilationSection.cs
- WbemProvider.cs
- DBProviderConfigurationHandler.cs
- FontStretchConverter.cs
- TemplateBuilder.cs
- MimeParameters.cs
- VisualBrush.cs
- QilName.cs
- StorageEndPropertyMapping.cs
- XsdDataContractImporter.cs
- PerformanceCounterManager.cs
- RestHandlerFactory.cs
- PenContext.cs
- XmlSigningNodeWriter.cs
- PixelFormats.cs
- WinFormsSecurity.cs
- InplaceBitmapMetadataWriter.cs
- BitFlagsGenerator.cs
- RpcAsyncResult.cs
- PerformanceCounterPermissionAttribute.cs
- ManipulationInertiaStartingEventArgs.cs
- WsatServiceCertificate.cs
- AsymmetricSignatureFormatter.cs
- StyleSheetComponentEditor.cs
- SQlBooleanStorage.cs
- SimpleRecyclingCache.cs
- ConfigDefinitionUpdates.cs
- serverconfig.cs
- Subtree.cs
- ReadOnlyNameValueCollection.cs
- ImportCatalogPart.cs
- Attributes.cs
- DateTimeConverter2.cs
- IISMapPath.cs
- CssTextWriter.cs
- NamedServiceModelExtensionCollectionElement.cs
- MetaType.cs
- SBCSCodePageEncoding.cs
- PropertyGridEditorPart.cs
- XmlEncodedRawTextWriter.cs
- HtmlEmptyTagControlBuilder.cs
- DataSet.cs
- HTMLTextWriter.cs
- UIElementIsland.cs
- Section.cs
- SingleStorage.cs
- FilterEventArgs.cs
- FamilyTypeface.cs
- TransformConverter.cs
- PeerCollaboration.cs
- InternalsVisibleToAttribute.cs
- ObjectDataSourceFilteringEventArgs.cs
- NativeMethods.cs
- InvokeProviderWrapper.cs
- PerformanceCounterPermissionEntry.cs
- ResourceSetExpression.cs
- XslNumber.cs
- UriScheme.cs
- CategoryNameCollection.cs
- HideDisabledControlAdapter.cs
- COSERVERINFO.cs
- x509utils.cs
- DriveNotFoundException.cs
- TypeDependencyAttribute.cs
- NameGenerator.cs
- TextServicesCompartment.cs
- ValidationHelper.cs
- Authorization.cs
- BuildManager.cs
- NotCondition.cs
- BindStream.cs
- WebPartConnectionsEventArgs.cs
- SystemPens.cs
- HideDisabledControlAdapter.cs
- GetPageCompletedEventArgs.cs
- Utils.cs
- DataGridViewColumnCollection.cs
- ProfileGroupSettingsCollection.cs
- DocumentReferenceCollection.cs
- FixedDocument.cs
- ScanQueryOperator.cs
- MouseGestureValueSerializer.cs
- ToolStripDropDownDesigner.cs
- OdbcException.cs
- Button.cs
- WinFormsSpinner.cs
- TableColumn.cs
- TransactionState.cs
- BitStack.cs
- MenuItemBindingCollection.cs
- CodeObjectCreateExpression.cs
- SystemUdpStatistics.cs
- EntityModelBuildProvider.cs
- PackUriHelper.cs
- BulletedListEventArgs.cs
- PaintValueEventArgs.cs
- Base64WriteStateInfo.cs
- SignatureToken.cs
- ObjectFactoryCodeDomTreeGenerator.cs