// BLogWidget.h (this is -*- C++ -*-) // // \author: Bjoern Giesler // // // // $Author: giesler $ // $Locker$ // $Revision$ // $Date: 2002-08-19 10:41:28 +0200 (Mon, 19 Aug 2002) $ #ifndef BLOGWIDGET_H #define BLOGWIDGET_H /* system includes */ #include #include #include #include /* my includes */ /* (none) */ class BLogWidget: public BScrollable, public BLogger { public: BLogWidget(BWidget* parent, const BRect& frame); virtual void draw(BImage& img); virtual void log(LogLevel level, const std::string& text); unsigned int maxLines() { return maxlines; } void setMaxLines(unsigned int maxlines); unsigned int firstLine() { return firstline; } void setFirstLine(unsigned int line); bool atEnd(); bool doesAutoscroll() { return autoscroll; } void setAutoscroll(bool autoscroll); virtual void updateScroller(BScroller *scroller); virtual void scrollToPosition(BScroller *scroller, unsigned int position); private: typedef struct { LogLevel level; std::string text; } LogEntry; std::deque lines; unsigned int numlines, maxlines, firstline; bool autoscroll; }; #endif /* BLOGWIDGET_H */