/* application.cc * This file is part of NDK++ library * Copyright (c) 2003,2004 by Stanislav Ievlev * * This file is covered by the GNU Library General Public License, * which should be included with libndk++ as the file COPYING. */ #include #include #include #include #include #include #include using ndk::application; application & ndk::app () { static application *instance; setlocale (LC_ALL, ""); if (!instance) instance = new application; return *instance; } application::application () : ncurses::application () { if (!has_keymap ()) NCURSES_ASSERT (keypad (stdscr, true)); palette::obj_type &p = palette::instance (); p[colors::button_default] = p[colors::label] = p[colors::panel] = { COLOR_WHITE, COLOR_BLACK }; p[colors::title] = p[colors::frame1] = { COLOR_WHITE, COLOR_BLUE, WA_BOLD }; p[colors::frame2] = { COLOR_WHITE, COLOR_BLACK }; p[colors::button_focused] = { COLOR_BLACK, COLOR_WHITE }; p[colors::button_selected] = { COLOR_WHITE, COLOR_WHITE, WA_BOLD }; p[colors::minibutton] = { COLOR_WHITE, COLOR_BLACK }; p[colors::edit_active] = { COLOR_WHITE, COLOR_BLACK, WA_BOLD }; p[colors::edit_inactive] = { COLOR_WHITE, COLOR_BLACK }; } ndk::engine * application::events () { return &events_; } void application::update () { events_.update (); } void application::process (int ch) { events_.process (ch); } void application::in_focus (panel &other) { events_.in_focus (other.events ()); }