]> Pileus Git - lackey/commitdiff
Start using windows and views
authorAndy Spencer <andy753421@gmail.com>
Sat, 29 Sep 2012 07:46:52 +0000 (07:46 +0000)
committerAndy Spencer <andy753421@gmail.com>
Sun, 30 Sep 2012 08:57:13 +0000 (08:57 +0000)
13 files changed:
.gitignore
src/main.c
src/screen.c
src/screen.h
src/view/day.c
src/view/help.c
src/view/mkview.sh
src/view/month.c
src/view/notes.c
src/view/settings.c
src/view/todo.c
src/view/week.c
src/view/year.c

index 61bceb3d07f7e8ee5f4dcc7a741e0a0c8b82bc21..a88d9f9aa5efac4d4a7ff5c7f91bdf84923ca545 100644 (file)
@@ -1,5 +1,6 @@
 *.log
 *.o
+*.swp
 *~
 .vimrc
 acal
index 5de195da34a006558770a10cc66a8d9be5e22b41..a5d89c9bc44a5864d20d620ba21594fd4468ef02 100644 (file)
@@ -14,7 +14,6 @@ static FILE *debug_fd = NULL;
 static void on_sigint(int signum)
 {
        endwin();
-       debug("got sigint\n");
        exit(0);
 }
 
@@ -59,11 +58,9 @@ int main(int argc, char **argv)
        sigemptyset(&act.sa_mask);
        act.sa_flags   = 0;
        act.sa_handler = on_sigint;
-       if (sigaction(SIGINT, &act, NULL) < 0)
-               debug("sigint error\n");
+       sigaction(SIGINT, &act, NULL);
        act.sa_handler = on_sigwinch;
-       if (sigaction(SIGWINCH, &act, NULL) < 0)
-               debug("sigwinch error\n");
+       sigaction(SIGWINCH, &act, NULL);
 
        /* Curses setup */
        initscr();
@@ -76,6 +73,7 @@ int main(int argc, char **argv)
        init_pair(COLOR_TITLE, COLOR_GREEN, COLOR_BLACK);
        init_pair(COLOR_ERROR, COLOR_RED,   COLOR_BLACK);
        screen_init();
+       screen_draw();
 
        /* Run */
        while (1) {
@@ -103,6 +101,5 @@ int main(int argc, char **argv)
 
        /* Cleanup, see also on_sigint */
        endwin();
-       debug("cleanup");
        return 0;
 }
index 926ed505c0ddb34f7d98db81afd05269d64a85e9..f31a738b08c44a6b40e3c72ff0fe76949605060d 100644 (file)
@@ -5,11 +5,12 @@
 
 /* Types */
 typedef struct {
-       char  *name;
-       void (*init)(void);
-       void (*draw)(void);
-       int  (*run)(int,mmask_t,int,int);
-       int    keys[8];
+       char   *name;
+       void  (*init)(WINDOW*);
+       void  (*draw)(void);
+       int   (*run)(int,mmask_t,int,int);
+       int     keys[8];
+       WINDOW *win;
 } view_t;
 
 /* Data */
@@ -42,11 +43,18 @@ void draw_header(void)
        }
        attroff(COLOR_PAIR(COLOR_TITLE));
        mvhline(1, 0, ACS_HLINE, COLS);
+       refresh();
 }
 
 /* Screen init */
 void screen_init(void)
 {
+       for (int i = 0; i < N_ELEMENTS(views); i++) {
+               if (views[i].init) {
+                       views[i].win = newwin(LINES-2, COLS, 2, 0);
+                       views[i].init(views[i].win);
+               }
+       }
 }
 
 /* Screen draw */
index 0054dbfebe02bb78eab448c32e4a6f2dac3b5b67..7f6aa9d5b57db2990cb202451afbd4dd579083ea 100644 (file)
@@ -4,14 +4,14 @@ void screen_draw(void);
 int  screen_run(int key, mmask_t btn, int row, int col);
 
 /* View init functions */
