TableColumn.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Documents / TableColumn.cs / 1305600 / TableColumn.cs

                            //---------------------------------------------------------------------------- 
//
// 
//    Copyright (C) Microsoft Corporation.  All rights reserved.
//  
//
// 
// Description: Table column object implementation. 
//
// History: 
//  06/19/2003 : olego - Created
//
//---------------------------------------------------------------------------
using System; 
using System.Diagnostics;
using System.Windows.Threading; 
 
using System.Windows;
using System.Windows.Controls; 
using System.Windows.Documents;
using System.Windows.Media;
using MS.Internal.PtsHost.UnsafeNativeMethods; // PTS restrictions
using System.Collections; 
using System.Collections.Generic;
 
using MS.Internal.Documents; 

namespace System.Windows.Documents 
{
    /// 
    /// Table column.
    ///  
    public class TableColumn : FrameworkContentElement, IIndexedChild
    { 
        //----------------------------------------------------- 
        //
        //  Constructors 
        //
        //-----------------------------------------------------

        #region Constructors 

        ///  
        /// Creates an instance of a Column 
        /// 
        public TableColumn() 
        {
            _parentIndex = -1;
        }
 
        #endregion Constructors
 
        //------------------------------------------------------ 
        //
        //  Public Methods 
        //
        //-----------------------------------------------------

        #region Public Methods 
        #endregion Public Methods
 
        //------------------------------------------------------ 
        //
        //  Public Properties 
        //
        //------------------------------------------------------

        #region Public Properties 

        ///  
        /// Width property. 
        /// 
        public GridLength Width 
        {
            get { return (GridLength) GetValue(WidthProperty); }
            set { SetValue(WidthProperty, value); }
        } 

        ///  
        /// Background property. 
        /// 
        public Brush Background 
        {
            get { return (Brush) GetValue(BackgroundProperty); }
            set { SetValue(BackgroundProperty, value); }
        } 

        #endregion Public Properties 
 
        //-----------------------------------------------------
        // 
        //  Protected Methods
        //
        //------------------------------------------------------
 
        #region Protected Methods
        #endregion Protected Methods 
 
        //-----------------------------------------------------
        // 
        //  Internal Methods
        //
        //-----------------------------------------------------
 
        #region Internal Methods
 
        #region IIndexedChild implementation 

