コード例 #1
0
ファイル: TreeViewAdv.Draw.cs プロジェクト: Tokter/TokED
        public void AutoSizeColumn(TreeColumn column)
        {
            if (!Columns.Contains(column))
                throw new ArgumentException("column");

            DrawContext context = new DrawContext();
            context.Graphics = Graphics.FromImage(new Bitmap(1, 1));
            context.Font = this.Font;
            int res = 0;
            for (int row = 0; row < RowCount; row++)
            {
                if (row < RowMap.Count)
                {
                    int w = 0;
                    TreeNodeAdv node = RowMap[row];
                    foreach (NodeControl nc in NodeControls)
                    {
                        if (nc.ParentColumn == column)
                            w += nc.GetActualSize(node, _measureContext).Width;
                    }
                    res = Math.Max(res, w);
                }
            }

            if (res > 0)
                column.Width = res;
        }
コード例 #2
0
ファイル: ReorderColumnState.cs プロジェクト: Tokter/TokED
 public ReorderColumnState(TreeViewAdv tree, TreeColumn column, Point initialMouseLocation)
     : base(tree, column)
 {
     _location = new Point(initialMouseLocation.X + Tree.OffsetX, 0);
     _dragOffset = tree.GetColumnX(column) - initialMouseLocation.X;
     _ghostImage = column.CreateGhostImage(new Rectangle(0, 0, column.Width, tree.ColumnHeaderHeight), tree.Font);
 }
コード例 #3
0
ファイル: ReorderColumnState.cs プロジェクト: Tokter/TokED
 public override bool MouseMove(MouseEventArgs args)
 {
     _dropColumn = null;
     _location = new Point(args.X + Tree.OffsetX, 0);
     int x = 0;
     foreach (TreeColumn c in Tree.Columns)
     {
         if (c.IsVisible)
         {
             if (_location.X < x + c.Width / 2)
             {
                 _dropColumn = c;
                 break;
             }
             x += c.Width;
         }
     }
     Tree.UpdateHeaders();
     return true;
 }
コード例 #4
0
ファイル: TreeColumnEventArgs.cs プロジェクト: Tokter/TokED
 public TreeColumnEventArgs(TreeColumn column)
 {
     _column = column;
 }
コード例 #5
0
ファイル: ResizeColumnState.cs プロジェクト: Tokter/TokED
 public ResizeColumnState(TreeViewAdv tree, TreeColumn column, Point p)
     : base(tree, column)
 {
     _initLocation = p;
     _initWidth = column.Width;
 }
コード例 #6
0
ファイル: TreeViewAdv.cs プロジェクト: Tokter/TokED
 internal void OnColumnReordered(TreeColumn column)
 {
     if (ColumnReordered != null)
         ColumnReordered(this, new TreeColumnEventArgs(column));
 }
コード例 #7
0
ファイル: TreeViewAdv.cs プロジェクト: Tokter/TokED
 internal void OnColumnWidthChanged(TreeColumn column)
 {
     if (ColumnWidthChanged != null)
         ColumnWidthChanged(this, new TreeColumnEventArgs(column));
 }
コード例 #8
0
ファイル: TreeViewAdv.cs プロジェクト: Tokter/TokED
 internal void ChangeColumnWidth(TreeColumn column)
 {
     if (!(_input is ResizeColumnState))
     {
         FullUpdate();
         OnColumnWidthChanged(column);
     }
 }
コード例 #9
0
ファイル: TreeViewAdv.Input.cs プロジェクト: Tokter/TokED
 private void UpdateToolTip(MouseEventArgs e)
 {
     TreeColumn col = GetColumnAt(e.Location);
     if (col != null)
     {
         if (col != _tooltipColumn)
             SetTooltip(col.TooltipText);
     }
     else
         DisplayNodesTooltip(e);
     _tooltipColumn = col;
 }
コード例 #10
0
ファイル: TreeViewAdv.Input.cs プロジェクト: Tokter/TokED
 internal int GetColumnX(TreeColumn column)
 {
     int x = -OffsetX;
     foreach (TreeColumn col in Columns)
     {
         if (col.IsVisible)
         {
             if (column == col)
                 return x;
             else
                 x += col.Width;
         }
     }
     return x;
 }
コード例 #11
0
ファイル: ColumnState.cs プロジェクト: Tokter/TokED
 public ColumnState(TreeViewAdv tree, TreeColumn column)
     : base(tree)
 {
     _column = column;
 }
コード例 #12
0
ファイル: ClickColumnState.cs プロジェクト: Tokter/TokED
 public ClickColumnState(TreeViewAdv tree, TreeColumn column, Point location)
     : base(tree, column)
 {
     _location = location;
 }