home *** CD-ROM | disk | FTP | other *** search
- /*
- ** Original C Code written by Stefan Stuntz
- **
- ** Translation into E by Klaus Becker
- **
- ** All comments are from the C-Source
- */
-
- OPT PREPROCESS
-
- /*
- ** Loading the needed MODULEs
- */
-
- MODULE 'tools/domethod'
- MODULE 'muimaster', 'libraries/mui'
- MODULE 'utility/tagitem', 'utility/hooks'
- MODULE 'intuition/classes', 'intuition/classusr'
- MODULE 'libraries/gadtools'
-
- ENUM ER_NON, ER_MUILIB, ER_APP /* for the exception handling */
-
- /*
- ** DEFining the var s
- */
-
- DEF app,window,sex,pages
- DEF races,classes
-
-
- /*
- ** main()
- */
-
- PROC main() HANDLE
-
- DEF signal, running, result
-
- /*
- ** Open the muimaster.library
- */
- sex:=['male','female',NIL]
- pages:=['Race','Class','Armor','Level',NIL]
- races:=['Human','Elf','Dwarf','Hobbit','Gnome',NIL]
- classes:=['Warrior','Rogue','Bard','Monk','Magician','Archmage',NIL]
-
- IF (muimasterbase := OpenLibrary(MUIMASTER_NAME,MUIMASTER_VMIN))=NIL THEN Raise(ER_MUILIB)
-
- app:= ApplicationObject,
- MUIA_Application_Title , 'Pages-Demo',
- MUIA_Application_Version , '$VER: Pages-Demo 10.11 (23.12.94)',
- MUIA_Application_Copyright , ' 1992/93, Stefan Stuntz',
- MUIA_Application_Author , 'Stefan Stuntz & Klaus Becker',
- MUIA_Application_Description, 'Show MUIs Page Groups',
- MUIA_Application_Base , 'PAGESDEMO',
- SubWindow, window:= WindowObject,
- MUIA_Window_Title, 'Character Definition',
- MUIA_Window_ID , "PAGE",
- WindowContents, VGroup,
- Child, ColGroup(2),
- Child, Label2('Name:'), Child, StringMUI('Frodo',32),
- Child, Label1('Sex:' ), Child, Cycle(sex),
- End,
- Child, VSpace(2),
- Child, RegisterGroup(pages),
- MUIA_Register_Frame, MUI_TRUE,
- Child, HCenter(Radio(NIL,races)),
- Child, HCenter(Radio(NIL,classes)),
- Child, HGroup,
- Child, HSpace(0),
- Child, ColGroup(2),
- Child, Label1('Cloak:' ), Child, CheckMark(MUI_TRUE),
- Child, Label1('Shield:'), Child, CheckMark(MUI_TRUE),
- Child, Label1('Gloves:'), Child, CheckMark(MUI_TRUE),
- Child, Label1('Helmet:'), Child, CheckMark(MUI_TRUE),
- End,
- Child, HSpace(0),
- End,
- Child, ColGroup(2),
- Child, Label('Experience:' ), Child, Slider(0,100, 3),
- Child, Label('Strength:' ), Child, Slider(0,100,42),
- Child, Label('Dexterity:' ), Child, Slider(0,100,24),
- Child, Label('Condition:' ), Child, Slider(0,100,39),
- Child, Label('Intelligence:'), Child, Slider(0,100,74),
- End,
- End,
- End,
- End,
- End
-
-
- IF app=NIL THEN Raise(ER_APP)
-
- /*
- ** Closing the master window forces a complete shutdown of the application.
- */
-
- doMethod(window,[MUIM_Notify,MUIA_Window_CloseRequest,MUI_TRUE,app,2,MUIM_Application_ReturnID,MUIV_Application_ReturnID_Quit])
-
-
- /*
- ** Everything's ready, lets launch the application. We will
- ** open the master window now.
- */
-
- set(window,MUIA_Window_Open,MUI_TRUE)
-
-
- /*
- ** This is the main loop. As you can see, it does just nothing.
- ** Everything is handled by MUI, no work for the programmer.
- **
- ** The only thing we do here is to react on a double click
- ** in the volume list (which causes an ID_NEWVOL) by setting
- ** a new directory name for the directory list. If you want
- ** to see a real file requester with MUI, wait for the
- ** next release of MFR :-)
- */
-
-
- running := TRUE
-
- WHILE running
-
- result := doMethod(app, [MUIM_Application_Input, {signal} ])
-
- SELECT result
-
- CASE MUIV_Application_ReturnID_Quit
- running := FALSE
-
- ENDSELECT
-
- IF signal THEN Wait(signal)
-
- ENDWHILE
-
- /*
- ** Call the exception handling with ER_NON, this will dispose the
- ** application object, close "muimaster.library" and end the program.
- */
-
- EXCEPT DO
- IF app THEN Mui_DisposeObject(app)
- IF muimasterbase THEN CloseLibrary(muimasterbase)
-
- SELECT exception
- CASE ER_MUILIB
- WriteF('Failed to open \s.\n',MUIMASTER_NAME)
- CleanUp(20)
-
- CASE ER_APP
- WriteF('Failed to create application.\n')
- CleanUp(20)
-
- ENDSELECT
- ENDPROC 0
-
-
- /*
- ** This is the end...
- */
-