#include "date.h"
#include "cal.h"
+/* Macros */
+#define CAL(name) \
+ event_t *name##_events(cal_t *cal, year_t year, month_t month, day_t day, int days); \
+ todo_t *name##_todos(cal_t *cal, year_t year, month_t month, day_t day, int days)
+
+/* Prototypes */
+CAL(dummy);
+CAL(ical);
+
+event_t *cal_events(year_t year, month_t month, day_t day, int days);
+todo_t *cal_todos(year_t year, month_t month, day_t day, int days);
+
/* Global data */
event_t *EVENTS;
todo_t *TODOS;
/* Calendar functions */
void cal_init(void);
-event_t *cal_events(year_t year, month_t month, day_t day, int days);
-todo_t *cal_todos(year_t year, month_t month, day_t day, int days);
-
-/* Calendar event functions */
-event_t *dummy_events(cal_t *cal, year_t year, month_t month, day_t day, int days);
-event_t *ical_events(cal_t *cal, year_t year, month_t month, day_t day, int days);
-
-/* Calendar todo functions */
-todo_t *dummy_todos(cal_t *cal, year_t year, month_t month, day_t day, int days);
-todo_t *ical_todos(cal_t *cal, year_t year, month_t month, day_t day, int days);
/* Test fuctions */
void ical_test(void);
WINDOW *win;
} view_t;
+/* Macros */
+#define VIEW(name) \
+ void name##_init(WINDOW *win); \
+ void name##_size(int,int); \
+ void name##_draw(void); \
+ int name##_run(int,mmask_t,int,int)
+
+/* Prototypes */
+VIEW(day);
+VIEW(week);
+VIEW(month);
+VIEW(year);
+VIEW(events);
+VIEW(todo);
+VIEW(settings);
+VIEW(help);
+
/* View data */
view_t views[] = {
{ "Day", day_init, day_size, day_draw, day_run, {KEY_F(1), '1', } },
void view_resize(void);
void view_draw(void);
int view_run(int key, mmask_t btn, int row, int col);
-
-/* View init functions */
-void day_init(WINDOW *win);
-void week_init(WINDOW *win);
-void month_init(WINDOW *win);
-void year_init(WINDOW *win);
-void events_init(WINDOW *win);
-void todo_init(WINDOW *win);
-void settings_init(WINDOW *win);
-void help_init(WINDOW *win);
-
-/* View size functions */
-void day_size(int,int);
-void week_size(int,int);
-void month_size(int,int);
-void year_size(int,int);
-void events_size(int,int);
-void todo_size(int,int);
-void settings_size(int,int);
-void help_size(int,int);
-
-/* View draw functions */
-void day_draw(void);
-void week_draw(void);
-void month_draw(void);
-void year_draw(void);
-void events_draw(void);
-void todo_draw(void);
-void settings_draw(void);
-void help_draw(void);
-
-/* View run functions */
-int day_run(int,mmask_t,int,int);
-int week_run(int,mmask_t,int,int);
-int month_run(int,mmask_t,int,int);
-int year_run(int,mmask_t,int,int);
-int events_run(int,mmask_t,int,int);
-int todo_run(int,mmask_t,int,int);
-int settings_run(int,mmask_t,int,int);
-int help_run(int,mmask_t,int,int);