99 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using System;
 | 
						|
using System.ComponentModel;
 | 
						|
using System.Drawing;
 | 
						|
using System.Xml;
 | 
						|
 | 
						|
namespace DevComponents.DotNetBar
 | 
						|
{
 | 
						|
	/// <summary>
 | 
						|
	/// Represents class that is a bar container for document docking.
 | 
						|
	/// </summary>
 | 
						|
	[DesignTimeVisible(false),ToolboxItem(false),TypeConverter(typeof(DocumentBarContainerConverter))]
 | 
						|
	public class DocumentBarContainer:DocumentBaseContainer
 | 
						|
	{
 | 
						|
		#region Private Variables and Constructor
 | 
						|
		private Bar m_Bar=null;
 | 
						|
 | 
						|
		/// <summary>
 | 
						|
		/// Creates new instance of the class.
 | 
						|
		/// </summary>
 | 
						|
		public DocumentBarContainer(){}
 | 
						|
 | 
						|
		/// <summary>
 | 
						|
		/// Creates new instance of the class and initializes it with the Bar object.
 | 
						|
		/// </summary>
 | 
						|
		/// <param name="bar">Bar to contain on document.</param>
 | 
						|
		public DocumentBarContainer(Bar bar)
 | 
						|
		{
 | 
						|
			m_Bar=bar;
 | 
						|
            if(m_Bar.SplitDockHeight>0 || m_Bar.SplitDockWidth>0)
 | 
						|
				this.SetLayoutBounds(new Rectangle(0,0,m_Bar.SplitDockWidth,m_Bar.SplitDockHeight));
 | 
						|
		}
 | 
						|
 | 
						|
		/// <summary>
 | 
						|
		/// Creates new instance of the class and initializes it with the bar and propesed width and height.
 | 
						|
		/// </summary>
 | 
						|
		/// <param name="bar">Bar to contain on document.</param>
 | 
						|
		/// <param name="proposedWidth">Proposed width of the document in pixels</param>
 | 
						|
		/// <param name="proposedHeight">Proposed height of the document in pixels</param>
 | 
						|
		public DocumentBarContainer(Bar bar, int proposedWidth, int proposedHeight)
 | 
						|
		{
 | 
						|
			m_Bar=bar;
 | 
						|
			this.SetLayoutBounds(new Rectangle(0,0,proposedWidth,proposedHeight));
 | 
						|
		}
 | 
						|
		#endregion
 | 
						|
 | 
						|
		#region Internal Implementation
 | 
						|
		/// <summary>
 | 
						|
		/// Gets or sets the bar that is contained by this document.
 | 
						|
		/// </summary>
 | 
						|
		[Browsable(false),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
 | 
						|
		public Bar Bar
 | 
						|
		{
 | 
						|
			get {return m_Bar;}
 | 
						|
			set {m_Bar=value;}
 | 
						|
		}
 | 
						|
 | 
						|
		/// <summary>
 | 
						|
		/// Resizes document object.
 | 
						|
		/// </summary>
 | 
						|
		/// <param name="bounds">Available bounds for the document.</param>
 | 
						|
		public override void Layout(Rectangle bounds)
 | 
						|
		{
 | 
						|
            if (m_Bar != null)
 | 
						|
            {
 | 
						|
                m_Bar.SplitDockHeight = 0;
 | 
						|
                m_Bar.SplitDockWidth = 0;
 | 
						|
                m_Bar.MinHeight = 0;
 | 
						|
                m_Bar.RecalcSize(bounds.Size);
 | 
						|
                m_Bar.Location = bounds.Location;
 | 
						|
            }
 | 
						|
			SetDisplayBounds(bounds);
 | 
						|
		}
 | 
						|
 | 
						|
		/// <summary>
 | 
						|
		/// Gets whether document is visible.
 | 
						|
		/// </summary>
 | 
						|
		public override bool Visible
 | 
						|
		{
 | 
						|
			get
 | 
						|
			{
 | 
						|
                if (m_Bar == null)
 | 
						|
                    return false;
 | 
						|
				if(m_Bar.GetDesignMode())
 | 
						|
					return true;
 | 
						|
                return m_Bar.IsVisible;
 | 
						|
			}
 | 
						|
		}
 | 
						|
 | 
						|
		/// <summary>
 | 
						|
		/// Gets the minimum size of the document.
 | 
						|
		/// </summary>
 | 
						|
		protected internal override System.Drawing.Size MinimumSize
 | 
						|
		{
 | 
						|
			get {return m_Bar.GetAdjustedFullSize(m_Bar.MinimumDockSize(eOrientation.Horizontal));}
 | 
						|
		}
 | 
						|
		#endregion
 | 
						|
	}
 | 
						|
}
 |