-- Clarion 11.13401 March 19, 2019 ----- Fixes/Changes/Features--

FEATURE: Added Expands and Contract buttons to the PropertyGrid (next to the locator)
FEATURE: Added symbols to test for code generation in source or pwee 
%GenerateSourceView and %GenerateEmbeditorView each returns 1 if the generation happens
in the source file or in the pwee and blank otherwise
  usage:
   #IF(%GenerateEmbeditorView) 
     #!the generation happened in the embed editor 
   #ENDIF

FEATURE: Templates Pad: Added Expand and Contract buttons

CHANGE: ListBoxFormater: allow to resize the top and bottom panels
CHANGE: Project Defines Editor now supports the escape key to cancel the dialog
CHANGE: Project Defines Editor keeps the row selection after editing 
CHANGE: Project Defines Editor now selects the value text control when editing
CHANGE: When doing a search in templates for the declaration or use of a symbol, if only one 
        instance is found it will not open the SearchPad, but instead go straight to the found item.

FIX: Building with older versions of the compilers would recompile everything indicating that a pragma had changed
FIX: ClaSocket Code template was not calling the InitializeServerInfo routine
FIX: Control Templates Pad was sometimes not refreshing the contents
FIX: IDE: Control Template Pad did not use the Settings->Fonts for Lists
FIX: Unexpected template data could create an invalid internal message showing an exception
-- Clarion 11.13371 Feb 6, 2019 ----- Fixes/Changes/Features--

FEATURE:  You can now trap calls to the transaction handling functions LOGOUT, COMMIT, and ROLLBACK without having to attach a file callback to every file.  
To do this you use SYSTEM{PROP:TransactionHook}.  You set this property to the address of a function that has the prototype: 

  FUNCTION(SIGNED opCode, LONG state, *FILE file, *LONG stop, *CSTRING FileErrCode, *CSTRING FielErrMsg),LONG

This function will be called at least 3 times for each operation.  Once at the start of the operation 
(in this case state = TRANSTATE:STARTING), once for each file in the transaction (in this case state = TRANSTATE:HAVEFILE), and once at the end of the operation (in this case state = TRANSTATE:ENDING)

opCode can be set to DriverOp:LOGOUT, DriverOp:COMMIT, or DriverOp:ROLLBACK

the file parameter will be assigned to one of the files in the transaction if state = TRANSTATE:HAVEFILE.
Setting stop to TRUE will cause the RTL to stop execution of normal transaction handling code after this function exits
Setting FileErrorCode and FileError will set FILEERRORCODE() and FILEERROR() respectively
The return value is the ERROR() that the operation should set.  This function must return 0 if no error is to be reported.

FEATURE: You can now place the LibAlwaysCopyList.xml, LibIgnoreList.xml, and LibCopyList.xml in the directory where a project is.  
If these files exist, the IDE will use these instead of the default ones located in the user data folder.


FEATURE: Adding a .dct.BinaryImport file into a directory will turn on automatic import/export for dct files.  Similarly the existence 
of a .app.BinaryImport file will turn on import/export of app files.  This file can be empty or contain multiple lines with each line 
being a file pattern to match files.  If the file is empty, then all dct/app files will be imported/exported.  Otherwise only files that 
match at least one of the file patterns will be imported/exported.

FEATURE: ABC/Clarion: Frame Extension option to set Window as the TopMost Window
FEATURE: Added some printing OPTIONs to the DCT Editor
FEATURE: Appgen LIST/TREE (Procedure Tree, Embeds Tree, etc.) controls now use the IDE Settings colors for the selected Theme
FEATURE: Application Editor support printing a list of Procedures
FEATURE: Control Template Pad now has a Locator to search the templates
FEATURE: Designers: When selecting different control the property grid will keep the selected property selected if it exists in the newly selected control
FEATURE: Dialog to attach Clarion Debugger to a Process now has the option to filter programs with a window, so any OS process will be filtered out by default

FEATURE: H5: New method GetInstanceId to get the string that represents the instance and is used for the instance directory
FEATURE: H5: new Broker method to extra processing for the http header in a global embed TakeHttpHeader
FEATURE: H5: validate the controls to be generated in the in the Navbar to be a child of the window, and not another container
FEATURE: IDE can print procedure tree of the app.
FEATURE: JSON Class: new methods to show the schema from a disk file directly passing the file name
FEATURE: JSON: AddString supports the SystemStringClass 
NOTE: When using a column of SystemStirng the quotes must be added, or it will be interpreted as a serialized object (like a literal) this 
can be used to add serialized JSON strings to the JSON object

FEATURE: List and Trees colors in the IDE can be customized with the Color Schema from Tools Appearance.
FEATURE: New option to Show and Pin the error pad if errors are added and the pad was hidden. (Tools-Options-Project and solutions)
FEATURE: Tab Order Assistant: added Expand All and Contract All buttons
FEATURE: TopScan: Export has a new option to remove the prefix from the columns heading
FEATURE: TopScan: Format Column now has a Picture Dialog to easily change the column picture
FEATURE: Grid control: new method SyncChildren, it can be derived to customize the controls in the Grid Group for each Row of the Browse
FEATURE: ABC/Clarion chain: Additional Sort Assisted Order now includes the option to "Force NoCase (Case Insensitive)" for the sort order, supported in Browse, Vcr form, Report process


CHANGE: Apptree popup menu text change from "Module" to  "Module Source File"
CHANGE: Apptree popup menu text change from "Source" to  "Embeditor Source"
CHANGE: Grid Control no longer requires a "Page Loaded" Browse
CHANGE: #PROMPT PROP:Drop default value is now 10 (prior default was 5)
CHANGE: ABC/Clarion chain: Additional Sort Assisted Order now includes the option to "Force NoCase (Case Insensitive)" for the sort order, supported in Browse, Vcr form, Report process

CHANGE: Added Application Procedures and Called Procedures to the Expression editor
CHANGE: Appgen Zoom now shows the IDE icon and is wider and taller
CHANGE: Control Template Pad improved speed
CHANGE: Default Manifest added by the MANIFEST keyword in the EXP file now default to "asInvoker" instead of "highestAvailable"
CHANGE: Driver Trace: changed the text "Write to Debug Log" to "Output to DebugView", disabled the log file when output is set to DebugView
CHANGE: On Template dialogs now the Accept button is the default button on the dialog window and responds to the Enter Key
CHANGE: Open File using Redirection file dialog, now if the name is a wildcard i will open the FileDialog with that name as the default name filtering the result
CHANGE: PTSS 42763: Global Data Types that are TYPEd are not exported any more from the data DLLs
CHANGE: SQLExecutor changed to use the SystemString class
CHANGE: SV NGINX Manager: Now only NGINX configuration is allowed and needed, if the configuration record is not found it is added. Simplified the UI.
CHANGE: Source procedure, Open/Close tables routines now only add to the Related tables the ones that have any constraints for delete or update, the OtherTables now use Access (if not opened before)

CHANGE: SystemString class: added new method to determine when the internal string was externalized
CHANGE: The Search and Replace dialog now uses the Text Editor proportional font in the Search and Replace Fields, 
but retains the same size font as the whole dialog.

CHANGE: TopScan: default Record Number column Header Text is RecNo instead of Rec No  (t