1 /* 2 * Copyright 2002-2007, Haiku, Inc. All Rights Reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Mattias Sundblad 7 * Andrew Bachmann 8 * Axel Dörfler, axeld@pinc-software.de 9 */ 10 #ifndef STYLED_EDIT_VIEW_H 11 #define STYLED_EDIT_VIEW_H 12 13 14 #include <String.h> 15 #include <TextView.h> 16 17 18 class BFile; 19 class BHandler; 20 class BMessenger; 21 class BPositionIO; 22 23 class StyledEditView : public BTextView { 24 public: 25 StyledEditView(BRect viewframe, BRect textframe, 26 BHandler* handler); 27 virtual ~StyledEditView(); 28 29 virtual void FrameResized(float width, float height); 30 virtual void DeleteText(int32 start, int32 finish); 31 virtual void InsertText(const char* text, int32 length, 32 int32 offset, 33 const text_run_array* runs = NULL); 34 virtual void Select(int32 start, int32 finish); 35 36 void Reset(); 37 void SetSuppressChanges(bool suppressChanges); 38 status_t GetStyledText(BPositionIO* stream, 39 const char* forceEncoding = NULL); 40 status_t WriteStyledEditFile(BFile* file); 41 42 void SetEncoding(uint32 encoding); 43 uint32 GetEncoding() const; 44 45 private: 46 void _UpdateStatus(); 47 48 BMessenger* fMessenger; 49 bool fSuppressChanges; 50 BString fEncoding; 51 rgb_color fInitialColor; 52 }; 53 54 55 #endif // STYLED_EDIT_VIEW_H 56