home *** CD-ROM | disk | FTP | other *** search
/ Megahits 4 / MegaHits_Vol.4.iso / mui / dev / gui / gencodee / v1.4 / e / click_locale / click_procs.e < prev    next >
Encoding:
Text File  |  1994-10-24  |  2.5 KB  |  88 lines

  1.     /* This procedure creates one app object */
  2. PROC create_app()
  3.  
  4.     DEF app, wi_try, tx_label_0, bt_1stbutton, bt_2ndbutton, bt_3rdbutton
  5.  
  6.     DEF tmp_object : PTR TO obj_app
  7.  
  8.     IF ( tmp_object := New( SIZEOF obj_app ) ) = NIL THEN RETURN NIL
  9.  
  10.     tmp_object.stR_TX_label_0 := get_Click_string( MSG_TX_label_0 )
  11.  
  12.     app := ApplicationObject,
  13.         MUIA_Application_Author, 'Eric Totel',
  14.         MUIA_Application_Base, 'CLICK',
  15.         MUIA_Application_Title, 'Click',
  16.         MUIA_Application_Version, '$VER : Click 1.0',
  17.         MUIA_Application_Copyright, 'Eric Totel 1994',
  18.         MUIA_Application_Description, get_Click_string( MSG_AppDescription ),
  19.         SubWindow, wi_try := WindowObject,
  20.             MUIA_Window_Title, get_Click_string( MSG_WI_try ),
  21.             MUIA_Window_ID, MAKE_ID( "0", "W", "I", "N" ),
  22.             WindowContents, GroupObject,
  23.                 Child, tx_label_0 := TextObject,
  24.                     MUIA_Background, 131,
  25.                     MUIA_Text_Contents, tmp_object.stR_TX_label_0,
  26.                     MUIA_Text_SetMax, 0,
  27.                     MUIA_Text_SetMin, 1,
  28.                     MUIA_Frame, 9,
  29.                 End,
  30.                 Child, GroupObject,
  31.                     MUIA_Group_Horiz, MUI_TRUE,
  32.                     MUIA_Group_SameWidth, MUI_TRUE,
  33.                     Child, bt_1stbutton := et_key_button( get_Click_string( MSG_BT_1stbutton ) ),
  34.                     Child, bt_2ndbutton := et_key_button( get_Click_string( MSG_BT_2ndbutton ) ),
  35.                     Child, bt_3rdbutton := et_key_button( get_Click_string( MSG_BT_3rdbutton ) ),
  36.                 End,
  37.             End,
  38.         End,
  39.     End
  40.  
  41.     tmp_object.app            := app
  42.     tmp_object.wi_try         := wi_try
  43.     tmp_object.tx_label_0     := tx_label_0
  44.     tmp_object.bt_1stbutton   := bt_1stbutton
  45.     tmp_object.bt_2ndbutton   := bt_2ndbutton
  46.     tmp_object.bt_3rdbutton   := bt_3rdbutton
  47.  
  48.     IF tmp_object.app = NIL
  49.         Dispose( tmp_object )
  50.         tmp_object := NIL
  51.     ENDIF
  52.  
  53. ENDPROC tmp_object
  54.  
  55.  
  56.     /* This procedure deletes one app object */
  57. PROC dispose_app( tmp_object : PTR TO obj_app )
  58.  
  59.     Mui_DisposeObject( tmp_object.app )
  60.     Dispose( tmp_object )
  61.  
  62. ENDPROC
  63.  
  64.  
  65.     /* ExTended KeyButton function */
  66. PROC et_key_button( text:PTR TO CHAR ) RETURN KeyButton( (text+3), text[1] )
  67.  
  68.  
  69.     /* DoMethod() function */
  70. PROC doMethod( obj:PTR TO object, msg:PTR TO msg )
  71.  
  72. DEF h:PTR TO hook, o:PTR TO object, dispatcher
  73.  
  74.     IF obj
  75.         o := obj-SIZEOF object     /* instance data is to negative offset */
  76.         h := o.class
  77.         dispatcher := h.entry      /* get dispatcher from hook in iclass */
  78.         MOVEA.L h,A0
  79.         MOVEA.L msg,A1
  80.         MOVEA.L obj,A2           /* probably should use CallHookPkt, but the */
  81.         MOVEA.L dispatcher,A3    /*   original code (DoMethodA()) doesn't. */
  82.         JSR (A3)                 /* call classDispatcher() */
  83.         MOVE.L D0,o
  84.         RETURN o
  85.     ENDIF
  86.  
  87. ENDPROC NIL
  88.