Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- CodeMemberField.cs
- RemotingConfigParser.cs
- CommandField.cs
- SelectiveScrollingGrid.cs
- AtomServiceDocumentSerializer.cs
- NotImplementedException.cs
- EventLog.cs
- ViewGenerator.cs
- IssuedTokenClientCredential.cs
- QuestionEventArgs.cs
- ServiceObjectContainer.cs
- DLinqTableProvider.cs
- ForeignConstraint.cs
- ViewGenResults.cs
- Nullable.cs
- DetailsViewDeletedEventArgs.cs
- ReflectionPermission.cs
- ClientSettingsStore.cs
- PathHelper.cs
- UpdatePanelTrigger.cs
- TextView.cs
- DataGridColumnCollection.cs
- FileUtil.cs
- CustomServiceCredentials.cs
- SymLanguageType.cs
- TextOptionsInternal.cs
- WebPartManager.cs
- Psha1DerivedKeyGenerator.cs
- BindableTemplateBuilder.cs
- ObjectDataSourceSelectingEventArgs.cs
- InkCollectionBehavior.cs
- InheritanceContextChangedEventManager.cs
- WindowsSspiNegotiation.cs
- BuilderInfo.cs
- NavigationExpr.cs
- DoubleLinkListEnumerator.cs
- CanonicalFormWriter.cs
- RootContext.cs
- WrappedReader.cs
- LocalClientSecuritySettings.cs
- ExpressionReplacer.cs
- KeyPullup.cs
- FixedSOMElement.cs
- KnownTypesProvider.cs
- ManagementExtension.cs
- DataListItem.cs
- Exception.cs
- SiteMapNodeItemEventArgs.cs
- UnsafeNativeMethods.cs
- DataGridViewRowsAddedEventArgs.cs
- CollectionViewGroupInternal.cs
- CacheSection.cs
- RegexFCD.cs
- SystemColors.cs
- XmlBinaryReader.cs
- SmiEventSink_Default.cs
- StatusBarItemAutomationPeer.cs
- Oci.cs
- NumericUpDownAcceleration.cs
- MatrixCamera.cs
- UrlMappingCollection.cs
- SystemIPGlobalProperties.cs
- ManipulationStartingEventArgs.cs
- sqlcontext.cs
- DataGridViewLayoutData.cs
- WindowsPrincipal.cs
- SchemeSettingElementCollection.cs
- ServiceProviders.cs
- SecurityToken.cs
- GZipDecoder.cs
- bidPrivateBase.cs
- XmlSchemaChoice.cs
- MailHeaderInfo.cs
- SpecialTypeDataContract.cs
- DetailsViewCommandEventArgs.cs
- BufferManager.cs
- GraphicsState.cs
- ScrollBarAutomationPeer.cs
- MessageDroppedTraceRecord.cs
- SqlBooleanizer.cs
- Base64Stream.cs
- Choices.cs
- UIElementIsland.cs
- XPathDocumentBuilder.cs
- SynchronousChannelMergeEnumerator.cs
- RangeValuePattern.cs
- TemplateNameScope.cs
- MemoryRecordBuffer.cs
- LicenseContext.cs
- WebUtility.cs
- Aggregates.cs
- AnonymousIdentificationSection.cs
- XmlSchemaAttributeGroup.cs
- FontDriver.cs
- PrintingPermission.cs
- MarkedHighlightComponent.cs
- Native.cs
- FunctionNode.cs
- TypeBinaryExpression.cs
- Graphics.cs