The following tables list selected tasks that you might need to complete when working with
the OpenEdge GUI for .NET and where you can find more information about them.
Visual Designer
The Visual Designer is the tool provided by OpenEdge Architect for building a GUI for .NET
application. It opens whenever you create or edit an ABL Form, ABL Dialog, ABL MDI
Form, ABL User Control, or ABL Inherited Control object in OpenEdge Architect. Each
of these objects is an ABL class that inherits and extends a .NET form or control class.
Depending on the object type, Visual Designer allows you to build the class by dragging and
dropping components, setting properties, and using wizards, which generates code for the
class, and you can switch to code view to add code manually using the OpenEdge Editor.
For an introduction to the Visual Designer see, Introducing the OpenEdge Architect Visual
Designer. For a series of video tutorials on working with the GUI for .NET in OpenEdge
Architect, see OpenEdge Architect Videos: Using Visual Designer and GUI for .NET in
OpenEdge Architect.
TaskSummaryInformation Source
Understanding the
code generated for an
inherited .NET form
Visual Designer
automatically generates code
when you create a new ABL
Form (ABL-derived .NET
Manuals:
GUI for .NET
Programming
•
form). The following
information describes some
of this generated code.
OpenEdge Architect Online
Help:
Code associated with
•
a Visual Designer
component
Creating
custom .NET
forms and controls
Generated by Clearspace on 2010-12-17-05:00
Video Tutorials:
1
OpenEdge GUI for .NET Task Map
Creating a Form and a
•
ProBinding Source
Adding a ProBindingSource to a
form
Using the assemblies.xml
file in development and
deployment
For .NET controls that
support data binding using a
System.Windows.Forms.BindingSource
class, you can bind supported ABL
data to these controls by adding
a Progress.Data.BindingSource
(ProBindingSource) instance to
any form that contains instances of
the controls. The Visual Designer
provides several ways to add a
ProBindingSource to a form.
Any ABL application
that implements a GUI
for .NET, or that only
references a .NET object
type, must have access
to an assemblies.xml file
that identifies the .NET
assemblies defining all .NET
objects referenced by
the session. OpenEdge
Architect automatically
creates an assemblies.xml
file, which you can update,
for any project that
references a .NET object.
Manuals:
Introducing the OpenEdge
Architect Visual Designer
Data binding
•
Video Tutorials:
Creating a Form and a
•
ProBinding Source
Building a
•
ProBindingSource from a
ProDataSet Definition
Manuals:
Managing ABL
Applications
.NET assemblies
•
Deploying
•
application source
code
GUI for .NET
Programming
Compile-time
•
access to .NET
objects
Identifying .NET
•
assemblies to ABL
OpenEdge Architect Online
Help:
Understanding inherited controls
and user controls
Generated by Clearspace on 2010-12-17-05:00
Visual Designer allows you to create
custom controls for use in designing
forms, including ABL-derived .NET
controls (ABL Inherited Control) and
ABL-derived .NET user controls
(ABL User Control). In short, an ABL
Inherited Control is an ABL class that
inherits and extends a .NET control
class; an ABL User Control is an
.NET assemblies and the
•
Visual Designer
Manuals:
GUI for .NET
Programming
Creating
•
custom .NET
forms and controls
2
OpenEdge GUI for .NET Task Map
ABL class that inherits and extends
the OpenEdge-extended .NET class,
Progress.Windows.UserControl.,
which is a container for other
controls. After creating it, you can
add each custom control to the
Toolbox, from which you can visually
add the control or user control to any
ABL-derived form that you create.
Sample ABL-
•
derived .NET user
control
Introducing the OpenEdge
Architect Visual Designer
Adding LeftBar.cls
•
to the project
(example ABL
User Control)
Adding
•
HelpButton.cls
to the Toolbox
(example ABL
Inherited Control)
OpenEdge Architect Online
Help:
Custom user-defined
•
controls
Creating a user control
•
Creating an inherited
•
control
Reloading the Design
•
Canvas while using
custom controls
Building localized forms
Visual Designer automatically
creates a resource (.resx) file to
store resources used by a .NET form
in a GUI for .NET application. To
localize the form, you must translate
the labels for the form stored in the
resource file using third-party tools.
Video Tutorials:
Creating a Databound
•
TreeView as an Inherited
Control, Part 1
Creating a Databound
•
TreeView as an Inherited
Control, Part 2
Building a Navigation
•
Panel as an ABL User
Control
Manuals:
GUI for .NET
Programming
Accessing
•
resource files
for .NET forms
ABL Reference
Generated by Clearspace on 2010-12-17-05:00
3
OpenEdge GUI for .NET Task Map
Progress.Util.ResourceHelper
•
class
OpenEdge Architect Online
Help:
OpenEdge Architect
•
project and resource data
files
Using form and control classes
across two or more projects
Setting up company standard
templates using form inheritance
To use form and control classes
across two or more projects, you
must make the class files available
to each project. To share control
classes across projects, you can set
a sharing option that allows you to
use a global Toolbox for all projects
accessed with the Visual Designer.
You can also copy the same
toolbox.xml file among different
projects or users to share a common
Toolbox definition among specific
projects of one or more installations
of OpenEdge Architect.
You can set up company standard
form templates by creating ABLderived forms (ABL Form objects in
Visual Designer) that include ABLderived user controls (ABL User
Control objects in Visual Designer).
OpenEdge Architect Online
Help:
Shared AVM preference
•
page
Customizing the Visual
•
Designer Toolbox
Sharing Toolbox settings
•
Manuals:
GUI for .NET
Programming
Creating
•
custom .NET
forms and controls
Generated by Clearspace on 2010-12-17-05:00
OpenEdge Architect Online
Help:
Template customization
•
Customization Editor
•
4
OpenEdge GUI for .NET Task Map
Run time/Deployment
Deployment involves setting localization options and installing files associated witht the .NET
objects you reference.
TaskSummaryInformation Source
Localizing an application using
startup parameters and the
machine culture setting
Deploying the assemblies.xml
file, OpenEdge-installed controls,
third-party controls, and your own
custom controls
You can localize a GUI
for .NET application using
a setting of the .NET
System.Globalization.CultureInfo
class, and you can match other
ABL data and display options to
this setting using the Internal Code
Page (-cpinternal), Date Format (d), European Numeric Format (-E),
and Use OS Locale (-useOsLocale)
startup parameters.
When you deploy a GUI for .NET
application, you need to locate the
assemblies.xml file where OpenEdge
can find it and ensure that the
assemblies it references are installed
appropriately.
Manuals:
GUI for .NET
Programming
Startup Command and
Parameter Reference
Manuals:
Managing ABL
Applications
WebClient Applications
Regional settings
•
—localization
Internal Code
•
Page (-cpinternal)
Date Format (-d)
•
European
•
Numeric Format (E)
Use OS Locale (-
•
useOsLocale)
Deploying
•
OpenEdge
GUI for .NET
applications
WebClient and
•
OpenEdge GUI
for .NET
Data Binding
OpenEdge provides the .NET Progress.Data.BindingSource (ProBindingSource) class
to bind ABL data to .NET user-interface controls that support data binding using the
System.Windows.Forms.BindingSource class. Typically, a .NET control supports
data binding using a BindingSource class if it has a property of type System.Object
(typically named DataSource) to assign the data source object instance, including a
Generated by Clearspace on 2010-12-17-05:00
5
OpenEdge GUI for .NET Task Map
ProBindingSource, or it has a property of type ControlBindingsCollection (typically named
DataBindings) that you can use to bind data elements from the ProBindingSource to
specified properties on the control. For an overview of data binding in the GUI for .NET, see
Binding ABL Data to .NET Controls in GUI for .NET Programming.
TaskSummaryInformation Source
Binding data to lists and
individual fields with a
ProBindingSource
You can bind the individual fields of
database or temp-table buffers to
field and list controls. Examples of
these controls include the Microsoft
Label, TextBox, and ComboBox
or the Infragistics UltraTextbox,
UltraCombo, and UltraListView.
Manuals:
GUI for .NET
Programming
Buffer binding
•
example
(TextBoxes)
Introducing the OpenEdge
Architect Visual Designer
Creating the
•
Purchase
Order Window
(examples of
various label
and editor Ultra
Controls)
Video Tutorials:
Adding Field-Level
•
Controls to a Form
Binding both single-level and
hierarchical data to a grid with a
ProBindingSource
You can bind database tables, temptables, queries, and ProDataSets
to grid controls. Examples of grid
controls include the Microsoft
DataGridView and the Infragistics
UltraGrid. You can use multiple
DataGridView controls to bind
hierarchical data from a ProDataSet,
or you can use a single UltraGrid
control, which supports multi-level
data binding.
Generated by Clearspace on 2010-12-17-05:00
Manuals:
GUI for .NET
Programming
Introducing the OpenEdge
Architect Visual Designer
Query binding
•
example
(UltraGrid)
ProDataSet
•
binding example
(UltraGrid)
Creating the
•
Customer
Window (UltraGrid
example)
6
OpenEdge GUI for .NET Task Map
Video Tutorials:
Adding a Microsoft
•
Grid Control to a Form
(DataGridView)
Building a
•
ProBindingSource from
a ProDataSet Definitio
(UltraGrid)
Binding data to a tree controlYou can bind data to tree controls,
such as the Microsoft TreeView
and Infragistics UltraTree control.
However, the Microsoft TreeView
does not support convenient data
binding using a ProBindingSource.
Instead, you can create your own
ABL data modeling classes and
use them as part of an ABL-derived
Microsoft TreeView control to bind
ABL data to the TreeView.
Binding multiple controls to a
single data source
You can bind multiple UI controls
to a single data source by binding
a specified data element to each
control using the DataMember or
DataBindings property of each
control, or by binding the entire
data source attached to the
ProBindingSource to each control
using its DataSource property (if the
control has one).
Manuals:
Introducing the OpenEdge
Architect Visual Designer
Creating the
•
Department
Window
(UltraTree
example)
Video Tutorials:
Creating a Databound
•
TreeView as an Inherited
Control, Part 1
Creating a Databound
•
TreeView as an Inherited
Control, Part 2
Manuals:
GUI for .NET
Programming
.NET data binding
•
Buffer binding
•
example
(TextBoxes)
Using the .NET
•
DataMember
property
Batching with a ProBindingSource Batching allows you to set up a
ProBindingSource to automatically
retrieve more data when it has
reached the end of its current result
set and is being asked to get the
next data element. You can set up
Generated by Clearspace on 2010-12-17-05:00
Manuals:
GUI for .NET
Programming
ProBindingSource
•
properties
(Batching)
7
OpenEdge GUI for .NET Task Map
Sorting data in a control with a
ProBindingSource
batching using the ProBindingSource
Batch property and OffEnd event.
Sorting data in controls can be
accomplished in different ways
depending on the native support for
sorting in the control. For example,
the Infragistics UltraGrid can manage
its own sorting operations while
the Micrsoft DataGrid relies on
its data source (in this case, its
ProBindingSource) to do the sorting.
ProBindingSource
•
events (OffEnd)
Using the OffEnd
•
event (batching)
Manuals:
GUI for .NET
Programming
ProBindingSource
•
properties
(AutoSort)
ProBindingSource
•
events
(SortRequest)
Sorting
•
Video Tutorials:
Sorting Data with .NET
•
Controls and a
ProBindingSource in
Visual Designer, Part 1
Sorting Data with .NET
•
Controls and a
ProBindingSource in
Visual Designer, Part 2
Sorting Data with .NET
•
Controls and a
ProBindingSource in
Visual Designer, Part 3
Sorting Data with .NET
•
Controls and a
ProBindingSource in
Visual Designer, Part 4
Doing CRUD operations with a
ProBindingSource
Handling events for a
ProBindingSource
The methods, properties, and events
of a ProBindingSource support the
full range of create, read, update,
and delete operations on the records
of a database.
The ProBindingSource extends the
System.Windows.Forms.BindingSource
class with several additional events.
These events simplify various
Generated by Clearspace on 2010-12-17-05:00
Manuals:
GUI for .NET
Programming
Manuals:
GUI for .NET
Programming
ProBindingSource
•
properties
ProBindingSource
•
methods
Example of an
•
updatable grid
8
OpenEdge GUI for .NET Task Map
operations on ABL data that you
bind to a .NET control. During data
processing, you work with these
events, control events, and any
events on the data source (such as a
ProDataSet) to manage the data for
a GUI for .NET.
ProBindingSource
•
events
Using the
•
UltraGrid’s
BeforeSortChange
and
AfterSortChange
events
Using the
•
SortRequest event
Handling user
•
interface events
Events
ABL supports events as members of a class, including .NET events, which you can process
using a form of the WAIT-FOR statement.
TaskSummaryInformation Source
Defining and inheriting events in
ABL
Subscribing event handlers and
publishing a .NET event
ABL support for class events allows
you to both inherit .NET events and
implement inherited .NET abstract
events.
You can subscribe ABL internal
procedures or class methods as
handlers for .NET events, depending
on their access mode. You can also
publish a .NET event if the .NET
class that provides the event
Manuals:
Object-oriented
Programming
GUI for .NET
Programming
ABL Reference
Manuals:
Object-oriented
Programming
Events of a class
•
Defining class
•
events
Defining events
•
within a class
Overriding .NET
•
abstract events
Implementing .NET
•
interfaces in ABL
Class events
•
DEFINE EVENT
•
statement
Generated by Clearspace on 2010-12-17-05:00
9
OpenEdge GUI for .NET Task Map
also provides a .NET method for
publishing the event, and you can
publish any ABL event that you
define to implement a .NET abstract
or interface event.
Publishing and
•
responding to
class events
Publishing and
•
subscribing to
class events
GUI for .NET
Programming
Handling .NET
•
events
Managing
•
events for ABLderived .NET
classes
Introducing the OpenEdge
Architect Visual Designer
Adding event
•
handlers in the
Visual Designer
ABL Reference
Publish( ) event
•
method
Subscribe( ) event
•
method
Unsubscribe( )
•
event method
Using the WAIT-FOR statement
to display a non-modal MDI, .NET
multi-form, or mixed .NET form
and ABL window application
You can define only a single WAITFOR statement to block for .NET
events. However, that one WAITFOR statement allows you to handle
events for any combination of nonmodal .NET forms and ABL windows
that you display in an application.
Video Tutorials:
Defining Event
•
Subscriptions and Event
Handlers in Visual
Designer, Part 1
Defining Event
•
Subscriptions and Event
Handlers in Visual
Designer, Part 2
Manuals:
GUI for .NET
Programming
Simple example
•
Initializing and
•
blocking on .NET
forms
Blocking on non-
•
modal forms
Blocking on modal
•
dialog boxes
Generated by Clearspace on 2010-12-17-05:00
10
OpenEdge GUI for .NET Task Map
Sample ABL-
•
derived .NET nonmodal form
Sample ABL-
•
derived .NET
modal dialog box
Sample ABL-
•
derived .NET MDI
form
Handling
•
mixed .NET form
and ABL window
input
ABL Reference
WAIT-FOR
•
statement (.NET
and ABL)
Miscellaneous ABL
Much of the support for the GUI for .NET is in how ABL supports access to .NET types.
TaskSummaryInformation Source
Mapping ABL and .NET data types ABL allows you to access most .NET
objects as classes in ABL,
including .NET array objects.
However, you can reference .NET
primitive data types only as
equivalent ABL primitive data types,
which ABL implicitly maps from one
to the other. In some cases, you
must explicitly indicate the .NET
primitive type that corresponds
to given ABL primitive type and
ABL supports mechanisms to
do that. ABL also supports an
implicit mapping between onedimensional .NET array objects and
ABL arrays (variables or properties
defined with an EXTENT) when you
assign between one and the other.
Manuals:
GUI for .NET
Programming
ABL Reference
Using .NET data
•
types in ABL
Referencing .NET
•
class and
interface types
Using
•
unqualified .NET
type names
Data types
•
Type-name syntax
•
USING statement
•
Generated by Clearspace on 2010-12-17-05:00
11
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.