Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Documents / ColumnResizeUndoUnit.cs / 1305600 / 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
- IResourceProvider.cs
- JsonServiceDocumentSerializer.cs
- MouseEvent.cs
- BitmapCodecInfo.cs
- Util.cs
- UIElement3D.cs
- DataError.cs
- StringStorage.cs
- TypeResolver.cs
- WebScriptEnablingElement.cs
- OdbcReferenceCollection.cs
- RightsManagementEncryptionTransform.cs
- ControlBuilderAttribute.cs
- DeviceContexts.cs
- Content.cs
- ComplexLine.cs
- Logging.cs
- TaskScheduler.cs
- PaintValueEventArgs.cs
- Freezable.cs
- TransformCryptoHandle.cs
- PreviewPageInfo.cs
- DXD.cs
- ExpandCollapseProviderWrapper.cs
- Queue.cs
- MsmqIntegrationProcessProtocolHandler.cs
- AuthenticationException.cs
- ParenExpr.cs
- FontSource.cs
- Expander.cs
- PropertyGrid.cs
- SiteIdentityPermission.cs
- MenuItemAutomationPeer.cs
- SystemTcpStatistics.cs
- BuilderPropertyEntry.cs
- RegistrationServices.cs
- SqlCommandSet.cs
- DataExpression.cs
- WebCategoryAttribute.cs
- __TransparentProxy.cs
- SecurityUniqueId.cs
- EntityDescriptor.cs
- LineBreakRecord.cs
- BinaryMessageEncodingElement.cs
- TemplateColumn.cs
- RequestCacheEntry.cs
- CompositionAdorner.cs
- WebPartDisplayMode.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- BorderGapMaskConverter.cs
- SamlSerializer.cs
- StylusButtonCollection.cs
- MsmqUri.cs
- FindRequestContext.cs
- LocatorManager.cs
- DesignerEventService.cs
- SymbolDocumentInfo.cs
- AccessDataSourceWizardForm.cs
- FileLevelControlBuilderAttribute.cs
- WebPartEditorApplyVerb.cs
- DocobjHost.cs
- PropertyMap.cs
- TargetParameterCountException.cs
- MarginCollapsingState.cs
- SecuritySessionSecurityTokenProvider.cs
- M3DUtil.cs
- BaseParaClient.cs
- ThreadExceptionEvent.cs
- ChannelBinding.cs
- ListViewItemSelectionChangedEvent.cs
- SubpageParagraph.cs
- InfocardExtendedInformationCollection.cs
- SelectionUIHandler.cs
- DbModificationClause.cs
- DependencyPropertyKind.cs
- RowVisual.cs
- TextViewBase.cs
- RsaKeyGen.cs
- Application.cs
- RoleManagerSection.cs
- SystemMulticastIPAddressInformation.cs
- CheckBoxPopupAdapter.cs
- ColumnMap.cs
- SqlCharStream.cs
- updatecommandorderer.cs
- CapabilitiesState.cs
- SystemParameters.cs
- SessionStateModule.cs
- Input.cs
- ConfigurationConverterBase.cs
- WeakHashtable.cs
- DesignerProperties.cs
- ActiveXHost.cs
- HtmlContainerControl.cs
- Funcletizer.cs
- QilInvokeEarlyBound.cs
- ProviderBase.cs
- SHA512.cs
- RequestTimeoutManager.cs
- ConnectionConsumerAttribute.cs