diff options
Diffstat (limited to 'client/ui_tabbar.c')
-rw-r--r-- | client/ui_tabbar.c | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/client/ui_tabbar.c b/client/ui_tabbar.c index 91d476f..f11d1a5 100644 --- a/client/ui_tabbar.c +++ b/client/ui_tabbar.c @@ -7,27 +7,17 @@ unsigned int g_w2_ui_tabbar_scroll = 0; unsigned int g_w2_ui_tabbar_lengths[W2_UI_TAB_COUNT]; void (*g_w2_tab_ptrs[W2_UI_TAB_COUNT])(bool first); +void (*g_w2_keyhndl_ptrs[W2_UI_TAB_COUNT])(int key); void w2_ui_tabbar_init() { g_w2_tab_ptrs[W2_UI_TAB_START] = &w2_ui_tab_start; g_w2_tab_ptrs[W2_UI_TAB_ERRCATCH] = &w2_ui_tab_errcatch; + g_w2_keyhndl_ptrs[W2_UI_TAB_START] = &w2_ui_onkey_errcatch; g_w2_tab_ptrs[W2_UI_TAB_DIRC] = &w2_ui_tab_dirc; -} - -void w2_ui_switch_tab(w2_e_ui_tabs next_tab) { - g_w2_ui_current_tab = next_tab % W2_UI_TAB_COUNT; - wclear(g_w2_ui_pad_body); -} - -void w2_ui_tabbar_logic() { - int ch; - while ((ch = getch()) != -1) { - if (ch == '\t') w2_ui_switch_tab(g_w2_ui_current_tab + 1); - } + g_w2_keyhndl_ptrs[W2_UI_TAB_DIRC] = &w2_ui_onkey_dirc; } void w2_ui_paint_tabbar() { - w2_ui_tabbar_logic(); wmove(g_w2_ui_pad_tabbar, 0, 0); for (unsigned int i = 0; i < W2_UI_TAB_COUNT; i++) { g_w2_ui_tabbar_lengths[i] += 2 + strlen(g_w2_tab_strings[i]); |