Modula-Interface for MUI 3.3 MUI (C) 1993-95 by Stefan Stuntz * * * Modula Interfaces done by Christian "Kochtopf" Scholz (up to MUI v2.2) Olaf "Olf" Peters (MUI v3.1 and above) * * * Send reports to Olaf Peters * * * The Modula Interfaces are Freeware. ============= Release Notes ============= v3.3 (21.2.96, olf) - updated the interfaces for MUI 3.3 - ATTENTION: new parameter 'flags' for moObtainPen()! v3.2.2 (7.2.96, olf) - introduced MuiClassSupport: some functions to make life easier when creating own customclasses. See docs/MuiClassSupport.doc for documentation, Class2.mod and Class3.mod for example usage. - when using MUIOBSOLETE=TRUE in MuiMacros, the TagBuffer was too small. Fixed. (Marc Ewert) - Demosources now also use MuiClassSupport and do compile again. They didn't in v3.2.1 due to the changes from Stefan Schulz (APTR moved to MuiD). v3.2.1 (3.2.96, olf) - updated the interfaces for MUI 3.2 - included Stuntzi's automatic headers (these have not been updated in the MUI 3.2 distribution) - included some changes from Stefan 'eau' Schulz and Christian 'Kochtopf' Scholz (Thanks!) - fixed MOLabelFlags (flags were misaligned, thanks to Marc Ewert for reporting!) v3.1.1 (27.11.95, olf) - MuiD.def now really has the MUIOBSOLETE compiler option. This was missing in the MUI 3.1 release. - due to Stuntzi's automatic headerfile generation, MUI2COMPAT will not be supported any longer. - Demos now compile with MUIOBSOLETE set to FALSE, which also means they will only run with MUI 3 (and above). Be careful, they do *not* check which MUI version you're using! ----- BEGIN Olf's Notes for v3.1 ------------------------------------------ While updating the Modula interfaces to MUI-3 I have made some minor changes to MUIClasses (to make them more "Modula-like"), so don't wonder, if your programs do not compiled out of the box with the new interface. However my changes should not affect too many programs, so I hope you can live with them. Also there are some compiler-options in the modules which may need some explanation, they are: MUIOBSOLETE set this to TRUE to enable all the tags that have been declared obsolete during MUI-development. *Please* try to update your programs so they compile with MUIOBSOLETE set to FALSE. MUI2COMPAT In MUI-3 some tags have been declared obsolete which have been heavily used in MUI-2 apps (i.e. maWindowCycleChain). If you want your programs to be MUI-2 compatible, but have eliminated all your MUIOBSOLETE tags, you should set this option to TRUE. MUI3 In MuiMacros some MUI-3 specific Macrocalls have been added. If you set this attribute to FALSE they will be excluded from compilation, so you may check if your application will still run under MUI-2. I have not included this option in MuiD and MuiClasses because of lazyness ;-) The interfaces are not too heavily tested, but I'm currently developing a bigger application with them (which also uses custom-classes). At least I didn't discover any bugs until now (Nov 18, 1995) :-) Anyway, if you discover any bugs or missing tags, please contact Christian or me, to ensure they are included in the next release of the Interfaces. My address is: Olaf Peters Kulmer Str. 7 28237 Bremen eMail preferred: olf@informatik.uni-bremen.de Have fun! Olf ----- END Olf's Notes ----------------------------------------------------- Here are the files you need to write MUI-Programs with M2Amiga. Present are in this version the macros defined in mui.h. They are implemented in MuiMacros and in MuiClasses (the ones related to custom-class-programming) Description of the files : MuiD.def : Definitions of MethodIDs, AttributeIDs, etc. MuiD.mod : Some additional PROCEDUREs for some #define's in mui.h MuiL.def : The interface for muimaster.library MuiSupport.def : Additional PROCEDUREs like DoMethod or fail. MuiSupport.mod : The implementation of these PROCEDUREs. MuiMacros.def : Some Macros converted from mui.h MuiMacros.mod : The implementation of these. MuiClasses.def : some things you need to write own classes MuiClasses.mod : implementation of the macros defined in mui.h for classes MuiTest.mod : A sample Module showing how to use the interface. ListDemo.mod : A sample Listview programm showing an DisplayHook! Class1.mod : A sample Module showing how to write own classes in M2. In this version you have to compile the interface yourself. For this can you use the CompilerScript. It will compile the interface and copy the files to m2:modules/sym|obj. The History : 22.10.1993 MuiSupport : changed fail-PROCEDURE, that it makes no use of Terminal, but now uses Arts.Requester. MuiMacros : Added macros AddMember, DelMember, MakeHook, MakeID, PopUp 26.10.1993 supplied CompilerScript 9.2.1994 MuiD : Updates to 1.5 (Popasl, Popstring, PopObject... ) added mPaletteEntry, mScrmodelist. MuiL : Updates to 1.5 (Custom Class Functions) changed return-value of mAslRequest to BOOLEAN (thanx to Thilo Stoeferle) provided muiMasterVersion, etc. like System-Defs. MuiSupport : fail will set app to NIL, now VAR-parameter (so you can use it in a CLOSE-Routine) (thanx to Martin Koyro) MuiMacros : now it supports StrPtr instead of ARRAY OF CHAR. set the symbol Locale to TRUE to get it. (defaults to FALSE) added some macros by Martin Koyro (KeyRadio, (Key)Cycle, (Key)Slider) MuiClasses : new Module which implements things to write own classes. ComboBox : removed - use PopObject for a Popup-List. ListDemo : New Demo to show how to do lists. 18.2.1994 MuiMacros : Added functions for Register and the Pop*-Classes. Added some new Label-Macros (LLabel,... ) MUIClasses : Added some macro-definitions and rearranged a bit the module. Now you can do easily custom classes with it. (i hope :) So look at it for more info and look also at Class1.mod which shows how it is used. Class1.mod : new demo which shows how to do custom classes. 25.6.1994 MuiD, MuiMacros, MuiL : upgraded to version 2.1 added a new symbol MUIObsolete to MuiMacros. Set it to true, if you want the obsolete Macros, now you should use mMakeObj for them. Problems with MakeObject-Definition - does not work. I don't know why - you ? ;-) Please tell me! (so you should set MuiObsolete to TRUE ;-) MuiClasses : changed name from MUIClasses to MuiClasses - please note!! 11.7.1994 MuiL.def : changed MakeObject to use the right registers. Now works!! Note : This time I just wanted to say that this stuff is _completely_ untested because of lack of time. I am just happy that it compiles ;-) I think that I have the next days some free hours to play with the new MUI (perhaps writing a class :-) Perhaps I will then release a new version on aminet... For bug-reports or suggestion please send me a note. Thanks. My email-address : ruebe@pool.informatik.rwth-aachen.de Greets, Kochtopf