Milo  0.1
Milo:EquationManipulationProgram
Private Attributes | Static Private Attributes | List of all members
CursesApp Class Reference
Inheritance diagram for CursesApp:
Inheritance graph
[legend]
Collaboration diagram for CursesApp:
Collaboration graph
[legend]

Public Member Functions

Constructors and Destructor
 CursesApp ()
 
 ~CursesApp ()
 
Virtual Public Member Functions
void redraw_screen ()
 
Graphics & getGraphics ()
 
const KeyEvent & getKeyEvent (int code)
 
MouseEvent getMouseEvent (int code, bool &fOk)
 
void do_loop ()
 
- Public Member Functions inherited from UI::MiloApp
void doMenu (const std::string &menuFunctionName)
 
MiloWindow & getWindow ()
 
void addWindow (MiloWindowPtr win)
 
void closeWindow ()
 
void closeWindow (MiloWindowIter it)
 

Private Attributes

MenuBar m_menubar
 menu bar
 
CursesGraphics m_gc
 Graphics context.
 

Static Private Attributes

static const unordered_map< int, MouseEvent > mouse_event_map
 
static const unordered_map< int, KeyEvent > key_map
 
static constexpr const char * m_menuXML = "/usr/local/milo/data/menu/menu.xml"
 

Additional Inherited Members

- Static Public Member Functions inherited from UI::MiloApp
static MiloApp & getGlobal ()
 
static bool isRunning ()
 
- Protected Member Functions inherited from UI::MiloApp
 MiloApp ()
 
 MiloApp (MiloWindowPtr win)
 
 ~MiloApp ()
 
- Protected Attributes inherited from UI::MiloApp
MiloWindowVector m_windows
 List of windows for this application.
 
MiloWindowIter m_current_window
 Current active window.
 
- Static Protected Attributes inherited from UI::MiloApp
static MiloApp & m_current = app
 Reference to current application singleton. More...
 

Detailed Description

Application class for ncurses interface.

Member Function Documentation

void CursesApp::do_loop ( )

Run main event loop

Graphics& CursesApp::getGraphics ( )
inlinevirtual

Get graphics context.

Returns
Graphics context object.

Implements UI::MiloApp.

const KeyEvent & CursesApp::getKeyEvent ( int  code)

Get key event from ncurses code.using key_map

Parameters
codeNcurses key code
Returns
Referenceto key event
MouseEvent CursesApp::getMouseEvent ( int  code,
bool &  fOk 
)

Get mouse event from ncurses code

Parameters
codeNcurses code
[out]fOkTrue, if mouse event
Returns
Mouse event
void CursesApp::redraw_screen ( )
virtual

Redraw entire screen.

Implements UI::MiloApp.

Member Data Documentation

const unordered_map< int, KeyEvent > CursesApp::key_map
staticprivate

Map ncurses key code to a key event.

constexpr const char* CursesApp::m_menuXML = "/usr/local/milo/data/menu/menu.xml"
staticprivate

Menu xml filename

const unordered_map< int, MouseEvent > CursesApp::mouse_event_map
staticprivate
Initial value:
= {
{ 0x10000000, MouseEvent(Mouse::NO_MOUSE, 0, Modifiers::NO_MOD) },
{ 0x10000001, MouseEvent(Mouse::RELEASED, 1, Modifiers::NO_MOD) },
{ 0x12000001, MouseEvent(Mouse::RELEASED, 1, Modifiers::SHIFT) },
{ 0x10000002, MouseEvent(Mouse::PRESSED, 1, Modifiers::NO_MOD) },
{ 0x12000002, MouseEvent(Mouse::PRESSED, 1, Modifiers::SHIFT) },
{ 0x10000004, MouseEvent(Mouse::CLICKED, 1, Modifiers::NO_MOD) },
{ 0x12000004, MouseEvent(Mouse::CLICKED, 1, Modifiers::SHIFT) },
{ 0x10000008, MouseEvent(Mouse::DOUBLE, 1, Modifiers::NO_MOD) },
{ 0x12000008, MouseEvent(Mouse::DOUBLE, 1, Modifiers::SHIFT) },
{ 0x18000000, MouseEvent(Mouse::POSITION, 0, Modifiers::NO_MOD) }
}

Map ncurses key code (modulo mouse mask) to a mouse event.


The documentation for this class was generated from the following file: