X-Git-Url: http://pileus.org/git/?p=lackey;a=blobdiff_plain;f=src%2Fview.h;h=bc86c11592d72113315c164eea589b3baa75fdcf;hp=64e8301cf51dcdc65a5cf11e78da9da148919f21;hb=9f9ede043dd04a20245f060bc6c89dd109ced36f;hpb=6ce9d3a06c405a01c05366689978daa60e225725 diff --git a/src/view.h b/src/view.h index 64e8301..bc86c11 100644 --- a/src/view.h +++ b/src/view.h @@ -1,5 +1,5 @@ /* - * 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 @@ -28,9 +28,28 @@ #define COLOR_WORK 8 #define COLOR_OTHER 9 +/* 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; -extern int ACTIVE; +extern int COMPACT; // reduce layout spacing +extern int MORNING; // first line to display +extern int WEEKENDS; // show weekends in week view + +/* Global data */ +extern edit_t EDIT; // edit mode 0=cal 1=event 3=todo + +/* Curses typedefs */ +typedef struct _win_st WINDOW; /* Curses functions */ void wmvresize(WINDOW *win, int top, int left, int rows, int cols); @@ -38,11 +57,12 @@ void wshrink(WINDOW *win, int top); /* 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); -void todo_line(WINDOW *win, todo_t *todo, int y, int x, int w, int full); +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_resize(void); -void view_draw(void); -int view_run(int key, mmask_t btn, int row, int col); +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);