mirror of
https://github.com/mirror/processhacker
synced 2026-06-08 16:03:24 +00:00
b02427417c
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@5614 21ef857c-d57f-4fe0-8362-d861dc6d29cd
62 lines
1.2 KiB
C#
62 lines
1.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.Drawing;
|
|
|
|
namespace Aga.Controls.Tree
|
|
{
|
|
internal class FixedRowHeightLayout : IRowLayout
|
|
{
|
|
private TreeViewAdv _treeView;
|
|
|
|
public FixedRowHeightLayout(TreeViewAdv treeView, int rowHeight)
|
|
{
|
|
_treeView = treeView;
|
|
PreferredRowHeight = rowHeight;
|
|
}
|
|
|
|
private int _rowHeight;
|
|
public int PreferredRowHeight
|
|
{
|
|
get { return _rowHeight; }
|
|
set { _rowHeight = value; }
|
|
}
|
|
|
|
public Rectangle GetRowBounds(int rowNo)
|
|
{
|
|
return new Rectangle(0, rowNo * _rowHeight, 0, _rowHeight);
|
|
}
|
|
|
|
public int PageRowCount
|
|
{
|
|
get
|
|
{
|
|
return Math.Max((_treeView.DisplayRectangle.Height - _treeView.ColumnHeaderHeight) / _rowHeight, 0);
|
|
}
|
|
}
|
|
|
|
public int CurrentPageSize
|
|
{
|
|
get
|
|
{
|
|
return PageRowCount;
|
|
}
|
|
}
|
|
|
|
public int GetRowAt(Point point)
|
|
{
|
|
point = new Point(point.X, point.Y + (_treeView.FirstVisibleRow * _rowHeight) - _treeView.ColumnHeaderHeight);
|
|
return point.Y / _rowHeight;
|
|
}
|
|
|
|
public int GetFirstRow(int lastPageRow)
|
|
{
|
|
return Math.Max(0, lastPageRow - PageRowCount + 1);
|
|
}
|
|
|
|
public void ClearCache()
|
|
{
|
|
}
|
|
}
|
|
}
|