78 lines
3.0 KiB
C#
78 lines
3.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.Collections;
|
|
|
|
namespace DevComponents.DotNetBar.Metro
|
|
{
|
|
internal class MetroTabItemContainer : SimpleItemContainer
|
|
{
|
|
//protected override bool OnBeforeLayout()
|
|
//{
|
|
// if (this.Orientation != eOrientation.Horizontal)
|
|
// return true;
|
|
|
|
// ArrayList ribbonTabItems = new ArrayList();
|
|
// int totalWidth = 0;
|
|
// int totalRibbonTabItemsWidth = 0;
|
|
// int minimumSize = 24;
|
|
// int availableWidth = this.WidthInternal - (this.PaddingLeft + this.PaddingRight);
|
|
|
|
// foreach (BaseItem item in this.SubItems)
|
|
// {
|
|
// if (!item.Visible)
|
|
// continue;
|
|
// item.RecalcSize();
|
|
// totalWidth += (item.WidthInternal + this.ItemSpacing);
|
|
// if (item is RibbonTabItem)
|
|
// {
|
|
// // Reset reduced size flag
|
|
// ((RibbonTabItem)item).ReducedSize = false;
|
|
// ribbonTabItems.Add(item);
|
|
// totalRibbonTabItemsWidth += (item.WidthInternal + this.ItemSpacing);
|
|
// }
|
|
// }
|
|
|
|
// int totalReduction = totalWidth - availableWidth;
|
|
|
|
// if (totalWidth > availableWidth && totalRibbonTabItemsWidth > 0)
|
|
// {
|
|
// if (totalReduction >= totalRibbonTabItemsWidth - (minimumSize * ribbonTabItems.Count + ribbonTabItems.Count - 1))
|
|
// {
|
|
// foreach (RibbonTabItem item in ribbonTabItems)
|
|
// {
|
|
// item.WidthInternal = minimumSize;
|
|
// item.ReducedSize = true;
|
|
// }
|
|
// }
|
|
// else
|
|
// {
|
|
// float reduction = 1 - (float)totalReduction / (float)totalRibbonTabItemsWidth;
|
|
// bool reducedSize = false;
|
|
// if (reduction <= .75)
|
|
// reducedSize = true;
|
|
// for (int i = 0; i < ribbonTabItems.Count; i++)
|
|
// {
|
|
// RibbonTabItem item = ribbonTabItems[i] as RibbonTabItem;
|
|
// item.ReducedSize = reducedSize;
|
|
// if (i == ribbonTabItems.Count - 1)
|
|
// {
|
|
// item.WidthInternal -= totalReduction;
|
|
// }
|
|
// else
|
|
// {
|
|
// int width = (int)(item.WidthInternal * reduction);
|
|
// if (width < minimumSize)
|
|
// width = minimumSize;
|
|
// totalReduction -= (item.WidthInternal - width);
|
|
// item.WidthInternal = width;
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// return false;
|
|
//}
|
|
}
|
|
}
|