Download presentation
Presentation is loading. Please wait.
Published byCadence Barritt Modified over 9 years ago
1
PowerBUilder Futures Bruce Armstrong TeamSybase
2
Features Since PowerBuilder 11.0
Incremental rebuild for .NET Targets PowerBuilder 11.2 Certificate Store Support for Smart Client-published Applications Usability and UI Enhancements Database Connectivity Enhancements Enabling the DEBUG Condition for ORCA and OrcaScript Application Pools for Web Forms in IIS7 Telerik RadControls Support EAServer Support for .NET-deployed PowerBuilder Clients AJAX Functionality for WebForm-Deployed Applications
3
PowerBuilder Videos For more PowerBuilder 11.x detail…
4
PowerBuilder 11.5 Overview
5
Products Packaged with PowerBuilder 11.5 !
Premiums Packaged with PowerBuilder 11.5!
6
Packaged with PowerBuilder 11.5 !
PocketBuilder 2.5 PowerBuilder Application Server Plug-in 1.1 PowerBuilder Skills for Heterogeneous Environments Mobile J2EE .NET Client/Server
7
PowerBuilder 11.5 PowerBuilder 11.5 Features
8
PowerBuilder 11.5 .NET Code Access Security
9
.NET Code Access Security (CAS)
Allows you to test your application under various security sandbox settings within the IDE Security restrictions after deployment WebForm – based on web.config on web server WebService - based on web.config on web server WinForm – based on user machine policy and location SmartClient – based on manifest file packaged with app Assembly – based on referencing application
10
.NET Code Access Security (CAS)
WinForm / SmartClient Generate (No Manifest/External/Embedded) Execution Rights Administrator Highest Available As Invoker Security Levels Full trust Local intranet trust Internet trust Custom
11
.NET Code Access Security (CAS)
WebForm / Web Service Security Levels Full trust Custom Assembly No Security Tab
12
PowerBuilder 11.5 PNG Graphics Support
13
PNG Support PowerBuilder 11.5 supports the Portable Networks Graphics (PNG) file format for images in… Menus Toolbars Treeview controls DataWindow objects PNG images have an “alpha” channel for transparency Transparent portions of a PNG image display the background color gradient of the control to which they are assigned
14
PowerBuilder 11.5 FDCC Compliance
15
FDCC Compliance The Federal Desktop Core Configuration (FDCC) is a security standard Mandated by the US Office of Management and Budget (OMB)
16
FDCC Compliance To meet the FDCC security requirements, PowerBuilder 11.5 can be installed only by a system administrator However… PowerBuilder Applications that you develop with PowerBuilder …are designed to be run in a standard user context without elevated system administration privileges
17
FDCC Compliance Most PowerBuilder files install by default to Program Files\Sybase subdirectories Write access to these subdirectories is restricted to administrative users FDCC requires all writable files must be copied or installed to directories where standard users have write access
18
FDCC Compliance Writable files that are shared by all users are installed in… C:\Documents and Settings\All Users\Documents\Sybase\PowerBuilder 11.5 These include… The EASDemo databases All Code Examples directories and files All PowerBuilder Help files The Translation Toolkit directories and files
19
FDCC Compliance Other writable files are installed in the default Program Files\Sybase subdirectories but: Are copied to different locations the first time a user starts PowerBuilder There will be as many copies of these files as there are standard users who use PowerBuilder
20
FDCC Compliance • PBxxx.INI files • License files
C:\Documents and Settings\UserName subdirectory Files copied or written Local Settings\Application Data\Sybase\PowerBuilder 11.5 • PBxxx.INI files • License files My Documents\Sybase\PowerBuilder 11.5\Tutorial • PowerBuilder Getting Started tutorial
21
Transaction Object Enhancement
PowerBuilder 11.5 Transaction Object Enhancement
22
Transaction Object Enhancement
PowerBuilder 11.5 adds two new events for the Transaction object… DBError SQLPreview
23
Transaction Object Enhancement
With Embedded SQL… Whenever an error occurs in the Transaction object, the DBError event is called The error code and error message are passed to the event The SQLPreview event on the Transaction object is triggered before SQL statements are passed to the DBMS
24
Transaction Object Enhancement
DBError in concert with a DataStore or a DataWindow… DataWindow/DataStore DBError event is triggered before the DBError event of the Transaction object To coordinate these two events… Two additional return values have been added for the DataWindow DBError event The meaning of the existing return values is expanded to indicate whether the Transaction Object's DBError event should be fired
25
Transaction Object Enhancement
…cont’d…In concert with a DataStore or a DataWindow… If the return value of the DataWindow or DataStore’s SQLPreview event is 0: Continue processing The Transaction object's SQLPreview event is triggered
26
Remote Deployment of .NET Web Targets
PowerBuilder 11.5 Remote Deployment of .NET Web Targets
27
Remote Deployment of .NET Web Targets
PowerBuilder NET targets do not require you to have IIS installed on the development computer When you deploy directly to a remote computer… System information about the deployment computer, including its OS and IIS versions, is passed to PowerBuilder… …through the Windows Management Instrumentation (WMI) interface
28
Remote Deployment of .NET Web Targets
If you deploy to an MSI setup file… Run the setup file on a deployment computer PowerBuilder can use the Windows API to obtain information about the OS and IIS versions on that computer
29
Remote Deployment of .NET Web Targets
When you attempt to deploy Web Target projects on Vista or Windows 2008 under a standard user account…
30
Remote Deployment of .NET Web Targets
The User Account Control (UAC) dialog box displays This dialog box allows you to elevate your privileges for the purpose of deployment
31
Remote Deployment of .NET Web Targets
Deploying .NET targets to a remote Windows Vista or Windows 2008 computer might require changes to… UAC Windows firewall Distributed Component Object Model (DCOM) settings
32
PowerBuilder 11.5 Support for MS SQL Server 2008
33
SQL Server 2008 Driver: Transaction Object Syntax
New Database Connection Parameter – “Provider” Use the “SQLNCLI10” Provider value Required to take advantage of new features Default Provider value is SQLNCLI Only supports SQL Server 2005 features Example: SQLCA.DBParm = “Provider='SQLNCLI10‘”
34
SQL Server 2008 Driver : Mirroring Support
High availability feature Manual or Automatic failover supported For Automatic failover, a third server is required Acts as a “Witness“
35
SQL Server 2008 Driver : Mirroring Support
When failover occurs, the existing client connection is lost Client has to reconnect and reattempt the operation After re-connection: DBNotification Event will be triggered in transaction object Notification argument value… DBFailover! = 2
36
SQL Server 2008 Driver : Mirroring Support
New DB Parameter – “FailoverPartner” e.g.: SQLCA.DBParm = "FailoverPartner=‘SETIFund'"
37
SQL Server 2008 Driver : New Data Types - Caveats
DATE and TIME TIME & DATETIME2 types Have 0-7 fractional seconds precision. PowerBuilder supports 0-6 fractional seconds precision. DATETIMEOFFSET - not supported in PowerBuilder 11.5 SQL Server Type PowerBuilder Type DATE TIME DATETIME2 DATETIME
38
SQL Server 2008 Driver : New Data Types
New Data Types (cont’d): CLR Types HIERARCHYID SPATIAL DATA – GEOGRAPHY & GEOMETRY UDT – User defined CLR Types …seen by PowerBuilder as BLOBs or as Hexadecimal STRINGs… …OR…
39
SQL Server 2008 Driver : New Data Types
CLR Types (cont’d): CLR type methods can be used in… ISQL, Embedded/Dynamic SQL, DataWindow data source Resolved by the DBMS! Select EmpId, EmpName, EmpNode.ToString(), EmpNode.GetLevel() from Emp Select id, GeomCol.STAsText(),GeomCol.STGeometryType(), GeomCol.STArea() from SpatialTable
40
SQL Server 2008 Driver : New Data Types
FILESTREAM NOT strictly a new data type but a new storage mechanism for Varbinary(max) data Use SELECTBLOB / UPDATEBLOB
41
SQL Server 2008 Driver : T-SQL Support
Row Constructors INSERT INTO Employees VALUES ('tom', 25, 5), ('jerry', 30, 6); ESQL / DSQL FORCESEEK – Table Hint Forces the query optimizer to use only an index seek ESQL / DSQL and DataWindow data source MERGE Statement Dynamic SQL only GROUPING SETS
42
SQL Server 2008 Driver : Delayed for GA
The MS SQL Server 2008 release was delayed The GA version of our driver cannot be included in time for the PowerBuilder 11.5 GA Resolution: We will release PowerBuilder 11.5 with the SQL Server 2008 RC driver and support its GA in an EBF
43
PowerBuilder 11.5 Support for Oracle 11g
44
Oracle 11g Support Client Access through Proxy
The Proxy User logs into the database (SQLCA.LogID) DBPARM “ConnectAs” is used to set the End User After the Proxy User passes authentication, SQLCA.LogID value is the End User’s id An additional password is not needed for the End User
45
Oracle 11g Support OCI Connection Pooling and Session Pooling
Pools will be created for Connections or Sessions using the same ServerName and NLS_Charset
46
Oracle 11g Support Session Pooling Connection Pooling
Stateless - reusable by middle tier threads Pool is dynamically “grown” as needed Clients are bound/unbound to/from a session in the pool at runtime Connection Pooling Stateful – not reusable by middle tier threads Number of physical connection and server processes is reduced O90 and O10 drivers used the now-deprecated CNNPool DBParm Supported for backward compatibility New “Pooling” DBParm "CnnPool='Yes'“ …is now… "Pooling='Connection Pooling‘"
47
Oracle 11g Support Implicit Fetching ROWID with SELECT … FOR UPDATE statements “ROWID” no longer needs to be explicitly added in the select items The syntax in PowerBuilder may remain unchanged to get a rowid value
48
Oracle 11g Support Oracle Client Cache
Enables client-side caching of SQL query result sets Relies on your Oracle Server and Client configuration The “StatementCache” DBParm value must be set “/*+ result_cache */” …query annotation is required Select /*+ result_cache */ col1, col2 from table1
49
Oracle 11g Support OCI Driver Name Diagnostic aid
“AppDriverName” DPBARM parameter allows you to set your own client driver name Client driver name can be used with dynamic performance view queries V$SESSION_CONNECT_INFO GV$SESSION_CONNECT_INFO The maximum length is 8 characters
50
Oracle 11g Support XML data type support
Oracle XMLType data type - introduced with Oracle 9i Mapped to the PowerBuilder String data type However, you cannot use this data type: In the Where clause of a PowerBuilder embedded SQL statement or in a DataWindow object As a parameter of a procedure or DB function In columns that you select directly in an Oracle cursor statement …cont’d…
51
Oracle 11g Support XML data type support
You can return single XMLType values from an Oracle cursor… CREATE OR REPLACE Function p_Ora_sp_char_11 return types.cursortype AS l_cursor types.cursorType; begin open l_cursor for select x.col1.getstringval() from t_Ora_sp_char_11 x; return l_cursor; end;
52
.NET Interoperability Language Enhancements
PowerBuilder 11.5 .NET Interoperability Language Enhancements
53
.NET Interoperability Language Enhancements
PowerBuilder 11.5 will now… Support method calls on PowerBuilder and .NET primitive types Support method calls on PowerBuilder and .NET enumerated types Support accessing static members of .NET classes with instance references
54
.NET Interoperability Language Enhancements
Function calls on .NET primitive and enumerated types: Must be made inside a conditional compilation block for a .NET target.
55
.NET Interoperability Language Enhancements
Function calls on .NET Primitive Types: Functionality of the primitive types is now merged with the functionality of their corresponding PowerBuilder primitives #if defined PBDOTNET then System.Int32 i1 long i2 i1.ToString() i2.ToString() … #end if
56
.NET Interoperability Language Enhancements
Function calls are also supported on .NET enumerated types that you import into a .NET target An enumerated type from an imported assembly: namespace ns1.ns2; Public enum TimeOfDay { Morning = 0, AfterNoon, Evening }
57
.NET Interoperability Language Enhancements
e.g.: PowerBuilder allows you to call the ToString() method on the .NET TimeOfDay enumerated type after you reference it in your target: #if defined PBDOTNET then ns1.ns2.TimeOfDay daytime daytime = ns1.ns2.TimeOfDay.Morning! daytime.ToString() #end if
58
.NET Interoperability Language Enhancements
PowerBuilder 11.5 lets you use instance references to access static members of .NET classes string s #if defined PBDOTNET then //OLD WAY //s=System.Web.HttpContext.Current.ToString() //NEW WAY System.Web.HttpContext context context = System.Web.HttpContext s = context.Current.ToString() #end if
59
DataWindow Enhancements
PowerBuilder 11.5 DataWindow Enhancements
60
New DataWindow Features: Supported Targets/Platforms
Traditional Win32 Windows Forms Target Smart Client-Published WinForm Applications InfoMaker 11.5
61
Tooltips Supported in all DataWindow presentation styles
Except RichText and OLE New property tab – New properties Columns and all Control types All new properties are expression-enabled
62
Gradients/Translucency of Backgrounds
Supported in all DataWindow presentation styles Except RichText and OLE New property tab – New properties Bands Columns and all Control types All are expression-enabled (except for DWO scope/level)
63
Text Translucency New Property on Font Properties tab
Columns Text Buttons Group Boxes Computed Columns Expression-enabled
64
New DataWindow Object-Level Properties
Same as band/column/control background properties except… Not expression-enabled Transparency is not really transparent Defaults to a white background Extras Bitmaps and Tiling
65
New Properties for Picture Control
transparentcolor Designate a color in the image to be transparent Transparency Expression-enabled
66
New Column Edit Style - RichText
Supported in all DataWindow presentation styles Except RichText and OLE Comes with Floating Font Toolbar Can be disabled Roll your own using new events, functions
67
New Column Edit Style - RichText
RichTextToolbarActivation New DataWindow control property – Enumerated Enumerated values RichTextToolbarActivationNever! RichTextToolbarActivationOnEdit! RichTextToolbarActivationAlways!
68
New Column Edit Style - RichText
New Events RichTextCurrentStyleChanged pbm_dwnrichtextcurrentstlechanged (long row, DWObject dwo) RichText column has focus The current style of the selection or cursor position has changed RichTextLoseFocus pbm_dwnrichtextlosefocus (long row, DWObject dwo) RichText column loses focus RichTextLimitError pbm_dwnrichtextlimiterror (long row, DWObject dwo, string text) RichText data exceeds column size The “text “ argument is the plain text of the current column
69
New Column Edit Style - RichText
New Functions for getting and setting text… Style (bold/underline/italic) Color Size Alignment Font
70
New DirectX Rendering for 3D Graph Styles
DirectX 9.0c (Direct3D) – Prerequisite Depends on drivers supporting Direct3D Graceful degradation to traditional rendering in case Direct3D is absent Support can be checked by running DXDIAG.exe from a command prompt Installed by PowerBuilder 11.5 for the developer on “first use” Anti-aliasing should be disabled
71
New DirectX Rendering for 3D Graph Styles
New Functions GetSeriesTransparency/SetSeriesTransparency GetDataTransparency/SetDataTransparency GetSeriesLabelling/SetSeriesLabelling GetDataLabelling/SetDataLabelling
72
SUMMARY: PowerBuilder 11.5
Delivers Core Functionality Enhancements DataWindow Look and Feel Support for Newer DBMS versions .NET Interoperability Language Enhancements .NET Code Access Security IIS7 and Vista
73
PowerBuilder 12
74
PowerBuilder 12 PowerScript Enhancements -.NET CLS Compliancy-
75
PowerScript Language Enhancements for .NET
Define and implement interfaces Support unbounded multidimensional array and jag-array Consume .NET delegates Support parameterized constructors Define and consume custom attributes Define namespaces Consume .NET generic types Support user-defined enumerations
76
PowerScript Language Enhancements for .NET
77
PowerBuilder 12 : Fresh from the Labs
WPF Runtime
78
PowerBuilder Evolving with .NET
79
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
80
WPF Sample Contoso Healthcare Sample Application, MSDN
81
WPF Sample ExpenseIt Sample Application, MSDN
82
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…
83
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!
84
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
85
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
86
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
87
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 XAML knowledge will not be required, just optional
88
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" />
89
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
90
Object Models: Win32 / WinForm vs. WPF
Our goal, our mandate, is to provide you with a “PowerBuilder Experience” when developing WPF applications
91
Migration of Existing Applications
The architecture of WPF is significantly different The approach to migration will need to be different than Win32=> WinForm For example, WPF encourages customers to use Styles/Templates to create borders instead of a simple BorderStyle
92
Migration of Existing Applications
If we run into these kinds of conflicts in the WPF runtime library implementation… We will keep the new WPF style, but… A migration issue will exist for the developer’s disposition
93
Migration of Existing Applications
More refactoring will be needed than for Windows Forms migration Some behaviors will change e.g.: MDI applications will be rendered as a Tabbed document
94
WPF vs. Win32/WinForm Look and Feel…
Some properties / metaphors have no default WPF equivalent e.g.: BorderStyle, MDI In a PowerBuilder 12.x time frame… We may create/ship templates to support these “legacy” styles Look-and-feel can be accomplished through WPF styles/templates
95
WPF vs. Win32/WinForm MDI Not supported by WPF (yet?)
Viewed by Microsoft as legacy with drawbacks For migrated applications PowerBuilder will convert MDI applications to a Tabbed Document metaphor
96
WPF vs. Win32/WinForm User Defined Custom Events
WPF - the event model is changed Several custom events have no WPF matching event Will not be supported in PowerBuilder 12.0
97
WPF vs. Win32/WinForm Window Handle Usage: Win32/WinForm applications
Each control is actually a Window Each control has its own Window handle e.g: You can call SetParent(hwnd) to set the parent Window for the current Window through Win32 API calls. …cont’d…
98
WPF vs. Win32/WinForm …cont’d…Window Handle Usage:
In WPF, there is only a single handle for the Window A control nested in a Window will NOT have its own handle API calls using Window handles will not be supported For migrated applications, there is no workaround but to refactor the code
99
WPF vs. Win32/WinForm Event Sequence:
Again, the event model of WPF application is changed The event sequence of WPF applications is different than WinForm / Win32 We cannot ensure the event sequence of WPF controls is exactly the same For migrated applications, there is no workaround but to refactor the code
100
Fully Managed Code at Runtime
.NET applications deployed by PowerBuilder 11.x have a Managed Code runtime…except for the DataWindow engine Current PowerBuilder 11.x “Unmanaged” issues: Need to specify the path for DataWindow unmanaged DLLs Can not run applications in partial trust environments The DataWindow engine is being rewritten from the ground up in C# and will be fully-Managed Code
101
PowerBuilder 12 WPF Application Architecture
Assemblies of the WPF runtime library WPF DataWindow engine New Managed database drivers
102
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
103
Default “Panel” in the PowerBuilder WPF Window class
By default, a “Grid” panel will be put inside a Window for new WPF applications “Canvas” will be used for migrated applications Approximating absolute positioning
104
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
105
“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”;
106
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
107
New Controls Courtesy of WPF
Layouts with Panels: Canvas Grid WrapPanel StackPanel DockPanel
108
New Controls Courtesy of WPF
Canvas:
109
New Controls Courtesy of WPF
Grid:
110
New Controls Courtesy of WPF
StackPanel:
111
New Controls Courtesy of WPF
WrapPanel Variations:
112
New Controls Courtesy of WPF
DockPanel:
113
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
114
New Controls Courtesy of WPF
Expander (collapsible GroupBox):
115
New Controls Courtesy of WPF
Expander (collapsible GroupBox):
116
New Controls Courtesy of WPF
MediaPlayer: Built on top of Windows Media Player Formats: WAV WMA MP3 Etc…
117
New Controls Courtesy of WPF
Document Viewer (XPS or Print Preview):
118
New Controls Courtesy of WPF
SpeechRecognizer:
119
Right-to-Left Support
FlowDirection Layout Property:
120
Theme Support (May be in PowerBuilder 12.x time frame)
121
The PowerBuilder 12 WPF Workshop
122
Anything presented here is subject to change!
DISCLAIMER Anything presented here is subject to change!
123
A New PowerBuilder IDE for WPF Development
Built utilizing the Visual Studio Isolated Shell
124
A New PowerBuilder IDE for WPF Development
Leveraging Visual Studio features Isolated Shell provides framework and features UI Editor WPF Designer Debugger Plug-in existing PowerBuilder components Database Painter SQL Painter etc.
125
A New PowerBuilder IDE for WPF Development
Provides a familiar PowerBuilder experience Little or no re-training Provides usability enhancements consistent with other major IDEs Keeps PowerBuilder current with latest functionality
126
A New PowerBuilder IDE for WPF Development
PowerScript in the VS Core Editor WPF Painters Incl. WPF DataWindow Painter Tabbed documents Auto-hide for tool panes 3rd Party Add-ins Import/Export IDE Settings
127
A New PowerBuilder IDE for WPF Development…and more…
Benefits for… WPF Application Targets .NET Assembly Targets .NET Web Service Targets
128
Virtual PowerBuilder Libraries
PBLs are now folders PowerBuilder classes/objects are now files PBLs track files Adding a file to a PBL folder does not by itself add it to the PBL Simplification of source control Saving with compilation errors now supported
129
WPF Painters (Window, Visual UserObject)
WYSIWYG design surface for adding, moving, resizing, positioning of controls XAML editor for optional advanced editing of layout, contents, and behavior WYSIWYG Preview (WPF, vector-based) Support for 3rd party controls
130
Adding 3rd Party WPF Controls to the Toolbox
A dialog will be provided to select the 3rd party WPF control to import. Controls may be added to the Toolbox of the … Window UO DataWindow …painters
131
New PowerScript Editor Features
Improved AutoScript (Intellisense) Colorization Bookmarks Code Outlining (collapsing sections) Highlight of matching elements Incremental Search Line Numbering Go to definition Future Features… Refactoring Find all references
132
Other Painters Database Painter Query Painter Structure Painter
…will essentially have the same UI as in the Win32 IDE
133
Other Painters …cont’d… Menu Painter Library Painter SQL Dialog
The UI may be altered Library Painter Will be consolidated with the System Tree A list tool window for “details” SQL Dialog Will have the same UI as in DataWindow .NET 2.5…a modal dialog
134
File New and wizard enhancements
Wizard Based Treeview navigation Finish button enables as soon as enough information is available, event if the wizard provides more steps
135
The DataWindow of the Future
136
At TechWave 2007 Demonstrated the Managed Code DataWindow engine
In prototype, we could demo… Basic presentation styles Use an Edit Control emulation A lot of common methods and functionality Syntax parsing and compiling Expressions Data retrieval Sorting Filtering
137
After TechWave 2007: In the Labs
Kept building functionality More presentation styles N-Up Grid Label Group Crosstab Composite and Nested Reports Graphs Rich Text More controls Editmask and Spin Control
138
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
139
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…
140
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
141
DataWindow Painter (of the future)
142
State of the DataWindow
New Architecture: Separation of Core functionality DataWindow objects Presentation (rendering) functionality DataWindow controls Data access The new Data Source Interface
143
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
144
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
145
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
146
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
147
Questions
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.