Milo  0.1
Milo:EquationManipulationProgram
Classes | Namespaces | Typedefs | Enumerations | Functions
ui.h File Reference
#include <iostream>
#include <unordered_map>
#include <string>
#include <memory>
#include "util.h"
#include "milo.h"
Include dependency graph for ui.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  UI::MouseEvent
 
class  UI::KeyEvent
 
class  UI::Graphics
 
class  UI::MiloPanel
 
class  UI::MiloWindow
 
class  UI::MiloApp
 
class  UI::MenuXML
 
struct  std::hash< UI::KeyEvent >
 
struct  std::hash< UI::MouseEvent >
 

Namespaces

 UI
 

Typedefs

using UI::Keyboard = Keys::Key_Values
 
using UI::panel_factory = MiloPanelPtr(*)(const std::string &)
 
UI namespace Type Declerations
using UI::MiloWindowPtr = SmartPtr< MiloWindow >
 Smart pointer for MiloWindow.
 
using UI::MiloWindowVector = SmartVector< MiloWindow >
 Storage of MiloWindow pointers.
 
using UI::MiloWindowIter = MiloWindowVector::iterator
 Iterator of MiloWindow pointers vector.
 
using UI::MiloPanelPtr = SmartPtr< MiloPanel >
 Smart pointer for MiloPanel.
 
using UI::MiloPanelVector = SmartVector< MiloPanel >
 Storage of MiloPanel pointers.
 
using UI::MiloPanelIter = MiloPanelVector::iterator
 Iterator of MiloPanel pointers vector.
 
using UI::menu_handler = void(*)(void)
 

Enumerations

enum  UI::Keys::Key_Values {
  NONE, CTRL_A, CTRL_B, CTRL_C,
  CTRL_D, CTRL_E, CTRL_F, CTRL_G,
  CTRL_H, TAB, ENTER, CTRL_K,
  CTRL_L, CTRL_M, CTRL_N, CTRL_O,
  CTRL_P, CTRL_Q, CTRL_R, CTRL_S,
  CTRL_T, CTRL_U, CTRL_V, CTRL_W,
  CTRL_X, CTRL_Y, CTRL_Z, ESC,
  SPACE = 32, BANG, DBL_QUOTE, HASH,
  DOLLAR, PERCENT, AMP, QUOTE,
  L_PAR, R_PAR, STAR, PLUS,
  COMMA, MINUS, DOT, DIVIDE,
  K0, K1, K2, K3,
  K4, K5, K6, K7,
  K8, K9, COLON, SEMI,
  LESS, EQUAL, GREATER, QUESTION,
  AT, A, B, C,
  D, E, F, G,
  H, I, J, K,
  L, M, N, O,
  P, Q, R, S,
  T, U, V, W,
  X, Y, Z, L_BRACKET,
  B_SLASH, R_BRACKET, POWER, U_SCORE,
  ACCENT, a, b, c,
  d, e, f, g,
  h, i, j, k,
  l, m, n, o,
  p, q, r, s,
  t, u, v, w,
  x, y, z, L_BRACE,
  PIPE, R_BRACE, TILDE, F1 = 0x80,
  F2, F3, F4, F5,
  F6, F7, F8, F9,
  F10, F11, F12, INS,
  DEL, HOME, END, PAGE_UP,
  PAGE_DOWN, UP, DOWN, LEFT,
  RIGHT, BSPACE
}
 
enum  UI::Mouse {
  NO_MOUSE, POSITION, PRESSED, RELEASED,
  CLICKED, DOUBLE
}
 
enum  UI::Modifiers {
  NO_MOD, ALT, SHIFT, ALT_SHIFT,
  CTRL, CRL_ALT, CTRL_SHIFT, CTRL_ALT_SHIFT
}
 

Functions

bool UI::operator== (const MouseEvent &m1, const MouseEvent &m2)
 
bool UI::operator== (const KeyEvent &k1, const KeyEvent &k2)
 
template<class T >
MiloPanelPtr UI::createPanel (const std::string &init)
 

Detailed Description

This file contains the common declerations for the abstract user interface of milo. Key, menus and mouse events are defined in a neutral way so that it can be ported.

Enumeration Type Documentation

The values under 0x80 are just the ACCII character set. Above 0x80 are the special keyboard keys.