        ///  
        /// Callback used to notify about entering model tree.
        /// 
        void IIndexedChild
.OnEnterParentTree() { this.OnEnterParentTree(); } /// /// Callback used to notify about exitting model tree. /// void IIndexedChild
.OnExitParentTree() { this.OnExitParentTree(); } void IIndexedChild
.OnAfterExitParentTree(Table parent) { } int IIndexedChild
.Index { get { return this.Index; } set { this.Index = value; } } #endregion IIndexedChild implementation /// /// Callback used to notify the Cell about entering model tree. /// internal void OnEnterParentTree() { Table.InvalidateColumns(); } /// /// Callback used to notify the Cell about exitting model tree. /// internal void OnExitParentTree() { Table.InvalidateColumns(); } #endregion Internal Methods //----------------------------------------------------- // // Internal Properties // //------------------------------------------------------ #region Internal Properties /// /// Table owner accessor /// internal Table Table { get { return Parent as Table; } } /// /// Column's index in the parents collection. /// internal int Index { get { return (_parentIndex); } set { Debug.Assert (value >= -1 && _parentIndex != value); _parentIndex = value; } } /// /// DefaultWidth /// internal static GridLength DefaultWidth { get { return (new GridLength(0, GridUnitType.Auto)); } } #endregion Internal Properties //----------------------------------------------------- // // Private Methods // //------------------------------------------------------ #region Private Methods /// /// /// private static bool IsValidWidth(object value) { GridLength gridLength = (GridLength) value; if ((gridLength.GridUnitType == GridUnitType.Pixel || gridLength.GridUnitType == GridUnitType.Star) && (gridLength.Value < 0.0)) { return false; } double maxPixel = Math.Min(1000000, PTS.MaxPageSize); if (gridLength.GridUnitType == GridUnitType.Pixel && (gridLength.Value > maxPixel)) { return false; } return true; } #endregion Private Methods //------------------------------------------------------ // // Private Fields // //----------------------------------------------------- #region Private Fields private int _parentIndex; // column's index in parent's children collection #endregion Private Fields //------------------------------------------------------ // // Properties // //----------------------------------------------------- #region Properties /// /// Width property. /// public static readonly DependencyProperty WidthProperty = DependencyProperty.Register( "Width", typeof(GridLength), typeof(TableColumn), new FrameworkPropertyMetadata( new GridLength(0, GridUnitType.Auto), FrameworkPropertyMetadataOptions.AffectsMeasure, new PropertyChangedCallback(OnWidthChanged)), new ValidateValueCallback(IsValidWidth)); /// /// DependencyProperty for property. /// public static readonly DependencyProperty BackgroundProperty = Panel.BackgroundProperty.AddOwner( typeof(TableColumn), new FrameworkPropertyMetadata( null, FrameworkPropertyMetadataOptions.AffectsRender, new PropertyChangedCallback(OnBackgroundChanged))); #endregion Properties //----------------------------------------------------- // // Static Initialization // //----------------------------------------------------- #region Static Initialization /// /// Called when the value of the WidthProperty changes /// private static void OnWidthChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { Table table = ((TableColumn) d).Table; if(table != null) { table.InvalidateColumns(); } } /// /// Called when the value of the BackgroundProperty changes /// private static void OnBackgroundChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { Table table = ((TableColumn) d).Table; if(table != null) { table.InvalidateColumns(); } } #endregion Static Initialization } } // 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: Table column object implementation. // // History: // 06/19/2003 : olego - Created // //--------------------------------------------------------------------------- using System; using System.Diagnostics; using System.Windows.Threading; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Media; using MS.Internal.PtsHost.UnsafeNativeMethods; // PTS restrictions using System.Collections; using System.Collections.Generic; using MS.Internal.Documents; namespace System.Windows.Documents { /// /// Table column. /// public class TableColumn : FrameworkContentElement, IIndexedChild
{ //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors /// /// Creates an instance of a Column /// public TableColumn() { _parentIndex = -1; } #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- #region Public Methods #endregion Public Methods //------------------------------------------------------ // // Public Properties // //------------------------------------------------------ #region Public Properties /// /// Width property. /// public GridLength Width { get { return (GridLength) GetValue(WidthProperty); } set { SetValue(WidthProperty, value); } } /// /// Background property. /// public Brush Background { get { return (Brush) GetValue(BackgroundProperty); } set { SetValue(BackgroundProperty, value); } } #endregion Public Properties //----------------------------------------------------- // // Protected Methods // //------------------------------------------------------ #region Protected Methods #endregion Protected Methods //----------------------------------------------------- // // Internal Methods // //----------------------------------------------------- #region Internal Methods #region IIndexedChild implementation /// /// Callback used to notify about entering model tree. /// void IIndexedChild
.OnEnterParentTree() { this.OnEnterParentTree(); } /// /// Callback used to notify about exitting model tree. /// void IIndexedChild
.OnExitParentTree() { this.OnExitParentTree(); } void IIndexedChild
.OnAfterExitParentTree(Table parent) { } int IIndexedChild
.Index { get { return this.Index; } set { this.Index = value; } } #endregion IIndexedChild implementation /// /// Callback used to notify the Cell about entering model tree. /// internal void OnEnterParentTree() { Table.InvalidateColumns(); } /// /// Callback used to notify the Cell about exitting model tree. /// internal void OnExitParentTree() { Table.InvalidateColumns(); } #endregion Internal Methods //----------------------------------------------------- // // Internal Properties // //------------------------------------------------------ #region Internal Properties /// /// Table owner accessor /// internal Table Table { get { return Parent as Table; } } /// /// Column's index in the parents collection. /// internal int Index { get { return (_parentIndex); } set { Debug.Assert (value >= -1 && _parentIndex != value); _parentIndex = value; } } /// /// DefaultWidth /// internal static GridLength DefaultWidth { get { return (new GridLength(0, GridUnitType.Auto)); } } #endregion Internal Properties //----------------------------------------------------- // // Private Methods // //------------------------------------------------------ #region Private Methods /// /// /// private static bool IsValidWidth(object value) { GridLength gridLength = (GridLength) value; if ((gridLength.GridUnitType == GridUnitType.Pixel || gridLength.GridUnitType == GridUnitType.Star) && (gridLength.Value < 0.0)) { return false; } double maxPixel = Math.Min(1000000, PTS.MaxPageSize); if (gridLength.GridUnitType == GridUnitType.Pixel && (gridLength.Value > maxPixel)) { return false; } return true; } #endregion Private Methods //------------------------------------------------------ // // Private Fields // //----------------------------------------------------- #region Private Fields private int _parentIndex; // column's index in parent's children collection #endregion Private Fields //------------------------------------------------------ // // Properties // //----------------------------------------------------- #region Properties /// /// Width property. /// public static readonly DependencyProperty WidthProperty = DependencyProperty.Register( "Width", typeof(GridLength), typeof(TableColumn), new FrameworkPropertyMetadata( new GridLength(0, GridUnitType.Auto), FrameworkPropertyMetadataOptions.AffectsMeasure, new PropertyChangedCallback(OnWidthChanged)), new ValidateValueCallback(IsValidWidth)); /// /// DependencyProperty for property. /// public static readonly DependencyProperty BackgroundProperty = Panel.BackgroundProperty.AddOwner( typeof(TableColumn), new FrameworkPropertyMetadata( null, FrameworkPropertyMetadataOptions.AffectsRender, new PropertyChangedCallback(OnBackgroundChanged))); #endregion Properties //----------------------------------------------------- // // Static Initialization // //----------------------------------------------------- #region Static Initialization /// /// Called when the value of the WidthProperty changes /// private static void OnWidthChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { Table table = ((TableColumn) d).Table; if(table != null) { table.InvalidateColumns(); } } /// /// Called when the value of the BackgroundProperty changes /// private static void OnBackgroundChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { Table table = ((TableColumn) d).Table; if(table != null) { table.InvalidateColumns(); } } #endregion Static Initialization } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK