A18: A Deep Dive into the OpenEdge GUI for .NET - PowerPoint PPT Presentation

About This Presentation
Title:

A18: A Deep Dive into the OpenEdge GUI for .NET

Description:

This talk includes information about potential future products and/or product enhancements. ... Used for dashboard and MDI applications. Other forms are ' ... – PowerPoint PPT presentation

Number of Views:426
Avg rating:3.0/5.0
Slides: 29
Provided by: sch88
Category:
Tags: gui | net | openedge | a18 | deep | dive | style

less

Transcript and Presenter's Notes

Title: A18: A Deep Dive into the OpenEdge GUI for .NET


1
A18 A Deep Dive into the OpenEdge GUI for .NET
Peter Judge
OpenEdge Principal Software Engineer
2
Get Ready Were Going Under
  • Attended OpenEdge GUI for .NET Intro
  • Understand OO concepts
  • Classes, Inheritance, Methods
  • Comfortable with OpenEdge Architect
  • Can hold your breath for a really long time

3
Demo OpenEdge GUI for .NET in AutoEdge
  • Existing application following OERA
  • New OpenEdge GUI for .NET
  • Main container
  • Customer maintenance form
  • Test drive scheduling form

4
Under Development
  • This talk includes information about potential
    future products and/or product enhancements.
  • What I am going to say reflects our current
    thinking, but the information contained herein is
    preliminary and subject to change. Any future
    products we ultimately deliver may be materially
    different from what is described here.

5
Agenda
  • ABL for the OpenEdge GUI for .NET
  • GUI for .NET Architecture
  • ABL Forms Controls
  • ABL Data Binding
  • ABL Event Handlers
  • Mix and Match Support
  • Using the GUI for .NET in AutoEdge

6
OpenEdge GUI for .NET Architecture
Single Process for OpenEdge Runtime and .NET
Common Language Runtime (CLR)
.NET GUI
ABL Logic
.NET UI (View)
OpenEdge UI (Presenter)
7
OpenEdge GUI for .NET Architecture
Single Process for OpenEdge Runtime and .NET
Common Language Runtime (CLR)
.NET GUI
ABL Logic
.NET UI (View)
OpenEdge UI (Presenter)
8
.NET Inheritance Stack
  • UI components inheritance stack includes .NET
    root class System.Object

ABL Forms
.NET Controls
All .NET Classes


System Form
System Control
Progress. Windows.Form
Infragistics UltraButton
CustEntryForm (ABL)
.NET Classes Green ABL Classes Blue
9
.NET Windows I/O Blocking Model
  • Application with a single main form
  • WAIT-FOR ApplicationRun( form ).
  • Used for dashboard and MDI applications
  • Other forms are children of the main form
  • Closing the main form automatically terminates
    WAIT-FOR
  • Application with several equal forms
  • WAIT-FOR ApplicationRun( ).
  • Forms shown at the same time or separately
  • An event handler needs to terminate WAIT-FOR
  • ApplicationExit( ).

10
ABL Forms in the OpenEdge GUI for .NET
CLASS CustForm INHERITS Progress.Windows.Form
  • ABL Forms are containers for .NET UI Controls
  • .NET Controls
  • Microsoft .NET Windows Form controls
  • OpenEdge Ultra Controls for .Net (Infragistics
    NetAdvantage)
  • 3rd-party .NET controls
  • ABL .NET controls
  • User controls
  • Inherited controls

11
ABL .NET Controls - User Control
CLASS AddrViewer INHERITS ProgressUserControl
  • Custom ABL control container for complex behavior
  • Examples of user controls
  • Label and editor
  • Address block
  • Grid and viewer

12
ABL .NET Controls Inherited control
CLASS OkButton INHERITS InfragisticsUltraButton
  • Inherits from existing .NET UI control for
    extending behavior
  • Examples on inherited controls
  • Buttons Ok, Cancel, Help
  • Drop-downs States, Post codes, Countries

13
Demo ABL Forms
  • Create a login dialog

14
.NET Event Model
  • Controls define events they publish
  • Strongly-typed events
  • Support a list of handlers (callbacks)
  • Controls fire an event when an action occurs
  • All subscribed handlers get called
  • Event specific arguments passed in from .NET
  • System.EventArgs
  • Subscribe ABL event handlers to events

CustFormFormClosingSubscribe( FormClosingHdlr ).
15
Demo Event Handler
  • Validate user on OK button click

16
.NET Data Binding Model
  • Progress.Data.BindingSource
  • Provides data for .NET UI Controls
  • How Provides required APIs to .NET Controls
    (IList)
  • Why OpenEdge data provided as .NET needs
  • What Any ABL Query, Buffer or ProDataSet

Progress.Data. BindingSource
1
2
3
17
Power of Progress.Data.BindingSource
  • Brings ABL data-centric behavior to .NET
  • Automatic data synchronization
  • Automatic updating
  • Automatic batching
  • Automatic currency
  • Properties
  • Updating AllowEdit, AllowNew, AllowRemove
  • Current row state NewRow, RowModified
  • Typed screen value InputValue, ChildInputValue
  • General Information Position, Count

18
Data Binding Examples
  • Simple .NET control ( UltraEdit )
  • .NET browse-like control ( UltraGrid )
  • .NET list control ( UltraListView )

editBoxDataBindingsAdd ( Text, pBS,
OrderNum ).
gridDataSource pBS.
listDataSource pBS. listDataTextField
State. listDataValueField State-Name.
19
Demo Data binding
  • Bind a list of client types to the login dialog

20
ABL Mix and Match UI for Migration
  • .NET forms and OpenEdge GUI windows can co-exist
    in same session
  • One can parent the other
  • All functionality maintained independently
  • OpenEdge GUI windows can be embedded in a .NET
    forms
  • Client area managed in ABL
  • Other functionality managed in .NET
  • Progress.Windows.MDIChildForm
  • Progress.Windows.WindowContainer

21
Agenda
  • ABL for the OpenEdge GUI for .NET
  • GUI for .NET Architecture
  • ABL Forms Controls
  • ABL Data Binding
  • ABL Event Handlers
  • Mix and Match Support
  • Using the GUI for .NET in AutoEdge

22
Outlook-style Container for AutoEdge
  • OpenEdge GUI for .NET main form
  • Dashboard / Container
  • Dynamic menu and toolbar
  • Hook up events
  • Re-use existing architecture
  • OERA and MVP
  • Run using WAIT-FOR ApplicationRun ( ).

23
Demo
  • AutoEdge main container form

24
In Summary
  • Modern, competitive UI in ABL
  • Uses .NET objects
  • Object-oriented ABL
  • .NET object features (methods, properties,
    events)
  • WYSIWYG Visual Designer
  • Unlimited controls available
  • Leverages what you know
  • ABL (events, business logic, data constructs)
  • Event-driven programming (WAIT-FOR)
  • OpenEdge Architect

25
Relevant Exchange Sessions
  • DEV-2 Making OpenEdge Architect Work for You
  • DEV-6 Introduction to the OpenEdge GUI for .NET
  • DEV-16 Leveraging the Power of Advanced GUI
  • DEV-20 Sex and Sizzle Developing with .NET and
    OpenEdge 10
  • DEV-32 Using the Advanced GUI, Structured Error
    Handling and SonicMQ to build a Semi-Disconnected
    Point of Sales
  • DEV-40 Using SmartDataObjects with the Advanced
    GUI

26
?
Questions
27
Thank You
28
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com