The 10.2A Release of OpenEdge Architect (renamed as Progress Developer Studio for OpenEdge in Release 11.0) included new and revised features in the following areas:
The Eclipse platform for OpenEdge Architect 10.2A is Eclipse Release 3.4. The previous release of OpenEdge Architect (10.1C) ran on Eclipse 3.2.2. Changes implemented in Eclipse 3.3 and Eclipse 3.4 are documented on the Eclipse Web site.
Note: The Eclipse Software Update feature is completely new in release 3.4. A description of the 3.4 software update functionality is available from the Eclipse Web site. The new software update is available when you choose Help>Software Updates. Release 10.2A of OpenEdge Architect also supports the software update feature that existed in previous releases. It is available when you choose Help>Classic Software Updates.
Visual Designer
The Visual Designer, new in OpenEdge 10.2A, is a WYSIWIG editor for building user interfaces for OpenEdge applications. These interfaces are written in ABL but are based on .NET objects, with the result that the GUI is richer, more robust, and more contemporary in look and feel compared to a traditional OpenEdge GUI. The style of user interface built in ABL with .NET forms and controls is referred to as OpenEdge GUI for .NET.
Support for .NET objects in OpenEdge GUI clients is built into ABL. ABL developers can use .NET objects without resorting to another language such as C# or VB.NET. Because the OpenEdge GUI client hosts the Microsoft .NET runtime (CLR) within the AVM, .NET controls appear to the developer as if they were native ABL constructs. This powerful configuration not only allows .NET forms and controls in an OpenEdge application, but it also dispatches events from the .NET UI to event handling code written in ABL. Additionally, OpenEdge data objects can easily be used as a data source for a .NET control.
The Visual Designer is implemented as a plug-in to the Eclipse-based OpenEdge Architect. This provides an integrated development environment with quick access to other OpenEdge Architect tools such as Progress DB Navigator, the ABL Editor, and Tools for Business Logic.
ABL Editor
Launch configuration support
OpenEdge Architect now uses the launch framework in Eclipse to run or debug ABL programs.
Launching is defined as running or debugging a program from within Eclipse. A launch configuration is a set of options that affect how Eclipse runs a program. Launch configurations are useful because they allow you to create a number of different running and debugging environments to test your code.
You can use the Run Configurations and Debug Configurations dialogs to create custom launch configurations. Alternatively, you can use a default launch configuration derived from the workbench preferences and your program's OpenEdge project settings.
Note: The Run as GUI application, Run as TTY application, Run Configuration, and Run Web options are no longer available on the main toolbar. Furthermore, the Run Configuration dialog, used in previous versions of OpenEdge Architect to create and start launch configurations, no longer exists. However, launch configurations created in previous versions of OpenEdge Architect migrate automatically to Eclipse launch configurations.
Array support
Array support in the ABL Editor now includes:
An update to the New Class wizard so that return statements for generated methods or functions can return properly sized arrays.
An update to the New Class wizard so that return statements for generated methods or functions can return properly sized arrays.
The extension of Update Function Prototypes (a selection on the ABL Editor's Source menu) to update the extent information for a function based on the signature of the actual function implementation.
An update to the Outline view that indicates when a method or a function has an extent, and (optionally) the size of the extent.
Support in context assistance help to display array information as part of the return type of a function, a method, or a property.
An update to the Override/Implement Method dialog to display extent information in the labels for methods that return arrays.
Color coding in the Compare Editor
When you compare ABL files in the Eclipse Compare Editor, the files are color coded as they are color coded in the ABL Editor. Previously, ABL files appeared as plain text in the Eclipse Compare Editor.
To compare files in OpenEdge Architect, select two files in the Resources view. From the context menu, select Compare With>Each Other. (Note that you can compare three files when one file is the common ancestor of the other two. See the Eclipse Workbench User Guide for more information.)
Insertion point options when adding code
You now have the option to specify an insertion point when you add code prototypes with any of the following dialogs:
Add Procedure
Add Function
Add Method
Add Property
The Insertion position field on these dialogs gives you the following options:
Alphabetical order - Insert a code prototype based on its name. Case is ignored.
Note: This feature does not sort the procedures, functions, methods, or properties that already exist in the file. If they are already ordered alphabetically by name, insertion of new code is done at the correct position in the list. Otherwise, insertion is the first valid alphabetic position found during a top to bottom lookup.
Cursor position - Insert code prototype at the current position of the cursor in the file.
First/Last - Insert the code prototype as the first or last item.
After name - Insert the code prototype after the named procedure.
Enhancements to code-completion assistance
Code-completion assistance gives you suggestions for completing the code that you are typing in the ABL Editor. To get code-completion assistance, press CTRL+SPACE.
Code-completion assistance is improved to filter suggestions based on context. Code-completion assistance for keywords is improved to show relevant keywords only. The older scheme of code-completion is retained and you can access it by pressing CTRL+SPACE again (Repeatedly pressing CTRL+SPACE toggles between context filtered suggestions and all suggestions).
Code completion assistance is also enhanced to provide suggestions for completing:
Object variable and property names that are reserved keywords
Object references for the CREATE statement
Procedures names and paths for the RUN statement (based on PROPATH)
Widget variables and handles
Parameters of procedures and methods
Fields for temp-tables, buffers, and datasets
Preprocessor names
Subscripted array references
Tabular formatting of code
The tabular formatting feature allows you to format code in columns. For example, the following shows code before tabular formatting:
DEFINE VARIABLE aChar1 AS CHARACTER NO-UNDO.
DEFINE VARIABLE aCha22 AS CHARACTER NO-UNDO.
DEFINE VARIABLE aChar333 AS CHARACTER NO-UNDO.
After tabular formatting, the code is much easier to scan as shown in the following:
DEFINE VARIABLE aChar1 AS CHARACTER NO-UNDO.
DEFINE VARIABLE aChar222 AS CHARACTER NO-UNDO.
DEFINE VARIABLE aChar333 AS CHARACTER NO-UNDO.
Only the following statements support tabular formatting:
DEFINE VARIABLE
DEFINE TEMP-TABLE
DEFINE BUFFER
ASSIGN
Select Source>Correct Indentation from the main menu bar to format the currently active ABL file. If no code is selected, tabular formatting applies to every supported statement in the file.
Tabular formatting is enabled by default. To disable tabular formatting, select Window>Preferences>OpenEdge Architect>Editor from the main menu bar. Clear the Enable tabular formatting check box.
Support for adding properties and methods to interface files
You can now use the Add Methods (ALT+SHIFT+M) and Add Properties (ALT+SHIFT+Y) dialogs on interface files. However some of the options in these dialogs are disabled because they do not apply to interface files.
The following are disabled in the Add Properties dialog:
All modifiers except Public
Initial value field
Insert implementation check boxes
The following are disabled in the Add Methods dialog:
All modifiers except Public
All code generation options
Quick Outline
The Quick Outline is a pop-up window that shows a tree view of the ABL code file that currently has focus. You can click on a node in the tree view to navigate to a particular section of the file.
It is essentially the same as the Outline view but it is more convenient. Select Navigate>Quick Outline or press CTRL+O to start Quick Outline. (In class files, pressing CTRL+O repeatedly toggles between members from the current class and inherited members.)
Viewer for pre-processed code
The new Preprocessor view shows code that is obtained after all the preprocessors (include files, preprocessor definitions and logic) are expanded. It is a read-only view. Syntax coloring and highlighting are applied to the code in the Preprocessor view so it appears the same as the code in the ABL Editor.
The Preprocessor view does not appear in the default OpenEdge Editor perspective. You can access it by selecting Window>Show View>Preprocessor View on the main menu bar. It can also be started from the ABL Editor's context menu by selecting Show In>Preprocessor View.
Class Browser
With this release, the Class Browser extends its support to .NET classes, allowing you to see details about all your .NET resources, namespaces, and types. The details you see come from the assemblies that are associated with the workspace and are also available for any external resources you add to the Class Browser.
The Class Browser displays type information for .NET classes using summary text and ABL syntax.
The Class Browser also lets you see extent information for methods, properties, and variables that are arrays. This information appears in the Content pane and the Summary pane.
The Class Browser toolbar now includes Back and Forward buttons that let you navigate through previously selected items.
Debugger
The OpenEdge Architect Debugger includes the following enhancements in this release:
You can set two preferences for your Debugger environment:
A connection time-out value, which establishes the time-out in milliseconds for the Debugger to wait when connecting to an OpenEdge client
A property evaluation option, which enables the evaluation of properties with accessors
In addition to setting up property evaluation by choosing the option on the Debug preferences page, you can alternatively set up the evaluation of properties with accessors by doing either of the following:
Using the Evaluate Property menu option in the Variables and Expressions views
Adding the property to the Expressions view. The property is then evaluated automatically
You can define launch configurations for debugging.
You can use a class file (.cls), as well as a .p or .w file, as a starting program for the Debugger.
In the Variables view, you can:
Opt to show properties
View the actual type of an object reference
Expand object references
In the Expressions view, you can expand object references, temp-tables, handles, arrays, and datasets.
In an Editor window, you can hover over a variable to see the variable's value as you debug.
Progress XML Tools
The 10.2A release of OpenEdge Architect includes the following Progress XML tools:
XML editor - An editor for creating and modifying Extensible Markup Language (XML) files
XML Schema editor - An editor for generating XML schema from an XML document
XPath Helper - A tool for generating and testing XPath expressions
WSDL editor - An editor for creating and modifying Web Services Description Language (WSDL) files
You can start the editors by choosing File>New>Other>Progress XML Editors from the main menu bar. You can launch the XPath Helper from several different locations. For example, you can launch it from the source page of the XML editor. You can also launch it from other editors, at locations where you specify XPath expressions.