Amazing UI Modernization Using Telerik UI for WinForms Shelley Chase Senior Software Architect, Progress Software Swathi Yellavaram QA Engineer, Principal 3, Progress Software November 2015 Agenda OpenEdge Product: GUI for .NET Progress Developer Studio Visual Designer Telerik Product: UI for WinForms Showcasing Telerik UI for WinForms Q&A 2 © 2015 Progress Software Corporation. All rights reserved. What is the OpenEdge GUI for .NET? Modern UI for OpenEdge applications using Microsoft WinForms • Desktop enterprise business applications • Microsoft and third-party control providers results in hundreds of UI components – Data-centric UI controls – ADO.NET maps well to OpenEdge ProDataSet™ • Visual Designer in Progress Developer Studio for OpenEdge • WAIT-FOR event model for .NET forms More than just GUI – supports .NET classes • Expands your ABL program with .NET libraries • .NET object-oriented programming directly in ABL 3 © 2015 Progress Software Corporation. All rights reserved. The Power of GUI for .NET Utilize existing skills – ABL and Progress Developer Studio for OpenEdge • Full access to .NET classes in ABL • ABL enhanced to support .NET programming model • Drag-and-drop WYSIWYG designer in PDS for OE Modernize at your own pace • Mix new windows with existing classic GUI windows – Create new navigation and menu system as MDI container – Migrate most important windows first, other windows over time o WinForms wrapper provided for classic GUI windows o WinForms container provided for embedded windows 4 © 2015 Progress Software Corporation. All rights reserved. ABL Extensions to .NET Classes Progress.Windows.Form Extends .NET Form class: System.Windows.Forms.Form Progress.Windows.OERadForm Extends Telerik .NET Form class: Telerik.WinControls.UI.RadForm 5 © 2015 Progress Software Corporation. All rights reserved. Additional ABL Extensions to support GUI for .NET Progress.Data.BindingSource • Extends .NET System.Windows.Forms.BindingSource class • Binds .NET control to ABL data source (query) ABL Subscribe method added for every .NET UI event Takes an ABL method or procedure name myForm:FormClosing:Subscribe(FormClosing_Handler). METHOD PRIVATE VOID FormClosing_Handler( sender AS System.Object, e AS System.Windows.Forms.FormClosingEventArgs): // your code here END METHOD. Enhanced WAIT-FOR for .NET Waits for .NET application, .NET form or .NET modal dialog 6 © 2015 Progress Software Corporation. All rights reserved. Visual Designer for GUI for .NET Progress Developer Studio for OpenEdge 7 © 2015 Progress Software Corporation. All rights reserved. GUI for .NET in Progress Developer Studio New project type and perspective • Creates an empty form class • Creates a run procedure • Includes .NET assembly references 8 © 2015 Progress Software Corporation. All rights reserved. Visual Designer in Progress Developer Studio (like Microsoft Visual Studio) 9 © 2015 Progress Software Corporation. All rights reserved. Visual Designer in Progress Developer Studio (like Microsoft Visual Studio) Design Canvas for Form 10 © 2015 Progress Software Corporation. All rights reserved. Visual Designer in Progress Developer Studio (like Microsoft Visual Studio) Toolbox 11 © 2015 Progress Software Corporation. All rights reserved. Visual Designer in Progress Developer Studio (like Microsoft Visual Studio) Properties/Events 12 © 2015 Progress Software Corporation. All rights reserved. Progress Developer Studio for OpenEdge Live Demo Visual Designer for GUI for .NET 13 © 2015 Progress Software Corporation. All rights reserved. Telerik UI for WinForms 14 © 2015 Progress Software Corporation. All rights reserved. Telerik UI for WinForms - Enterprise Development for Windows Desktops Enterprise Business Applications Vibrant Dashboards Touch Enabled Applications 15 © 2015 Progress Software Corporation. All rights reserved. Features of Telerik UI for WinForms 16 © 2015 Progress Software Corporation. All rights reserved. UI for WinForms in Progress Developer Studio Telerik controls in toolbox for drag-and-drop UI design • Code generated automatically for you • Assemblies.xml automatically updated ProBindingSource component provides data binding from Telerik controls to OpenEdge data • ABL Query mapped to UI component C# code samples translate to ABL “relatively easy” 18 © 2015 Progress Software Corporation. All rights reserved. Telerik Presentation Framework (TPF) WPF-like features within .NET WinForms applications • Stunning UI supports Scaling, Rotation, Animations, Transparency • Flash-like Animations • Superior Performance • Rich Text Formatting through HTML • Unlimited Nesting of UI Elements • Granular Customization of All Elements • Custom Controls • Theme Support 19 © 2015 Progress Software Corporation. All rights reserved. Movie Rental Sample Live Demo UI for WinForm controls in Progress Developer Studio 21 © 2015 Progress Software Corporation. All rights reserved. UI Modernization in AutoEdge 22 © 2015 Progress Software Corporation. All rights reserved. Sample Transformation – AutoEdge GUI Classic Schedule Test Drives • File menu • Employee TreeView • Single select • Date picker using arrows • Appointment List • Test Drive menu item to schedule appointments 23 © 2015 Progress Software Corporation. All rights reserved. Sample Transformation – AutoEdge GUI for .NET Schedule Test Drives • RadRibbonBar • RadTreeView • Select dealer • Employees for dealer • RadScheduler • Select date • View many employees • Direct edits on calendar • Add appointment • Edit existing one 24 © 2015 Progress Software Corporation. All rights reserved. Sample Transformation – Side-by-side 25 © 2015 Progress Software Corporation. All rights reserved. Infragistics and Telerik Control Sets Both Control sets are fully integrated and supported • Trial version of Telerik Controls in 11.6 Telerik is part of Progress and wants to focus on OpenEdge use cases Telerik offers: • 1,400,000+ registered users • Active forums, blogs, videos, webinars, code libraries • Extensive product documentation & targeted demos • Industry Leading Support 26 © 2015 Progress Software Corporation. All rights reserved. In Summary Modern, competitive desktop UI built entirely with OpenEdge • WYSIWYG Visual designer • “Unlimited” set of .NET controls available • Data-binding using ProBindingSource • ABL event handlers and dynamic UI programming Using existing business logic and leverages what you know • Any architecture supported (client-server, “fat” client, n-tier) • ABL events, business logic, data constructs, queries • Built-in migration path with existing GUI windows • Event-driven programming you know (WAIT-FOR) Telerik UI for WinForms takes GUI for .NET to the next level! 27 © 2015 Progress Software Corporation. All rights reserved. Questions & Answers 28 © 2015 Progress Software Corporation. All rights reserved. ABL Mix and Match UI for Migration Migrate at your own pace • .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 .NET forms – Client area managed in ABL – Other functionality managed in .NET – Progress.Windows.MDIChildForm – Progress.Windows.WindowContainer 30 © 2015 Progress Software Corporation. All rights reserved. New GUI for .NET Application 31 MDI Container Ribbon Outlook NavPane © 2015 Progress Software Corporation. All rights reserved. Harvest Existing Windows Window contents and triggers 32 Add 2 lines of code Menu not re-used © 2015 Progress Software Corporation. All rights reserved. Embed in New Form 33 © 2015 Progress Software Corporation. All rights reserved. Visual Designer in Progress Developer Studio Toolbox Properties view Form 34 © 2015 Progress Software Corporation. All rights reserved. Visual Designer .NET WinForm Toolbox Properties & Events Selected Property or Event .NET Controls 35 © 2015 Progress Software Corporation. All rights reserved.