X-Git-Url: http://pileus.org/git/?p=lackey;a=blobdiff_plain;f=src%2Fview.h;h=b896beaffb8dd048f69a7a8a776015991cadd336;hp=f263353b7cce78a71c091573f7e304ad888bc603;hb=569a0db79c00169e15d5abed2a82f28d1b2391c4;hpb=9d6df8f874cef59df16086c71031db2ba0267d3a diff --git a/src/view.h b/src/view.h index f263353..b896bea 100644 --- a/src/view.h +++ b/src/view.h @@ -1,16 +1,16 @@ /* - * Copyright (C) 2012 Andy Spencer - * + * Copyright (C) 2012-2013 Andy Spencer + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -19,57 +19,49 @@ #define COLOR_TITLE 1 #define COLOR_ERROR 2 -#define COLOR_CLASS 3 -#define COLOR_EC 4 -#define COLOR_WORK 5 -#define COLOR_OTHER 6 +#define COLOR_NEW 3 +#define COLOR_WIP 4 +#define COLOR_DONE 5 -/* Helper functions */ -void event_box(WINDOW *win, event_t *event, int y, int x, int h, int w); -void event_line(WINDOW *win, event_t *event, int y, int x, int w, int full); +#define COLOR_CLASS 6 +#define COLOR_EC 7 +#define COLOR_WORK 8 +#define COLOR_OTHER 9 -/* View functions */ -void view_init(void); -void view_resize(void); -void view_draw(void); -int view_run(int key, mmask_t btn, int row, int col); +/* Display flags */ +#define SHOW_DETAILS 0x1 +#define SHOW_ACTIVE 0x2 + +/* Edit modes */ +typedef enum { + EDIT_NONE, + EDIT_CAL, + EDIT_EVENT, + EDIT_TODO, +} edit_t; + +/* Config data */ +extern int COMPACT; // reduce layout spacing +extern int MORNING; // first line to display -/* 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); +/* Global data */ +extern edit_t EDIT; // edit mode 0=cal 1=event 3=todo -/* 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); +/* Curses typedefs */ +typedef struct _win_st WINDOW; -/* 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); +/* Curses functions */ +void wmvresize(WINDOW *win, int top, int left, int rows, int cols); +void wshrink(WINDOW *win, int top); -/* 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); +/* Helper functions */ +void event_box(WINDOW *win, event_t *event, int y, int x, int h, int w); +void event_line(WINDOW *win, event_t *event, int y, int x, int w, int flags); +void todo_line(WINDOW *win, todo_t *todo, int y, int x, int w, int flags); + +/* View functions */ +void view_init(void); +void view_main(void); +void view_exit(void); +void view_config(const char *group, const char *name, const char *key, const char *value); +void view_edit(edit_t mode);