Dr Wimp logo

Version 5.00 (29th November 2008)
!!Click here to see changes made in latest release!!

© Andrew Ayre 1995-99

© Ray Favre 1999-2008

For users of RISC OS machines.


To Ray Favre's Welcome page.

Happy to be hosted by Orpheus





About Dr Wimp:









Back to start of page               To Ray Favre's Welcome page.




Introduction

The Doctor Wimp package comprises a set of utilities and a function library designed to make multi-tasking desktop (Wimp) programming very easy for anyone reasonably familiar with BBC Basic.
The heart of the package is a rather special library (called DrWimp for short) which Andrew Ayre developed constantly from March 1995 until early 1999. (From 1st May 1999, Ray Favre took over the support and distribution of the package.)

The package therefore represents hundreds of manhours of work and is Public Domain (freeware). It comes with an on-disc Impression-format User Manual (in both Impression and Plain Text formats) which runs to over 200 pages (which tends to increase with package upgrades!).

The beauty of Dr Wimp is that users never have to fiddle about with blocks of memory, 32-bit words, bytes, bits, or see a single SWI call, etc.

As an example, to get an application to put an icon on the iconbar, open a window when clicked on and provide an iconbar menu takes roughly 16k of Basic user-coding by normal methods. Using Dr Wimp, the same thing can be done easily and reliably with just a few lines of user-code - still using Basic i.e. no need to learn another language.

The latest version of the Dr Wimp package is now available, by download or mail. Full instructions on how to upgrade from any version to the latest version are included.




Back to start of page               To Ray Favre's Welcome page.




Overview

DrWimp consists of a matched set of 'user-functions' and 'wimp-functions'. These are either Basic DEF FNs or DEF PROCs.

Wimp-functions are held in the DrWimp library and you, the programmer, call them as necessary to get DrWimp to do what you want.
User-functions are held in the !RunImage file. They are called automatically and as necessary by the DrWimp library. You use the user-functions as your main !RunImage structure, adding Basic code to them as required.

For example, in your !RunImage you could call the wimp-function PROCwimp_menupopup to open a menu. That menu could have a save window attached to it and if the user drags the save icon then the user-function PROCuser_savedata (whose DEF is always in the !RunImage) is automatically called by the Dr Wimp library. Thus, you enter some simple code into the DEF PROC to direct the details of the saving.

A 'blank' application will therefore always consist of the 'DrWimp' library of wimp-functions, a '!RunImage' file containing all the user-function DEFs (which are initially empty or return a default value) plus the usual '!Run', '!Sprites', etc. files.

A skeleton application like this is provided for you, on which your program is built.


Alternatively there is a utility (!Fabricate) with which you can create - within seconds of making your choices - a customised 'starter application' to save time with adding an iconbar icon, iconbar menu, info window, loading templates and sprites etc..




Back to start of page               To Ray Favre's Welcome page.




Features

