home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Educational / MolViewer / Source / Inspector.h < prev    next >
Encoding:
Text File  |  1995-06-12  |  2.7 KB  |  72 lines

  1. /* Inspector.h - Copyright 1993 Steve Ludtke */
  2. /* This object controls the inspector panel. Most of the actual */
  3. /* manipulations are performed by MolObj */
  4.  
  5. #import <appkit/appkit.h>
  6.  
  7. @interface Inspector:Object
  8. {
  9.     id    abcount;    /* atoms/bonds count display */
  10.     id    aminoIns;    /* amino acid inspector box */
  11.     id    atabIns;    /* atomic table inspector box */
  12.     id    atomIns;    /* atom inspector box */
  13.     id    inspectBox;    /* inspector display box */
  14.  
  15. /* a_... methods and variables are for the atom inspector */
  16.     id    a_bond;        /* list of bonded atoms */
  17.     id    a_message;    /* message display space */
  18.     id    a_pos1;        /* x,y,z position of atom */
  19.     id    a_pos2;        /* x,y position of atom (unused) */
  20.     id    a_select;    /* atom SelectView */
  21.  
  22. /* t_... methods and variables are for the atomic table inspector */
  23.     id    t_color;    /* color display */
  24.     id    t_message;    /* message space */
  25.     id    t_radii;    /* radius display */
  26.     id    t_select;    /* SelectView */
  27.  
  28. /* m_... methods and variables are for the amino acid inspector */
  29.     id m_select;    /* SelectView */
  30.     id m_angS;        /* angle sliders */
  31.     id m_angT;        /* angle text displays */
  32.     id m_amview;    /* points to AminoView (protein tool) */
  33.  
  34.     id molobj;        /* points to MolObj */
  35.     Molecule *mol;    /* the molecule data structure */
  36.     struct ELINFO *elinfo;    /* atomic table */
  37.     int nmol;        /* # molecules */
  38.     char mode;        /* inspector mode */
  39.     struct SELDAT *list;    /* one SELDAT structure is used for all SelectViews */
  40.     int nlist,nsel;    /* # entries in list and # selected */
  41.     float size;        /* current atom display scaling factor */
  42. }
  43.  
  44. - startup:(Molecule *)Mol :(int)Nmol :(struct ELINFO *)Elinfo;
  45. - update:(int)Nmol :(int)level;    /* update message from MolObj */
  46. - newMol;
  47.  
  48. - a_insp:sender;        /* initialize atom inspector */
  49. - a_bondAng:sender;        /* calculate & display bond angle */
  50. - a_bondLen:sender;        /* calculate & display bond length */
  51. - a_dihedral:sender;    /* calculate & display dihedral */
  52.  
  53. - t_insp:sender;        /* initialize atomic table inspector */
  54. - t_newColor:sender;    /* atom color changed */
  55. - t_newRad:sender;        /* atom radius changed */
  56. - t_revert:sender;        /* revert to data in covalent.rad */
  57. - t_save:sender;        /* save to user's covalent.rad */
  58. - t_newSize:sender;        /* change the global display radius scaling */
  59. - t_update:sender;        /* make changes visible */
  60.  
  61. - m_insp:sender;        /* initialize amino acid inspector */
  62. - m_upd:sender;            /* reflect new dihedrals in SelectView */
  63. - m_setAngS:sender;        /* new angle via slider */
  64. - m_setAngT:sender;        /* new angle via text object */
  65. - m_xfer:sender;        /* send amino acid list to Protein Tool */
  66.  
  67. - selected:(int)n :(int)nsel;    /* called by SelectView */
  68. - deselected:(int)n :(int)nsel;
  69.  
  70. - newInsp;    /* clean up current inspector (prep for new one) */
  71. @end
  72.