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

Slides:



Advertisements
Similar presentations
You have been given a mission and a code. Use the code to complete the mission and you will save the world from obliteration…
Advertisements

Module 1: BLOCK 1 / MAIN MENU
1. XP 2 * The Web is a collection of files that reside on computers, called Web servers. * Web servers are connected to each other through the Internet.
Finding The Unknown Number In A Number Sentence! NCSCOS 3 rd grade 5.04 By: Stephanie Irizarry Click arrow to go to next question.
Advanced Piloting Cruise Plot.
Chapter 16 Graphical User Interfaces
1 Copyright © 2013 Elsevier Inc. All rights reserved. Appendix 01.
Office 2003 Post-Advanced Concepts and Techniques M i c r o s o f t Excel PivotTable List Feature Creating a PivotTable List Web Page Using Excel.
Microsoft Access 2007 Advanced Level. © Cheltenham Courseware Pty. Ltd. Slide No 2 Forms Customisation.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Title Subtitle.
Exit a Customer Chapter 8. Exit a Customer 8-2 Objectives Perform exit summary process consisting of the following steps: Review service records Close.
Local Customization Chapter 2. Local Customization 2-2 Objectives Customization Considerations Types of Data Elements Location for Locally Defined Data.
Determine Eligibility Chapter 4. Determine Eligibility 4-2 Objectives Search for Customer on database Enter application signed date and eligibility determination.
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
1 Processes and Threads Creation and Termination States Usage Implementations.
Mike Scott University of Texas at Austin
1 Click here to End Presentation Software: Installation and Updates Internet Download CD release NACIS Updates.
View-Based Application Development Lecture 1 1. Flows of Lecture 1 Before Lab Introduction to the Game to be developed in this workshop Comparison between.
Server Access The REST of the Story David Cleary
DOROTHY Design Of customeR dRiven shOes and multi-siTe factorY Product and Production Configuration Method (PPCM) ICE 2009 IMS Workshops Dorothy Parallel.
ABC Technology Project
Microsoft Access.
Vanderbilt Business Objects Users Group 1 Reporting Techniques & Formatting Beginning & Advanced.
In The Name Of Allah, The Most Beneficent, The Most Merciful
Green Eggs and Ham.
VOORBLAD.
David Walker Ottawa TMG Users Group 15 March 2014.
CONTROL VISION Set-up. Step 1 Step 2 Step 3 Step 5 Step 4.
© 2012 National Heart Foundation of Australia. Slide 2.
1. 2 Captaris Workflow Microsoft SharePoint User Group 16 May 2006.
Understanding Generalist Practice, 5e, Kirst-Ashman/Hull
Executional Architecture
SIMOCODE-DP Software.
1 How Do I Order From.decimal? Rev 05/04/09 This instructional training document may be updated at anytime. Please visit and check the.
Addition 1’s to 20.
25 seconds left…...
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
REGISTRATION OF STUDENTS Master Settings STUDENT INFORMATION PRABANDHAK DEFINE FEE STRUCTURE FEE COLLECTION Attendance Management REPORTS Architecture.
Week 1.
We will resume in: 25 Minutes.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
© Ericsson Interception Management Systems, 2000 CELLNET Drop Administering IMS Database Module Objectives To add a network elements to the database.
PSSA Preparation.
Automation with SA , CERN Markus Steiner, PM Software.
Chapter 8 Improving the User Interface
Chapter 16 Graphical User Interfaces John Keyser’s Modifications of Slides by Bjarne Stroustrup
DEV-2: Getting Started with OpenEdge® Architect – Part I
Improving your OpenEdge® Development Productivity David Lund Sr. Training Program Manager, Progress.
DEV-13: You've Got a Problem, Here’s How to Find It
A Deep Dive into OpenEdge GUI for.NET ™ Peter Judge OpenEdge Principal Software Engineer.
ARCH-6: UML Modeling with Enterprise Architect Phillip Magnay Technical Architect.
© 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical.
ARCH-03: Implementing the OpenEdge™ Reference Architecture – Part 1 John Sadd Progress Fellow and OpenEdge Evangelist.
A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager.
DEV-6: Introduction to the OpenEdge ® Advanced GUI Jim Lundy Principal Product Manager.
DEV-16: Leveraging the Power of Advanced GUI Power is nothing without control Erwin in ‘t VeldCCS Tony VertentenIntris Eric DebeijProgress Roland de PijperProgress.
DEV-8: OpenEdge® Architect – Extensibility & Third Party Integration Sunil Belgaonkar Principal Software Engineer Architect Phillip Magnay.
INNOV-14: A Look Inside the OpenEdge® UI Research Lab Bruce Gruenbaum Principal Software Engineer Shelley Chase
OpenEdge ® GUI for.NET ™ Modernize your user interface with ABL Shelley Chase OpenEdge Architect Progress Software Corporation Session 113.
Amazing UI Modernization Using Telerik UI for WinForms
DEV-29: A Deep Dive into the Advanced GUI OpenEdge ® 10.2A Shelley Chase OpenEdge Architect Peter Judge OpenEdge Principal Software Engineer.
First Experiences With OpenEdge GUI for.NET Peter van Dam.
DEV-21: Embracing OpenEdge ® Architect Sunil S Belgaonkar Software Architect.
DEV-25: You've Got a Problem, Here’s How to Find It
DEV-3: Introduction to the OpenEdge® GUI for .NET
ARCH-1: Application Architecture made Simple
DEV-15: A Deep Dive into OpenEdge GUI for .NET™
Presentation transcript:

