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
- EntityCommandCompilationException.cs
- ModelTreeEnumerator.cs
- SelectionRange.cs
- QuadraticBezierSegment.cs
- TablePattern.cs
- ReferentialConstraintRoleElement.cs
- FrameworkContentElement.cs
- RelatedCurrencyManager.cs
- assemblycache.cs
- MatrixUtil.cs
- WebMethodAttribute.cs
- DesignerLoader.cs
- PointLightBase.cs
- UIElementIsland.cs
- JapaneseLunisolarCalendar.cs
- DefaultShape.cs
- ConfigXmlAttribute.cs
- EventPrivateKey.cs
- BoolExpr.cs
- Clipboard.cs
- OptimizerPatterns.cs
- _Win32.cs
- TextEncodedRawTextWriter.cs
- TableRow.cs
- LayoutExceptionEventArgs.cs
- BrowserCapabilitiesFactory.cs
- QueryAccessibilityHelpEvent.cs
- EntitySqlQueryCacheEntry.cs
- Opcode.cs
- ThicknessKeyFrameCollection.cs
- RemotingHelper.cs
- ContainerVisual.cs
- FontFamily.cs
- ObjectStorage.cs
- ThreadStaticAttribute.cs
- DecoderFallback.cs
- ImageSource.cs
- UriSection.cs
- BmpBitmapDecoder.cs
- XmlnsPrefixAttribute.cs
- HttpHeaderCollection.cs
- DataRecordInfo.cs
- Storyboard.cs
- XmlCharType.cs
- HttpSessionStateWrapper.cs
- BooleanProjectedSlot.cs
- columnmapfactory.cs
- TableRowCollection.cs
- HashUtility.cs
- TitleStyle.cs
- CompositeActivityDesigner.cs
- ProfileSettings.cs
- MemoryFailPoint.cs
- HttpResponse.cs
- sqlmetadatafactory.cs
- HttpResponseInternalWrapper.cs
- PipelineModuleStepContainer.cs
- MSAAEventDispatcher.cs
- ConfigurationSection.cs
- TypeCacheManager.cs
- COM2ExtendedTypeConverter.cs
- ServiceDescriptionSerializer.cs
- WindowsEditBoxRange.cs
- StatusBarPanel.cs
- MenuItemStyleCollection.cs
- InputProcessorProfiles.cs
- ZoneButton.cs
- SqlErrorCollection.cs
- SchemaCompiler.cs
- StandardToolWindows.cs
- ChildChangedEventArgs.cs
- Lease.cs
- newinstructionaction.cs
- ComponentConverter.cs
- ManipulationCompletedEventArgs.cs
- HyperLinkStyle.cs
- ResolveDuplexAsyncResult.cs
- ServerValidateEventArgs.cs
- Context.cs
- RolePrincipal.cs
- InputBindingCollection.cs
- BaseHashHelper.cs
- BitmapScalingModeValidation.cs
- LoadMessageLogger.cs
- HtmlFormWrapper.cs
- TextBlock.cs
- MethodSignatureGenerator.cs
- SimpleWebHandlerParser.cs
- Buffer.cs
- EncryptedReference.cs
- EnumMember.cs
- XmlCDATASection.cs
- ConfigurationLocationCollection.cs
- ScriptControlDescriptor.cs
- SqlTriggerContext.cs
- Timeline.cs
- EditorZone.cs
- PropertyValueUIItem.cs
- UrlMappingsSection.cs