コード例 #1
0
ファイル: PageProvider.cs プロジェクト: firakti/PomodoroTimer
        public Page Get(Type pageType)
        {
            PageLifeTime pageLifeTime = PageLifeTime.StayAlive;

            if (PageLifeTimes.ContainsKey(pageType))
            {
                pageLifeTime = PageLifeTimes[pageType];
            }

            /*
             * if page instance is not created before
             * create page instance
             */
            if (pageLifeTime == PageLifeTime.StayAlive)
            {
                if (!Pages.ContainsKey(pageType))
                {
                    Pages[pageType] = CreatePage(pageType);
                }

                /*
                 * push type to stack for history.
                 */
                PageStack.Push(pageType);

                // return insctance
                return(Pages[pageType]);
            }
            else
            {
                PageStack.Push(pageType);
                return(CreatePage(pageType));
            }
        }
コード例 #2
0
ファイル: PageProvider.cs プロジェクト: firakti/PomodoroTimer
 public void SetLifeTime(Type type, PageLifeTime pageLifeTime)
 {
     PageLifeTimes[type] = pageLifeTime;
 }