Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

ndk::lister< DirectT, BaseT > Class Template Reference

Inheritance diagram for ndk::lister< DirectT, BaseT >:

Inheritance graph
[legend]
Collaboration diagram for ndk::lister< DirectT, BaseT >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 lister (panel *parent=0)
virtual void draw ()
virtual void top ()
virtual void bottom ()
virtual void show ()
void down ()
void up ()
unsigned int size () const
unsigned int current () const
void set_current (unsigned int num)
buttoncurrent_item () const
buttonat (int num) const
void reset ()
template<typename ItemT> void add (const std::string &name)
void add (const std::string &name)
void remove (unsigned int num)

Protected Member Functions

void add_item (BaseT *b)

Private Types

typedef shared_ptr< BaseT > button_ptr
typedef std::vector< button_ptrbutton_vector

Private Member Functions

event::result at_system (const event &ev)
event::result at_keyboard (const keyboard &ev)
event::result at_mouse (const mouse &ev)
void hide_invisible ()
void switch_active (unsigned int new_active)

Private Attributes

button_vector buttons_
unsigned int first_
unsigned int last_
unsigned int active_
bool focused_

Detailed Description

template<typename DirectT, typename BaseT = button>
class ndk::lister< DirectT, BaseT >

general list of the buttons with. This is a general template both for horizontal and vertical directions


Member Typedef Documentation

template<typename DirectT, typename BaseT = button>
typedef shared_ptr<BaseT> ndk::lister< DirectT, BaseT >::button_ptr [private]
 

smart pointer to the button

template<typename DirectT, typename BaseT = button>
typedef std::vector<button_ptr> ndk::lister< DirectT, BaseT >::button_vector [private]
 

list of pointers to the buttons


Constructor & Destructor Documentation

template<typename DirectT, typename BaseT = button>
ndk::lister< DirectT, BaseT >::lister panel parent = 0  )  [inline]
 


Member Function Documentation

template<typename DirectT, typename BaseT = button>
void ndk::lister< DirectT, BaseT >::add const std::string &  name  )  [inline]
 

Reimplemented in ndk::radio_group.

template<typename DirectT, typename BaseT = button>
template<typename ItemT>
void ndk::lister< DirectT, BaseT >::add const std::string &  name  )  [inline]
 

Reimplemented in ndk::radio_group.

template<typename DirectT, typename BaseT = button>
void ndk::lister< DirectT, BaseT >::add_item BaseT *  b  )  [inline, protected]
 

template<typename DirectT, typename BaseT = button>
button* ndk::lister< DirectT, BaseT >::at int  num  )  const [inline]
 

template<typename DirectT, typename BaseT = button>
event::result ndk::lister< DirectT, BaseT >::at_keyboard const keyboard ev  )  [inline, private]
 

Reimplemented in ndk::popup_menu.

template<typename DirectT, typename BaseT = button>
event::result ndk::lister< DirectT, BaseT >::at_mouse const mouse ev  )  [inline, private]
 

template<typename DirectT, typename BaseT = button>
event::result ndk::lister< DirectT, BaseT >::at_system const event ev  )  [inline, private]
 

Reimplemented from ndk::panel.

Reimplemented in ndk::popup_menu.

template<typename DirectT, typename BaseT = button>
virtual void ndk::lister< DirectT, BaseT >::bottom  )  [inline, virtual]
 

template<typename DirectT, typename BaseT = button>
unsigned int ndk::lister< DirectT, BaseT >::current  )  const [inline]
 

< number of current highlighted item

template<typename DirectT, typename BaseT = button>
button* ndk::lister< DirectT, BaseT >::current_item  )  const [inline]
 

template<typename DirectT, typename BaseT = button>
void ndk::lister< DirectT, BaseT >::down  )  [inline]
 

template<typename DirectT, typename BaseT = button>
virtual void ndk::lister< DirectT, BaseT >::draw  )  [inline, virtual]
 

specific version of draw, specially for NDK engine

Reimplemented from ndk::panel.

template<typename DirectT, typename BaseT = button>
void ndk::lister< DirectT, BaseT >::hide_invisible  )  [inline, private]
 

template<typename DirectT, typename BaseT = button>
void ndk::lister< DirectT, BaseT >::remove unsigned int  num  )  [inline]
 

Parameters:
num  remove n-th button from the Lister

template<typename DirectT, typename BaseT = button>
void ndk::lister< DirectT, BaseT >::reset  )  [inline]
 

template<typename DirectT, typename BaseT = button>
void ndk::lister< DirectT, BaseT >::set_current unsigned int  num  )  [inline]
 

set button with number num as a active

Parameters:
num number of button to made active
Todo:
this is not most effective algo but it's works in general case
Parameters:
num  resize panel, and pack all visible buttons into it walk down throw the list walk up throw the list

template<typename DirectT, typename BaseT = button>
virtual void ndk::lister< DirectT, BaseT >::show  )  [inline, virtual]
 

template<typename DirectT, typename BaseT = button>
unsigned int ndk::lister< DirectT, BaseT >::size  )  const [inline]
 

< number of items

template<typename DirectT, typename BaseT = button>
void ndk::lister< DirectT, BaseT >::switch_active unsigned int  new_active  )  [inline, private]
 

Parameters:
new_active  enforce hiding of all invisible buttons

template<typename DirectT, typename BaseT = button>
virtual void ndk::lister< DirectT, BaseT >::top  )  [inline, virtual]
 

template<typename DirectT, typename BaseT = button>
void ndk::lister< DirectT, BaseT >::up  )  [inline]
 


Member Data Documentation

template<typename DirectT, typename BaseT = button>
unsigned int ndk::lister< DirectT, BaseT >::active_ [private]
 

number of the current active item

template<typename DirectT, typename BaseT = button>
button_vector ndk::lister< DirectT, BaseT >::buttons_ [private]
 

buttons inserted to the list

template<typename DirectT, typename BaseT = button>
unsigned int ndk::lister< DirectT, BaseT >::first_ [private]
 

number of the first visible item

template<typename DirectT, typename BaseT = button>
bool ndk::lister< DirectT, BaseT >::focused_ [private]
 

semaphore: we draw active button in two variants

template<typename DirectT, typename BaseT = button>
unsigned int ndk::lister< DirectT, BaseT >::last_ [private]
 

number of the last visible item


The documentation for this class was generated from the following file:
Generated on Fri Jun 4 16:20:58 2004 for NDK++ by doxygen 1.3.6