The McCoy main UI is based around the view that the application is designed to provide a number of "tasks" for the extension developer. The splits the tasks up into different sections, "Development", "Packaging", "Updates". This list can grow if additional types of tasks are added.
A task's UI is a simple xul page that is displayed in an internal frame in the main window.
Each task is presented in the surrounding UI as a <menuitem> in the appropriate main menu, and a <radio> in the appropriate <radiogroup>. The <menuitem> should include a "task" attribute with the id of the corresponding radio as its value. The <radio> should include a "href" attribute. This contains the chrome url for the task UI.
Every task should start with a standard template to ensure all the additional widgets and standard task formatting is available:
<?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <?xml-stylesheet href="chrome://mccoy/content/taskui.css" type="text/css"?> <?xml-stylesheet href="chrome://mccoy/skin/task.css" type="text/css"?> <page xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> </page>
The keychooser is a standard widget for tasks that perform key related activities. Its standard presentation is as a menulist to select the key an a button to create a new key.
The filechooser allows selection of a file or directory. It displays the currently selected file and allows the user to browse for a different file.
The helplink allows the user to click for more information about what a task is performing. This should be used to link to an MDC article wherever possible.