00001 // OnScreenKeyboard.h (this is -*- C++ -*-) 00002 // 00003 // \author: Bjoern Giesler <bjoern@giesler.de> 00004 // 00005 // 00006 // 00007 // $Author: giesler $ 00008 // $Locker$ 00009 // $Revision$ 00010 // $Date: 2002-08-19 10:41:28 +0200 (Mon, 19 Aug 2002) $ 00011 00012 #ifndef ONSCREENKEYBOARD_H 00013 #define ONSCREENKEYBOARD_H 00014 00015 /* system includes */ 00016 /* (none) */ 00017 00018 /* my includes */ 00019 #include "BButton.h" 00020 #include "BLabel.h" 00021 #include "BDialog.h" 00022 #include "BKeyboard.h" 00023 00027 class BOnScreenKeyboard: 00028 public BDialog, 00029 public BKeyboard::Delegate, 00030 public BButton::Delegate 00031 { 00032 public: 00033 BOnScreenKeyboard(BScreen* screen); 00034 ~BOnScreenKeyboard(); 00035 00036 void onKeyboardPressGlyph(BKeyboard* keyboard, const std::string& glyph); 00037 void onKeyboardPressSpecial(BKeyboard* keyboard, 00038 BKeyboard::SpecialKey specialKey); 00039 void onButtonClick(BButton* button); 00040 00042 BKeyboard* keyboard() { return _keyboard; } 00043 00045 bool cancelled() { return _cancelled; } 00046 00048 std::string text() { return _label->text(); } 00049 00051 void setText(const std::string& text) { _label->setText(text); } 00052 00053 virtual void setRotation(Rotation rot); 00054 00055 private: 00056 BLabel* _label; 00057 BKeyboard* _keyboard; 00058 00059 bool _cancelled; 00060 }; 00061 00062 #endif /* ONSCREENKEYBOARD_H */
1.3-rc3