Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / UIAutomation / UIAutomationClient / System / Windows / Automation / TablePattern.cs / 1 / TablePattern.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description: Client-side wrapper for Table Pattern
//
// History:
// 06/23/2003 : BrendanM Ported to WCP
//
//---------------------------------------------------------------------------
using System;
using System.Windows.Automation.Provider;
using MS.Internal.Automation;
namespace System.Windows.Automation
{
///
/// Identifies a grid that has header information.
///
#if (INTERNAL_COMPILE)
internal class TablePattern: GridPattern
#else
public class TablePattern: GridPattern
#endif
{
//-----------------------------------------------------
//
// Constructors
//
//-----------------------------------------------------
#region Constructors
private TablePattern(AutomationElement el, SafePatternHandle hPattern, bool cached)
: base(el, hPattern, cached)
{
// Done
}
#endregion Constructors
//------------------------------------------------------
//
// Public Constants / Readonly Fields
//
//-----------------------------------------------------
#region Public Constants and Readonly Fields
/// Table pattern
public static readonly new AutomationPattern Pattern = TablePatternIdentifiers.Pattern;
/// Property ID: RowHeaders - Collection of all row headers for this table
public static readonly AutomationProperty RowHeadersProperty = TablePatternIdentifiers.RowHeadersProperty;
/// Property ID: ColumnHeaders - Collection of all column headers for this table
public static readonly AutomationProperty ColumnHeadersProperty = TablePatternIdentifiers.ColumnHeadersProperty;
/// Property ID: RowOrColumnMajor - Indicates if the data is best presented by row or column
public static readonly AutomationProperty RowOrColumnMajorProperty = TablePatternIdentifiers.RowOrColumnMajorProperty;
#endregion Public Constants and Readonly Fields
//------------------------------------------------------
//
// Public Properties
//
//------------------------------------------------------
#region Public Properties
///
/// This member allows access to previously requested
/// cached properties for this element. The returned object
/// has accessors for each property defined for this pattern.
///
///
/// Cached property values must have been previously requested
/// using a CacheRequest. If you try to access a cached
/// property that was not previously requested, an InvalidOperation
/// Exception will be thrown.
///
/// To get the value of a property at the current point in time,
/// access the property via the Current accessor instead of
/// Cached.
///
new public TablePatternInformation Cached
{
get
{
Misc.ValidateCached(_cached);
return new TablePatternInformation(_el, true);
}
}
///
/// This member allows access to current property values
/// for this element. The returned object has accessors for
/// each property defined for this pattern.
///
///
/// This pattern must be from an AutomationElement with a
/// Full reference in order to get current values. If the
/// AutomationElement was obtained using AutomationElementMode.None,
/// then it contains only cached data, and attempting to get
/// the current value of any property will throw an InvalidOperationException.
///
/// To get the cached value of a property that was previously
/// specified using a CacheRequest, access the property via the
/// Cached accessor instead of Current.
///
new public TablePatternInformation Current
{
get
{
Misc.ValidateCurrent(_hPattern);
return new TablePatternInformation(_el, false);
}
}
#endregion Public Properties
//-----------------------------------------------------
//
// Internal Methods
//
//------------------------------------------------------
#region Internal Methods
internal static new object Wrap(AutomationElement el, SafePatternHandle hPattern, bool cached)
{
return new TablePattern(el, hPattern, cached);
}
#endregion Internal Methods
//-----------------------------------------------------
//
// Private Fields
//
//-----------------------------------------------------
#region Private Fields
// No new fields needed here - we use those inherited from base class
#endregion Private Fields
//-----------------------------------------------------
//
// Nested Classes
//
//------------------------------------------------------
#region Nested Classes
///
/// This class provides access to either Cached or Current
/// properties on a pattern via the pattern's .Cached or
/// .Current accessors.
///
public struct TablePatternInformation
{
//-----------------------------------------------------
//
// Constructors
//
//------------------------------------------------------
#region Constructors
internal TablePatternInformation(AutomationElement el, bool useCache)
{
_el = el;
_useCache = useCache;
}
#endregion Constructors
//------------------------------------------------------
//
// Public Properties
//
//-----------------------------------------------------
#region Public Properties
/// Collection of all row headers for this table
///
///
/// This API does not work inside the secure execution environment.
///
///
public AutomationElement[] GetRowHeaders()
{
return (AutomationElement[])_el.GetPatternPropertyValue(RowHeadersProperty, _useCache);
}
/// Collection of all column headers for this table
///
///
/// This API does not work inside the secure execution environment.
///
///
public AutomationElement[] GetColumnHeaders()
{
return (AutomationElement[])_el.GetPatternPropertyValue(ColumnHeadersProperty, _useCache);
}
///
/// number of rows in the grid
///
///
///
/// This API does not work inside the secure execution environment.
///
///
public int RowCount
{
get
{
return (int)_el.GetPatternPropertyValue(RowCountProperty, _useCache);
}
}
///
/// number of columns in the grid
///
///
///
/// This API does not work inside the secure execution environment.
///
///
public int ColumnCount
{
get
{
return (int)_el.GetPatternPropertyValue(ColumnCountProperty, _useCache);
}
}
/// Indicates if the data is best presented by row or column
///
///
/// This API does not work inside the secure execution environment.
///
///
public RowOrColumnMajor RowOrColumnMajor
{
get
{
return (RowOrColumnMajor)_el.GetPatternPropertyValue(RowOrColumnMajorProperty, _useCache);
}
}
#endregion Public Properties
//------------------------------------------------------
//
// Private Fields
//
//-----------------------------------------------------
#region Private Fields
private AutomationElement _el; // AutomationElement that contains the cache or live reference
private bool _useCache; // true to use cache, false to use live reference to get current values
#endregion Private Fields
}
#endregion Nested Classes
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description: Client-side wrapper for Table Pattern
//
// History:
// 06/23/2003 : BrendanM Ported to WCP
//
//---------------------------------------------------------------------------
using System;
using System.Windows.Automation.Provider;
using MS.Internal.Automation;
namespace System.Windows.Automation
{
///
/// Identifies a grid that has header information.
///
#if (INTERNAL_COMPILE)
internal class TablePattern: GridPattern
#else
public class TablePattern: GridPattern
#endif
{
//-----------------------------------------------------
//
// Constructors
//
//-----------------------------------------------------
#region Constructors
private TablePattern(AutomationElement el, SafePatternHandle hPattern, bool cached)
: base(el, hPattern, cached)
{
// Done
}
#endregion Constructors
//------------------------------------------------------
//
// Public Constants / Readonly Fields
//
//-----------------------------------------------------
#region Public Constants and Readonly Fields
/// Table pattern
public static readonly new AutomationPattern Pattern = TablePatternIdentifiers.Pattern;
/// Property ID: RowHeaders - Collection of all row headers for this table
public static readonly AutomationProperty RowHeadersProperty = TablePatternIdentifiers.RowHeadersProperty;
/// Property ID: ColumnHeaders - Collection of all column headers for this table
public static readonly AutomationProperty ColumnHeadersProperty = TablePatternIdentifiers.ColumnHeadersProperty;
/// Property ID: RowOrColumnMajor - Indicates if the data is best presented by row or column
public static readonly AutomationProperty RowOrColumnMajorProperty = TablePatternIdentifiers.RowOrColumnMajorProperty;
#endregion Public Constants and Readonly Fields
//------------------------------------------------------
//
// Public Properties
//
//------------------------------------------------------
#region Public Properties
///
/// This member allows access to previously requested
/// cached properties for this element. The returned object
/// has accessors for each property defined for this pattern.
///
///
/// Cached property values must have been previously requested
/// using a CacheRequest. If you try to access a cached
/// property that was not previously requested, an InvalidOperation
/// Exception will be thrown.
///
/// To get the value of a property at the current point in time,
/// access the property via the Current accessor instead of
/// Cached.
///
new public TablePatternInformation Cached
{
get
{
Misc.ValidateCached(_cached);
return new TablePatternInformation(_el, true);
}
}
///
/// This member allows access to current property values
/// for this element. The returned object has accessors for
/// each property defined for this pattern.
///
///
/// This pattern must be from an AutomationElement with a
/// Full reference in order to get current values. If the
/// AutomationElement was obtained using AutomationElementMode.None,
/// then it contains only cached data, and attempting to get
/// the current value of any property will throw an InvalidOperationException.
///
/// To get the cached value of a property that was previously
/// specified using a CacheRequest, access the property via the
/// Cached accessor instead of Current.
///
new public TablePatternInformation Current
{
get
{
Misc.ValidateCurrent(_hPattern);
return new TablePatternInformation(_el, false);
}
}
#endregion Public Properties
//-----------------------------------------------------
//
// Internal Methods
//
//------------------------------------------------------
#region Internal Methods
internal static new object Wrap(AutomationElement el, SafePatternHandle hPattern, bool cached)
{
return new TablePattern(el, hPattern, cached);
}
#endregion Internal Methods
//-----------------------------------------------------
//
// Private Fields
//
//-----------------------------------------------------
#region Private Fields
// No new fields needed here - we use those inherited from base class
#endregion Private Fields
//-----------------------------------------------------
//
// Nested Classes
//
//------------------------------------------------------
#region Nested Classes
///
/// This class provides access to either Cached or Current
/// properties on a pattern via the pattern's .Cached or
/// .Current accessors.
///
public struct TablePatternInformation
{
//-----------------------------------------------------
//
// Constructors
//
//------------------------------------------------------
#region Constructors
internal TablePatternInformation(AutomationElement el, bool useCache)
{
_el = el;
_useCache = useCache;
}
#endregion Constructors
//------------------------------------------------------
//
// Public Properties
//
//-----------------------------------------------------
#region Public Properties
/// Collection of all row headers for this table
///
///
/// This API does not work inside the secure execution environment.
///
///
public AutomationElement[] GetRowHeaders()
{
return (AutomationElement[])_el.GetPatternPropertyValue(RowHeadersProperty, _useCache);
}
/// Collection of all column headers for this table
///
///
/// This API does not work inside the secure execution environment.
///
///
public AutomationElement[] GetColumnHeaders()
{
return (AutomationElement[])_el.GetPatternPropertyValue(ColumnHeadersProperty, _useCache);
}
///
/// number of rows in the grid
///
///
///
/// This API does not work inside the secure execution environment.
///
///
public int RowCount
{
get
{
return (int)_el.GetPatternPropertyValue(RowCountProperty, _useCache);
}
}
///
/// number of columns in the grid
///
///
///
/// This API does not work inside the secure execution environment.
///
///
public int ColumnCount
{
get
{
return (int)_el.GetPatternPropertyValue(ColumnCountProperty, _useCache);
}
}
/// Indicates if the data is best presented by row or column
///
///
/// This API does not work inside the secure execution environment.
///
///
public RowOrColumnMajor RowOrColumnMajor
{
get
{
return (RowOrColumnMajor)_el.GetPatternPropertyValue(RowOrColumnMajorProperty, _useCache);
}
}
#endregion Public Properties
//------------------------------------------------------
//
// Private Fields
//
//-----------------------------------------------------
#region Private Fields
private AutomationElement _el; // AutomationElement that contains the cache or live reference
private bool _useCache; // true to use cache, false to use live reference to get current values
#endregion Private Fields
}
#endregion Nested Classes
}
}
// 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
- SelectionItemProviderWrapper.cs
- ListBindingHelper.cs
- StandardTransformFactory.cs
- SetterBase.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- ComplexPropertyEntry.cs
- CurrencyWrapper.cs
- WebDisplayNameAttribute.cs
- LoginUtil.cs
- _SslSessionsCache.cs
- DataGrid.cs
- CompositeActivityTypeDescriptor.cs
- ArrayMergeHelper.cs
- OutputScopeManager.cs
- Conditional.cs
- DateTimeFormatInfoScanner.cs
- ExceptionWrapper.cs
- ThicknessAnimation.cs
- AccessorTable.cs
- PerformanceCounterManager.cs
- MediaPlayerState.cs
- ReplacementText.cs
- OracleBoolean.cs
- VirtualPathData.cs
- TryExpression.cs
- HttpWebRequest.cs
- ConfigWriter.cs
- RtType.cs
- SqlDataReaderSmi.cs
- SoapInteropTypes.cs
- ErrorFormatterPage.cs
- InfoCardServiceInstallComponent.cs
- Ref.cs
- LocalBuilder.cs
- SizeLimitedCache.cs
- SourceFileInfo.cs
- CmsUtils.cs
- ChangeBlockUndoRecord.cs
- QilIterator.cs
- TextBlockAutomationPeer.cs
- BitmapCodecInfo.cs
- StringUtil.cs
- WebPartMovingEventArgs.cs
- CodeTryCatchFinallyStatement.cs
- SafeRightsManagementQueryHandle.cs
- Registry.cs
- ItemsControlAutomationPeer.cs
- SqlRecordBuffer.cs
- AssociationTypeEmitter.cs
- CmsUtils.cs
- FormsAuthenticationUser.cs
- DbException.cs
- MarkupExtensionParser.cs
- CellConstantDomain.cs
- IntSecurity.cs
- SqlDataReader.cs
- LinkDescriptor.cs
- PageClientProxyGenerator.cs
- SerializationFieldInfo.cs
- OleDbMetaDataFactory.cs
- ManagementPath.cs
- CacheDependency.cs
- TypeGenericEnumerableViewSchema.cs
- ColorTransformHelper.cs
- ModifierKeysValueSerializer.cs
- DataGridSortCommandEventArgs.cs
- AdapterDictionary.cs
- Table.cs
- OletxCommittableTransaction.cs
- EntitySqlQueryBuilder.cs
- WebHttpElement.cs
- ComEventsSink.cs
- TrackingServices.cs
- Light.cs
- Matrix3D.cs
- DataRowChangeEvent.cs
- GenericXmlSecurityToken.cs
- LambdaExpression.cs
- TraceEventCache.cs
- RequestContext.cs
- InputGestureCollection.cs
- DllNotFoundException.cs
- DbConnectionFactory.cs
- SerializationAttributes.cs
- InputLanguageSource.cs
- ManagedFilter.cs
- Geometry3D.cs
- DatatypeImplementation.cs
- XPathParser.cs
- DesignTableCollection.cs
- OpenTypeLayout.cs
- CompilerWrapper.cs
- NotifyParentPropertyAttribute.cs
- VisualStyleRenderer.cs
- Object.cs
- ServiceManagerHandle.cs
- ProxyElement.cs
- XMLDiffLoader.cs
- DropShadowEffect.cs
- PropertyBuilder.cs