Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members  

push_button.cpp

Go to the documentation of this file.
00001 #include "push_button.h"
00002 #include <cmath>
00003 
00004 namespace crs {
00005   push_button::push_button( base_control *Parent, button_events *Events, const std::string Caption, 
00006       const unsigned int Left, const unsigned int Top, const unsigned int Width,
00007       style::styles Style, const chtype clb, const chtype crb ):
00008     focused_ctrl( Parent, Events, Left, Top, Width, 1 ), 
00009     styled_ctrl( Style, clb, crb ), mCaption( Caption ),
00010   caption( this, &push_button::getCaption, &push_button::setCaption ) {
00011   }
00012 
00013   const std::string &push_button::getCaption() {
00014     return mCaption;
00015   }
00016   void push_button::setCaption( const std::string &Caption ) {
00017     mCaption = Caption;
00018   }
00019 
00020   bool push_button::keyPress( const int key ) {
00021     if( ( key == 13 || key == ' ' ) && events ) 
00022       static_cast<button_events*>(events)->onPush();
00023       return true;
00024   }
00025 
00026   void push_button::draw() {
00027     buffer[0] = sc::getLeftBorder( mStyle, custom_left_border );
00028     buffer.setText( mCaption, int( ( mWidth - mCaption.size() ) / 2 ), 0 );
00029     buffer[ mWidth - 1 ] = sc::getRightBorder( mStyle, custom_right_border );
00030   }
00031 }
00032 

Generated on Mon May 19 20:36:04 2003 for cursive by doxygen1.2.18