Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Examples

LCDScroller.cpp

00001 #include "LCDScroller.h"
00002 #include <sstream>
00003 #include <string>
00004 
00005 using namespace std;
00006 
00007 LCDScroller::LCDScroller(LCDElement *parent, const string &id) : LCDWidget(id, parent, "scroller")
00008 {
00009   _x = 1;
00010   _bottom = 1;
00011   _y = 1;
00012   _right = 10;
00013   _speed = 8;
00014   _direction = Horizontal;
00015 }
00016 
00017 void LCDScroller::notifyChanged()
00018 {
00019   ostringstream params;
00020 
00021   params << _x
00022          << " "
00023          << _y
00024          << " "
00025          << _right
00026          << " "
00027          << _bottom
00028          << " "
00029          << (char)_direction
00030          << " "
00031          << _speed
00032          << " \""
00033          << _text
00034          << '"';
00035 
00036   setWidgetParameters(params.str());  
00037 }
00038 
00039 void LCDScroller::set(const string &text, int left, int top, int right, int bottom, int speed, Direction direction)
00040 {
00041   _text = text;
00042   _x = left;
00043   _y = top;
00044   _right = right;
00045   _bottom = bottom;
00046   _speed = speed;
00047   _direction = direction;
00048   notifyChanged();
00049 }
00050 
00051 void LCDScroller::setText(const string &text)
00052 {
00053   _text = text;
00054   notifyChanged();
00055 }
00056 string LCDScroller::getText()
00057 {
00058   return _text;
00059 }
00060 void LCDScroller::setWidth(int width)
00061 {
00062   _right = _x + width - 1;
00063   notifyChanged();
00064 }
00065 void LCDScroller::setHeight(int height)
00066 {
00067   _bottom = _y + height - 1;
00068   notifyChanged();
00069 }
00070 void LCDScroller::setSpeed(int speed)
00071 {
00072   _speed = speed;
00073   notifyChanged();
00074 }
00075 
00076 void LCDScroller::valueCallback(std::string value)
00077 {
00078   setText(value);
00079 }

Generated on Wed Aug 4 19:39:09 2004 for LCDApi by doxygen 1.3.6