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:Activatorproperty,BeforePopupenabling logic,DefineContextMenumethod, and click handlers for all five items.FCoreModule_Popup.Designer.vb— AddedbtnResetToDefaultandbtnLoadFromFile, repairedLinksPersistInfo, registered new items inBarManager1.Items, bumpedMaxItemId.MyTabPage.vb— Addeds_CoreModule_ContextMenuFormsingleton field.ShowContextMenunow dispatches byPageType: core module pages get the new popup; Pulse tabs get the original one. Defensive rebuild viaDefineContextMenu()if links go missing.MyTabControl.vb— Removed the early-exit guard inHandletabMouseClickthat 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.
- Overview — motivation, before/after.
- Menu Items — what each item does at runtime.
- Architecture — how the popup ties into the existing tab/popup machinery.
- Publish/Receive Loop — end-to-end flow when publishing a module to another user.
- Bug Fixes
- HandletabMouseClick Early Exit — the post-switch right-click outage.
- Files Modified — Per-file summary of changes.
- Reference — Deeper dives into the click handlers and the reset algorithm.