Short: GUI creation library - developer archive Author: P-O Yliniemi / Staffan Hämälä Uploader: P-O Yliniemi Version: 36.57 Type: dev/gui This library is currently in its ßeta testing stage. The only thing that is missing is some of the docs. All advanced functions are described, and all less advanced functions have at least a short usage docs. 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 for next release. 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. P-O 951212 ~~~~~~~~~~ ------------------------------------------------------------------------------ GadUtil.library v36.57 ~~~~~~~~~~~~~~~~~~~~~~ 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 ²) 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-1995 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 10k). 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. 5 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. * 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. * 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). * 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. * FAST (NO OR VERY SMALL DIFFERENCE AGAINST GADTOOLS) AND SMALL (LESS THAN 10k). 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 S-980 61 Tärendö S-957 93 Pello SWEDEN SWEDEN email: email: P-O_Yliniemi@spectre.talshiar.pp.se staffan_hamala@loyd.joy.se phone: +46-(0)978-20522 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ============================= Archive contents ============================= Original Packed Ratio Date Time Name -------- ------- ----- --------- -------- ------------- 739 389 47.3% 16-Dec-95 16:28:38 +- MakeArchive -.info 867 442 49.0% 16-Dec-95 16:28:44 +- MakeDevel -.info 1078 493 54.2% 16-Dec-95 16:28:44 +-MakeUser-.info 564 230 59.2% 16-Dec-95 16:28:38 +CatalogUtils.info 296 144 51.3% 16-Dec-95 16:28:38 +ASM-One_Data.sd 23292 13027 44.0% 16-Dec-95 16:28:38 +FlexCat 47196 14536 69.2% 16-Dec-95 16:28:38 +FlexCat_Eng.guide 1698 645 62.0% 16-Dec-95 16:28:38 +FlexCat_Quick.doc 305 160 47.5% 16-Dec-95 16:28:38 +Lattice_Data.sd 564 231 59.0% 16-Dec-95 16:28:44 +Docs.info 564 233 58.6% 16-Dec-95 16:28:40 +AutoDocs.info 1945 631 67.5% 16-Dec-95 16:28:42 +-MAKE-BIGFILE- 1496 366 75.5% 16-Dec-95 16:28:40 +00.GU_TableOfContents 25799 6841 73.4% 16-Dec-95 16:28:42 +01.GU_LayoutGadgetsA 374 192 48.6% 16-Dec-95 16:28:42 +02.GU_FreeLayoutGadgets 3360 1419 57.7% 16-Dec-95 16:28:42 +03.GU_CreateGadgetA 1542 725 52.9% 16-Dec-95 16:28:42 +04.GU_SetGadgetAttrsA 1761 884 49.8% 16-Dec-95 16:28:42 +05.GU_GetIMsg 727 361 50.3% 16-Dec-95 16:28:42 +06.GU_CountNodes 408 219 46.3% 16-Dec-95 16:28:42 +07.GU_GadgetArrayIndex 765 379 50.4% 16-Dec-95 16:28:42 +08.GU_BlockInput 598 302 49.4% 16-Dec-95 16:28:42 +09.GU_FreeInput 639 333 47.8% 16-Dec-95 16:28:42 +10.GU_FreeGadgets 445 247 44.4% 16-Dec-95 16:28:42 +11.GU_SetGUGadAttrsA 1726 799 53.7% 16-Dec-95 16:28:42 +12.GU_CoordsInGadBox 3580 1171 67.2% 16-Dec-95 16:28:42 +13.GU_GetGadgetPtr 597 310 48.0% 16-Dec-95 16:28:42 +14.GU_TextWidth 906 411 54.6% 16-Dec-95 16:28:42 +15.GU_GetLocaleStr 1877 823 56.1% 16-Dec-95 16:28:42 +16.GU_CreateLocMenuA 2238 966 56.8% 16-Dec-95 16:28:42 +17.GU_OpenCatalog 685 356 48.0% 16-Dec-95 16:28:42 +18.GU_CloseCatalog 390 209 46.4% 16-Dec-95 16:28:42 +19.GU_DisableGadget 388 219 43.5% 16-Dec-95 16:28:42 +20.GU_SetToggle 367 204 44.4% 16-Dec-95 16:28:42 +21.GU_RefreshBoxes 1062 512 51.7% 16-Dec-95 16:28:42 +22.GU_RefreshWindow 370 212 42.7% 16-Dec-95 16:28:42 +23.GU_OpenFont 317 183 42.2% 16-Dec-95 16:28:42 +24.GU_NewList 399 222 44.3% 16-Dec-95 16:28:42 +25.GU_ClearList 367 208 43.3% 16-Dec-95 16:28:42 +26.GU_DetachList 383 214 44.1% 16-Dec-95 16:28:42 +27.GU_AttachList 400 226 43.5% 16-Dec-95 16:28:42 +28.GU_AddTail 381 215 43.5% 16-Dec-95 16:28:42 +29.GU_ChangeStr 404 211 47.7% 16-Dec-95 16:28:42 +30.GU_CreateContext 539 278 48.4% 16-Dec-95 16:28:42 +31.GU_GetGadgetAttrsA 467 249 46.6% 16-Dec-95 16:28:42 +32.GU_CreateMenusA 377 206 45.3% 16-Dec-95 16:28:42 +33.GU_FreeMenus 493 259 47.4% 16-Dec-95 16:28:42 +34.GU_LayoutMenuItemsA 466 261 43.9% 16-Dec-95 16:28:42 +35.GU_LayoutMenusA 510 266 47.8% 16-Dec-95 16:28:42 +36.GU_GetVisualInfoA 396 207 47.7% 16-Dec-95 16:28:42 +37.GU_FreeVisualInfo 412 221 46.3% 16-Dec-95 16:28:42 +38.GU_BeginRefresh 423 235 44.4% 16-Dec-95 16:28:42 +39.GU_EndRefresh 441 228 48.2% 16-Dec-95 16:28:42 +40.GU_FilterIMsg 485 250 48.4% 16-Dec-95 16:28:42 +41.GU_PostFilterIMsg 1028 510 50.3% 16-Dec-95 16:28:42 +42.GU_ReplyIMsg 499 269 46.0% 16-Dec-95 16:28:42 +43.GU_DrawBevelBoxA 376 209 44.4% 16-Dec-95 16:28:42 +44.GU_FindNode 375 214 42.9% 16-Dec-95 16:28:42 +45.GU_NodeUp 383 219 42.8% 16-Dec-95 16:28:42 +46.GU_NodeDown 971 427 56.0% 16-Dec-95 16:28:42 +47.GU_UpdateProgress 334 173 48.2% 16-Dec-95 16:28:42 +99.GU_NewFunction 48244 16882 65.0% 16-Dec-95 16:28:44 +dev_historia.guide 7129 2528 64.5% 16-Dec-95 16:28:40 +dev_history.guide 7342 1328 81.9% 16-Dec-95 16:28:40 +gadtools.tags 63392 16898 73.3% 16-Dec-95 16:28:42 +GadUtil.doc 77684 18308 76.4% 16-Dec-95 16:28:44 +GadUtil.guide 1276 761 40.3% 16-Dec-95 16:28:44 +GadUtil.guide.info 10174 3795 62.6% 16-Dec-95 16:28:44 +GadUtil.manual 959 372 61.2% 16-Dec-95 16:28:44 +GadUtil.manual.info 9468 3482 63.2% 16-Dec-95 16:28:42 +GadUtil_dev.readme 1695 626 63.0% 16-Dec-95 16:28:42 +GadUtil_usr.readme 8236 3006 63.5% 16-Dec-95 16:28:42 +GUtilInfo.txt 340 97 71.4% 16-Dec-95 16:28:44 +PrivateFunctions 564 235 58.3% 16-Dec-95 16:28:38 +Examples.info 7009 2581 63.1% 16-Dec-95 16:28:40 +- GadToolsBug.s - 564 230 59.2% 16-Dec-95 16:28:40 +AnyProgram.info 1261 625 50.4% 16-Dec-95 16:28:40 +- Läs den här - 1059 550 48.0% 16-Dec-95 16:28:40 +anyprogram.cd 1567 800 48.9% 16-Dec-95 16:28:40 +anyprogram.ct 21381 6958 67.4% 16-Dec-95 16:28:40 +AnyProgram.s 564 226 59.9% 16-Dec-95 16:28:40 +BetterTest-C.info 8216 4688 42.9% 16-Dec-95 16:28:40 +BetterTest 12185 3511 71.1% 16-Dec-95 16:28:40 +BetterTest.c 835 395 52.6% 16-Dec-95 16:28:40 +BetterTest.info 229 134 41.4% 16-Dec-95 16:28:40 +led.asm 120 100 16.6% 16-Dec-95 16:28:40 +led.o 564 232 58.8% 16-Dec-95 16:28:40 +BetterTest.info 3252 1737 46.5% 16-Dec-95 16:28:40 +BetterTest 653 338 48.2% 16-Dec-95 16:28:40 +BetterTest.cd 563 324 42.4% 16-Dec-95 16:28:40 +BetterTest.ct 17129 5067 70.4% 16-Dec-95 16:28:40 +BetterTest.s 446 260 41.7% 16-Dec-95 16:28:40 +BetterTest.catalog 10027 2838 71.6% 16-Dec-95 16:28:40 +BevelTest.s 1260 496 60.6% 16-Dec-95 16:28:40 +ExternTestInit.s 13914 4475 67.8% 16-Dec-95 16:28:40 +LVTest.s 17492 5051 71.1% 16-Dec-95 16:28:40 +mytestprog.s 564 232 58.8% 16-Dec-95 16:28:40 +OldInternal.info 360 226 37.2% 16-Dec-95 16:28:40 +internaltest.catalog 461 258 44.0% 16-Dec-95 16:28:40 +internaltest.cd 447 279 37.5% 16-Dec-95 16:28:40 +internaltest.ct 13664 3792 72.2% 16-Dec-95 16:28:40 +OldInternal.s 564 230 59.2% 16-Dec-95 16:28:40 +OldTestProgs.info 10082 2765 72.5% 16-Dec-95 16:28:40 +GadUtilLibTest.s 16625 5298 68.1% 16-Dec-95 16:28:40 +HotKeysTest.s 1996 1055 47.1% 16-Dec-95 16:28:40 +TBLR_test 11548 3203 72.2% 16-Dec-95 16:28:40 +TBLR_test.s 8086 2828 65.0% 16-Dec-95 16:28:40 +ThreeGadgets.s 564 227 59.7% 16-Dec-95 16:28:38 +ExtraCmds.info 25044 14574 41.8% 16-Dec-95 16:28:38 +AskEnv 16676 8650 48.1% 16-Dec-95 16:28:38 +fd2pragma 2754 1289 53.1% 16-Dec-95 16:28:38 +fd2pragma.readme 5932 3511 40.8% 16-Dec-95 16:28:38 +XIcon 959 370 61.4% 16-Dec-95 16:28:44 +def_doc.info 1276 761 40.3% 16-Dec-95 16:28:44 +def_guide.info 564 232 58.8% 16-Dec-95 16:28:38 +Include.info 3193 939 70.5% 16-Dec-95 16:28:38 +gadutil_protos.h 2312 902 60.9% 16-Dec-95 16:28:38 +gadutil_lib.fd 17245 4852 71.8% 16-Dec-95 16:28:38 +gadutil.h 17230 5127 70.2% 16-Dec-95 16:28:38 +gadutil.i 3391 1081 68.1% 16-Dec-95 16:28:38 +gadutil_lib.i 43346 10021 76.8% 16-Dec-95 16:28:38 +LVOs.i 184 128 30.4% 16-Dec-95 16:28:38 +gadutil.h 23959 5802 75.7% 16-Dec-95 16:28:44 +Install 1856 1006 45.7% 16-Dec-95 16:28:44 +Install.info 3931 671 82.9% 16-Dec-95 16:28:38 +install.script 4072 1384 66.0% 16-Dec-95 16:28:44 +Install_User 1855 1001 46.0% 16-Dec-95 16:28:44 +Install_User.info 1409 525 62.7% 16-Dec-95 16:28:38 +InstallInc.gad 549 319 41.8% 16-Dec-95 16:28:38 +InstallInc.info 564 229 59.3% 16-Dec-95 16:28:38 +libs.info 10964 6487 40.8% 16-Dec-95 16:28:38 +gadutil.library 19188 9333 51.3% 16-Dec-95 16:28:40 +gadutil.library_dbg 900 545 39.4% 16-Dec-95 16:28:44 GadUtil.info -------- ------- ----- --------- -------- 773941 265847 65.6% 17-Dec-95 10:03:04 133 files