RISC World

Free house calls by Dr Wimp!

Ray Favre introduces the latest Dr Wimp

Have you ever wanted to write high-quality Wimp applications in Basic? Have you then looked in despair at the amount of programming needed to get a single window onto the desktop? Do thoughts of having to grapple with wimp polls, reason codes, parameter blocks, SWIs, indirection etc. turn you off? Well - come and lay down and relax on Dr Wimp‘s cosy couch!

On your first consultation (in the comfort of your own home) Dr Wimp will show you how to get a fully-working Wimp application (with iconbar icon, iconbar menu, Info box and a window) up and running within, literally, seconds - and all customised to your wishes. And not an SWI within sight!

Subsequent house calls will show you how to develop your applications to do what you want, allowing you to produce first-class results, whether big or small.

All DrWimp asks is that you are reasonably familiar with Basic - and if you aren‘t, Dr Wimp can even put you in touch with a course of treatment for that!.

Interested? Then read on .....

What Dr Wimp isn‘t

Dr Wimp is not just another wimp-library leaving you to your own devices to learn how to harness the library‘s power. Dr Wimp does not lock you in to just the options and facilities that it provides. In the (very unlikely) event that it doesn‘t already provide everything you want, you can simply add your own Basic/Assembler routines as you go. (And hopefully you will also submit these as suggested additions to Dr Wimp.)

What Dr Wimp is

Dr Wimp is a complete Wimp-programming package making it very easy to produce robust applications both big and small, without the steep and long learning curve necessary with conventional Wimp programming. Dr Wimp also has the advantage that is actively supported and under continual development - mostly in response to ideas from the large community of existing users. (Several well-known p.d. applications have been produced with Dr Wimp.)

Using Dr Wimp

With Dr Wimp you commence any new application development in one of two ways: either start with a copy of Dr Wimp‘s skeleton application called - somewhat originally - !MyApp; or use the supplied !Fabricate utility to give you a customised and expanded version of !MyApp with more meat on the skeleton. Whichever method used you then start to build up your application using Dr Wimp‘s user-functions‘ and wimp-functions‘.

The wimp-functions‘ are similar - but by no means the same as - the contents of an ordinary wimp library. They hide all the clever stuff - but it is always there for you to freely examine if you wish. But it is the user-functions‘, and how they link with the wimp-functions‘, which makes Dr Wimp so different and so effective.

With the combination of the two, you don‘t have to worry about how to detect user mouse-clicks, menu selections, file dragging etc. All that is done for you; leaving you to concentrate on what things you want to happen when these user actions take place.

The DrWimp library then comes to your aid: it contains a large number of wimp-functions which carry out hundreds of operations for you: like opening windows, reading/writing text from/to icons, selecting/deselecting icons, creating/reading/writing from/to menus, loading/saving files, manipulating menus/sub-menus, drawing drawfiles/sprites, plotting text, printing, showing the colour-picker, etc. etc. the list is very long indeed and each of them reduces a complex coding task to a single simple call - hiding all the complication from you.

Further, when you‘ve finished your programming, the Dr Wimp package offers several utilities to slim down and speed up the final version and to render the coding unreadable - if that is your wish.

What you get

In Dr Wimp‘s black bag you will see:

The seminal !MyApp application, from which all others will spring.

A Documents folder containing a fully up-to-date Manual in Impression Publisher format (currently 136 pages with index); the same Manual in plain text; a utility giving full details of the wimp- and user-functions; a StrongHelp version of the same thing; various textfiles with release and upgrade notes etc.

An Examples folder with over two dozen small, well-commented, applications demonstrating how Dr Wimp is used.

A Tutorials folder containing window templates for you to use if you want to follow the tutorial introduction - which is highly recommended for first-time users.

A Utils folder containing nearly a dozen freeware utilities to help you either during or after your programming - including !TemplEd (a very popular template editor), !Linker, !MakeApp and Basic program compactors. Plus the very popular !Fabricate to allow you to kick-off in seconds.

Finally, some more words about the !Fabricate utility

And as if it wasn‘t already so easy ..

Imagine this: you load !Fabricate in the usual way onto the iconbar and open its main window. This has sections giving you the opportunity to customise:

  • your application‘s name;
  • whether to have an iconbar icon or not (with optional text beneath it);
  • whether to have an iconbar menu or not and, if so, whether it should be a default 2-item ”Info/Quit• menu or a custom menu of up to 17 items which you specify;
  • whether to load your own window templates or not and, if so, which one of these should open when the iconbar icon is clicked.
  • whether to have an Info box or not and, if so, whether it should be a default one with text of your choice or a custom one which you supply in the dragged window template above. Also, whether the Info box should be linked to an Info‘ item on the iconbar menu or not.

Having spent a few moments making these choices - or checking that you are happy with the default choices - you then click on OK‘, drag a Save icon to wherever you wish and ......

Hey Presto! Within a second or so a full application appears ready for you to run and doing what you have asked it to do. Inside the application folder will be all the usual things you would expect: a !Run file, Sprites, Templates and, of course, your fleshed-out skeleton !RunImage and the DrWimp library.

In short, you‘re all set up ready to do the interesting stuff with Dr Wimp‘s expert help. All the tedious customising start-up steps are done for you.

Dr Wimp Version 3.58 (1st January 2001), The full Dr Wimp package is included with this edition of RiscWorld.

Enjoy! - Ray Favre