  Autodocs  Static lib: 
 reaction.lib   --datasheet--   BrowserNodesA   ChooserLabelsA   ClickTabsA   FreeBrowserNodes   FreeChooserLabels   FreeClickTabs   FreeRadioButtons   GetAttrs   GetCode   LBAddNodeA   LBEditNodeA   LBRemNode   LibDoGadgetMethodA   OpenLayoutWindowTagList   RadioButtonsA Include GuruMeditation
  | 
 Docs » Autodocs » reaction.lib » --datasheet--
        reaction.lib -- ReAction support functions link library
         This library contains the autoinitialization code for the shared        library versions of the ReAction BOOPSI classes, thus sparing the        programmer from having to OpenLibrary() the classes manually. It        also contains stub functions for the node taglist allocation        functions of certain classes. These can be used by the DICE        compiler, which does not support #pragma tagcall.        Autoinitialization works just like normal SAS/C library autoinit.        By declaring the class base extern in all source files (easiest        done by #including the "proto" header, such as proto/layout.h),        the SAS/C linker will take the class base, together with the code        to open the class on program startup (and to close it on exit)        from this library. The same autoinitialisation code should also        work for DICE.        The version number to use for OpenLibrary() is contained in the        variable long __reactionversion. If you do not set this global        variable in your source code, it will be linked from this library,        With the release of V41 or greater classes in Release 2.0, it has        been considered prudent to requier them, so you should set this        value to 41. Note however, that classes NOT part of the ReAction        package are not effected by __reactionversion and will open with        any version available.        If the opening of a class fails, the autoinit code will cause the        program to exit with an error message of "Can't open version Y of        X". If you wish to continue without using a certain class, you        will have to open it manually.    SUPPORTED CLASSES        Version 1 of reaction.lib supports the following ReAction classes.        The version variable of each class is listed after the shared class        name.        images/bevel.image        images/bitmap.image        gadgets/button.gadget        gadgets/checkbox.gadget        gadgets/chooser.gadget        gadgets/datebrowser.gadget        images/drawlist.image        gadgets/fuelgauge.gadget        gadgets/getfile.gadget        gadgets/getfont.gadget        gadgets/getscreenmode.gadget        images/glyph.image        gadgets/integer.gadget        images/label.image        gadgets/layout.gadget        gadgets/listbrowser.gadget        gadgets/radiobutton.gadget        gadgets/scroller.gadget        gadgets/slider.gadget        gadgets/space.gadget        gadgets/speedbar.gadget        gadgets/string.gadget        Additionally, to help programmers, reaction.lib contains        autoinitialization for the following shared classes NOT part of        the ReAction package. Please remember that these gadgets do not        necessarily contain a CLASS_GetClass() type function for getting        the base class. Some of them have registered class names, some        have a function with another name. Some don't have functions at        all, in which case special care must be taken to make sure the        autoinit code is loaded (reference the class base variable, for        example TapeDeckBase, somewhere within the source). Refer to the        documentation of these classes to find out more.        gadgets/calendar.gadget        gadgets/colorwheel.gadget        gadgets/gradientslider.gadget        images/led.image        gadgets/statusbar.gadget        gadgets/tabs.gadget        gadgets/tapedeck.gadget        gadgets/textfield.gadget
         The following program will print out the class base of        layout.gadget and the base address of gradientslider.gadget (which        doesn't have functions or a proto header) when compiled and linked        with reaction.lib:        #include <proto/layout.h>        #include <proto/dos.h>        extern void *GradientSliderBase;        long __reactionversion = 37;        main()        {            Printf( "layout.gadget minimum version %ld class base is %lx\n",                    __layoutversion, LAYOUT_GetClass() );            Printf( "explicit reference to GradientSliderBase will force "                    "initialization:\n base address is %lx\n",                    GradientSliderBase );        }
  
 |