BBE:WS

Security Console - 7

ISCTaskListExtension

Last updated on: 1/27/2013 9:07 PM 
Created on: 3/21/2014 2:18 PM 

Since Microsoft released windows 95 all our software products had emphasis put on the functionality of application main menu. This menu across the top was the go to place for all the possible actions that could be performed in the application. In the first version of security console, the menu was given an adhoc way of having the default text customized. The downside is that all actions needed to fit on the existing menu system and if a new menu was required major work to the user interface and the corresponding API was required.

Some menu items such as edit and help have fixed items. There are two areas that have been identified in which zero or more features could be available, creating new items and carrying out actions on existing items. To make this scalable an interface for the task list has been implemented. Applets need to implement this interface to add as many create new actions and possible task actions required. The framework calls these methods with flags indicating why these action items are being enumerated and the applet can respond with the proper actions required.

The task list interface has only four methods but these methods provide the main access to the applets functionality. The framework now has the ability to present these items in a way that seems natural to the platform while preserving the functionality of the applet. For example, under windows tasks available for a specific item in one of the windows are placed on the toolbar and the context menu. Under platforms like android these items can be available exclusively on the context menus. To provide compatibility with the original sc menu system and to preserve the main menu functionality on platforms like windows, tasks can be associated with a standard menu such as file...open and will then be executed through the applet window extensions built in action handlers.

In the case of either new items or task items the implementation a developer must perform is identical. The EnumNewItem() and EnumTaskItem() must return the required information as documented per the class documentation. The index associated with these parameters will be the value passed to the OnNewItem() and OnTaskItem() that is invoked when the user selects the action.

New items and task items can have an image from the resources associated with them. Three images are required: 16, 32, and 64. The framework passes in flags specifying if one of the larger sizes are required. If the resources are built into the custom resources following the proper naming convention, a method in the interface class will handle locating the image of the proper size.

Topics

Developer's Historical Persepctive Why A Platform Standards The User Experience

Interfaces

ISCApplet ISCTaskListExtension ISCConfigPanelExtension ISCErrorReporterExtension ISCLogConnector/ISCLogEntry ISCCertificateStoreExtension ISCSystemTrayExtension ISCAppletWindowExtension ISCSecureObjectExtension

Applet Building Steps

Step 1: Create The Applet Step 2: Adding Action Items Step 3: Adding Configuration Panels Step 4: Adding Custom Error Text Step 5: Startup/Shutdown Step 6: Adding Main Window Support Step 7: Adding Obejct Window Support