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
Usability enhancements for Data Source Definition Wizard
Ability to add Calculated Fields to Views
Objects
New Google Workspace® objects
GoogleAuth object to authorize the Google Workspace® objects
GoogleDrive object to work with Google Workspace® Drive
GoogleDocs object to work with Google Workspace® Docs
GoogleSheets object to work with Google Workspace® Sheets
*OBJ/ARRAYLIST object to create and work with an array list
REST Interface Example Objects to PayPal® and Salesforce® that can be used to build a complete interface for your own application
IsReadOnly data element option added to Data Dictionary object PVXDb
Improved setting of font styles in *OBJ/EXCEL and *OBJ/WORD
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
Support for ADA (USA) or WCAG (Canada) Compliance
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 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
New Width and Height properties for Multi-Line Data Classes
New Display Format property and Query Button options for Drop Box Data Classes
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
Three different levels of Query Security added
Top level determines whether Query will display
Second level is at the Query File Link level
Third level is at the Column level (i.e. elements and formulas)
Security options added for Query+ and Classic Query in Query Definition, Query File Link, Column Options and Query Formula Definition
*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
OAuth2 Security added to PxPlus 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
Option 5 (for Drop Tree) added to %NOMADS'Query_View
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