1. 11 Jan, 2002 1 commit
    • Ben Avison's avatar
      Menu-related tinkering. · c7bbe2b5
      Ben Avison authored
      Detail:
        * Keyboard shortcuts in menus are now correctly aligned (and menus will
          be one pixel wider to compensate for the downwards rounding in SWI
          Font_ConverttoOS).
        * There is no longer any danger of menu titles being treated as though
          they contain a keyboard shortcut.
        * Dialogue boxes may now contain nested windows.
      Admin:
        Tested on a Risc PC.
      
      Version 4.72. Tagged as 'Wimp-4_72'
      c7bbe2b5
  2. 14 Sep, 2001 1 commit
    • Ben Avison's avatar
      Commit of my Wimp changes that have trickled in over the last four months. · 69d67881
      Ben Avison authored
      Detail:
        * The pointer passed to Wimp_CommandWindow can now be top-bit-set.
        * Bugfix to Wimp_CommandWindow: if the current task was uninitialised,
          or initialised as a non-multitasking task, then although entering the
          CommandWindow would restore escape condition generation to the way it
          was before entering the desktop, exiting the CommandWindow did not
          reset escape condition generation to the default desktop state (which is
          for escape condition generation to be disabled).
        * Escape condition generation is disabled for the duration of SWI
          Wimp_ReportError (instead of setting the default escape key for the
          duration). The previous state is restored on exit.
        * Added a minimal environment for the service call
          Service_ErrorButtonPressed, so that claimants can call OS_Exit without
          leaving the global Wimp error box in an undefined state.
        * In the Wimp_Poll loop, if there are no events to deliver to any tasks
          (not even null events), then rather than sitting in a SVC mode loop,
          the Wimp now triggers transient callbacks. This is particularly
          important in order not to halt all activity in the Internet stack.
          The option LeaveOS can be set to make the Wimp use the as-yet
          unimplemented SWI OS_LeaveOS for this purpose; this is currently unset
          for all builds.
        * By (persistent) request, reinstated the old iconbar popping code,
          though it is currently a build switch that is turned off for all builds.
      Admin:
        Tested on a Risc PC.
      
      Version 4.69. Tagged as 'Wimp-4_69'
      69d67881
  3. 23 Feb, 2001 1 commit
    • Stewart Brodie's avatar
      Improvement to menu creation code. · 5345e294
      Stewart Brodie authored
      Detail:
        Instead of continually extending the menu windows icon by icon, this
          version calculates how many icons it is going to need, and claims
          them en bloc, marking all the icons as deleted so that as the menu
          code creates each icon, no more block extending needs to be done.
        int_create_multiple_icons does the extension work; the menu generation
          code in Wimp05 does the initialising before calling int_create_icon
          lots of times (3*number of items in menu)
      Admin:
        Tested in a desktop build.
      
      Version 4.62. Tagged as 'Wimp-4_62'
      5345e294
  4. 03 Nov, 2000 1 commit
    • Ben Avison's avatar
      Change to behaviour of writeable menu items. · 80663f3f
      Ben Avison authored
      Detail:
        As soon as a menu or submenu that contains a writeable menu item is opened,
        the caret is placed in the (first) writeable menu item. Furthermore, you
        can highlight any other menu item in such a menu without losing the input
        focus from the writeable menu item.
        The initial reason for this change was to allow the use of writeable menu
        items on a touchscreen device, since they have no way for you to move the
        pointer over the writeable menu item without selecting it. But, on the
        basis that this change is actually useful for mouse users, and that it makes
        the behaviour of such submenus more consistent with dialogue boxes, it has
        been made unconditional.
      Admin:
        Tested in a desktop build.
      
      Version 4.58. Tagged as 'Wimp-4_58'
      80663f3f
  5. 20 Oct, 2000 1 commit
    • Ben Avison's avatar
      Shock horror - a new feature for the Wimp! And some housekeeping too. · d7d18819
      Ben Avison authored
      Detail:
        * Added new functionality for menu trees: submenus can now be opened by
          clicking on their parent menu item. This is particularly aimed at
          touchscreen devices, and is configurable via the new *Configure keyword
          WimpClickSubmenu.
        * Change to the menu inactivity timeout behaviour after auto-opening of
          submenus (either by hovering over the parent menu item or by the new
          click-to-open functionality): although all hover operations are still
          ignored for this period, any click operations *will* now be obeyed.
        * Corrected numerous misleading comments in the menu handling code.
        * Added some suspiciously absent ALIGNs in the *Configure keyword handlers.
        * Uses new ASCII case-forcing macros so there are now fewer warnings
          printed during assembly (and it should run faster now too).
        * Added an AREA directive so that objasm's -ABS switch is no longer needed.
        * Standardised ErrMem token across all Messages files that use English.
      Admin:
        Tested on a desktop machine.
        Requires HdrSrc 1.06.
      
      Version 4.57. Tagged as 'Wimp-4_57'
      d7d18819
  6. 15 Jun, 2000 1 commit
    • Ben Avison's avatar
      A number of bugfixes. · 45a23f3f
      Ben Avison authored
      Detail:
        * The character codes returned from the Key_Pressed event were incorrect
          when the caret was in a writeable icon with Kd in the validation string,
          and either (a) the caret was not at the start and Delete or Backspace were
          pressed, or (b) the caret was not at the end and Copy was pressed. (This
          was because, in these cases, the writeable icon code exited through
          passbacktouser rather than exitprocess; the former expects the keycode to
          be preserved, but the UTF-8 extensions to key handling were corrupting it.)
          Shift-Copy, Ctrl-Copy and Ctrl-U were not affected.
        * The various checkhandle routines now preserve flags again, as they did
          before 32-bit support was added. This is crucial in a number of spots,
          because the flags are based upon a test of handle, and checkhandle
          corrupts the handle register. This fixes at least two bugs: you can now
          send messages to menus or dialogue boxes again, and Wimp_RedrawWindow
          called without a Redraw_Window_Request is back (so for example, the
          Desktop Welcome screen now works again).
        * Fixed a bit of errant 26-bitism in the multiple-window iconise code.
      Admin:
        Tested briefly on an Ursula build.
      
      Version 4.52. Tagged as 'Wimp-4_52'
      45a23f3f
  7. 25 Apr, 2000 1 commit
    • Kevin Bracey's avatar
      Made 32-bit compatible. · 1bb3b9d0
      Kevin Bracey authored
      Detail:
        Lots of little changes throughout a lot of source.
      Admin:
        Appears to work - not stress tested with things like lots of tasks, big
        transfers, and all the other things that tend to go wrong.
      
      Version 4.47. Tagged as 'Wimp-4_47'
      1bb3b9d0
  8. 30 Mar, 2000 1 commit
    • Ben Avison's avatar
      System windows (eg STB command window) can now have window furniture but no 1-pixel borders. · 3d310c07
      Ben Avison authored
      Detail:
        The code that checked for a Wimp_Initialise version number of >= 380 before
        applying the new interpretation of title foreground colour &FF was broken:
        it was checking the current task handle instead of the task handle of the
        window's creator. A few other things needed tampering with in order to ensure
        that the window's task handle word is correctly set up at the time that the
        colour check is performed.
      Admin:
        Tested in a desktop build, using STB resources.
      
      Version 4.43. Tagged as 'Wimp-4_43'
      3d310c07
  9. 09 Nov, 1998 1 commit
    • Ben Avison's avatar
      Optimisation to new WimpSymbol substitution code: in icons containing fonts... · af05965b
      Ben Avison authored
      Optimisation to new WimpSymbol substitution code: in icons containing fonts other than the desktop font, the substitution table is only calculated when a symbol character is encountered.
      
      Embryonic cut-n-paste support introduced (currently in desktop builds only):
        * workspace is allocated and initialised;
        * extended Wimp_GetCaretPosition implemented;
        * pushfontstring adapted to allow insertion of arbitrary control sequences in
          font strings (to allow selected text to be plotted in inverted colours).
      Inverted, unfilled text icons now work properly again in <256-colour modes.
      Reworked NC error box code: see Doc.IconHigh.
      
      Version 4.11. Tagged as 'Wimp-4_11'
      af05965b
  10. 23 Oct, 1998 1 commit
    • Ben Avison's avatar
      Adapted assembly process so that the choice of Options file (previously based... · 26369fa5
      Ben Avison authored
      Adapted assembly process so that the choice of Options file (previously based purely on the "System" variable) can be overridden by passing "OPTIONS=foo" as an argument to either MkRom, or to amu/amu_machine directly, or indirectly, by specifying it in the components file for a build. To accomplish this, it was necessary to switch from using aasm to objasm - hence the large number of source files affected in this commit.
      
      Version 4.09. Tagged as 'Wimp-4_09'
      26369fa5
  11. 20 Oct, 1998 1 commit
    • Ben Avison's avatar
      UTF-8 support from previous version switched in; additional alphabet-... · 2c759475
      Ben Avison authored
      UTF-8 support from previous version switched in; additional alphabet- conditional support added as follows:
      
      * Correctly converts character index returned from Font_FindCaret into byte
        index into raw string.
      * Left-arrow, right-arrow, delete-left and delete-right now act as far as
        the next character boundary, instead of to the next byte.
      * Menu item text justification works again (it relies on overwriting spaces
        with hard space characters, which are two-byte characters in UTF-8).
      * General key handling code has been rewritten. The Wimp now has three
        internal key input buffers - one each for taking keyboard-generated,
        task-generated, and function-key-generated strings. Each input buffer is
        processed in chunks of one character, rather than one byte; malformed
        UTF-8 characters are rejected, so tasks don't have to worry about them
        (simplifying their character-handling code). There is also a key output
        buffer, to ensure that (UTF-8) sequences of Key_Pressed events are not
        broken up.
      * As a result of the above, multiple calls to Wimp_ProcessKey are now
        possible between calls to Wimp_Poll. Previously, this resulted in bytes
        getting jumbled up - making it useless for input of UTF-8 characters.
      * Multi-byte characters are inserted into writeable icons in one go, so you
        don't see a brief flicker of the "malformed character" symbol while the
        initial bytes are being inserted.
      * Multi-byte characters that don't entirely fit in a writeable icon buffer
        are not inserted at all.
      * A new validation string command ("U") can limit the contents of a
        writeable by number of characters, instead of bytes. This will hide the
        character sizes from the user interface.
      * Allowable characters (validation string command "A") now works on Unicode
        characters and character ranges.
      * Various other minor bugs are fixed (Wimp_ProcessKey 13 can activate a
        writeable menu item, Shift-arrow keys are always consistent in firing off
        Key_Pressed events, etc.)
      * Password icons supported: one symbol is displayed for each character
        (instead of for each byte); the display character (validation string
        command "D") can be any UTF-8 character; correctly displays the caret
        after set-caret-by-index calls, even though characters in the processed
        string are different width to those in the raw string, in password icons.
      
      Other changes:
      * The border around NC-style error boxes is resized when the error window
        is grown or shrunk.
      * Messages, CmdHelp and Template files made consistent across resource
        directories, including support for all Ursula features.
      * ShrinkableAreas turned back on in System=RCA builds.
      * User interface features of desktop OS builds standardised.
      
      Version 4.06. Tagged as 'Wimp-4_06'
      2c759475
  12. 30 Sep, 1998 1 commit
    • Kevin Bracey's avatar
      Spinner branch merged. · 818104e1
      Kevin Bracey authored
      Changed to use srccommit.
      All conditionals on "Version" removed.
      
      Version 4.01. Tagged as 'Wimp-4_01'
      818104e1
  13. 18 Sep, 1998 1 commit
  14. 07 May, 1997 1 commit
  15. 13 Jan, 1997 1 commit
  16. 05 Nov, 1996 1 commit