Example #1
0
 /// <summary>
 /// Apply overrides to a control manually in case needed before the end of Page_Load.
 /// </summary>
 /// <param name="c"></param>
 protected virtual void ApplyControlOverrides(Control c)
 {
     foreach (var o in PageOverrides.Where(o => o.ControlName == c.ID))
     {
         applyOverride(c, o);
     }
 }
Example #2
0
 public void OnPageArrival(object sender, EventArgs args)
 {
     _blockNormalZoom = false;
     Reset(sender, args);
     if (PageEventsManager.currentPage != null)
     {
         _pageBasedOverrides = PageEventsManager.currentPage.GetComponent <PageOverrides> ();
     }
     else
     {
         Debug.LogWarning("There is no currentPage when OnPageArrival is called");
     }
     _camMoving = false;
 }
Example #3
0
    private void setupControlPropertyOverrides()
    {
        if (PortalConfiguration.Current == null ||
            PortalConfiguration.Current.ControlOverrides == null)
        {
            return;
        }

        if (PageOverrides.Count == 0)
        {
            // no overrides
            return;
        }

        Control refControl = this.Master;
        Control pageTitle  = null;

        if (Master == null)
        {
            refControl = Page;
        }
        else if (Master.Master == null)
        {
            refControl = Master.FindControl("PageContent");
            pageTitle  = Master.FindControl("PageTitle");
        }
        else
        {
            refControl = Master.Master.FindControl("PageContent");
            pageTitle  = Master.Master.FindControl("PageTitle");

            // Check if the PageTitle content is wrapping another PageTitle (happens for the DataPage Master Page)
            var childControl = pageTitle.FindControl("PageTitle") as ContentPlaceHolder;
            if (childControl != null)
            {
                pageTitle = childControl;
            }
        }

        var relatedControls = _recursiveFind(refControl, PageOverrides);

        foreach (var o in PageOverrides)
        {
            Control c = null;
            if (relatedControls.ContainsKey(o.ControlName))
            {
                c = relatedControls[o.ControlName];
            }

            if (c == null && pageTitle != null)  // one last ditch effort - try the page title
            {
                c = pageTitle.FindControl(o.ControlName);
            }

            applyOverride(c, o);
        }

        var pto = PageOverrides.Find(x => x.ControlName == "__PageTitle");

        if (pto != null && pageTitle != null) // ok, there's a title
        {
            LiteralControl lc = null;
            foreach (var c in pageTitle.Controls)
            {
                if (c is LiteralControl) // grab it
                {
                    lc = (LiteralControl)c;
                    break;
                }
            }

            if (lc != null)
            {
                Page.Title = pto.Value;
                lc.Text    = pto.Value;
            }
        }
    }