home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / windows / b007_1 / Docs / 1%a0Intro next >
Text File  |  1993-05-25  |  5KB  |  118 lines

  1.  
  2. NOTE:
  3. Please don't be decieved by the large amount of documentation supplied.
  4. PopUps are EXTREMELY SIMPLE to use in your own applications.
  5.  
  6. The bulk of the documentation is the source for the PopUp server and info
  7. on how to write new PopUps.
  8.  
  9. If you only want to use PopUps in your own programs, you need only read
  10. about half of the first 4 files in this directory.
  11.  
  12. ---
  13.  
  14. The PopUp Manager
  15. =================
  16.  
  17. The PopUp manager is a RISC OS 2 and 3 compatible relocatable module which
  18. manages server task(s) to provide an easily reconfiguarble set of windows
  19. (PopUps) to desktop applications.
  20.  
  21. These windows include the following:
  22.   * Save-As
  23.   * Magnifier
  24.   * 16-colour (WIMP colour) picker
  25.   * 24-bit (TRUE colour) picker
  26.   * Program info window
  27.   * Font selector dialogue box
  28.   * Simple 'Print' dialogue as used by !Draw
  29.   * Multitasking problem report dialogue box
  30.  
  31. Possible ideas for future addition are:
  32.   + Window to set an integer value within a certain range,
  33.     which offers a writable, slider icon, and 'bump' icons.
  34.  
  35. These windows are all things that should be standardised throughout all WIMP
  36. programs. There are two types of PopUp:
  37.   STATIC PopUp
  38.     Dialogue windows which appear as 'permanent' entities, of which multiple
  39.     copies may be open at once. STATIC PopUps are usually opened from a menu
  40.     item such as "Font ...". And example of a static PopUp is FontSelect.
  41.  
  42.     Note that if a PopUp provides more than one window (eg FontSelect uses
  43.     a base window plus 3 pane windows), it must be static.
  44.  
  45.   MENU PopUp
  46.     Windows that appear either as a leaf of a menu (opened by following a
  47.     menu sublink arrow), or as a standalone 'submenu' window (opened by
  48.     clicking the relevant item in the parent menu instead of following
  49.     the arrow). Only one such PopUp can ever be open at any time - these
  50.     PopUps will disappear if another menu leaf is opened, if the operation
  51.     they control is selected (eg by pressing 'ok'), or if you click outside
  52.     the menu tree or hit escape.
  53.  
  54. The PopUp manager therefore provides all applications with a simple way of
  55. producing these standard windows. It has several advantages over each
  56. application handling its own windows on its own:
  57.   * Shared resources
  58.     All applications are smaller both from reduction in template and sprite
  59.     resources, but also from a reduction in the code needed for handling
  60.     these windows.
  61.  
  62.   * System-wide consistency
  63.     If all applications move to use of PopUps, then a save-as box will be
  64.     *exactly* the same in ALL applicatons. This applies to the window layout,
  65.     the actions taken on clicks and keypresses, etc.
  66.  
  67.     This also eliminates the possibility of different applications having
  68.     bugs in their window handling code that causes the window to act
  69.     differently (e.g. in all versions of Draw including RISC OS 3.10, you
  70.     can't type new numbers into the colour picker because it ignores you!)
  71.     In this case, only one bugfix should be needed to fix ALL such PopUps!
  72.  
  73.   * Ease of replacement
  74.     Once an application uses the generic PopUp interface, new PopUps can be
  75.     produced to replace old ones, to give a new look, an extra button (eg a
  76.     'Cancel' button, etc), or add other facilities (select colour from HSV
  77.     picker as well as RGB picker, for example).
  78.  
  79.     By simply double-clicking such an improved module, ALL applications
  80.     using PopUps will *instantly* be 'upgraded' seamlessly to use the new
  81.     format PopUp.
  82.  
  83.     It also allows advanced users a more convenient way of customising their
  84.     applications than having to edit every application's templates file -
  85.     simply install your own custom PopUp set!
  86.  
  87.   * Ease of use
  88.     Why does the WIMP provide a specialised window called a 'menu'? Apart
  89.     from all of the above reasons, it is to save the application programmer
  90.     some effort.
  91.     PopUps certainly make life easier for the programmer; PopUps are shown
  92.     by calling a single SWI call, and return values through a single Wimp
  93.     Message - significantly less work than loading templates, creating
  94.     windows, processing events, and deleting windows!
  95.  
  96.   * Enforcement of style guide
  97.     If the OS makes these PopUps very easy to show, programmers are encouraged
  98.     to use the PopUps instead of doing all the work necessary to replace
  99.     them. This helps enforce the style guide, and gives programmers more
  100.     cause to think about something they are about to do:
  101.  
  102.     If you want to add extra buttons to the save-as window, it means a fair
  103.     bit more work instead of using PopUp - is this really the best way to
  104.     handle it, or can the functions of those buttons be added elsewhere,
  105.     leaving the save as window as a consistent interface unit?
  106.  
  107.   * Efficiency gains.
  108.     The Compiled C and hand-coded assembler modules which supply the PopUps
  109.     provide better efficiency than a BASIC program doing the same thing will,
  110.     probably enough to give a noticable response improvement in some places.
  111.  
  112. The PopUp manager has thus been designed to provide a generic interface to
  113. these standard dialogues, mainly to make life easier for programmers, while
  114. at the same time giving the aforementioned benefits.
  115.  
  116. More information on using PopUps in your own programs, and on writing your
  117. own PopUps, is included in the other documents in this directory.
  118.