Feature: QR Code Display Support for Dynamic Label Widgets
Overview
This feature enables Dynamic Label (DL) widgets in Panther to visually render their label text as a QR Code. It supports both design-time and runtime manipulation, allowing applications to dynamically display encoded data.
New Property
| Property Name |
Description |
PR_QR_CODE |
Enables the DL widget to display its label text as a QR Code. Accepts "1" for PV_YES and "0" for PV_NO. |
Editor Integration
- Appears in the IDENTITY section of the Properties Window as "QR Code".
- Positioned just above the final entry for C Type.
- Internally treated as a string-valued property to allow future expansion (e.g., error correction levels).
Behavior
- When
QR Code is set to Yes, the DL widget immediately displays a QR Code for its label text.
- The QR Code:
- Appears at minimal size initially.
- Can be resized in the Editor (does not enforce squareness).
- Updates automatically when the label text changes.
- These behaviors also apply when the property is modified dynamically at runtime.
Color Handling
- Background and foreground colors can be assigned to the QR Code DL.
- Editor behavior caveats:
- Color changes persist across other DLs with QR Codes.
- Once a QR Code image is generated for specific label text, it retains its original colors and cannot be reused with different colors.
Application Code Access
- The label text remains accessible via JPL or C code.
- The QR Code's internal bit array is not exposed to application code.
- No C library function is provided for direct QR data access.
Use Cases
- Installing secrets into smartphone Authenticator apps.
- Displaying product codes or URLs for mobile scanning.
- Assigning a double-click action to open a URL in a browser.
- Using the QR Code DL as a drop target via
PR_DROP_TARGET.