Inheritance: Atk.Object, Atk.IComponentImplementor
        public bool IsCellShowing(ColumnCellAccessible cell)
        {
            Gdk.Rectangle cell_extents = GetCellExtents(cell, Atk.CoordType.Window);

            if (cell_extents.X == Int32.MinValue && cell_extents.Y == Int32.MinValue)
            {
                return(false);
            }

            return(true);
        }
        public bool IsCellFocused(ColumnCellAccessible cell)
        {
            int cell_index = GetCellIndex(cell);

            if (cell_index % NColumns != 0)
            {
                return(false); // Only 0 column cells get focus now.
            }
            int row = cell_index / NColumns;

            return(row == list_view.Selection.FocusedIndex);
        }
        public int GetCellIndex(ColumnCellAccessible cell)
        {
            foreach (KeyValuePair <int, ColumnCellAccessible> kv in cell_cache)
            {
                if ((ColumnCellAccessible)kv.Value == cell)
                {
                    return((int)kv.Key);
                }
            }

            return(-1);
        }
        public Gdk.Rectangle GetCellExtents(ColumnCellAccessible cell, Atk.CoordType coord_type)
        {
            int cache_index = GetCellIndex(cell);
            int minval      = Int32.MinValue;

            if (cache_index == -1)
            {
                return(new Gdk.Rectangle(minval, minval, minval, minval));
            }

            if (cache_index - n_columns >= 0)
            {
                int column = (cache_index - NColumns) % NColumns;
                int row    = (cache_index - NColumns) / NColumns;
                return(list_view.GetColumnCellExtents(row, column, true, coord_type));
            }
            else
            {
                return(list_view.GetColumnHeaderCellExtents(cache_index, true, coord_type));
            }
        }
 public void ClickColumnHeader(ColumnCellAccessible cell)
 {
     list_view.ClickColumnHeader(GetCellIndex(cell));
 }
 public void InvokeColumnHeaderMenu(ColumnCellAccessible cell)
 {
     list_view.InvokeColumnHeaderMenu(GetCellIndex(cell));
 }
 public bool IsCellActive(ColumnCellAccessible cell)
 {
     return(ActiveCell == (Atk.Object)cell);
 }
 public bool IsCellSelected(ColumnCellAccessible cell)
 {
     return(IsChildSelected(GetCellIndex(cell)));
 }