PxPlus Releases
| PxPlus 2021 (version 18.00) | May 2021 | 
PxPlus 2021 consists of various new features and enhancements, including a new REST-based Webster+ toolset, new PxPlus Google Workspace® Objects, File Maintenance Generator enhancements and much more.
Major New Features
- 
Webster+ for HTML page generation
- Support for larger screens with more controls
- Added named parameters to CALL, PERFORM and Methods
- Enhanced Array management
- New 
PxPlus Objects for working with Google Workspace® cloud-based applications Drive, Docs and Sheets
- Improved File Maintenance Generator, including support for Webster+ HTML page generation
- Improved support for ADA (USA)/WCAG (Canada) compliance
PxPlus 2021 Enhancements
Language Changes
- 
Method Calls enhanced to provide named parameters to CALL and PERFORM directives
- Ability to include images in the 
PLUSLIB DLL Library
- 
ZOOM option added to WDW command that will attempt to adjust the font size to fill the primary window as opposed to changing the number of lines and columns
- 
PxPlus.Script added that allows external applications to directly invoke and interact with PxPlus and PxPlus objects for Windows 32-bit and 64-bit versions
- *BROWSER changes
- Unused key events are now passed to the PxPlus window when being used in HTML Editor, Ed+, etc.
- 
*BROWSER Debug mode that allows the browser developer console to display in a popup window for any *BROWSER controls that are created
- 
DragDrop property that supports Get/Set whether the browser allows drag and drop into the browser control or popup windows
Directives
- 
REMOVE option added to subscript declaration to remove identified entry of single dimension arrays after use (typically dynamic arrays)
- 
REDIM INSERT directive to insert either a single element at the specified index or a range of elements
- 
REDIM DELETE directive to delete the specified index or range of indices
- WITH variable=expression option added to 
CALL and 
PERFORM directives to specify a variable that will be initialized with the value from the expression prior execution of the called program
- 
ACCEPT UNDEFINED option added for the DEF CLASS directive to indicate undefined properties should return a null string or zero
- 
MENU_BAR and 
POPUP_MENU directives allow the inclusion of the special characters used to define the menu
OPTION Mnemonics
- 
BrowserDebug option for setting debug mode that will display the browser developer console in a popup window
- 
StdGridQueryImg option for defining the image to use in the query/lookup buttons of a grid
- 
TipColor option for defining the color for non-HTML tips
 
 Note: The above options can be read using the FIN function.
