/// <summary>
        /// Initializes a new instance of the <see cref="TreeNode"/> class.
        /// </summary>
        /// <param name="parent">Parent control.</param>
        public TreeNode(ControlBase parent)
            : base(parent)
        {
            m_ToggleButton = new TreeToggleButton(this);
            m_ToggleButton.SetBounds(0, 0, 15, 15);
            m_ToggleButton.Toggled += OnToggleButtonPress;

            m_Title                = new TreeNodeLabel(this);
            m_Title.Dock           = Pos.Top;
            m_Title.Margin         = new Margin(16, 0, 0, 0);
            m_Title.DoubleClicked += OnDoubleClickName;
            m_Title.Clicked       += OnClickName;

            m_InnerPanel        = new ControlBase(this);
            m_InnerPanel.Dock   = Pos.Top;
            m_InnerPanel.Height = 100;
            m_InnerPanel.Margin = new Margin(TreeIndentation, 1, 0, 0);
            m_InnerPanel.Hide();

            m_Root       = parent is TreeControl;
            m_Selected   = false;
            m_Selectable = true;

            Dock = Pos.Top;
        }