Skip to content

Core Module Context Menu

Technical documentation for the addition of a right-click context menu on core module tab headers in the Pulse Dashboard.

What changed

Pulse reporting tabs already had a right-click context menu on their headers. Core module tabs (the outer tabs in tcMain — Executive, Financial, Customer Service, etc.) did not have a useful one — they were incorrectly falling through to the Pulse reporting tab popup, which exposed actions that don't apply at the module level.

This change introduces a dedicated context menu for core module tabs with five items:

Item Purpose
Refresh Module Re-runs every Pulse tab in the module that has RefreshWithModule = True
Reset Module to Default Settings… Restores tabs and their contents to the module's defaults
Save and Share Module… Serializes the module's CCoreModuleData to a .pmod-like file
Publish Module… Pushes the module to other users via the existing publish queue
Load Module from File… Loads a previously-saved module from disk

A side bug — MyTabControl.HandletabMouseClick exiting early when the last tab's PageViewInfo wasn't laid out — was also fixed because it was suppressing right-click handling on every tab after a user switch.

Files touched

  • FCoreModule_Popup.vb — Replaced the empty stub with a full code-behind: Activator property, BeforePopup enabling logic, DefineContextMenu method, and click handlers for all five items.
  • FCoreModule_Popup.Designer.vb — Added btnResetToDefault and btnLoadFromFile, repaired LinksPersistInfo, registered new items in BarManager1.Items, bumped MaxItemId.
  • MyTabPage.vb — Added s_CoreModule_ContextMenuForm singleton field. ShowContextMenu now dispatches by PageType: core module pages get the new popup; Pulse tabs get the original one. Defensive rebuild via DefineContextMenu() if links go missing.
  • MyTabControl.vb — Removed the early-exit guard in HandletabMouseClick that was misfiring after a user switch and breaking right-click on every tab.

How to navigate this documentation

  • Feature — Start here for what was built and why.
  • Bug Fixes
  • Files Modified — Per-file summary of changes.
  • Reference — Deeper dives into the click handlers and the reset algorithm.