home *** CD-ROM | disk | FTP | other *** search
- Plug In Compliant Application protocol
- ======================================
-
-
-
- PCA User Interface specifications
- =================================
-
-
- Author : Rob Davison (rdavison@xtra.co.nz)
- Date : 15/08/96
- Status : Release 1
-
- This documents the suggested user-interface and general message handling
- requirements for applications on both sides of the PCA protocol. You should
- note that it is possible for applications to implement either or both sides
- of the protocol.
-
-
- Local application
- -----------------
-
- The local application must poll the PCA system with Message_WhosAbout and
- present that information to the user. It is recommended that you provide
- several methods of doing this:
-
-
- Invoking the protocol
- ---------------------
-
- Invoking the protocol scans the active tasks and presents a list of the
- available utilities. This list can be presented in two ways; as a simple
- RISC OS menu or as a graphical 'pop-up' window. You should support both
- methods in your applications by providing a preferences option to the user.
- To invoke the popup Ctrl-Shift-Double Click is recommended. If that shortcut
- is not free another combination is acceptable, preferably related in some
- way to the Ctrl-Double click Acorn OLE-1 standard.
-
- In addition, add the PCA to your menu structure. The sub-menu item
- "Utilities >" is appropriate. Another alternative is to add a button to your
- toolbar to invoke the protocol.
-
- The width of this dialogue should be set to the width of the longest tool
- name returned in the Message_ImHere messages (which may be found on the
- RiscPC using SWI Wimp_TextOp). Add 220 OS-units to the width of all items to
- allow for the Tool icon and Info buttons. The height of each item is fixed
- at 96 OS-units.
-
- The tool icon is present in the Wimp sprite pool and is usually the PCA
- applications icon. Applications which provide multiple 'tools' can register
- more than once, passing a unique 'toolnumber' with Message_ImHere .
-
- The popup should be opened such that the pointer is centred over the top
- tool name and as a menu so it automatically closes on any mouse access
- outside it. If there are more than five PCAs available the popup dialogue
- should be given a vertical scrollbar and the initial size limited to five
- items. For a more detailed example, see the PCA version of Composition or
- the dialogue creation and redraw code in !Spaint.
-
- Other options
-
- Several other options may be offered to the user by a Local task. Which are
- practical depends on the application in question but the following may be
- appropriate for a task which supports both sides of the protocol:
-
- The display radio buttons allow the user to choose the form of popup which
- will be presented to the user. Menus are simpler and take up less desktop
- space. Dialogue boxes look better and provide more information.
-
- The In-place editing option should be provided by a Remote task. If no
- objects are being edited then toggling this option simply prevents or allows
- bit 4 of the flags word to be set in subsequent Message_ImHere messages
- generated. If an object is being edited in-place when this option is toggled
- the Remote task should switch between in-place and remote operation on that
- object as the option is toggled.
-
- The 'Follow selected' option is provided by a Local task and, when on, the
- last task sent a Message_DoYourStuff is automatically sent a new
- Message_DoYourStuff every time the 'selected object' changes. Obviously this
- option only has validity when there is a concept of the 'selected object'.