-void day_init(void);
-void week_init(void);
-void month_init(void);
-void year_init(void);
-void todo_init(void);
-void notes_init(void);
-void settings_init(void);
-void help_init(void);
+void day_init(WINDOW *win);
+void week_init(WINDOW *win);
+void month_init(WINDOW *win);
+void year_init(WINDOW *win);
+void todo_init(WINDOW *win);
+void notes_init(WINDOW *win);
+void settings_init(WINDOW *win);
+void help_init(WINDOW *win);
 
 /* View draw functions */
 void day_draw(void);
index 7d25d5b665b6636bf00d47c84c2b3b366b1ff9f3..a1763f852ba483fa254c4fba08b814fc5b74a2d0 100644 (file)
@@ -1,16 +1,22 @@
 #include <ncurses.h>
 
-/* day init */
-void day_init(void)
+/* Static data */
+static WINDOW *win;
+
+/* Day init */
+void day_init(WINDOW *_win)
 {
+       win = _win;
 }
 
-/* day draw */
+/* Day draw */
 void day_draw(void)
 {
+       mvwprintw(win, 0, 1, "%s\n", "day");
+       wrefresh(win);
 }
 
-/* day run */
+/* Day run */
 int day_run(int key, mmask_t btn, int row, int col)
 {
        return 0;
index 3db46472e66b7b720e1a91c0ea4bf2c0cc5a8d07..4015f15072079d2017de666d00e3b619066c9fc6 100644 (file)
@@ -1,16 +1,22 @@
 #include <ncurses.h>
 
-/* help init */
-void help_init(void)
+/* Static data */
+static WINDOW *win;
+
+/* Help init */
+void help_init(WINDOW *_win)
 {
+       win = _win;
 }
 
-/* help draw */
+/* Help draw */
 void help_draw(void)
 {
+       mvwprintw(win, 0, 1, "%s\n", "help");
+       wrefresh(win);
 }
 
-/* help run */
+/* Help run */
 int help_run(int key, mmask_t btn, int row, int col)
 {
        return 0;
index 6f5773cf8f5c201b28561ce5fa822815ea06da8a..4f9e5e2e71fb362b3fbad7f970eb6f0ca63c8898 100755 (executable)
@@ -1,23 +1,30 @@
 #!/bin/bash
 
 for file; do
-       name=${file%.c}
+       func=$(basename ${file%.c})
+       name=$(echo $func | sed -r 's/./\U&/')
        tab="   "
        cat > $file <<-EOF
                #include <ncurses.h>
 
+               /* Static data */
+               static WINDOW *win;
+
                /* $name init */
-               void ${name}_init(void)
+               void ${func}_init(WINDOW *_win)
                {
+               ${tab}win = _win;
                }
 
                /* $name draw */
-               void ${name}_draw(void)
+               void ${func}_draw(void)
                {
+               ${tab}mvwprintw(win, 0, 1, "%s\n", "${func}");
+               ${tab}wrefresh(win);
                }
 
                /* $name run */
-               int ${name}_run(int key, mmask_t btn, int row, int col)
+               int ${func}_run(int key, mmask_t btn, int row, int col)
                {
                ${tab}return 0;
                }
index 1644ed9aa6463796127d632d1e3f6c0bd2580a86..85ef13e2c67962133cb49502bf052ce863f89abd 100644 (file)
@@ -1,16 +1,22 @@
 #include <ncurses.h>
 
-/* month init */
-void month_init(void)
+/* Static data */
+static WINDOW *win;
+
+/* Month init */
+void month_init(WINDOW *_win)
 {
+       win = _win;
 }
 
-/* month draw */
+/* Month draw */
 void month_draw(void)
 {
+       mvwprintw(win, 0, 1, "%s\n", "month");
+       wrefresh(win);
 }
 
-/* month run */
+/* Month run */
 int month_run(int key, mmask_t btn, int row, int col)
 {
        return 0;
index 6bb2984047a25ab9b33dcf1d74cbac7b3406d23b..0b16a1a6d9007e630d8b6dd12d2bba126a4ed1b8 100644 (file)
@@ -1,16 +1,22 @@
 #include <ncurses.h>
 
-/* notes init */
-void notes_init(void)
+/* Static data */
+static WINDOW *win;
+
+/* Notes init */
+void notes_init(WINDOW *_win)
 {
+       win = _win;
 }
 
-/* notes draw */
+/* Notes draw */
 void notes_draw(void)
 {
+       mvwprintw(win, 0, 1, "%s\n", "notes");
+       wrefresh(win);
 }
 
-/* notes run */
+/* Notes run */
 int notes_run(int key, mmask_t btn, int row, int col)
 {
        return 0;
index baa84cf6b0799c208a21b6f838bc01ea98fe5e95..8cc61925a14a3f04d63cb26689f81e7cb7b3b42b 100644 (file)
@@ -1,16 +1,22 @@
 #include <ncurses.h>
 
-/* settings init */
-void settings_init(void)
+/* Static data */
+static WINDOW *win;
+
+/* Settings init */
+void settings_init(WINDOW *_win)
 {
+       win = _win;
 }
 
-/* settings draw */
+/* Settings draw */
 void settings_draw(void)
 {
+       mvwprintw(win, 0, 1, "%s\n", "settings");
+       wrefresh(win);
 }
 
-/* settings run */
+/* Settings run */
 int settings_run(int key, mmask_t btn, int row, int col)
 {
        return 0;
index acc068224eefcf0c1de26f4415f340c500898c0b..502909b091783d315bdba50147ff31b648f3a876 100644 (file)
@@ -1,16 +1,22 @@
 #include <ncurses.h>
 
-/* todo init */
-void todo_init(void)
+/* Static data */
+static WINDOW *win;
+
+/* Todo init */
+void todo_init(WINDOW *_win)
 {
+       win = _win;
 }
 
-/* todo draw */
+/* Todo draw */
 void todo_draw(void)
 {
+       mvwprintw(win, 0, 1, "%s\n", "todo");
+       wrefresh(win);
 }
 
-/* todo run */
+/* Todo run */
 int todo_run(int key, mmask_t btn, int row, int col)
 {
        return 0;
index ddaec477bdaf8b48a041f89ff330dfb90206982e..d885c8f97bc36bdec2a9637941c999a9c246b743 100644 (file)
@@ -1,16 +1,22 @@
 #include <ncurses.h>
 
-/* week init */
-void week_init(void)
+/* Static data */
+static WINDOW *win;
+
+/* Week init */
+void week_init(WINDOW *_win)
 {
+       win = _win;
 }
 
-/* week draw */
+/* Week draw */
 void week_draw(void)
 {
+       mvwprintw(win, 0, 1, "%s\n", "week");
+       wrefresh(win);
 }
 
-/* week run */
+/* Week run */
 int week_run(int key, mmask_t btn, int row, int col)
 {
        return 0;
index 156a4da5938cd471a29c2ba83eb9fd66e793b753..7e3e51a0149e685dcefe5e36d260af4123b8b0a3 100644 (file)
@@ -1,16 +1,22 @@
 #include <ncurses.h>
 
-/* year init */
-void year_init(void)
+/* Static data */
+static WINDOW *win;
+
+/* Year init */
+void year_init(WINDOW *_win)
 {
+       win = _win;
 }
 
-/* year draw */
+/* Year draw */
 void year_draw(void)
 {
+       mvwprintw(win, 0, 1, "%s\n", "year");
+       wrefresh(win);
 }
 
-/* year run */
+/* Year run */
 int year_run(int key, mmask_t btn, int row, int col)
 {
        return 0;