diff -r 000000000000 -r 818e61de6cd1 crashanalysercmd/Libraries/Engine/CrashItemLib/Crash/Base/DataBinding/CIDBRow.cs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/crashanalysercmd/Libraries/Engine/CrashItemLib/Crash/Base/DataBinding/CIDBRow.cs Thu Feb 11 15:50:58 2010 +0200 @@ -0,0 +1,137 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ +using System; +using System.Text; +using System.Collections.Generic; +using System.Drawing; + +namespace CrashItemLib.Crash.Base.DataBinding +{ + public class CIDBRow : IEnumerable + { + #region Constructors + public CIDBRow() + { + } + + public CIDBRow( params CIDBCell[] aCells ) + { + iCells.AddRange( aCells ); + } + + public CIDBRow( Color aForeColor ) + : this( aForeColor, Color.Transparent ) + { + } + + public CIDBRow( Color aForeColor, Color aBackColor ) + { + iForeColor = aForeColor; + iBackColor = aBackColor; + } + #endregion + + #region API + public void Add( CIDBCell aCell ) + { + aCell.Row = this; + iCells.Add( aCell ); + } + #endregion + + #region Properties + public int Count + { + get { return iCells.Count; } + } + + public CIDBCell this[ int aIndex ] + { + get { return iCells[ aIndex ]; } + } + + public Color ForeColor + { + get { return iForeColor; } + set { iForeColor = value; } + } + + public Color BackColor + { + get { return iBackColor; } + set { iBackColor = value; } + } + + public CIElement Element + { + get + { + CIElement element = iElement; + // + if ( element == null && Model != null ) + { + element = Model.Element; + } + // + return element; + } + set { iElement = value; } + } + + internal CIDBModel Model + { + get { return iModel; } + set + { + iModel = value; + + // Try to ensure the element points to something + if ( iElement == null ) + { + iElement = Model.Element; + } + } + } + #endregion + + #region From IEnumerable + public IEnumerator GetEnumerator() + { + foreach ( CIDBCell c in iCells ) + { + yield return c; + } + } + + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() + { + foreach ( CIDBCell c in iCells ) + { + yield return c; + } + } + #endregion + + #region Data members + private Color iForeColor = Color.Black; + private Color iBackColor = Color.Transparent; + private List iCells = new List(); + private CIDBModel iModel = null; + private CIElement iElement = null; + #endregion + } +}