Reviewed by Matthew Jones


Issue 24

Nov/Dec 86

Next Article >>

<< Prev Article




If you have an ST, you will have noticed that many programs consist of two files, the APP (or .PRG) file and the .RSC file which contains encoded dialogs, icons, and other GEM objects. I have in past issues reviewed several compilers each able to create the APP application program file but, as I said in issue 21, this is only half the process of generating a GEM application.

A resource editing program is needed to generate the .RSC file. The trouble is that until now, the only resource editors have been the Digital Research (DRI) Resource Construction Set (RCS) which suffers from bugs and design problems often making it unusable, and the rather limited Megamax version. Both come with expensive (and perhaps unnecessary) C compilers. To solve the problem Kuma have released K-Resource, an advanced resource editor which is available on its own.


K-Resource is packed in an 8 inch square folder and comes with a 31 page manual. The manual is in three parts, an introduction, an example, and a (relatively) large reference section. Like many manuals, this one only sets out to tell you what K-Resource will do, and how to use it, it does not really aim to teach you all about resources, what they are, how they work, and how to program for them - if you want to know that sort of information, get a copy of the ANTIC professional GEM series (1 through 15). The example takes the user through a very simple resource creating session, with 12 accompanying screen dumps. It is a simple demo, and I thoroughly recommend that anyone new to resource editors should play with it for some time. The reference section is quite thorough and explains all of the programs operations.


K-Resource differs from the two aforementioned editors in its basic operation by not having a window with all of the objects on the desktop which you copy into the single resource window to use. The K-Resource desktop is used very much in the same way as the normal GEM desktop (you can copy and delete files, create and open folders), but has been enhanced so that you can copy a resource file icon from the window (the disk) onto the desktop (representing memory) by dragging. By dragging more than one, you can edit several resources at the same time (something unique to K-Resource). When editing a resource tree (tree is the term used to describe the whole of a GEM `part', tree types are: forms (dialogs); menus; free strings; alerts; and free images) you generate a new object by selecting a menu item which brings up a dialog with suitable possible parts. Click on one and you have it. This is easier than the drag from window used by the other editors and means you can use a 'fulled' window if convenient.

The increased usability does not stop at the new item selection. When you have an object you will want to customise it (to change the text in a string, make it coloured or give it a `macro' name for reference by the application) and a double click brings a large dialog with all the variables (other editors make you go to several places to make all the changes). Alternatively a single click produces a pop-up menu, just where the cursor is, with options available from: edit (like a double click); hide; unhide; flatten; snap; sort; and retype.

If you click on an icon or image, you can use a built in icon editor which is more convenient than having to use a separate one (though see later). The final option available is a test facility. Again unique to K-Resource, this allows you to do a simple test of your resource before you leave the editor. If you test a dialog, it will appear in the middle of the screen, fully animated, and allow you to click on buttons, edit strings, and use all the various parts to ensure correct operation. When you select an EXIT button an alert showing its number and name (if any) appears, and you can either continue or end the test. Similarly menus and alerts can be tested (anything unsuitable for testing, e.g. a tree with no exit button, is automatically untestable).

Error messages are provided in a very novel way. If you make a mistake, you do not usually get an alert, rather the erroneous item is surrounded by a thick, rounded rectangle linked to another box which explains the error. A very nice and useful touch, and one I hope others learn to emulate.


K-Resource also makes some of the more advanced GEM resource facilities easily available. When DRI defined the resource structure they left a few spare flags around for programmers to use for special effects. These extra flags (obstate, obflags and obtype high byte) are included in the K-Resource flag setting dialog.


Unfortunately K-Resource is not without its problems. The first I noticed was that you cannot load icons from other icon editors (indeed you cannot load icons at all, only edit them). If you have to make two versions of a resource for different resolutions, it is useful to be able to create a low resolution version from the high resolution file, by just loading in the correctly sized icons. This is partly solved by the fact that you can delete the old icon and then copy the new icon from another resource. This is risky though as it is critical that the order of the icons is the same in both resources if one application is to use both. Deleting and then copying is likely to alter the order.

The next problem I had was also with icons. I found it impossible to move a small image (an icon without a mask) just a fraction when it was at the bottom of a tree. This is because as soon as I started to drag it, an enormous `shadow' was generated which fell off the bottom of the tree and prevented me placing it back down again. Similarly, I found it impossible to shrink an image box size to reduce its inverse-select area.

It may be that I make exceptional demands upon a resource editor, but another of the facilities I occasionally require is the generation of the C source code from which a resource can be recreated on another machine (an IBM for instance). Of the three resource editors available, only the Digital Research version can produce the C source. I hope a future version of K-Resource will give this option too.

The above problems may seem trivial, especially as most users will not notice them, but there are other more serious errors. K-Resource occasionally just hangs, I'm not sure when, but it seems to be when you cancel an operation. Once hung, you have to reboot, and that means that you lose all your work. I also managed to bomb the system in the test mode by double clicking on a TOUCHEXIT button. The reason for this should be well known to the person who wrote K-Resource (in this situation the high bit is set in the returned 'hit-button' value, making it seem negative), and it worries me because it is a basic mistake and there may be more I haven't found. It is obviously necessary to save your resource often.


While there are a few problems they are relatively minor when weighed against the advantages that K-Resource gives you, and certainly less serious than those in the DRI editor. It really is much easier to use than the other resource editors, and is well worth adding to your set of utilities. Remember my reservation that you need other literature to tell you about resources and how to program for them though.

K-RESOURCE costs 39.95 and is published by Kuma Computers Ltd. 12 Horseshoe Park, Pangbourne, Berks RG8 7JW.