home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1995 August / NEBULA.mdf / Apps / Utilities / Desktop / Locus / Source / Preferences.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-05-21  |  2.6 KB  |  144 lines

  1.  
  2. /*
  3.     Copyright 1993  Jeremy Slade.
  4.  
  5.     You are free to use all or any parts of the Locus project
  6.     however you wish, just give credit where credit is due.
  7.     The author (Jeremy Slade) shall not be held responsible
  8.     for any damages that result out of use or misuse of any
  9.     part of this project.
  10.  
  11. */
  12.  
  13. /*
  14.     Project: Locus
  15.     
  16.     Class: Preferences
  17.     
  18.     Description:
  19.     
  20.     Enables the user to set the global preferences, and then stores them in the defaults database.  Changes made are active at run-time, but will be lost when the app is terminated unless that are explicitly saved.
  21.     
  22.     Original Author: Jeremy Slade
  23.     
  24.     Revision History:
  25.         Created
  26.             V.101    JGS Mon Feb  8 22:49:15 GMT-0700 1993
  27.  
  28. */
  29.  
  30.  
  31. #ifndef Preferences_h
  32. #define Preferences_h
  33.  
  34. #define Preferences_VERSION        (101)
  35.  
  36.  
  37. #import <objc/Object.h>
  38. #import <objc/zone.h>
  39.  
  40.  
  41. // --------------------------------------------------------
  42. //   Preferences Levels (different views)
  43. // --------------------------------------------------------
  44.  
  45. #define PREFS_GENERAL_LEVEL        0
  46. #define PREFS_VIEWER_LEVEL        1
  47. #define PREFS_FOLDERS_LEVEL        2
  48. extern char *prefsTitles[];
  49.  
  50.  
  51. @interface Preferences : Object
  52. {
  53.     id    panel;
  54.     
  55.     id    swapView;
  56.     id    modeCover; // Cover button for modeMenu -- need to set title
  57.     
  58.     int prefsLevel;
  59.     
  60.     // General options
  61.     id    generalPrefsPanel;
  62.     id    toggles;
  63.     id    topSwitch;
  64.     id    leftSwitch;
  65.     id    rightSwitch;
  66.     id    bottomSwitch;
  67.     id    floatSwitch;
  68.     id    interiorWell;
  69.     id    borderWell;
  70.  
  71.     // Viewer frame options    
  72.     id    viewerPrefsPanel;
  73.     id    currentFrameButton;
  74.     id    xField;
  75.     id    yField;
  76.     id    wField;
  77.     id    hField;
  78.     
  79.     // Default folders
  80.     id    folderPrefsPanel;
  81.     id    browser;
  82.     id    addButton;
  83.     id    removeButton;
  84.     
  85. }
  86.  
  87. // Creating, initializing
  88. + initialize;
  89. - init;
  90. - awakeFromNib;
  91. - free;
  92.  
  93. // Setting the preferences level
  94. - setGeneralLevel:sender;
  95. - setViewerLevel:sender;
  96. - setFoldersLevel:sender;
  97. - swapPaneFor:sender;
  98.  
  99. // Displaying
  100. - panel;
  101. - displayPrefs;
  102. - displayActivator;
  103. - displayToggles;
  104. - displayViewerFrame;
  105. - displayStartupFolders;
  106.  
  107. // Toggles
  108. - setAutolaunchHide:sender;
  109. - setHideDeactive:sender;
  110. - setVerifyActions:sender;
  111. - setAutoSave:sender;
  112. - setActivatorAdd:sender;
  113. - setAppIconAdd:sender;
  114.  
  115. // Activation Bar
  116. - setActivatorTop:sender;
  117. - setActivatorLeft:sender;
  118. - setActivatorRight:sender;
  119. - setActivatorBottom:sender;
  120. - setActivatorFloat:sender;
  121. - setActivatorFillColor:sender;
  122. - setActivatorBorderColor:sender;
  123.  
  124. // Default Viewer frame
  125. - setViewerFrameToCurrent:sender;
  126. - setViewerX:sender;
  127. - setViewerY:sender;
  128. - setViewerW:sender;
  129. - setViewerH:sender;
  130.  
  131. // Startup Folders
  132. - (int)browser:sender fillMatrix:matrix inColumn:(int)col;
  133. - addFolders:sender;
  134. - removeFolders:sender;
  135.  
  136. // Saving settings
  137. - setPrefs:sender;
  138. - restorePrefs:sender;
  139.  
  140. @end
  141.  
  142. #endif // Preferences_h
  143.  
  144.