MenuObject Class Reference

#include <menu.h>

Inheritance diagram for MenuObject:

Inheritance graph
[legend]
Collaboration diagram for MenuObject:

Collaboration graph
[legend]

List of all members.

Public Types

enum  InputReturnValue {
  INPUT_NO_ACTION, INPUT_SELECTED, INPUT_DESELECTED, INPUT_END_MENU_SUCCESS,
  INPUT_END_MENU_ABORT, INPUT_ACTIVE_CHANGED, INPUT_FOCUS_RELEASE_UP, INPUT_FOCUS_RELEASE_DOWN,
  INPUT_FOCUS_RELEASE_LEFT, INPUT_FOCUS_RELEASE_RIGHT, INPUT_FOCUS_LOST
}

Public Member Functions

 MenuObject ()
virtual ~MenuObject ()
void set_tile_height ()
void init (const coord_def &min_coord, const coord_def &max_coord, const std::string &name)
const coord_defget_min_coord () const
const coord_defget_max_coord () const
const std::stringget_name () const
virtual void allow_focus (bool toggle)
virtual bool can_be_focused ()
virtual InputReturnValue process_input (int key)=0
virtual void render ()=0
virtual void set_active_item (int ID)=0
virtual void set_active_item (MenuItem *item)=0
virtual void activate_first_item ()=0
virtual void activate_last_item ()=0
virtual void set_visible (bool flag)
virtual bool is_visible () const
virtual std::vector< MenuItem * > get_selected_items ()
virtual bool select_item (int index)=0
virtual bool select_item (MenuItem *item)=0
virtual MenuItemfind_item_by_hotkey (int key)
virtual MenuItemselect_item_by_hotkey (int key)
virtual void clear_selections ()
virtual MenuItemget_active_item ()=0
virtual bool attach_item (MenuItem *item)=0

Protected Types

enum  Direction { UP, DOWN, LEFT, RIGHT }

Protected Member Functions

virtual void _place_items ()=0
virtual bool _is_mouse_in_bounds (const coord_def &pos)
virtual MenuItem_find_item_by_mouse_coords (const coord_def &pos)
virtual MenuItem_find_item_by_direction (const MenuItem *start, MenuObject::Direction dir)=0

Protected Attributes

bool m_dirty
bool m_allow_focus
bool m_visible
coord_def m_min_coord
coord_def m_max_coord
std::string m_object_name
std::vector< MenuItem * > m_entries


Detailed Description

Abstract base class interface for all attachable objects Objects are generally containers that hold MenuItems, however special objects are also possible, for instance MenuDescriptor, MenuButton. All objects should have an unique std::string name, although the uniquitity is not enforced or checked right now.

Member Enumeration Documentation

Enumerator:
INPUT_NO_ACTION 
INPUT_SELECTED 
INPUT_DESELECTED 
INPUT_END_MENU_SUCCESS 
INPUT_END_MENU_ABORT 
INPUT_ACTIVE_CHANGED 
INPUT_FOCUS_RELEASE_UP 
INPUT_FOCUS_RELEASE_DOWN 
INPUT_FOCUS_RELEASE_LEFT 
INPUT_FOCUS_RELEASE_RIGHT 
INPUT_FOCUS_LOST 

enum MenuObject::Direction [protected]

Enumerator:
UP 
DOWN 
LEFT 
RIGHT 


Constructor & Destructor Documentation

MenuObject::MenuObject (  ) 

MenuObject::~MenuObject (  )  [virtual]


Member Function Documentation

void MenuObject::set_tile_height (  ) 

void MenuObject::init ( const coord_def min_coord,
const coord_def max_coord,
const std::string name 
)

Reimplemented in MenuDescriptor.

const coord_def& MenuObject::get_min_coord (  )  const [inline]

const coord_def& MenuObject::get_max_coord (  )  const [inline]

const std::string& MenuObject::get_name (  )  const [inline]

void MenuObject::allow_focus ( bool  toggle  )  [virtual]

Reimplemented in MenuDescriptor, and BoxMenuHighlighter.

bool MenuObject::can_be_focused (  )  [virtual]

Reimplemented in MenuDescriptor, and BoxMenuHighlighter.

virtual InputReturnValue MenuObject::process_input ( int  key  )  [pure virtual]

virtual void MenuObject::render (  )  [pure virtual]

virtual void MenuObject::set_active_item ( int  ID  )  [pure virtual]

virtual void MenuObject::set_active_item ( MenuItem item  )  [pure virtual]

virtual void MenuObject::activate_first_item (  )  [pure virtual]

virtual void MenuObject::activate_last_item (  )  [pure virtual]

void MenuObject::set_visible ( bool  flag  )  [virtual]

bool MenuObject::is_visible (  )  const [virtual]

std::vector< MenuItem * > MenuObject::get_selected_items (  )  [virtual]

Reimplemented in MenuDescriptor, and BoxMenuHighlighter.

virtual bool MenuObject::select_item ( int  index  )  [pure virtual]

virtual bool MenuObject::select_item ( MenuItem item  )  [pure virtual]

MenuItem * MenuObject::find_item_by_hotkey ( int  key  )  [virtual]

MenuItem * MenuObject::select_item_by_hotkey ( int  key  )  [virtual]

Reimplemented in MenuDescriptor, and BoxMenuHighlighter.

Here is the call graph for this function:

void MenuObject::clear_selections (  )  [virtual]

Reimplemented in MenuDescriptor, and BoxMenuHighlighter.

virtual MenuItem* MenuObject::get_active_item (  )  [pure virtual]

virtual bool MenuObject::attach_item ( MenuItem item  )  [pure virtual]

virtual void MenuObject::_place_items (  )  [protected, pure virtual]

bool MenuObject::_is_mouse_in_bounds ( const coord_def pos  )  [protected, virtual]

MenuItem * MenuObject::_find_item_by_mouse_coords ( const coord_def pos  )  [protected, virtual]

Reimplemented in MenuDescriptor, and BoxMenuHighlighter.

Here is the call graph for this function:

virtual MenuItem* MenuObject::_find_item_by_direction ( const MenuItem start,
MenuObject::Direction  dir 
) [protected, pure virtual]


Member Data Documentation

bool MenuObject::m_dirty [protected]

bool MenuObject::m_allow_focus [protected]

bool MenuObject::m_visible [protected]

std::vector<MenuItem*> MenuObject::m_entries [protected]


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

Generated on Thu Jan 13 13:37:10 2011 by  doxygen 1.5.6