xref: /haiku/src/apps/stylededit/StatusView.h (revision 68ea01249e1e2088933cb12f9c28d4e5c5d1c9ef)
1 /*
2  * Copyright 2002-2012, Haiku, Inc. All Rights Reserved.
3  * Distributed under the terms of the MIT License.
4  *
5  * Authors:
6  *		Vlad Slepukhin
7  *		Siarzhuk Zharski
8  */
9 #ifndef STATUS_VIEW_H
10 #define STATUS_VIEW_H
11 
12 
13 #include <Entry.h>
14 #include <String.h>
15 #include <View.h>
16 
17 
18 enum {
19 	kPositionCell,
20 	kEncodingCell,
21 	kFileStateCell,
22 	kStatusCellCount
23 };
24 
25 
26 class BScrollView;
27 
28 class StatusView : public BView {
29 public:
30 							StatusView(BScrollView* fScrollView);
31 							~StatusView();
32 
33 			void			SetStatus(BMessage* mesage);
34 			void			SetRef(const entry_ref& ref);
35 	virtual	void			AttachedToWindow();
36 	virtual void			GetPreferredSize(float* _width, float* _height);
37 	virtual	void			ResizeToPreferred();
38 	virtual	void			Draw(BRect bounds);
39 	virtual	void			MouseDown(BPoint point);
40 
41 private:
42 			void			_ValidatePreferredSize();
43 			void			_ShowDirMenu();
44 
45 private:
46 			BScrollView*	fScrollView;
47 			BSize			fPreferredSize;
48 			BString			fCellText[kStatusCellCount];
49 			float			fCellWidth[kStatusCellCount];
50 			bool			fReadOnly;
51 			bool			fCanUnlock;
52 			BString			fEncoding;
53 			entry_ref		fRef;
54 };
55 
56 #endif  // STATUS_VIEW_H
57