private void LayoutView()
        {
            if (Map == null)
            {
                OriginalContentSize = Size.Empty;
            }
            else
            {
                if (ChartLayouter != null && Created)
                {
                    Size size;
                    if (Created)
                    {
                        using (Graphics grf = CreateGraphics())
                        {
                            var args = new MindMapLayoutArgs(grf, this.Map, ChartBox.DefaultChartFont);
                            size = ChartLayouter.LayoutMap(Map, args);
                        }
                    }
                    else
                    {
                        var args = new MindMapLayoutArgs(this.Map, ChartBox.DefaultChartFont);
                        size = ChartLayouter.LayoutMap(Map, args);
                    }

                    OriginalContentSize = size;
                }
            }
        }
        void SelectNextTopic(MoveVector vector)
        {
            Topic topic = SelectedTopic;

            if (topic == null)
            {
                return;
            }

            if (topic != null && ChartLayouter != null)
            {
                Topic next = ChartLayouter.GetNextNode(topic, vector);

                if (next != null)
                {
                    //SelectTopic(next, true);
                    Select(next, true);
                }
            }
        }