Mnemonics
- 
FRAME mnemonic now supports the ability to change frame text color when using '4D' mode
Functions
- 
CVS function supports new "LINK" and "URL?" formats
- 
NUM function converts scientific notation either with or without the + after the E (i.e. 0.2E10 = 0.2E+10)
- 
LNO function allows referencing lines based on a supplied string value
- Added 
::name option to the 
TCB(WINDOW) function to provide the ability to access information for window attributes
Data Sources and Views
Objects
Enhanced IDE, Nomads, iNomads and Toolkit
- Increased panel and control sizes to a width of 620 and height of 255 in all designers
- Ability to fully maximize panel sizes
- Increased the 
Maximum Number of Controls on a simple panel from 200 to 999 interactive controls
- 
Create New Project button added beside IDE Project drop box
- Ability to launch HTML pages in HTML Editor from the IDE 
History and 
Project list boxes
- Library Object Selection changes
- 
Webster+ menu added for defining settings for generating HTML pages
- Panel objects with HTML pages are designated as 
Type "Dh"
- Selecting a File Maintenance panel object launches File Maintenance Generator
- 
Preview HTML Page option added to the right click menu
- Updated validation rules when creating new panels
- 
Copy Screen Objects utility changes in Library Object Selection
- Ability to specify different input libraries
- New Select Objects dialog for selecting other panels to copy
- Ability to create new output library with SVN Version Control System support
- New Apply button allows consecutive copy operations and changes to input/output libraries without exiting
- Enhanced Copy progress bar
- 
Suppress Groups utility added to help with panel design when multiple groups are used in all designers
- Usability enhancements for 
User Defined CTL Values utility
- 
Webster+ property and 
Focus method added to TinyMCE® Editor COM control
- Support for applying Multi-Line Data Class height/width attributes to a Multi-Line control in all designers
- 
iNomads Alt Text property added to Image controls for ADA (USA)/WCAG (Canada) compliance in all designers
- Embedded panel control changes for all designers
- 
Display/Edit the contents of the panel that is being embedded as a control
- 
Refresh the list of controls on the embedded panel
- 
Clear Control when all Triggers are Null option added to Smart Controls and Smart Charts
- Ability to set Frame 
Text Color when using 4D mode
- Support for applying the 
Read-Only (locked) attribute when adding a Data Dictionary element control to a panel
- Support for applying the Read-Only attribute for Data Dictionary elements to columns in a Smart Grid
- Updated validation rules when creating new folder panels in all designers
File Maintenance Generator
- 
Form Types option added for creating a Nomads panel, an HTML page or both
- Ability to 
Preview HTML Page
- Ability to define the 
Webster+ Preview URL for previewing HTML pages
- Ability to specify an 
Optional HTML Interface Program to allow additional logic to be performed for HTML pages
- Ability to optionally 
Include HTML Page
- Ability to add 
Smart List Boxes, 
Smart Charts and 
Images to a Nomads panel or HTML page
- Define Height and Width options
- Add a Visual Class to Smart List Boxes and Smart Charts
- Name each Smart List Box, Smart Chart and Image
- Ability to add 
Embedded Panel or HTML Short Codes to the Layout Grid to embed specific elements on a panel
- Ability to add a 
Hyperlink to a data element prompt to link to a maintenance/inquiry panel
- Added an 
Info Line to provide details about a selected cell in the Layout Grid or a selected field in the Fields list box
- Added 
Folder Options for folder height and tab position for HTML pages
- Ability to 
Rename folder panels
- Ability to 
Move Key Fields of a table to any row on the Main panel in the Layout Grid
- Ability to combine both an Extended Class Validation descriptive 
SHOW.xxxx field and its related field into one cell to allow another field to occupy the adjacent cell
- Ability to use the 
Delete key to remove the contents of a selected cell in the Layout Grid
- 
Section Size option added to the Layout Grid for setting the width of HTML sections
- 
Section Break options for HTML pages added to the Layout Grid to control placement of sections when panels are resized
- 
Clear All Cells option added to the Layout Grid for clearing the contents of all cells
- 
Lock/Unlock option added to the Layout Grid for locking/unlocking a data dictionary field
- 
Cut Cell/Paste Cell(s) options added to the Layout Grid for cutting/pasting cells between panels
- Support for Read Only fields and Floating Tips from the Data Dictionary
HTML Editor
- 
File menu option added for displaying a list of recently opened files
- Support for updating SVN Version Control System when 
Saving HTML File to a source SVN directory
- Ability to 
Preview HTML Page
- Ability to define 
Webster+ Preview URL
- Ability to insert 
Webster+ Short Codes into an HTML document
- Support for saving changes to the current file prior to loading a new page, opening an existing file or exiting
- Support for adding HTML page updates to IDE History
- Support for creating 
Projects and adding HTML files to projects
- Updated TinyMCE® to version 5.5.1
Ed+ Program Editor
- Improved syntax highlighting for PxPlus programs
iNomads
Themes and Visual Classes
- New Suppress Header property for Grids to suppress Grid headers
- New Button Color property for Grids to control background color for system-generated buttons in a Grid, including Drop Box buttons and Query buttons
Data Dictionary
- Ability to 
Export and 
Import Data Dictionary definitions
- Ability to add 
Floating Tips to Data Dictionary elements
- 
Read Only attribute added for Data Dictionary elements
- 
Notes input control added to the Info panel
- 
Last File Change and 
Last Physical Update display-only fields added to the Main panel
- Support for updating Uppercase data dictionary element based on Data Class attribute
- 
Delete button added to Data Dictionary Key Definition for removing a key
- Data Dictionary physical update no longer locks a file if only the internal dictionary needs updating and no conversion is required
- Faster loading of the data elements grid
- 
Search Grid option added on the Elements panel to quickly find a field name in the data elements grid
Data Class Definition
Query Changes
- 
Query Drop Tree view added to Query+
- 
Row Display Options added to Query+ to assign visual attributes to rows based on specified conditions
- Ability to change 
Font in Query+
- Ability to 
Suppress Records in Query+ based on duplicate return values
- Updated functionality for how the default title name for a Query is derived
- Ability to 
Pass External Data to a Query
- 
%QRY_VARDATA$ can be loaded with the data for the variables in REC( ) format
- 
%QRY_VARIOL$ can be loaded with a compiled IOList containing names of the variables to hold external data
- 
_VAR. aliases added for variables passed to the *winlist logic for creating selection criteria tests
Query Security
*QUERY*
- 
SEQPFX=Y option added that will prefix the key with a 10-digit sequence number to guarantee unique keys and no data loss
- 
KNO=* option added that will use the key specified in the Query definition
Report Writer
- 
Line Advancement options added that allow two consecutive lines to print at the same vertical location when grouping report data
- Check mark support added to menu items to clearly indicate selected options
Web Services
PxPlus Web Server
- New 
%Exit_Include_HTML variable that, when set along with %exit_code, tells Web Server that the output sent to %PRINT_FN should be returned to the browser
Utilities and Commands
- 
*TOOLS/CONVERTHTMLCOLOR utility to convert HTML color names into Hex colors
- 
*TOOLS/PRINTHTML utility to convert HTML input into formatted text output on the given open channel
- 
*TOOLS/READFILE utility to read the entire binary contents of a file and return the data in the output string
- Added options to 
*TOOLS/CONVERTDATA utility to allow non-exclusive access to the data files if exclusive access is not available
- Ability to 
Add HTML Pages to projects using Project Maintenance
- Updated Zip Code Library Miniz to version 2.1.0 that allows creation of Zip files greater than 2GB and ZIP64 support for Zip files greater than 4GB
- Updated 
*plus/web/request utility to use HTTP version 1.1 protocol to make Web requests and receive responses
- Enhanced Data Mirroring Apply program to check for 
Apply.Stop file every 100 transactions to allow the Apply process to be stopped
- Added Query button to Key Value in 
File View and 
File Update utilities
- Support for Read-Only (locked) flag added to View Embedded Dictionary utility
Other Changes for Reference
Nomads Properties
Parameters
- 
'!E' system parameter added to cause the ESCAPE directive to generate an internal MSGBOX on Windows
- Option -3 added to 
'TC' system parameter to use the TipColor setting for non-HTML tips
- 
'SB' system parameter now set to On by default to check if the record is locked (EXTRACTED) on another channel
INI Contents Options
- 
BrowserDebug to control whether or not the browser developer console will display in a popup window
- 
TipColor to define the color for non-HTML tips
Version Control System
- Ability to delete a list of files
- SVN Version Control System allows 
Updating of busy data and resource files