xref: /haiku/src/apps/stylededit/StyledEditView.h (revision 1b8f7f13a3dc70e0e903cb94248220b40b732204)
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 
22 
23 class StyledEditView : public BTextView {
24 	public:
25 						StyledEditView(BRect viewframe, BRect textframe,
26 							BHandler *handler);
27 		virtual			~StyledEditView();
28 
29 		virtual void	Select(int32 start, int32 finish);
30 		virtual void	DeleteText(int32 start, int32 finish);
31 		virtual void	FrameResized(float width, float height);
32 		virtual void	InsertText(const char *text, int32 length, int32 offset,
33 							const text_run_array *runs = NULL);
34 
35 		void		Reset();
36 		status_t	GetStyledText(BPositionIO * stream);
37 		status_t	WriteStyledEditFile(BFile * file);
38 
39 		void 		SetEncoding(uint32 encoding);
40 		uint32 		GetEncoding() const;
41 
42 	private:
43 		BMessenger 	*fMessenger;
44 		bool		fSuppressChanges;
45 		BString		fEncoding;
46 };
47 
48 #endif	// STYLED_EDIT_VIEW_H
49 
50