home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / Apps / EmacsTeX / EL2 / Source / Controller.m < prev    next >
Encoding:
Text File  |  1995-06-12  |  1.2 KB  |  78 lines

  1. /* Generated by Interface Builder */
  2.  
  3. #import "Controller.h"
  4. #import <appkit/Cell.h>
  5. #import <appkit/Window.h>
  6. #import <stdio.h>
  7. #import <defaults.h>
  8. #import <string.h>
  9.  
  10. char    *defname = "DefaultOpenApp";
  11.  
  12. @implementation Controller
  13.  
  14. /*
  15.  * Figure out if the preference is set or not and say so on the Panel.
  16.  */
  17. - updateInstallCell
  18. {
  19.     const char *str;
  20.  
  21.  
  22.     str    = NXReadDefault("Workspace",defname);
  23.  
  24.     if(str){
  25.         char    buf[256];
  26.         
  27.         sprintf(buf,"filename: %s",str);
  28.         [statusCell setStringValue:"EMACS Listener is installed"];
  29.         [filenameCell setStringValue:buf];
  30.     }
  31.     else{
  32.         [statusCell setStringValue:"EMACS Listener is NOT installed"];
  33.         [filenameCell setStringValue:""];
  34.     }
  35.  
  36.     return self;
  37. }
  38.  
  39. - install:sender
  40. {
  41.     char    *name;
  42.  
  43.     name    = strrchr(NXArgv[0],'/');
  44.  
  45.     if(name){
  46.         name++;
  47.     }
  48.     else{
  49.         name    = "EL2";    /* default name */
  50.     }
  51.  
  52.     NXWriteDefault("Workspace",defname,name);
  53.     [self updateInstallCell];
  54.     return self;
  55. }
  56.  
  57. - uninstall:sender
  58. {
  59.     NXRemoveDefault("Workspace",defname);
  60.     [self updateInstallCell];
  61.     return self;
  62. }
  63.  
  64. /* This one doesn't seem to get executed.  Strange... */
  65. - windowDidExpose:sender
  66. {
  67.     [self updateInstallCell];
  68.     return self;
  69. }
  70.  
  71. - windowDidBecomeKey:sender
  72. {
  73.     [self updateInstallCell];
  74.     return self;
  75. }
  76.  
  77. @end
  78.