A18: A Deep Dive into the OpenEdge GUI for .NET™ Peter Judge OpenEdge Principal Software Engineer

Get Ready… We’re 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…

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 Note that AutoEdge has ABL and ActiveX UIs. Say that this is the existing UI with OpenEdge GUI, Open Clients, WebSpeed®, Sonic™ Existing: Architecture / Code Replaced View only in existing MVP model presentation layer OERA business and data layers Mix and match for remaining windows

Under Development D I S C L A I M E R 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. D I S C L A I M E R

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

OpenEdge GUI for .NET Architecture Single Process for OpenEdge Runtime and .NET Common Language Runtime (CLR) OpenEdge Runtime .NET CLR ABL Logic .NET GUI frm = NEW Form( ). frm:Closing:Subscribe( EventHdlr1 ). WAIT-FOR Application.Run( frm ). EventHdlr1( ) … OpenEdge UI (Presenter) Bridge .NET UI (View) Bridge

OpenEdge GUI for .NET Architecture Single Process for OpenEdge Runtime and .NET Common Language Runtime (CLR) OpenEdge Runtime .NET CLR ABL Logic .NET GUI frm = NEW Form( ). frm:Closing:Subscribe( EventHdlr1 ). WAIT-FOR Application.Run( frm ). EventHdlr1( ) … 4 7 1 3 5 2 OpenEdge UI (Presenter) Bridge .NET UI (View) Bridge 6

Infragistics… UltraButton .NET Inheritance Stack UI components inheritance stack includes .NET root class: System.Object All .NET Classes ABL Forms .NET Controls … … … Progress.Lang.Object System.Object System… Form System… Control Progress.Windows.Forms mainly for future functionality, mix & match Progress. Windows.Form Infragistics… UltraButton .NET Classes = Green ABL Classes = Blue CustEntryForm (ABL)

.NET Windows I/O Blocking Model Application with a single main form WAIT-FOR Application:Run( 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 Application:Run( ). Forms shown at the same time or separately An event handler needs to terminate WAIT-FOR Application:Exit( ). Note that if there’s even one .NET form in the app, you need to use .NET blocking model

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

ABL .NET Controls - User Control CLASS AddrViewer INHERITS Progress…UserControl: Custom ABL control container for complex behavior Examples of user controls Label and editor Address block Grid and viewer Examples of user controls Label and editbox Address block Grid and viewer Sample inherited controls OK button Cancel button Read-only grid

ABL .NET Controls – Inherited control CLASS OkButton INHERITS Infragistics…UltraButton: Inherits from existing .NET UI control for extending behavior Examples on inherited controls Buttons: Ok, Cancel, Help Drop-downs: States, Post codes, Countries Examples of user controls Label and editbox Address block Grid and viewer Sample inherited controls OK button Cancel button Read-only grid

Demo: ABL Forms Create a login dialog

.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 Classes define events – strong type to control – strong typing between event and handler . All benefits of OO. CustForm:FormClosing:Subscribe( FormClosingHdlr ).

Demo: Event Handler Validate user on OK button click

Progress.Data. BindingSource .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™ OpenEdge Runtime .NET CLR ProDataSet Customer Lift Line Skiing Urpon Frisbee Hoops Croquet Order 1 53 01/01/93 2 81 01/04/93 3 66 01/04/93 Query Progress.Data. BindingSource 2 1 3

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

Data Binding Examples Simple .NET control ( UltraEdit ) .NET browse-like control ( UltraGrid ) .NET list control ( UltraListView ) editBox:DataBindings:Add ( “Text”, pBS, “OrderNum” ). grid:DataSource = pBS. LIST-ITEM-PAIRS attribute list:DataSource = pBS. list:DataTextField = “State”. list:DataValueField = “State-Name”.

Demo: Data binding Bind a list of client types to the login dialog

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

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 - Static members: overview of OOABL today – instance members - What does it mean to be static? - Static data (variables and properties) - Static methods (methods and properties) - What happens when a static member comes into being – static constructors - Static members in the hierarchy – inheritance, overriding and overloading - How to reference static members - How to use static members, use case example - Dynamic Programming (DYNAMIC-NEW, DYNAMIC-CAST - Data Widening rules

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 Application:Run ( ).

Demo AutoEdge main container form

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

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

? Questions

Thank You