|
/***************************************************************************
* CopyRight (C) 2009 by Cristinel Mazarine *
* Author: Cristinel Mazarine *
* Contact: cristinel@osec.ro *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the Crom Free License as published by *
* the SC Crom-Osec SRL; version 1 of the License *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* Crom Free License for more details. *
* *
* You should have received a copy of the Crom Free License along with *
* this program; if not, write to the contact@osec.ro *
***************************************************************************/
using System;
using System.Windows.Forms;
namespace Crom.Controls.Docking
{
internal class HierarchyUtility
{
#region Public section
/// <summary>
/// Get forms container
/// </summary>
/// <param name="form">form</param>
/// <returns>forms container</returns>
public static FormsContainer GetFormsContainer(Form form)
{
if (form == null)
{
return null;
}
return (FormsContainer)form.Parent;
}
/// <summary>
/// Get form decorator
/// </summary>
/// <param name="form">form</param>
/// <returns>form decorator</returns>
public static FormsDecorator GetFormsDecorator(Form form)
{
FormsContainer container = GetFormsContainer(form);
if (container == null)
{
return null;
}
return (FormsDecorator)container.Parent;
}
/// <summary>
/// Get tabbed host
/// </summary>
/// <param name="form">form</param>
/// <returns>tabbed host</returns>
public static FormsTabbedView GetTabbedView(Form form)
{
FormsDecorator decorator = GetFormsDecorator(form);
if (decorator == null)
{
return null;
}
return (FormsTabbedView)decorator.Parent;
}
/// <summary>
/// Get the closest dockable container (first parent of given form which is dockable container)
/// </summary>
/// <param name="form">form</param>
/// <returns>dockable container</returns>
public static DockableContainer GetClosestDockableContainer(Form form)
{
if (form == null)
{
return null;
}
FormsTabbedView tabbedView = GetTabbedView(form);
if (tabbedView.IsAutoHideMode)
{
AutoHidePanel panel = (AutoHidePanel)tabbedView.Parent;
return panel.RestoreParent;
}
return (DockableContainer)tabbedView.Parent;
}
#endregion Public section
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
He is a Microsoft technology enthusiast, who wish to create applications which others find useful.He loves making small tools and getting involved in architecting bigger systems.
He is currently working as a professional developer in a software development firm in .Net technologies.
He likes reading technical blogs, contributing to opensource and most importantly, enjoying life.
His ambition is to be an impressive software maker.