YOUR FEEDBACK
andy.mulholland wrote: intriguing !!! We have full scale 'Mashup Factories' in Chicago USA and Utrec...
AJAXWorld RIA Conference
Early Bird Savings Expire Friday Register Today and SAVE !..


2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
POWERBUILDER LINKS YOU MUST CLICK ON


PowerBuilder Feature Story: "Context-Sensitive Help"
As I started a new PocketBuilder application, I wanted to encompass some of the "context sensitive" help features

The latest version of the STD FCs for PocketBuilder 2.0.3 includes the retrofit described above. Also, the sample Order Entry application for version 2.0.3 of PocketBuilder now includes the demonstration of the use of the MicroHelp feature (see Figure 12). The FCs and sample application have been uploaded to Sybase's CodeXchange Web site. In the sample Order Entry application, the Controller dialog allows the user to access functionality from the command buttons within a DataWindow. The DataWindow command buttons have context-sensitive help attached to their "tag" property. To display this information at runtime, code was placed on the "ButtonClicking" event of the DataWindow control. What is nice about this event is that a pointer to the current control object is passed to the PowerScript code (named DWO), which allows the developer to introspect the subordinate object's properties. Adding the inclusional polymorphic function, the context information can be easily displayed with a simple statement such as:

THIS.of_set_statusBar (DWO.Tag).

Bubble Help (PowerTipText)
This feature would be great for context-sensitive help but neither the ShowPopUpHelp ( ) method or the PowerTipText feature is supported by the Pocket PC operating system (and hence PocketBuilder). To offset this deficiency, I thought about the notification bubble feature of the Pocket PC. The more I thought about it, the more I realized that this was an excellent vehicle to deliver context-sensitive help as the feature uses dynamic space, is always over top of the active window, and can be programmed to accept different responses. Since PocketBuilder 2.0 the STD FCs have been upgraded to deliver this feature using the "of_set_nb_message" method of the base window class.

The ancestor code of the "of_set_nb_message" method instantiates a user object class of type "ns_notification_bubble_master" that allows communication to the Pocket PC operating system for the use of this feature. One of the problems I had encountered in the past using this feature was when the issuing window did not close the notification bubble. This left the notification bubble in "limbo" and the user was not able to remove the notification until the application fully closed. To get around this problem, the STD FCs were enhanced to always add an OK command button to the notification bubble. By doing so, I found that the user could also reactivate the notification bubble at any time and respond to the "OK." If the window instance that originally opened the notification bubble was closed, the Pocket PC operating would clean up the notification bubble. This was a great discovery.

By adding a command button feature though, the notification bubble is also able to communicate to its issuing window class (see Figure 13). To accomplish this, the notification bubble sends a "pbm_command" message to the instantiating window class. The STD FCs were extended at the base Window class with an "oe_command" user event to allow the capture of the communicae from the notification bubble to the issuing window instance. This allowed a full communication circle from the Window instance to the notification bubble instance and back again. If we now couple the automatic population of the Tag property from the comment text in the ASA database with the STD FCs' easy use of the notification bubble feature, the context sensitive help was an easy reach. The only question was how to initiate the help request, as the Pocket PC does not support any function keys or the use of the context-help question mark on response dialogs.

To help with the context-help initiation, the STD FCs were extended at the base PopUp menu class level to include a "Help" menu item. This can be easily activated by the Pocket PC stylus with a "Tap and hold" action. The popup menu understands the control that instantiated it and the help menu redirects a "oe_help" user event back to the control. The GUI control in turn can extract the control's tag properties (or the DataWindow object's current column's tag) and redirect a notification bubble request to the parent window. Ancestor code in the base window class takes care of the notification bubble instantiation and HTML message text wrapping. In the STD FCs, the only action required by the Pocket PC developer to allow this behavior is to set the "ib_help_required" property of any control to TRUE. This makes the help menu item appear on the pop-up and the notification bubble context help feature enabled at runtime. The developer can set this property in the Window painter or at runtime under script control.

About Chris Pollach
Chris Pollach is the president of Software Tool & Die Inc. (a consulting company based in Ottawa, Ontario, Canada) and has been using PB since November 1989 (version 0.8). When not developing in PB, Chris enjoys fishing and martial arts.

YOUR FEEDBACK
news desk wrote: As I started a new PocketBuilder application and wanted to encompass some of the 'context sensitive' help features that I have previously used in a PowerBuilder application. I knew that this was not going to be easy, as the Pocket PC operating system does not support the (Multiple Document Interface) behavior. As a result, neither the Micro-Help bar nor pop-up help (also known as 'bubble help') are available as they would be in a standard PowerBuilder application. PowerBuilder developers also use a nice feature named 'PowerTipText' that allows automatic 'bubble' help to appear during a mouse hover.
PBDJ News Desk wrote: Summertime here in Canada's 'Great White North' is hot and humid but I found myself attending Sybase's TechWave 2005 conference with punishing 105F (40.5C) degree heat.
PBDJ LATEST STORIES . . .
Virtualization is actively being used by Sybase IT to help solve power/cooling issues as well as transform the datacenter into an environment that brings greater benefits to their customers, especially the engineering organization. Average CPU utilization was very low on physical serve...
Must have at least 5 years of recent experience (within the last 7 years) in building, testing, and supporting complex (multiple interfaces with database(s) and other applications) and mission-critical Windows applications using PowerBuilder. Must have at least 5 years of experience wr...
Join Scott Guthrie as he discusses Microsoft’s commitment to web standards development, Rich Internet Applications and how Microsoft is contributing to help move the web forward. Join Adobe’s Kevin Lynch as he demonstrates how Flash and HTML come together to make the most engaging,...
Particularly in a means of moving PowerBuilder applications to the web. What I’m looking for doesn’t require a server license or the installation of unmanaged code to the web server, and works well across different browsers (not just Internet Explorer). The WPF DataWindow will help...
"The rise of Enterprise Architecture is proof that organizations need to manage the impact of changes in competition, technology and regulations across their enterprise," said Dan Lahl, director of Intelligent Enterprise for Sybase. "PowerDesigner 15's unique Link and Synch technology ...
With PowerBuilder 11 Sybase gave developers what we have long hoped for – the possibility of taking an application created in a client/server architecture and turning it into a Web application, almost without having to move the code; and it's better if you don't use a server applicat...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE
BREAKING POWERBUILDER / SYBASE NEWS
Medmatics, LLC, a leading vendor of on-demand, anticoagulation software for private practices and ho...