Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / Documents / FixedSOMTableCell.cs / 1 / FixedSOMTableCell.cs
/*++
File: FixedSOMTableCell.cs
Copyright (C) 2005 Microsoft Corporation. All rights reserved.
Description:
This class reprsents a table cell on the page. Objects of this class would contain
several FixedBlocks, Images etc. that fit within the cell boundaries
History:
05/17/2005: [....] - Created
--*/
namespace System.Windows.Documents
{
using System.Windows.Shapes;
using System.Windows.Media;
using System.Diagnostics;
using System.Windows;
using System.Windows.Controls;
internal sealed class FixedSOMTableCell : FixedSOMContainer
{
//--------------------------------------------------------------------
//
// Constructors
//
//---------------------------------------------------------------------
#region Constructors
public FixedSOMTableCell(double left, double top, double right, double bottom)
{
_boundingRect = new Rect(new Point(left, top), new Point(right, bottom));
_containsTable = false;
_columnSpan = 1;
}
#endregion Constructors
//-------------------------------------------------------------------
//
// Public Methods
//
//---------------------------------------------------------------------
#region Public Methods
#if DEBUG
public override void Render(DrawingContext dc, string label, DrawDebugVisual debugVisual)
{
Pen pen = new Pen(Brushes.Red, 2);
Rect rect = _boundingRect;
dc.DrawRectangle(null, pen , rect);
/*
for (int i = 0; i < _semanticBoxes.Count; i++)
{
_semanticBoxes[i].Render(dc, null,debugVisual);
}
*/
}
#endif
public void AddContainer(FixedSOMContainer container)
{
//Check nested tables first
if (!(_containsTable &&
_AddToInnerTable(container)))
{
base.Add(container);
}
if (container is FixedSOMTable)
{
_containsTable = true;
}
}
public override void SetRTFProperties(FixedElement element)
{
element.SetValue(Block.BorderThicknessProperty, new Thickness(1));
element.SetValue(Block.BorderBrushProperty, Brushes.Black);
element.SetValue(TableCell.ColumnSpanProperty, _columnSpan);
}
#endregion Public Methods
#region Private Methods
private bool _AddToInnerTable(FixedSOMContainer container)
{
foreach (FixedSOMSemanticBox box in _semanticBoxes)
{
FixedSOMTable table = box as FixedSOMTable;
if (table != null &&
table.AddContainer(container))
{
return true;
}
}
return false;
}
#endregion Private Methods
#region Internal Properties
internal override FixedElement.ElementType[] ElementTypes
{
get
{
return new FixedElement.ElementType[1] { FixedElement.ElementType.TableCell };
}
}
internal bool IsEmpty
{
get
{
foreach (FixedSOMContainer container in this.SemanticBoxes)
{
FixedSOMTable table = container as FixedSOMTable;
if (table != null && !table.IsEmpty)
{
return false;
}
FixedSOMFixedBlock block = container as FixedSOMFixedBlock;
if (block != null && !block.IsWhiteSpace)
{
return false;
}
}
return true;
}
}
internal int ColumnSpan
{
get
{
return _columnSpan;
}
set
{
_columnSpan = value;
}
}
#endregion Internal Properties
//--------------------------------------------------------------------
//
// Private Fields
//
//---------------------------------------------------------------------
#region Private Fields
private bool _containsTable;
private int _columnSpan;
#endregion Private Fields
}
}
// 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
- EntitySet.cs
- ImageAttributes.cs
- SignedPkcs7.cs
- WebPartsSection.cs
- DataGridViewDataErrorEventArgs.cs
- TransformerTypeCollection.cs
- FlowDocumentReader.cs
- CompModSwitches.cs
- BamlStream.cs
- PriorityBinding.cs
- WebPermission.cs
- AddInEnvironment.cs
- DoubleLinkListEnumerator.cs
- CodeArgumentReferenceExpression.cs
- SqlDataSourceEnumerator.cs
- XmlMembersMapping.cs
- EntityContainer.cs
- NotEqual.cs
- ByteConverter.cs
- TextEndOfParagraph.cs
- QilUnary.cs
- BamlTreeNode.cs
- GridViewRowPresenterBase.cs
- XmlDocumentFragment.cs
- DragEventArgs.cs
- DataRecordObjectView.cs
- ReadOnlyNameValueCollection.cs
- FileStream.cs
- _SSPISessionCache.cs
- GridViewItemAutomationPeer.cs
- TreeNodeStyleCollection.cs
- SchemaDeclBase.cs
- HandlerFactoryWrapper.cs
- SmtpCommands.cs
- DataControlButton.cs
- DataShape.cs
- QuaternionValueSerializer.cs
- newinstructionaction.cs
- DriveInfo.cs
- EdmProperty.cs
- DataGridViewImageCell.cs
- EventToken.cs
- DataGridViewCellParsingEventArgs.cs
- ProfileGroupSettings.cs
- DataGridViewCell.cs
- TypePropertyEditor.cs
- RelOps.cs
- CngUIPolicy.cs
- ChameleonKey.cs
- Container.cs
- Expr.cs
- GacUtil.cs
- SimplePropertyEntry.cs
- ObjectStateFormatter.cs
- HttpChannelBindingToken.cs
- MessageBodyMemberAttribute.cs
- SqlEnums.cs
- IsolatedStorageFileStream.cs
- PageContent.cs
- DiscoveryMessageSequence.cs
- XamlFigureLengthSerializer.cs
- CollectionChangeEventArgs.cs
- ErrorFormatter.cs
- ListControl.cs
- ThreadStartException.cs
- ItemsPresenter.cs
- ObjectStateEntry.cs
- DispatcherExceptionEventArgs.cs
- Line.cs
- PresentationTraceSources.cs
- TemplateBamlTreeBuilder.cs
- Polyline.cs
- ServiceReference.cs
- MainMenu.cs
- BitmapPalette.cs
- ServiceParser.cs
- DbConvert.cs
- ArrangedElementCollection.cs
- LogArchiveSnapshot.cs
- TableLayoutPanel.cs
- ImageEditor.cs
- Dispatcher.cs
- Triplet.cs
- TextReader.cs
- ProcessModule.cs
- ZipPackage.cs
- DataGridSortingEventArgs.cs
- CommandDesigner.cs
- GridLength.cs
- TreeViewHitTestInfo.cs
- BuildProvidersCompiler.cs
- SHA512.cs
- ReadOnlyObservableCollection.cs
- LinearGradientBrush.cs
- CompositeFontFamily.cs
- ChameleonKey.cs
- RSAOAEPKeyExchangeDeformatter.cs
- SearchForVirtualItemEventArgs.cs
- GcHandle.cs
- CollectionBuilder.cs