label.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. // Copyright (C) 2003 Mooffie <mooffie@typo.co.il>
  2. //
  3. // This program is free software; you can redistribute it and/or modify
  4. // it under the terms of the GNU General Public License as published by
  5. // the Free Software Foundation; either version 2 of the License, or
  6. // (at your option) any later version.
  7. //
  8. // This program is distributed in the hope that it will be useful,
  9. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. // GNU General Public License for more details.
  12. //
  13. // You should have received a copy of the GNU General Public License
  14. // along with this program; if not, write to the Free Software
  15. // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
  16. #ifndef BDE_LABEL_H
  17. #define BDE_LABEL_H
  18. #include "types.h"
  19. #include "widget.h"
  20. // Label is a simple widget that displays a string
  21. class Label : public Widget {
  22. u8string text;
  23. bool dirty;
  24. bool is_highlighted;
  25. public:
  26. Label();
  27. Label(const char *aText);
  28. void set_text(const char *aText);
  29. void highlight(bool value = true);
  30. bool empty() const { return (text.size() == 0); }
  31. virtual void update();
  32. virtual void invalidate_view() { dirty = true; }
  33. virtual bool is_dirty() const { return dirty; }
  34. virtual void resize(int lines, int columns, int y, int x);
  35. };
  36. #endif