home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / demos / proart24 / PCA / Docs / Ui < prev   
Encoding:
Text File  |  1996-08-20  |  3.4 KB  |  80 lines

  1. Plug In Compliant Application protocol
  2. ======================================
  3.  
  4.  
  5.  
  6. PCA User Interface specifications
  7. =================================
  8.  
  9.  
  10. Author : Rob Davison (rdavison@xtra.co.nz)
  11. Date : 15/08/96
  12. Status : Release 1
  13.  
  14. This documents the suggested user-interface and general message handling
  15. requirements for applications on both sides of the PCA protocol. You should
  16. note that it is possible for applications to implement either or both sides
  17. of the protocol.
  18.  
  19.  
  20. Local application
  21. -----------------
  22.  
  23. The local application must poll the PCA system with Message_WhosAbout and
  24. present that information to the user. It is recommended that you provide
  25. several methods of doing this:
  26.  
  27.  
  28. Invoking the protocol
  29. ---------------------
  30.  
  31. Invoking the protocol scans the active tasks and presents a list of the
  32. available utilities. This list can be presented in two ways; as a simple
  33. RISC OS menu or as a graphical 'pop-up' window. You should support both
  34. methods in your applications by providing a preferences option to the user.
  35. To invoke the popup Ctrl-Shift-Double Click is recommended. If that shortcut
  36. is not free another combination is acceptable, preferably related in some
  37. way to the Ctrl-Double click Acorn OLE-1 standard.
  38.  
  39. In addition, add the PCA to your menu structure. The sub-menu item
  40. "Utilities >" is appropriate. Another alternative is to add a button to your
  41. toolbar to invoke the protocol.
  42.    
  43. The width of this dialogue should be set to the width of the longest tool
  44. name returned in the  Message_ImHere messages (which may be found on the
  45. RiscPC using SWI Wimp_TextOp). Add 220 OS-units to the width of all items to
  46. allow for the Tool icon and Info buttons. The height of each item is fixed
  47. at 96 OS-units.
  48.  
  49. The tool icon is present in the Wimp sprite pool and is usually the PCA
  50. applications icon. Applications which provide multiple 'tools' can register
  51. more than once, passing a unique 'toolnumber' with Message_ImHere . 
  52.  
  53. The popup should be opened such that the pointer is centred over the top
  54. tool name and as a menu so it automatically closes on any mouse access
  55. outside it. If there are more than five PCAs available the popup dialogue
  56. should be given a vertical scrollbar and the initial size limited to five
  57. items. For a more detailed example, see the PCA version of Composition or
  58. the dialogue creation and redraw code in !Spaint. 
  59.  
  60. Other options 
  61.  
  62. Several other options may be offered to the user by a Local task. Which are
  63. practical depends on the application in question but the following may be
  64. appropriate for a task which supports both sides of the protocol:
  65.  
  66. The display radio buttons allow the user to choose the form of popup which
  67. will be presented to the user. Menus are simpler and take up less desktop
  68. space. Dialogue boxes look better and provide more information.
  69.  
  70. The In-place editing option should be provided by a Remote task. If no
  71. objects are being edited then toggling this option simply prevents or allows
  72. bit 4 of the flags word to be set in subsequent  Message_ImHere messages
  73. generated. If an object is being edited in-place when this option is toggled
  74. the Remote task should switch between in-place and remote operation on that
  75. object as the option is toggled.
  76.  
  77. The 'Follow selected' option is provided by a Local task and, when on, the
  78. last task sent a  Message_DoYourStuff is automatically sent a new
  79. Message_DoYourStuff every time the 'selected object' changes. Obviously this
  80. option only has validity when there is a concept of the 'selected object'.