home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 11 Util / 11-Util.zip / fdlg.zip / LOAD_S.CLS < prev    next >
Text File  |  1996-02-02  |  2KB  |  87 lines

  1. "  ---- Ronald Brill 1995, 1996 ---- "
  2. "  ---- Extended File Dialogs Version 2.1 ---- "
  3.  
  4.  
  5. LoadClassDialogController SecondaryFile !
  6.  
  7.  
  8. !LoadClassDialogController methods !
  9.  
  10.  
  11. mReload
  12.     (cItemDict at: #cReload) put: (cItemDict at: #cReload) getValue not.
  13. !"end mReload"
  14.  
  15.  
  16. openFile
  17. | result stream |
  18. "  set result to specified file and exit"
  19.    stream := self fileOK.
  20.    stream == nil ifTrue: [ ^ self. ].
  21.    (stream isKindOf: Message)
  22.    ifTrue:
  23.    [  ^ self errorBoxMessage: stream.
  24.    ].
  25.    cReload getValue
  26.    ifTrue:
  27.    [  callback := [  ('reload:' ++ stream fileName) out.
  28.                      stream reloadClass.
  29.                      wpOutput := nil.
  30.                   ].
  31.    ]
  32.    ifFalse:
  33.    [  result := stream asClassMethodsInit: false.
  34.       result isClass ifFalse: [ ^ self. ].
  35.       callback := [  ('load:' ++ stream fileName) out.
  36.                      (result class methodDictionary includesKey: #initialize)
  37.                      ifTrue:
  38.                      [  result initialize.
  39.                         result class methodDictionary removeAt: #initialize.
  40.                      ].
  41.                      wpOutput := nil.
  42.                   ].
  43.    ].
  44. "  save fileName and drive + directory."
  45.    LoadClassFileName := vFileName getValue.
  46.    LoadClassDirectory := drive + DirSeparator + directory.
  47.    FileDialogSetup load addFile: stream fileName.
  48.    super close.
  49. !"end openFile"
  50.  
  51.  
  52. openFileDblClicked2
  53. | result stream |
  54.    self mFileSelected.
  55.  
  56.    stream := self fileOK.
  57.    stream == nil ifTrue: [ ^ self. ].
  58.  
  59.    (stream isKindOf: Message)
  60.    ifTrue:
  61.    [  ^ self errorBoxMessage: stream.
  62.    ].
  63.    cReload getValue
  64.    ifTrue:
  65.    [  ('reload:' ++ stream fileName) out.
  66.       stream reloadClass.
  67.       wpOutput := nil.
  68.    ]
  69.    ifFalse:
  70.    [  ('load:' ++ stream fileName) out.
  71.       result := stream asClassMethodsInit: false.
  72.       result isClass ifFalse: [ ^ self. ].
  73.       (result class methodDictionary includesKey: #initialize)
  74.       ifTrue:
  75.       [  result initialize.
  76.          result class methodDictionary removeAt: #initialize.
  77.       ].
  78.       wpOutput := nil.
  79.    ].
  80.    LoadClassFileName := vFileName getValue.
  81.    LoadClassDirectory := drive + DirSeparator + directory.
  82.    FileDialogSetup load addFile: stream fileName.
  83. !"end openFileDblClicked2"
  84.  
  85.  
  86. !"End of LoadClassDialogController methods block"
  87.