Security Console - 7

ISCAppletWindowExtension Overview

Last updated on: 5/30/2013 7:12 PM 
Created on: 3/21/2014 2:18 PM 

The System Core 7 framework provides a standard window (form) system that separates the UI logic from the applet implementation logic. By making this separation of responsibilities, platform developers can make a user interface that feels native to the target operating system while application developers can implement only their application functionality. To make sure the two sides communicate together, an applet must implement the ISCAppletWindowExtension. This interface provides the methods for three groups of functionality: View Interaction, Menu Interaction and System Events Interaction.

The framework provides the main UI controls and Window, complete with tool bars, desktop menu bar and context menu support. The Applet Window allows for Multiple Tree Widgets, one List Widget and one HTML Browser Widget. To customize and isolate the rendering logic for each of these controls, window extensions must provide back the appropriate instances of view class based on the ISCView() interface. There are three common sub implementations of the ISCView() interface: ISCTreeWidgetView(), ISCBrowserWidgetView() and ISCListWidgetView(). Derive a view implementation from one of these three view interfaces and return the proper instance of that view class when the framework calls SetView() with the Qt control that the view will be controlling. The framework, depending on platform, may be displaying a caption to the view and will make a call to ViewCaption() to obtain the proper text to display. The framework provides behind the scenes implementation for copy and paste and drag and drop. See the how to topic for more information about these methods.

The Applet Window provides main actions that are designed to be standard across all the views with in the window. As a result there are a number of action event methods() that need to be implemented to conduct the proper sequence of events when a user selects the action. These methods are: OnFileOpen(), OnFileSave(), OnFileSaveAs(), OnFilePublish(), OnFileEmail(), OnEditDelete(), OnEditSelectAll(), OnEditFind(), OnEditFindNext(), OnEditRename() and OnViewProperties(). Each time the window becomes the active window, the focus changes controls within the window, or there is a change in selection state, the framework will call the associated OnUpdate methods to determine the enable state of the actions. The default implementation disables all the actions and that can be modified by implementing these methods: OnUpdateFileOpen(), OnUpdateFileSave(), OnUpdateFileSaveAs(), OnUpdateFilePublish(), OnUpdateFileEmail(), OnUpdateEditDelete(), OnUpdateEditSelectAll(), OnUpdateEditFind(), OnUpdateEditFindNext(), OnUpdateEditRename(), OnUpdateViewProperties() and OnUpdateViewRefresh().

The System Core 7 framework is a Qt cross platform solution. The framework automatically performs all the Qt signal/slot overhead and provides a subset of methods to re-implement to perform custom handling based on the user interaction with the view. The methods provided to customize the user interaction are: OnContextMenu(), OnSelectionActivated(), OnListCurrentChanged(), OnListCurrentRenamed(), OnSelectionChanged() and OnAnchorClicked().


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


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