#include <xt++/Intrinsic.h>
#include <xt++/Xaw/Label.h>
#include <time.h>
#include <stream.h>

class StopWatch : public LabelWidget{
   friend class swatch_helper;
 private:
   enum WatchState { Running, Stopped };
   long elapsed_time;
   long start_time;
   long current_time;
   XtIntervalId iid;
   long  update_interval;
   char string[13];
   void update(long);
   void update_string(long);
   WatchState state;
   ofstream&  file;
 public:
   void Open(ofstream& f) { } //file = f; }
   void PrintState(char*);
   Boolean IsRunning() { return state == Running; }
   void Stop();
   void Go();
   void Save();
   StopWatch(Widget parent,  ofstream& f, long interval=1);
   ~StopWatch() { Stop(); Save(); }
};
