Skip to content

SAIFMenuTop.clsMenuButton

SAIFMenuTop.clsMenuButton is a <Serializable()> nested value object that carries the render-time state for a single SAIFMenuTop toolbar icon — visibility, enabled state, access key, image URL, tooltip, and one-click/indicator behavior flags. Instances are persisted in ViewState so button state survives postbacks without requiring SAIFMenuTop to recompute authorization-derived defaults on every request.

Purpose

  • Carries the per-button visibility (Visible)/enabled (Enabled) state that SAIFMenuTop.RenderControl and OnPreRender read to decide whether/how to render each toolbar icon.
  • Carries presentation attributes (AccessKey, ImageURL, Tooltip) synchronized onto the corresponding SAIFImageButton each render pass.
  • Carries click-guard/indicator behavior flags (OneClick, DisableFormControlsOnClick, EnableIndicator) consumed by SAIFMenuTop's client-script wiring.

Context

  • Namespace: SAIF.Presentation.Web.Controls.V2.Menu (nested within SAIFMenuTop)
  • Assembly/package: SAIF.Presentation.Web.Controls.V2.Menu (packaged within SAIF.BOF.Presentation.Web.Infragistics103)
  • Decorated with <Serializable()> to support ViewState persistence.

Public members

Member Signature Purpose
ID ReadOnly Property ID As String The button's identifier (e.g., "InsertButton"), set once via the constructor and used by SAIFMenuTop.getImageButton/SAIFMenu.getImageButton to locate the matching rendered SAIFImageButton control by ID.
Visible Property Visible As Boolean Determines whether SAIFMenuTop renders this button at all; set from the current page's clsMenuAuthorizedItem display flags (e.g., IsDisplayInsert).
Enabled Property Enabled As Boolean Determines whether the rendered button is interactive; when false, SAIFMenuTop.DisableIcon swaps in a _d disabled image variant.
AccessKey Property AccessKey As String Keyboard access key applied to the button, combined with a browser-specific hint prefix (e.g., "Alt+I", or "Shift+Alt+I" on Firefox >= v2).
ImageURL Property ImageURL As String Site-relative path to the button's icon image (e.g., under /Resources/MenuImages/)*.
Tooltip Property Tooltip As String Tooltip text displayed for the button, sourced from the current page's per-action tooltip properties (e.g., PrintToolTip).
OneClick Property OneClick As Boolean Flags whether the button should be guarded against duplicate rapid clicks via the client-side mnuOneClickOnly script.
DisableFormControlsOnClick Property DisableFormControlsOnClick As Boolean Flags whether other form controls should be disabled while this button's postback is pending.
EnableIndicator Property EnableIndicator As Boolean Flags whether the busy-indicator CSS class/script should be applied to the button's rendered SAIFImageButton.

Behavioral notes

  • Instances are constructed and populated by SAIFMenuTop.BuildMenuIcons and stored in ViewState, so button state persists across postbacks without re-deriving authorization defaults on every request*.
  • SAIFMenuTop.getImageButton(clsMenuButton) reads this model's ID to locate the already-built corresponding SAIFImageButton control (via FindControl) for rendering; the control itself is constructed by SAIFMenuTop.BuildMenuIcons, not by getImageButton.

Constraints and usage notes

  • Not intended for use outside SAIFMenuTop; it is a private implementation-support value type exposed publicly only because it appears in the public MenuButtons/per-button properties on SAIFMenuTop*.

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

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