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
- wgx_exports.cs
- Inflater.cs
- DataBoundControlAdapter.cs
- FlowDocument.cs
- TraceUtils.cs
- NamespaceDisplay.xaml.cs
- HttpException.cs
- MulticastIPAddressInformationCollection.cs
- InfoCardRSACryptoProvider.cs
- ToolStripPanelRow.cs
- WindowsListViewItemCheckBox.cs
- Mappings.cs
- ViewService.cs
- HwndProxyElementProvider.cs
- BasicExpressionVisitor.cs
- XmlSerializerNamespaces.cs
- ComNativeDescriptor.cs
- DateTimeStorage.cs
- TransactionChannel.cs
- ExpressionConverter.cs
- InternalRelationshipCollection.cs
- TcpServerChannel.cs
- SectionXmlInfo.cs
- PageParserFilter.cs
- Helper.cs
- StorageEntityTypeMapping.cs
- HttpRuntimeSection.cs
- PermissionListSet.cs
- RegexCharClass.cs
- ListItemCollection.cs
- DataServices.cs
- EtwProvider.cs
- GreenMethods.cs
- XDeferredAxisSource.cs
- BamlResourceDeserializer.cs
- XmlSchemaAppInfo.cs
- ServiceNameElementCollection.cs
- SpellerInterop.cs
- StreamProxy.cs
- RSAOAEPKeyExchangeFormatter.cs
- DataServiceClientException.cs
- RowToParametersTransformer.cs
- ProfileEventArgs.cs
- RuntimeIdentifierPropertyAttribute.cs
- QueryPageSettingsEventArgs.cs
- PartialList.cs
- RepeatButtonAutomationPeer.cs
- ListViewItemEventArgs.cs
- HttpServerChannel.cs
- AdapterUtil.cs
- DataGridViewRowHeaderCell.cs
- SymbolEqualComparer.cs
- XmlSiteMapProvider.cs
- AssemblyResolver.cs
- ProofTokenCryptoHandle.cs
- HttpApplication.cs
- DBConcurrencyException.cs
- DataFormat.cs
- TextRangeEditTables.cs
- Variable.cs
- ServicesUtilities.cs
- OleDbParameter.cs
- StringCollection.cs
- ServiceModelDictionary.cs
- WindowsListViewSubItem.cs
- HttpRequestCacheValidator.cs
- AppSecurityManager.cs
- DateTimeAutomationPeer.cs
- MergeExecutor.cs
- DataServiceRequestException.cs
- ServiceModelExtensionElement.cs
- SymLanguageVendor.cs
- Int32AnimationBase.cs
- TempFiles.cs
- OledbConnectionStringbuilder.cs
- LoginName.cs
- SectionInformation.cs
- RegexFCD.cs
- DataObjectPastingEventArgs.cs
- WindowsToolbarAsMenu.cs
- XmlSchemaDocumentation.cs
- SrgsSemanticInterpretationTag.cs
- SiteMapDataSource.cs
- MenuItemBindingCollection.cs
- DataGridViewIntLinkedList.cs
- AssemblyName.cs
- CodeDomDesignerLoader.cs
- DataSourceControl.cs
- TextCharacters.cs
- Buffer.cs
- Sql8ExpressionRewriter.cs
- FormsAuthenticationCredentials.cs
- FixedStringLookup.cs
- Errors.cs
- WebPart.cs
- securestring.cs
- SID.cs
- AdapterUtil.cs
- X509IssuerSerialKeyIdentifierClause.cs
- StoreItemCollection.cs