1*128277c9SStephan Aßmus /* 2*128277c9SStephan Aßmus * Copyright 2006, Haiku. 3*128277c9SStephan Aßmus * Distributed under the terms of the MIT License. 4*128277c9SStephan Aßmus * 5*128277c9SStephan Aßmus * Authors: 6*128277c9SStephan Aßmus * Stephan Aßmus <superstippi@gmx.de> 7*128277c9SStephan Aßmus */ 8*128277c9SStephan Aßmus 9*128277c9SStephan Aßmus #ifndef INPUT_TEXT_VIEW_H 10*128277c9SStephan Aßmus #define INPUT_TEXT_VIEW_H 11*128277c9SStephan Aßmus 12*128277c9SStephan Aßmus #include <Invoker.h> 13*128277c9SStephan Aßmus #include <TextView.h> 14*128277c9SStephan Aßmus 15*128277c9SStephan Aßmus class InputTextView : public BTextView, 16*128277c9SStephan Aßmus public BInvoker { 17*128277c9SStephan Aßmus public: 18*128277c9SStephan Aßmus InputTextView(BRect frame, 19*128277c9SStephan Aßmus const char* name, 20*128277c9SStephan Aßmus BRect textRect, 21*128277c9SStephan Aßmus uint32 resizingMode, 22*128277c9SStephan Aßmus uint32 flags); 23*128277c9SStephan Aßmus virtual ~InputTextView(); 24*128277c9SStephan Aßmus 25*128277c9SStephan Aßmus // BTextView interface 26*128277c9SStephan Aßmus virtual void MouseDown(BPoint where); 27*128277c9SStephan Aßmus virtual void MouseUp(BPoint where); 28*128277c9SStephan Aßmus 29*128277c9SStephan Aßmus virtual void KeyDown(const char* bytes, int32 numBytes); 30*128277c9SStephan Aßmus virtual void MakeFocus(bool focus); 31*128277c9SStephan Aßmus 32*128277c9SStephan Aßmus // BInvoker interface 33*128277c9SStephan Aßmus virtual status_t Invoke(BMessage* message = NULL); 34*128277c9SStephan Aßmus 35*128277c9SStephan Aßmus // InputTextView 36*128277c9SStephan Aßmus virtual void RevertChanges() = 0; 37*128277c9SStephan Aßmus virtual void ApplyChanges() = 0; 38*128277c9SStephan Aßmus 39*128277c9SStephan Aßmus protected: 40*128277c9SStephan Aßmus // BTextView 41*128277c9SStephan Aßmus virtual void Select(int32 start, int32 finish); 42*128277c9SStephan Aßmus 43*128277c9SStephan Aßmus virtual void InsertText(const char* inText, 44*128277c9SStephan Aßmus int32 inLength, 45*128277c9SStephan Aßmus int32 inOffset, 46*128277c9SStephan Aßmus const text_run_array* inRuns); 47*128277c9SStephan Aßmus virtual void DeleteText(int32 fromOffset, 48*128277c9SStephan Aßmus int32 toOffset); 49*128277c9SStephan Aßmus 50*128277c9SStephan Aßmus void _CheckTextRect(); 51*128277c9SStephan Aßmus 52*128277c9SStephan Aßmus bool fWasFocus; 53*128277c9SStephan Aßmus }; 54*128277c9SStephan Aßmus 55*128277c9SStephan Aßmus #endif // INPUT_TEXT_VIEW_H 56*128277c9SStephan Aßmus 57*128277c9SStephan Aßmus 58