xref: /haiku/src/apps/deskcalc/InputTextView.h (revision d9385a9d38cfb73714aa3939a928b7e952015dff)
1b4d21c83SStephan Aßmus /*
2b4d21c83SStephan Aßmus  * Copyright 2006 Haiku, Inc. All Rights Reserved.
3b4d21c83SStephan Aßmus  * Distributed under the terms of the MIT License.
4593808d9SJohn Scipione  *
5593808d9SJohn Scipione  * Authors:
6*b98de092SJohn Scipione  *		Stephan Aßmus, superstippi@gmx.de
7b4d21c83SStephan Aßmus  */
8b4d21c83SStephan Aßmus #ifndef INPUT_TEXT_VIEW_H
9b4d21c83SStephan Aßmus #define INPUT_TEXT_VIEW_H
10b4d21c83SStephan Aßmus 
119f5d4ecdSJohn Scipione 
12b4d21c83SStephan Aßmus #include <Invoker.h>
13b4d21c83SStephan Aßmus #include <TextView.h>
14b4d21c83SStephan Aßmus 
159f5d4ecdSJohn Scipione 
16accec9a7SAlexandre Deckner class InputTextView : public BTextView, public BInvoker {
17b4d21c83SStephan Aßmus  public:
18b4d21c83SStephan Aßmus 								InputTextView(BRect frame,
19b4d21c83SStephan Aßmus 									const char* name,
20b4d21c83SStephan Aßmus 									BRect textRect,
21b4d21c83SStephan Aßmus 									uint32 resizingMode,
22b4d21c83SStephan Aßmus 									uint32 flags);
23b4d21c83SStephan Aßmus 	virtual						~InputTextView();
24b4d21c83SStephan Aßmus 
25b4d21c83SStephan Aßmus 	// BTextView interface
26b4d21c83SStephan Aßmus 	virtual	void				MouseDown(BPoint where);
27b4d21c83SStephan Aßmus 	virtual	void				MouseUp(BPoint where);
28b4d21c83SStephan Aßmus 
29b4d21c83SStephan Aßmus 	virtual	void				KeyDown(const char* bytes, int32 numBytes);
30b4d21c83SStephan Aßmus 	virtual	void				MakeFocus(bool focus);
31b4d21c83SStephan Aßmus 
32b4d21c83SStephan Aßmus 	// BInvoker interface
33b4d21c83SStephan Aßmus 	virtual	status_t			Invoke(BMessage* message = NULL);
34b4d21c83SStephan Aßmus 
35b4d21c83SStephan Aßmus 	// InputTextView
36b4d21c83SStephan Aßmus 	virtual	void				RevertChanges() = 0;
37b4d21c83SStephan Aßmus 	virtual	void				ApplyChanges() = 0;
38b4d21c83SStephan Aßmus 
39b4d21c83SStephan Aßmus  protected:
40b4d21c83SStephan Aßmus 			bool				fWasFocus;
41b4d21c83SStephan Aßmus };
42b4d21c83SStephan Aßmus 
43b4d21c83SStephan Aßmus #endif // INPUT_TEXT_VIEW_H
44