PowerBuilder 12: Fresh from the Labs

Download Report

Transcript PowerBuilder 12: Fresh from the Labs

WPF For
PowerBuilder
Developers
PowerBuilder Evolving with .NET
PowerBuilder
Windows Presentation Foundation
 WPF is Microsoft's next generation presentation
technology
 Applications can have rich visual appearances
 3D graphics
 High definition playback
 etc…
 WPF uses vector-based graphics and is resolutionindependent
PowerBuilder
WPF Sample
PowerBuilder
Contact Manager
WPF Sample
PowerBuilder
Text Editor
WPF Feature Highlights
 Broad Integration
 3D graphics, video (HD), speech, rich document viewing
 ...with one technology
 Resolution Independence
 Vector-based graphics render/resize to any screen
resolution
 Hardware Acceleration
 Can take advantage of graphics card performance
 …cont’d…
PowerBuilder
WPF Feature Highlights
…cont’d…
 Declarative Programming
 XAML for markup
 Rich Composition
 Any control may “parent” another
 Eventual functionality like…
 …async video on each line of a DDLB!
PowerBuilder
Windows Presentation Foundation
 XAML is the declarative markup language with which
you may create complex WPF user interfaces
 XAML allows separation of UI (markup) from runtime
logic
 XAML knowledge will not be required, just optional
PowerBuilder
Windows Presentation Foundation
 The change is about the underlying presentation
technology
 Windows Forms applications use GDI+
 WPF application uses DirectX technology for rendering
 DirectX can be rendered using hardware resources
 Performance may be improved
PowerBuilder
Object Models:
Win32 / WinForm vs. WPF
 WPF has a different object model from Win32 and
WinForm
 We’re working to preserve the PowerBuilder model
while incorporating the WPF “style”
 Drastically reduces your learning curve for WPF
PowerBuilder
Object Models:
Win32 / WinForm vs. WPF
 For example, WPF controls have a “content” property
 PowerBuilder will abstract that to the “Text” property
 PowerBuilder will extend WPF controls
<my:WPFButton Height="23" Margin="251,0,268,84"
Name=“WPFButton1" VerticalAlignment="Bottom"
Text="123" />
PowerBuilder
Object Models:
Win32 / WinForm vs. WPF
 WPF has introduced many different new concepts:
 Dependency Properties, Attached Properties, Commands,
Routed Events
 A design goal of PowerBuilder 12 is to hide the details
of these new concepts and keep the usage similar to
existing PowerBuilder
PowerBuilder
Object Models:
Win32 / WinForm vs. WPF
 Our goal is to provide you with a
“PowerBuilder Experience” when
developing WPF applications
PowerBuilder
PowerBuilder 12
WPF Application Architecture
 Assemblies of the
WPF runtime library
 WPF DataWindow
engine
 New Managed
database drivers
PowerBuilder
PowerBuilder WPF Window:
Constraint on Controls
 Win32 and WinForm Windows could be the parent of
multiple controls
 In WPF, a Window may have only one control
 Workaround:
 Place a Panel, Grid or Canvas, in the Window
 We intend to put Canvas Panels in a migrated Window by
default
PowerBuilder
Default “Panel” in the
PowerBuilder WPF Window class
 By default, a Grid panel will be put inside a Window
for new WPF applications
 Again, Canvas will be used for migrated applications
 Approximating absolute positioning
PowerBuilder
Grid vs. Canvas
 Grid:
 Can take more advantage of WPF auto sizing
 SizeToContent property is available
 Can automatically size controls to length of text for
localization/regionalization
 Canvas:
 Supports positioning elements with explicit coordinates
 If we used Grid for migrated applications…position
information would not be accurate enough
PowerBuilder
“InnerControl” Property
 InnerControl
 Arguably, the most important newly-introduced WPF control
property
 Allows reference to WPF control directly in PowerScript
 Read Only (but properties like Content are writable)
 In theory, WPF controls may be infinitely nested within any
other WPF controls (one at a time)
Cb_1.InnerControl.Content = “Some Contents”;
PowerBuilder
Third Party Controls
 Third party visual controls may now be used in a
WYSIWYG fashion in design mode
 Conditional code blocks are no longer required for
interoperability
 When placed on the painter, the IDE will trigger a
process to create a proxy object for the control
 The proxy will be analogous to traditional
OLE/ActiveX interfaces to minimize your learning
curve
PowerBuilder
New Controls Courtesy of WPF
Layouts with Panels:
 Canvas
 Grid
 WrapPanel
 StackPanel
 DockPanel
PowerBuilder
New Controls Courtesy of WPF
Canvas:
PowerBuilder
New Controls Courtesy of WPF
Grid:
PowerBuilder
New Controls Courtesy of WPF
StackPanel:
PowerBuilder
New Controls Courtesy of WPF
WrapPanel Variations:
PowerBuilder
New Controls Courtesy of WPF
DockPanel:
PowerBuilder
New Controls Courtesy of WPF
For the following controls, we may…
 Create standard runtime controls
…or…
 Support them though 3rd party controls (proxy
objects)
…TBD
PowerBuilder
New Controls Courtesy of WPF
Expander (collapsible GroupBox):
PowerBuilder
New Controls Courtesy of WPF
Expander (collapsible GroupBox):
PowerBuilder
New Controls Courtesy of WPF
MediaPlayer:
 Built on top of Windows Media Player
 Formats:




WAV
WMA
MP3
Etc…
PowerBuilder
New Controls Courtesy of WPF
Document Viewer (XPS or Print Preview):
PowerBuilder
New Controls Courtesy of WPF
SpeechRecognizer:
PowerBuilder
Right-to-Left Support
FlowDirection Layout Property:
PowerBuilder
Theme Support
PowerBuilder
State of the DataWindow
New Features:
 From PowerBuilder 11.5




New background properties
Support for PNG format
Tooltips for all control and column types
Rich Text Edit style
 Support for 3rd party controls
 May be used with a data binding mechanism in the detail
band
 Must be consistent with the column’s data type
 Expressions are not supported
PowerBuilder
State of the DataWindow
New Features…
 XML DataWindow syntax
 SRD syntax is still supported
 Can run with limited security permissions
 New export formats
 Excel 2007
 XML paper specification (XPS)
 Nested (and Composite) DataWindows
 Display in normal, not print preview mode
…cont’d…
PowerBuilder
State of the DataWindow
New Features
 Grid style
…(cont’d)…
 Grid line color is a property
 Enablesort supports sorting the contents on a specific column
 Label
 Displays in normal mode, not print preview mode
 Managed DataSources in the new Data Source
Interface
 ADO .NET
 Web Services
 The classic data sources are still supported
The DataWindow will run as fully Managed Code
PowerBuilder
DataWindow Painter
(of the future)
In prototype
State of the DataWindow
New Architecture:
 Separation of
 Core functionality
 DataWindow objects
 Presentation (rendering) functionality
 DataWindow controls
 Data access
 The new Data Source Interface
PowerBuilder
WPF DataWindow Painter
 WYSIWYG design surface for adding, moving,
resizing, positioning of DataWindow elements
 WYSIWYG Preview
 Again, a familiar PowerBuilder experience
 Support for 3rd party controls
PowerBuilder