INTRODUCTION
------------
  EasyGUI_OS12 is a fully compatible version of EasyGUI V3.3b4, which
  was enhanced to work under any versions of the Amiga-OS which are
  supported by Amiga-E (V1.2+/V33+) (original EasyGUI requires V37)
  All pre V36 OS support functions were written in hybrid way, so that
  on newer Amiga-OS everything is done the same way as in the original
  EasyGUI, which is a very future compatible solution IMHO.
  Programs using the EasyGUI_OS12 modules do not have any additional
  requirements unless they are run on pre V36 Amiga-OS, in which case
  they require the "gadtools13.library" V34.23 by JABA development,
  which is not part of this package, since I do neither know about the
  legal state of that library, nor do I know how to contact the author
  yet (HELP ME PLEASE!!!) Check your libs: directory or the stonecracker
  archive from aminet or visit amigasystems.org to find this lib.
COPYRIGHT
---------
  Note that this is an "unofficial" release of EasyGUI, released with
  permission of Jason R. Hulance (current maintainer of EasyGUI).
  The EasyGUI module, the EasyGUI example sources and docs are
  Copyright (c) 1994-6, Wouter van Oortmerssen (the author of the great
  language E) and Jason R. Hulance (the author of the "beginners.guide"
  and long time supporter of E).
  The plugins, demo sources and docs in the EasyPlugins folders are
  (C) Copyright Ali Graham, Fabio Rotondo and Ralph Wermke, used with
  permission too. See the headers of each source file to find out who
  exactly did what.
  All changes and additional files are Copyright (c) 2000,
  Ralf 'hippie2000' Steines [metamonk@yahoo.com] and inherit the legal
  state from the original EasyGUI disctribution. (Reuse there is welcome :)
  Please do not redistribute any modified versions of these files
  without having talked about first, since this is going to be updated
  again (hopefully :)
PROGRAMMERS INFO
----------------
  EasyGUI_OS12 is used in the same way as the original EasyGUI, so read
  the original manual which you can find in the docs/easygui#? folder.
  Additionally to all info provided there you need to know a few
  differences:
  - The workbenchbase shared by EasyGUI_OS12 will be NIL if the
    workbench.library could not be opened (which is the fact on older
    Amiga-OS) WITHOUT raising an exception. So, if you use AppIcon/
    AppTool/AppWindow functions test workbenchbase first and degrade
    graceful if it is NIL. The EasyGUI_OS12 builtin AppWindow support
    is already safe.
  - Write hybrid code if you use new os functions, and do not rely on
    KickVersion() only (which just checks the exec library version).
    For this the  module 'hybrid/version' is provided with this package,
    making life easier for you:
      bool:=intuiVersion(minver)        -> intuitionbase version
      bool:=gfxVersion(minver)          -> gfxbase version
      bool:=libVersion(libbase,minver)  -> whateverbase version
  - Take care that plugins you use also were compiled with EasyGUI_OS12
    otherwise both versions of EasyGUI will be included in your project.
    (check the example plugins how to do that best)
  - When writing plugins you will very likely need the taglist parsing
    function GetTagData() of utility.library. Since this library does
    not exist on older Amiga-OS versions you should use the hybrid
    replacement in the module 'hybrid/tagdata' instead, which uses the
    utility function in case of a non zero utilitybase, otherwise a
    replacement. The module 'hybrid/utility' provides you with the
    necessary open and close functions which do not raise an exception.
      openUtility()   -> at the beginning of the main prog
                         (no return code, result is utilitybase)
      data:=getTagData(tag,default,taglist) -> within the plugin
      closeUtility()  -> at the end of the  main prog
  - Note that old intuition was not very resistant against passing it
    stupid values, so don't blame me or the authors of EasyGUI for
    possible GURUs. During tests i made excellent experience with
    gadtools13.library under WB1.2 and 1.3, and i did not experience
    any GURU which was not my fault :)
    DANGER: the EasyGUI functions movewin() and sizewin() horribly
    crash on early intuition versions when the window is moved out
    of the screen. In the next release i should implement some
    clipping to avoid this.
  - Using changing GUIs under early intuition versions requires some
    care during design. Best: don't use. Second best: try to make the
    size of all GUIs the same, and try to open the biggest one first.
    The changegui feature relies on window resizing (which is not
    guaranteed to happen ever) and may by this lead to dangerous
    gadget sizes. Modern intuition is flexible in such cases, but
    early intuition verions prefer to crash in such situations.
GADTOOLS VERSIONS
-----------------
  Note that gadtools13.library and even early real gadtools versions
  misses some functions which are present in newer ones. This should
  not be a big problem since all important things work. Just don't rely
  on the behaviour of recent gadtools and your software will work fine.
  Here a reference of things I noticed, sorted by gadget kind:
      BUTTON,SBUTTON    GT13  -
                        GT37  -
      CHECK             GT13  -
                        GT37  -
      MX                Do not use disabling, really makes no sense:
                        GT13  only disables + ghosts the first item.
                              resize breaks disabling.
                              Text is spaced but not rendered.
                        GT37  disabling visibly sets to first item
                              of the list, value is not affected.
                              Resize restores the visible state.
                              The left or right text is spaced but
                              is not rendered.
      CYCLE             GT13  set or resize breaks disabling
                        GT37  -
      INTEGER,STR       GT13  -
                        GT37  -
      NUM,TEXT          Do not use disabling, really makes no sense:
                        GT13  can be disabled, but disabling breaks
                              by set or resize and is NOT possible
                              with any later GT versions at all!!!
                        GT37  No disable possible. This is no bug but
                              a feature. Maybe EasyGUI should not
                              allow disabling of these gadgets at all.
      SLIDE             Do not use without a slider value format text!
                        GT13  always clears the background behind
                              slider values, even with an empty format
                              string. Sliders values are still a TODO
                              in EasyGUI so no workaround was added.
                        GT37  Rendering errors after a set within a
                              disabled gadget, old knob position is
                              cleared and remains unghosted.
      SCROLL            GT13  -
                        GT37  Rendering errors after a set within a
                              disabled gadget, old knob position is
                              cleared and remains unghosted.
      LISTV             Do not rely on the read only feature, use a
                        "do nothing" action funtion additionally.
                        GT13  set or resize breaks disabling, read
                              only (recessed) mode does not exist.
                              always read/write.
                        GT37  Listviews can't be disabled
      PALETTE           GT13  set breaks disabling, setting to
                              a value above the screen's depth is
                              not visible (but works internally)
                        GT37  setting to a value above the screen's
                              depth is not visible (but works
                              internally)
      BEVEL,BEVELR      GT13  no recessed bevel, both render same.
                        GT37  -
  GT13 means gadtools13.library, GT37 means gadtools.library V37...
  I had no access to a V36 ROM so far (or is GT36 disk based?),
  so i could not test this gadtools version.
 |