
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 
About Dr Wimp:
-
-
- (All in OvationPro format)
- 1 - Getting started
- 2 - Using the keyboard (and caret control)
- 3 - Putting graphics into a window + complete example application
- 4 - Menus + complete example application
- 5 - Loading/Saving data + complete example application
- 6 - Creating windows/icons 'on-the-fly' + complete example application
-
Archive is a subscription magazine for Acorn/RISC OS computer users. Why not find out more from its Web site at http://www.archivemag.co.uk/.
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:
- DWxxx.zip
- Docsxxx.zip
- Elixirs.zip
- Utils.zip
- Examples.zip
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:
(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 