Skip to content

Build the top menu and toolbar

Construct the SAIFMenuTop control tree — the top page-link row and the full set of toolbar action icons. This operation is implemented by SAIFMenuTop.CreateChildControls, SAIFMenuTop.BuildMenuIcons.

Field Value
Operation ID OP-MENU-011
Trigger SAIFMenuTop.CreateChildControls, invoked during the ASP.NET control-tree creation phase.
Inputs Navigation data (see Acquire navigation data).
Outputs TopMenuApp-row link panel; TopMenuIcons panel with all toolbar SAIFImageButton icons.
Primary components SAIFMenuTop.CreateChildControls, SAIFMenuTop.BuildMenuIcons
Entry point SAIF.Presentation.Web.Controls.V2.Menu/SAIFMenuTop.vb

Steps

  1. Build the link collection from navigation data (see Build top page links) and add the links to a TopMenuApp-row panel inside the topmenubox navigation panel. Enforces BR-MENU-052.
  2. Build the toolbar icons into the TopMenuIcons panel: imgTopDefaultOnSubmit (a zero-sized default submit button), mnuHelp, preference save/clear, and the insert/save/delete/edit/cancel/submit and print/preview/email/download/calculate icons, each a SAIFImageButton wired to MenuImage_Click and registered in the clsMenuButton dictionary. Enforces BR-MENU-053, BR-MENU-054.

Process flow

The following diagram visualizes this operation's control flow.

flowchart TD
    Start(["SAIFMenuTop.CreateChildControls"]) --> Links["Build link collection from navigation data"]
    Links --> Panel["Add links to TopMenuApp-row panel in topmenubox"]
    Panel --> Icons["Build toolbar icons into TopMenuIcons panel"]
    Icons --> Wire["Wire each SAIFImageButton to MenuImage_Click"]
    Wire --> Register["Register icon in clsMenuButton dictionary"]
    Register --> End(["TopMenuApp-row link panel plus TopMenuIcons panel"])

Failure and edge-case behavior

  • No exceptional failure paths beyond those noted in the steps above.

Sources

  • SAIF.Presentation.Web.Controls.V2.Menu/SAIFMenuTop.vb