1 /* 2 * Copyright 2001-2008, Haiku Inc. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Frans van Nispen (xlr8@tref.nl) 7 */ 8 9 //! The BTextView derivative owned by an instance of BTextControl. 10 11 #ifndef _TEXT_CONTROLI_H 12 #define _TEXT_CONTROLI_H 13 14 #include <TextView.h> 15 16 17 class BTextControl; 18 19 namespace BPrivate { 20 21 class _BTextInput_ : public BTextView { 22 public: 23 _BTextInput_(BRect frame, BRect textRect, 24 uint32 resizeMask, 25 uint32 flags = B_WILL_DRAW | B_PULSE_NEEDED); 26 _BTextInput_(BMessage *data); 27 virtual ~_BTextInput_(); 28 29 static BArchivable* Instantiate(BMessage *data); 30 virtual status_t Archive(BMessage *data, bool deep = true) const; 31 32 virtual void MouseDown(BPoint where); 33 virtual void FrameResized(float width, float height); 34 virtual void KeyDown(const char *bytes, int32 numBytes); 35 virtual void MakeFocus(bool focusState = true); 36 37 virtual BSize MinSize(); 38 39 void AlignTextRect(); 40 void SetInitialText(); 41 42 virtual void Paste(BClipboard *clipboard); 43 44 protected: 45 46 virtual void InsertText(const char *inText, int32 inLength, 47 int32 inOffset, const text_run_array *inRuns); 48 virtual void DeleteText(int32 fromOffset, int32 toOffset); 49 50 private: 51 52 BTextControl *TextControl(); 53 54 char *fPreviousText; 55 bool fBool; 56 }; 57 58 } // namespace BPrivate 59 60 using namespace BPrivate; 61 62 63 #endif // _TEXT_CONTROLI_H 64 65