protected override pTab createTab(string name, object tag, Vector2 position, float depth)
        {
            Channel c          = tag as Channel;
            bool    allowClose = c != null && c.Closeable;

            pChannelTab pt = new pChannelTab(name, tag, position, depth, Downwards, Skinnable, hoverEffect, allowClose);

            pt.OnCloseTriggered += pt_OnCloseTriggered;

            return(pt);
        }
        internal virtual void CloseTab(pChannelTab pt)
        {
            if (pt == null || !pt.canClose)
            {
                return;
            }

            Remove(pt);

            if (OnTabCloseRequested != null)
            {
                OnTabCloseRequested(pt.Tag, null);
            }
        }
        void pt_OnCloseTriggered(object sender, EventArgs e)
        {
            pChannelTab pt = sender as pChannelTab;

            CloseTab(pt);
        }