public static void ShowTimeline(
            TimelineModel timelineModel)
        {
            if (!TimelineSettings.Instance.Enabled ||
                !TimelineSettings.Instance.OverlayVisible)
            {
                return;
            }

            // 有効な表示データが含まれていない?
            if (!timelineModel.ExistsActivities())
            {
                return;
            }

            WPFHelper.Invoke(() =>
            {
                if (TimelineView == null)
                {
                    TimelineView = new TimelineOverlay();
                    TimelineView.Show();
                }

                TimelineView.Model = timelineModel;

                ChangeClickthrough(TimelineSettings.Instance.Clickthrough);

                TimelineView.OverlayVisible = true;
            });
        }
        public static void HideDesignOverlay(
            bool restoreTimelineView = true)
        {
            if (designOverlay != null)
            {
                designOverlay.OverlayVisible = false;
                designOverlay.Hide();
                designOverlay.Close();
                designOverlay = null;

                // 本番ビューを復帰させるか?
                if (restoreTimelineView)
                {
                    if (TimelineSettings.Instance.OverlayVisible)
                    {
                        if (TimelineView != null &&
                            !TimelineView.OverlayVisible &&
                            TimelineView.Model != null)
                        {
                            TimelineView.OverlayVisible = true;
                        }
                    }
                }
            }
        }
        private static TimelineOverlay CreateDesignOverlay()
        {
            var overlay = new TimelineOverlay()
            {
                DummyMode = true
            };

            return(overlay);
        }
 public static void CloseTimeline()
 {
     WPFHelper.Invoke(() =>
     {
         if (TimelineView != null)
         {
             TimelineView.Model       = null;
             TimelineView.DataContext = null;
             TimelineView.Close();
             TimelineView = null;
         }
     });
 }
        public static void ShowDesignOverlay(
            TimelineStyle testStyle = null)
        {
            if (designOverlay == null)
            {
                dummyTimeline = TimelineModel.CreateDummyTimeline(testStyle);
                dummyTimeline.Controller.RefreshActivityLineVisibility();

                designOverlay       = CreateDesignOverlay();
                designOverlay.Model = dummyTimeline;
            }

            // 本番ビューを隠す
            if (TimelineView != null &&
                TimelineView.OverlayVisible)
            {
                TimelineView.OverlayVisible = false;
            }

            designOverlay.Show();
            designOverlay.OverlayVisible = true;
        }