home *** CD-ROM | disk | FTP | other *** search
- Short: GUI creation library - developer archive
- Author: P-O Yliniemi / Staffan Hämälä
- Uploader: peoyli@algonet.se (P-O Yliniemi)
- Version: 37.7
- Type: dev/gui
-
- Some examples may have weird names (for those who don't understand swedish),
- and some text files may be in swedish. This will be fixed in a later release.
- Contact me if there is any problem using any of the examples or the docs.
-
- Two versions of the .library file is available with this developer package.
- One is the "normal" library, and the other one prints out a lot of info when
- executing a program that uses GadUtil.
-
- If you need to use the debug version, rename the normal version in libs:,
- copy the debug version to libs, and rename it to gadutil.library. Reverse
- this to change back to the normal version. Don't forget to "flush" all
- unused libraries or reboot before testing the program again.
-
- All necessary files for Asm & C development are included.
-
- Changes overview:
- ~~~~~~~~~~~~~~~~~
- * 37.7 (12-Jul-96)
- Bug fix in the prototype for GU_ChangeStr (two parameters was mixed up).
-
- GU_ChangeStr now works for both STRING_KIND and TEXT_KIND gadgets. If the
- gadget isn't a STRING or TEXT gadget nothing is done.
-
- Bug fix in GU_CoordsInGadBox function. The register D3 was trashed in all
- earlier versions of GU.
-
- Three new tags allows any STRING or TEXT_KIND gadget to show a (localized)
- help text for each gadget in the window. These tags also works with the
- special gadgets (BEVELBOX, LABEL, PROGRESS). The gadgets attached to the
- window is scanned in sequential order. If a BEVELBOX_KIND gadget matches
- the pointer position, this gadget's help string will have the lowest
- priority. If another BEVELBOX is found inside this, the help string for
- that one will be used if there is no gadget inside that box. The help
- text can also be displayed in the window/screen title.
-
- The TEXT_KIND, STRING_KIND, NUMBER_KIND and INTEGER_KIND gadget's current
- value can now be read from the gu_Active field in the structure that
- gg_UserData points to.
-
- * 37.6 (15-Jun-96)
- gu_Active in the structure that gg_UserData points to was not updated
- when using any routine that used GU_SetGadgetAttrsA(). Now it checks
- the gu_Active value to see if it is out of the gadget's limits.
-
- gng_Flags and gng_GadgetText is now cleared before creation of every
- new gadget.
-
- The LAYOUTA_Spacing tag for LISTVIEW_KIND gadgets is now used to
- determine the height of the gadget. If the height of a gadget should
- be about 4 lines (GU_HeightFactor, 4), the height of the gadget is
- calculated to 4*(font height+value of LAYOUTA_Spacing tag). The same
- method is used for the GU_AddHeiLines tag.
-
- Hotkeys for LISTVIEW_KIND gadgets works as they should again. In v37.5
- of GadUtil (and probably some earlier ones), the listview didn't scroll
- down when you selected the next entry.
-
- Inserted pragmas and prototypes for tagcalls (pragmas only for SAS/C).
- It is possible to create stub routines for the tagcalls for other
- compilers by using fd2pragma 2.0.
-
- Inserted links to the include files in the index file for GadUtil.guide.
-
- * 37.5 (29-May-96)
- Bug in PROGRESS_KIND gadget removed. If the gadget was set to
- show x/0 (also 0/0), a division by zero was done.
-
- Two new constants added to the include files: GADUTIL_VER and
- GADUTIL_REV.
-
- Bug fixes in test (demo) programs. The FPF_DISKFONT flag in the
- TextAttr structure was unset in all demo programs. Replaced the
- manual version check in the demo programs with the GadUtil function
- GU_CheckVersion. Removed unnecessary IDCMP flags from the demo
- programs and replaced GadTools IDCMP with the GU_MinimumIDCMP tag.
-
- * 37.4 (14-May-96)
- Created a new gadget kind: LABEL_KIND. This gadget kind is used
- to place text relative to other gadgets, bevel boxes, and other
- texts. Can use the same type of shadows that the text for the
- bevel box.
-
- Implemented a new function in the library: GU_CloseFont. Works
- like graphics CloseFont, but takes the parameter in A0 instead
- of A1.
-
- Replaced the list sort routine with a new one that sorts better.
-
- Wrote a new document, "GadUtil.index", that have a list over all
- gadutil functions, sorted by what they do. There are also some
- shortcuts to all tags for gadutil's own gadget kinds.
-
- Created two new flags for BEVELBOX_KIND and LABEL_KIND:
- BB_3DTEXT - can be used as a replacement for GUBB_3DText, TRUE
- LB_3DTEXT - can be used as a replacement for GULB_3DText, TRUE
-
- * 37.3 (10-May-96)
- Enforcer hits fixed in the code that handles the GU_AdjustLeft
- and GU_AdjustRight tags.
-
- A new function to clear the inner part of a window was added.
-
- A new function to size (and move, if necessary) a window was
- added.
-
- Bug fix in assembly language include file.
-
- * 37.2 (02-May-96)
- Started programming in StormC and did some tests with the library,
- noticed that there was a couple of errors in some include files.
-
- GU_UpdateProgress was wrongly specified in the FD/clib files.
- The output of GU_GetGadgetPtr was specified as (struct Gadget *),
- this is now corrected.
-
- Included an example in C that uses the PROGRESS_KIND gadget.
-
- * 37.1 (01-May-96)
- IMAGE_KIND gadget bug fix. The color of the unselected image of
- the gadget was wrong, if the image used more than 4 colors.
-
- * 37.0 (29-Apr-96)
- A new function that checks the library's revision added.
- Two new tags added: GU_FractWidth and GU_FractHeight. Suggested
- by Morten Amundsen.
-
- Some small bug fixes in 'C' include files (unterminated comments).
- Cleaned up BetterTest.c a bit (removed some {}). Bug fix on the
- last line of the example (GT_ReplyIMsg -> GU_ReplyIMsg).
-
- Added support for StormC in both installer script and include-
- file installer. Created dictionary for StormC, so that all words
- that belongs to GadUtil (functions, tags and constants) is shown
- in another color.
-
- * 36.60 (24-Feb-96)
- Uses the screen's font as the gadget font if no GU_DefTextAttr or
- GU_TextAttr tag is used. Bug fix from v36.59. Changed some docs,
- assembled all examples, changed installation scripts.
-
- * 36.59 (06-Jan-96)
- More docs completed (all docs, finally). Bug fix in the GU_AutoWidth,
- GU_AdjustLeft and GU_AdjustRight tags. The underscore character was
- counted as a normal one. This made gadgets without hotkeys one char
- smaller than other gadgets. A new function that sorts one or two
- lists was added. Some new constants added in include files.
- Changed GU_MinimumIDCMP to support hotkeys. Changed PROGRESS_KIND
- to use GU_GadgetText and GU_LocaleText. Uses the screen's font as
- the gadget font if no GU_DefTextAttr or GU_TextAttr tag is used.
-
- * 36.58 (01-Jan-96)
- SLIDER_KIND and SCROLLER_KIND gadgets returned wrong result in
- im->Code if the gadget was changes using the hotkey. Bug reported
- by Lucasz Szelag.
-
- * 36.57 (10-Dec-95)
- Some more docs finished. A memory loss bug was fixed.
-
- * 36.56 (10-Oct-95)
- Changed some routines, so that hotkeys can't be used on disabled
- gadgets. Made it possible to disable IMAGE_KIND, FILE_KIND and
- DRAWER_KIND gadgets.
-
- * 36.55 (30-Sep-95)
- Bug fix in the hotkey part of the library. Wrong code were sent back
- when using GU_LabelHotkey with a LISTVIEW_KIND gadget. A new gadget
- kind was created, PROGRESS_KIND.
-
- * 36.54 (06-Jul-95)
- Added support for GU_AutoWidth to CYCLE_KIND gadgets.
-
- * 36.53 (05-Jul-95)
- 3 new tags and 4 new flags was added for the BEVELBOX_KIND gadget.
- BEVELBOX_KIND gadgets can now have a shadow added to the text in the
- border. The "sun" can be placed in 4 different places. GU_MinimumIDCMP
- tag was added.
-
- * 36.52 (25-Jun-95)
- First public release. Some new flags for the BEVELBOX_KIND gadget was
- added. Supports a total of 100 bevelbox kinds.
-
- P-O 960712
- ~~~~~~~~~~
- ------------------------------------------------------------------------------
-
- GadUtil.library v37.7
- ~~~~~~~~~~~~~~~~~~~~~
- GadUtil is another gui library which main goal was to make it easy to
- create font sensitive user interfaces. The library has grown away from
- this main goal, and become another useful-routine-library.
-
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Distribution:
-
- 1) Distribution of this library is allowed in two ways:
- ¹) Only the .library file(s)
- ²) The complete distribution
-
- 2) Programmers of totally free software can use and distribute this
- library for free.
-
- 3) Programmers of Shareware, Licensware, commercial products and other
- programs that the programmer get any kind of profit from shall send
- a fully working (and registered) copy of the program and its docs to
- us. All larger updates of the program should also be sent to us.
-
- 4) Programmers of non-free software not covered by 1) and 2) (my Diskware
- concept belongs to this group) shall be treated as in 3) (a fully
- working and registered copy...).
-
- 5) All programs (except commercial products in some cases) must state
- that gadutil.library is used. This may be done in either the About
- requester or in the documentation, but best of all in both places.
-
- Demonstration programs for gadutil.library (that includes the full
- source) may be distributed without this note.
-
- Example for inclusion in About requester:
-
- "This program uses gadutil.library, which
- is Copyright © 1994-1996 by P-O Yliniemi
- and Staffan Hämälä."
-
- 6) All localized programs that uses this library should include the
- .ct file(s) to allow anyone to translate that program into their
- own language.
-
-
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Below is a list of some of the main functions covered by this library.
-
- * FAST (NO OR VERY SMALL DIFFERENCE AGAINST GADTOOLS) AND SMALL (LESS THAN 13k).
- WRITTEN IN ASSEMBLY LANGUAGE. NO F*CKING 'C' or any other slow language!
-
- * Font adaptive. Use any of the system fonts and most other fonts for
- gadgets, texts and menus. All gadgets are placed relative to each
- other, but can be placed at absolute positions (needed for the first
- gadget).
-
- * No need to use GIMMEZEROZERO windows, as this is automatically handled
- by the library. If you specify a gadget position of 10,10 the gadget
- will be placed at 10,10 within the window's border.
-
- * Localized. It is really easy to localize all your (new) programs by
- using this library. Functions and macros for creating localized menus
- are supplied.
-
- * Both assembly and 'C' language support. This is one of the things that is
- missing in most of the other gui libraries. Some extra macros are defined
- for assembly language users, and will make the gadget and menu creating
- process even more easy.
-
- * All GadTools gadgets are supported. Some extra functions are provided
- for ListViews. BUTTON_KIND (and IMAGE_KIND) gadgets have some extra tags,
- including a toggle-select option.
-
- 6 extended gadget types are handled by the library:
-
- · FILE_KIND - gadget for selecting a file.
-
- · DRAWER_KIND - gadget for selecting a drawer. Most programs also
- use this gadget for file selection.
-
- · IMAGE_KIND - uses an intuition image for the gadget. Can use
- different images for selected and non-selected state.
-
- · BEVELBOX_KIND - gadtools bevelboxes, with some extensions. All
- gadtools bevelboxes are supported (even with v37).
- Extensions allows text to be placed above, in or below
- the upper line of the box. All kinds can be inverted.
-
- New for v36.52: Bevelbox text placement extended.
- 3 new placements available together with the old
- ones: centered, left adjusted & right adjusted.
-
- BFT_BUTTON - GT v37 BUTTON_KIND border
- BFT_RIDGE - GT v37 STRING_KIND border
- BFT_DROPBOX - GT v39 BBFT_ICONDROPBOX border
- BFT_HORIZBAR - A horizontal shadowed line
- BFT_VERTBAR - A vertical shadowed line
-
- This makes it a total of 100 bevel box types. The bevel
- boxes are treated as gadgets by the library, and you
- can obtain the structure for the bevelbox in the same
- way as you get the gadget pointer.
-
- New for v36.53: Added optional shadow on bevel box text.
- The shadow has a selectable color/pen and the "sun" can
- be placed in four different positions.
-
- · PROGRESS_KIND - progress indicator gadget. Background and fill color
- can be selected. Supports values up to 4.294.967.295,
- but maximum value should not exceed 4.294.967.295/width.
- v36.55.
-
- · LABEL_KIND - a text label that can be placed relative to other texts,
- gadgets, bevelboxes and progress indicators.
-
- * Can create the minimum required IDCMP mask so that all gadgets works.
-
- * A new OpenFont (graphics.library and diskfont.library replacement) is supplied.
- This function will open any font (from RAM, ROM or load it from disk).
-
- * Functions for listviews include adding nodes (memory for the string is
- allocated by the function), counting nodes, getting node pointers, clearing
- a listview, attach and detach lists, moving nodes up and down. A function
- that allows you to sort one or two lists is included from v36.59.
-
- * No need to open gadtools.library anymore, since all gadtools functions are
- provided through this library. Some (the most useable) functions from locale
- library are also provided by gadutil.
-
- * Many libraries are opened through gadutil.library, and these library bases
- are available for your own use (you don't have to open or close some libs).
-
- * All gadgets are created using tag lists. Every next gadget will use the
- previous gadgets values as defaults. Only one call to the gadget making
- routine is needed for every gadget list.
-
- * All gadgets can have their own hotkey. No extra work is needed by the
- programmer (only one extra tag).
-
- * All gadgets (and bevelboxes, texts and progress displays) can have a help
- string attached to it. If the pointer is moved above that object, a
- selectable string or text gadget will be used to display the help string.
- The help string can be localized.
-
- * Distributed with lots of examples, mostly in assembly language, but also
- in 'C'.
-
- * Other functions include:
-
- · Status change for toggle select buttons.
-
- · String change for STRING and TEXT_KIND gadgets.
-
- · Disable functions for all gadget kinds (new for 36.56).
-
- · Routines to set up a busy-pointer (available for both v37 and v39). These
- routines also blocks the input to the main window of the program.
-
- · Routine to check if the mouse pointer is within a gadgets box. Useful
- for mouse-position sensitive appwindows.
-
- · Bevelbox and window refreshing functions.
-
- · Functions to clear and size/move windows
-
- * FAST (NO OR VERY SMALL DIFFERENCE AGAINST GADTOOLS) AND SMALL (LESS THAN 13k).
- WRITTEN IN ASSEMBLY LANGUAGE. NO F*CKING 'C' or any other slow language!
-
-
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Per-Olof Yliniemi Staffan Hämälä
- Box 78 Pellovägen 268
- SE-980 61 Tärendö SE-957 93 Pello
- SWEDEN SWEDEN
-
- email: email:
- peoyli@algonet.se staham@algonet.se
-
- phone:
- +46-(0)978-20522
-
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-