(Note that Dr Wimp requires RISCOS Version 3.60 at least.)

  • Get started with a skeleton customised application within seconds, ready for you to commence developing your application instead of worrying about the multitasking and setting up the wimp essentials.

  • Build complex menu structures quickly and easily.

  • Easy loading in of windows from template files.

  • Message file support.

  • Quick and simple implementation of save boxes and save procedures using only a few lines of code. Normal RISCOS Wimp save operations implemented.

  • Simple process to load files of any user-designated type.

  • Multiple panes per window.

  • Sliders, bars.

  • Dynamic (changeable) menus, context sensitive menus.

  • Menu item enabling, disabling, dotted lines, writeable menu items, etc.

  • Drawfile, Sprite and JPEG rendering direct to screen or in windows.

  • Reading and writing/changing text in windows, menus, window titles and menu titles.

  • Changing iconbar icon and text under iconbar icon.

  • Tutorials in the Manual which cover all fundamental aspects of DrWimp and provide hints and tips and methods on implementing common Wimp facilities.

  • Interactive help for windows, icons and menus supported.

  • Easy to make long operations multitask, such as file loading and calculations.

  • Private sprite areas supported.

  • Text plotting and colour selecting.

  • Loading 'banners'.

  • Dynamic areas (for RISC OS 3.10+) supported.

  • Pointer/Mouse handling functions.

  • Printing with options for multiple copies, ranges of pages, 1, 2 or 4 up printing, landscape and portrait options.

  • Applications can use Colour Picker (for RISC OS 3.50+).

  • Applications can respond to 'desktop save' protocol.

  • You can customise iconiser response.

  • Applications can display outline font menus.

  • Object Linking & Embedding (OLE) supported, both as 'client' and 'server'.


    And lots more...


    Back to start of page               To Ray Favre's Welcome page.




    What do you get?

    The complete DrWimp package consists of:

  • Skeleton application.

  • 200+ page Manual in various formats containing comprehensive material to introduce and guide you through the Dr Wimp package.
    The Manual includes tutorial material which - using the tutorial files supplied - take you through all the fundamentals of producing desktop applications under RISC OS.
    The Manual rounds off with a list of all the user- and wimp-functions DrWimp provides for users, containing a short explanation of what they all do and what the parameters are.
  • Fabricate utility - allows you to instantly create a customised skeleton application. Options which can be include are: iconbar icon, iconbar menu (standard or custom), info window, load your custom window template file and sprites, open chosen window with iconbar click, etc.

  • Fnc'n'Prc utility - handy viewer which shows all the wimp-functions and user-functions as listed in the Manual. They are grouped into sections are are searchable. 'Export to caret' facility to reduce typing.

  • FuncProc utility - similar to above but in StrongHelp format.

  • CodeTemps utility - to convert window templates into BASIC code (for using DrWimp's facilities to create window/icons without templates, if so required).

  • Linker utility - a post-programming utility which checks which parts of the DrWimp library you are using and extracts them into the !RunImage file. This greatly shortens your final code.

  • TemplEd - 3rd party template editor.

  • 3rd party BASIC file squasher.

  • MakeApp2 - 3rd party BASIC to absolute file converter.

    (all 3rd party utilities have their own distribution conditions)

  • Notes on upgrading applications which use previous versions of DrWimp.

  • Around 25 example applications which show how to achieve different things and contain fully commented source code. There are examples on such things as panes, sliders, user graphics, menu manipulation, displaying drawfiles, scrolling text lists etc. There is an example for all main aspects of DrWimp, and hence of RISC OS also.

  • All the files needed for the tutorials.




    Back to start of page               To Ray Favre's Welcome page.




    Conditions of Use

  • The Dr Wimp package is distributed on an "As Is" basis, without warranty. No liability can be accepted for any consequential loss or damage, however caused, arising from the use of this package.

  • The Dr Wimp package (apart from the 3rd party utilities as detailed in the !!ReadMe!! file) may only be distributed as a whole. For conditions of use of these 3rd party applications see their own !Help files.

  • Distribution of the Dr Wimp package (and programs constructed using the DrWimp library) by third parties:

    Freeware. The DrWimp library may be distributed for free and without the documentation, examples, utilities, etc. if it is being used as part of a freeware product. (It would be nice if your documentation acknowledged Dr Wimp - and don't forget that my web-site has a page for links to your Dr Wimp applications, if you let me know .....)

    Shareware. Those using Dr Wimp to produce Shareware products must donate 10% of the received income from these products to a charity of their choice within 6 months of receiving the income. The Shareware user-documentation must state prominently that this charity donation is being made and also that Dr Wimp was used to produce the product. The application's name and author should be notified to the Dr Wimp copyright holder but no prior permission or further contact is needed.

    Commercial. If you wish to distribute the Dr Wimp package with a commercial product (or distribute a program commercially that uses Dr Wimp) then a specific licence is needed from the Dr Wimp copyright holder.


  • Public Domain libraries may make a reasonable charge for materials, handling, etc. as long as this does not exceed £2.00 (UK) net for the DrWimp package.

  • The DrWimp library may be reproduced in part if crunching and mangling utilities such as !BSquasher and !MakeApp are used, otherwise it must be reproduced in whole, complete with its opening REMs containing the Conditions of Use and the copyright banner.

  • If the DrWimp library is being reproduced in full then it may be added to the !RunImage (or similar) file, and does not have to be separate.

  • The author retains copyright of Dr Wimp, documentation and examples at all times.



    Back to start of page               To Ray Favre's Welcome page.




    Back to start of page               To Ray Favre's Welcome page.


    How do you get Dr Wimp?

    You can get it by clicking below.

    The current complete "Dr Wimp package" (as defined for Conditions of Use) comprises the following downloadable files:


    All the above files are normally upgraded with each new release. Therefore it is important not to mix files with the same name from different releases.


    DW500.zip  (95k) - the new !MyApp skeleton application, including the DrWimp library and !RunImage - plus Upgrading instructions and a 'ReadMe' text-file listing the contents of the total Dr Wimp package; plus text-files giving the Version Release History and Credits (N.B. This version should run OK with all RISCOS Versions from 3.60 upwards.)

    Docs500.zip  (930k) - up-to-date documentation for the above Version. Includes Manual in both Impression Publisher and plain text versions, Upgrading instructions, History, Conditions etc. and Tutorial support material. Also includes !Fnc'n'Prc to display/seach/print wimp- and user-function definitions - and a similar StrongHelp file. (The Manual is also available in other formats, see below.)
    Please note that the documentation for Elixir_08 (the OLE Elixir) is contained separately with the Elixirs, see next item.

    Elixirs.zip  (230k) - up-to-date versions of all Dr Wimp Elixirs. In particular, for Elixir_08 (the OLE Elixir) comprehensive separate documentation is included here, mainly in StrongHelp format.

    Utils.zip  (520k) - several utilities to add to the usefulness of the package. Including: !Fabricate (creates customised skeleton applications); window template editors !TemplEd and !WinEd; !CodeTemps (converts window/icon templates to exact wimp-function Basic code for creating windows/icons within the code, instead of loading from templates, if so required); several optional post-programming utilities to 'link', compress and 'make absolute' your finished product.

    Examples.zip  (221k) - 25 well-commented small applications demonstrating various aspects of using Dr Wimp - so you can see complete and real examples of how it's done.






    For added convenience to existing users who wish only to download significant changes from the previous version - or the Manual in other formats:

    DW500.zip  (95k) - the new !MyApp skeleton application, as above.

    ManImp500.zip  (480k) - The complete Manual for the current Dr Wimp Version, in Impression Publisher format. (Included in Docsxxx.zip above)

    ManTxt500.zip  (154k) - The Manual for the current Dr Wimp Version, in plain text format. (Included in Docsxxx.zip above)

    ManOP500.zip  (370k) - The complete Manual for the current Dr Wimp Version, in OvationPro format.

    ManHTML500.zip  (310k) - The Manual for the current Dr Wimp Version, in HTML format.

    Fnc500.zip  (54k) - The utility !Fnc'n'Prc for the current Dr Wimp Version, giving a desktop reference to all wimp- and user-functions. (Included in Docsxxx.zip above)

    FncSH500.zip  (160k) - The utility FuncProc for the current Dr Wimp Version, a StrongHelp near-equivalent to the previous item.(Included in Docsxxx.zip above)

    Fab500.zip  (113k) - The utility !Fabricate for the current Dr Wimp Version. (Included in Utils.zip above)




    And, finally, just in case:

    Version 3.80 (31st Mar 2003)

    DW380Ref.zip  (851k) - This version was the one which was current when the second edition of the charity book "Dr Wimp's Surgery" was written and was supplied with that book. It is included here in case you have lost it! It is a cut-down package containing the !MyApp skeleton application, including the DrWimp library and !RunImage - plus compatible versions of the Manual, Tutorial material, !Fnc'n'Prc and !Fabricate.






    or you can Email me at:
    rayatrayfavredotmedotuk (Sorry about this 'non-live' address. It's an attempt to reduce spam.)
    and request a copy via Email.

    or, finally, you can send me a 1.6M format disc plus return postage (email me for the address).



    Back to start of page               To Ray Favre's Welcome page.


    Credits

    There are many many people to thank for lots of things. Full credits are inside the DrWimp archive in the Documents folder. Thanks to everyone who has supported the author with DrWimp over the years. Let's keep it going!




    "Dr Wimp's Surgery"


    !!! 2nd Edition March 2003 !!!

    This all-profits-to-charity book, by Ray Favre, gives a good introduction to Wimp-programming in general as well as comprehensive coverage of the Dr Wimp package.

    Read more about it and how to get it - and help charity at the same time.



    "Starting Basic"


    !!! 1st Revision March 2003 !!!

    This all-profits-to-charity book, by Ray Favre, is aimed mainly at beginners in Basic programming on RISCOS machines - but it is also a good reference book on BBC Basic.

    Read more about it and how to get it - and help charity at the same time.


    Back to start of page               To Ray Favre's Welcome page.

    Happy to be hosted by Orpheus