ftp.nice.ch/pub/next/science/physics/Moon.NIHS.bs.tar.gz#/Moon/Source/Controller.h

This is Controller.h in view mode; [Download] [Up]

/* Controller.h
 * Part of the Moon application for the NeXT computer.
 * Author:  Geoffrey S. Knauth
 * Date:    January 4, 1992
 *
 * Permission to copy this program is hereby granted under the terms
 * of the Free Software Foundation's GNU General Public License.
 */

/* Initially generated by Interface Builder */

#import <objc/Object.h>
#import <appkit/Button.h>
#import <appkit/Form.h>
#import "MoonView.h"

#define TICK_SECONDS	10.0	/* how often we should update statistics */

/* indices into statForm (matrix of text fields) */
#define iJulianDate	0
#define iUniversalTime	1
#define iLocalTime	2
#define iMoonPhase	3
#define iAgeOfMoon	4
#define iMoonDistance	5
#define iMoonSubtends	6
#define iSunDistance	7
#define iSunSubtends	8
#define iLastNewMoon	9
#define iThisLunation	10
#define iFirstQuarter	11
#define iFullMoon	12
#define iLastQuarter	13
#define iNextNewMoon	14
#define iNextLunation	15

/* toggle states for the pause button */
#define RUNNING		0
#define PAUSED		1

@interface Controller : Object
{

  /* Initialized by IB. */
    id moonView;		/* this is where we draw the moon */
    id statForm;		/* output statistics */
    id nowButton;		/* so we can enable/disable the button */
    id pauseButton;		/* so we can query its state */
    id travelText;		/* so we can query its value */
    id stringTable;		/* month names, and other words */

  /* Things we initialize. */
    id iconView;
    double nextNewMoon;		/* Next new moon time */
}

- appDidHide :sender;
- appDidInit :sender;
- appWillTerminate :sender;

- getUserGmtTime :(int *)year :(int *)month :(int *)day
		 :(int *)hour :(int *)minute :(int *)second;
- (int)monthNumFromStr :(const char *)month;
- pause :sender;
- returnToNow :sender;
- timeTravel :sender;
- update;

@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.