00001 #ifndef TIMEENTRY_H
00002 #define TIMEENTRY_H
00003
00004 class DayText;
00005 class DayTumbler;
00006 class TimeTextBox;
00007 #define TOTAL_DAYS 8
00008
00009 #include "guicast.h"
00010
00011
00012
00013
00014
00015
00016
00017 class TimeEntry
00018 {
00019 public:
00020 TimeEntry(BC_WindowBase *gui,
00021 int x,
00022 int y,
00023 int *output_day,
00024 double *output_time,
00025 int time_format);
00026 ~TimeEntry();
00027
00028 void create_objects();
00029 void time_to_hours(char *result, double time);
00030 void time_to_minutes(char *result, double time);
00031 void time_to_seconds(char *result, double time);
00032 virtual int handle_event();
00033 static int day_to_int(char *day);
00034 void update(int *day, double *time);
00035 void reposition_window(int x, int y);
00036 int get_h();
00037 int get_w();
00038
00039 BC_WindowBase *gui;
00040 int x, y;
00041 DayText *day_text;
00042 DayTumbler *day_tumbler;
00043 TimeTextBox *time_text;
00044 double *output;
00045 static char *day_table[TOTAL_DAYS];
00046 int *output_day;
00047 double *output_time;
00048 int time_format;
00049 };
00050
00051 class DayText : public BC_TextBox
00052 {
00053 public:
00054 DayText(TimeEntry *timeentry,
00055 int x,
00056 int y,
00057 int w,
00058 char **table,
00059 int table_items,
00060 char *text);
00061 int handle_event();
00062
00063 char **table;
00064 TimeEntry *timeentry;
00065 int table_items;
00066 int current_item;
00067 };
00068
00069 class DayTumbler : public BC_Tumbler
00070 {
00071 public:
00072 DayTumbler(TimeEntry *timeentry,
00073 DayText *text,
00074 int x,
00075 int y);
00076
00077 int handle_up_event();
00078 int handle_down_event();
00079
00080 TimeEntry *timeentry;
00081 DayText *text;
00082 };
00083
00084 class TimeTextBox : public BC_TextBox
00085 {
00086 public:
00087 TimeTextBox(TimeEntry *timeentry,
00088 int x,
00089 int y,
00090 int w,
00091 char *default_text);
00092 int handle_event();
00093 TimeEntry *timeentry;
00094 };
00095
00096
00097 #endif