コード例 #1
0
ファイル: RuntimeService.cs プロジェクト: mainr/Soapbox_SNAP
        private Tuple <PageEditor.PageEditorItem, PageItem, RuntimeApplicationItem> FindParentPageEditorItemPageItemAndRuntimeAppItem(INodeWrapper requester)
        {
            PageEditor.PageEditorItem pageEditorItem;
            if (requester is PageEditor.PageEditorItem)
            {
                pageEditorItem = requester as PageEditor.PageEditorItem;
            }
            else
            {
                pageEditorItem = requester.FindAncestorOfType(typeof(PageEditor.PageEditorItem)) as PageEditor.PageEditorItem;
            }
            PageItem pageItem;

            if (requester is PageItem)
            {
                pageItem = requester as PageItem;
            }
            else
            {
                pageItem = requester.FindAncestorOfType(typeof(PageItem)) as PageItem;
            }
            RuntimeApplicationItem runtimeAppItem;

            if (pageEditorItem == null)
            {
                // we're outside of a page editor
                runtimeAppItem = requester.FindAncestorOfType(typeof(RuntimeApplicationItem)) as RuntimeApplicationItem;
            }
            else
            {
                // inside a page editor, we have to do some fancy footwork
                var pageEditor = pageEditorItem.PageEditorParent;
                if (pageEditor.PageItemParent != null)
                {
                    pageItem       = pageEditor.PageItemParent;
                    runtimeAppItem = pageItem.FindAncestorOfType(typeof(RuntimeApplicationItem)) as RuntimeApplicationItem;
                }
                else
                {
                    runtimeAppItem = null;
                }
            }
            return(new Tuple <PageEditor.PageEditorItem, PageItem, RuntimeApplicationItem>(pageEditorItem, pageItem, runtimeAppItem));
        }
コード例 #2
0
 private Tuple<PageEditor.PageEditorItem, PageItem, RuntimeApplicationItem> FindParentPageEditorItemPageItemAndRuntimeAppItem(INodeWrapper requester)
 {
     PageEditor.PageEditorItem pageEditorItem;
     if (requester is PageEditor.PageEditorItem)
     {
         pageEditorItem = requester as PageEditor.PageEditorItem;
     }
     else
     {
         pageEditorItem = requester.FindAncestorOfType(typeof(PageEditor.PageEditorItem)) as PageEditor.PageEditorItem;
     }
     PageItem pageItem;
     if (requester is PageItem)
     {
         pageItem = requester as PageItem;
     }
     else
     {
         pageItem = requester.FindAncestorOfType(typeof(PageItem)) as PageItem;
     }
     RuntimeApplicationItem runtimeAppItem;
     if (pageEditorItem == null)
     {
         // we're outside of a page editor
         runtimeAppItem = requester.FindAncestorOfType(typeof(RuntimeApplicationItem)) as RuntimeApplicationItem;
     }
     else
     {
         // inside a page editor, we have to do some fancy footwork
         var pageEditor = pageEditorItem.PageEditorParent;
         if (pageEditor.PageItemParent != null)
         {
             pageItem = pageEditor.PageItemParent;
             runtimeAppItem = pageItem.FindAncestorOfType(typeof(RuntimeApplicationItem)) as RuntimeApplicationItem;
         }
         else
         {
             runtimeAppItem = null;
         }
     }
     return new Tuple<PageEditor.PageEditorItem, PageItem, RuntimeApplicationItem>(pageEditorItem, pageItem, runtimeAppItem);
 }