Presentation is loading. Please wait.

Presentation is loading. Please wait.

WPF For PowerBuilder Developers

Similar presentations


Presentation on theme: "WPF For PowerBuilder Developers"— Presentation transcript:

1 WPF For PowerBuilder Developers

2 PowerBuilder Evolving with .NET

3 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 resolution-independent

4 WPF Sample Contact Manager

5 WPF Sample Text Editor Text Editor

6 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…

7 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!

8 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

9 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

10 Windows Presentation Foundation
Win32 and Windows Forms technology has been all but deprecated Eventually we’ll all need to develop Windows applications with WPF PowerBuilder will be your entrée to WPF Your investment, knowledge, and skills in PowerBuilder will be preserved

11 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

12 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" />

13 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

14 Object Models: Win32 / WinForm vs. WPF
Our goal is to provide you with a “PowerBuilder Experience” when developing WPF applications

15 PowerBuilder 12 WPF Application Architecture
Assemblies of the WPF runtime library WPF DataWindow engine New Managed database drivers

16 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

17 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

18 Grid vs. Canvas Grid: Canvas:
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

19 “InnerControl” Property
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”;

20 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

21 New Controls Courtesy of WPF
Layouts with Panels: Canvas Grid WrapPanel StackPanel DockPanel

22 New Controls Courtesy of WPF
Canvas:

23 New Controls Courtesy of WPF
Grid:

24 New Controls Courtesy of WPF
StackPanel:

25 New Controls Courtesy of WPF
WrapPanel Variations:

26 New Controls Courtesy of WPF
DockPanel:

27 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

28 New Controls Courtesy of WPF
Expander (collapsible GroupBox):

29 New Controls Courtesy of WPF
Expander (collapsible GroupBox):

30 New Controls Courtesy of WPF
MediaPlayer: Built on top of Windows Media Player Formats: WAV WMA MP3 Etc…

31 New Controls Courtesy of WPF
Document Viewer (XPS or Print Preview):

32 New Controls Courtesy of WPF
SpeechRecognizer:

33 Right-to-Left Support
FlowDirection Layout Property:

34 Theme Support

35 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

36 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…

37 State of the DataWindow
New Features …(cont’d)… Grid style 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

38 DataWindow Painter (of the future)
In prototype

39 State of the DataWindow
New Architecture: Separation of Core functionality DataWindow objects Presentation (rendering) functionality DataWindow controls Data access The new Data Source Interface

40 State of the DataWindow
Under the hood… The core functionality contains the object management Object definitions The objects contain their syntax Parsing Compiling Emitting (equivalent of dw.Describe(“datawindow.syntax”) Property definitions Getters Setters Type converters Expression handling

41 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

42 The New DataWindow Painter
Under the hood again… Adds a second control library Uses the same core functionality as the runtime The controls: Analogs to the runtime controls, similar but not the same Are actually simpler implementations Designed to fit into the Visual Studio ecosystem harmoniously

43 The New DataWindow Painter
Architecture: Uses the core functionality Loading and compiling the syntax For all of the object state management Gets the modified syntax when it is time to save the changes Uses the design time control library Expose properties for user modification Supports the design time UI – dragging/dropping/moving/resizing Uses the Isolated Shell to host the controls And run all the behind the scenes work


Download ppt "WPF For PowerBuilder Developers"

Similar presentations


Ads by Google