xref: /haiku/src/apps/diskprobe/ProbeView.h (revision 0adaff854a59d08e9d7d28d6498298b593489a09)
156aa406aSAxel Dörfler /*
256aa406aSAxel Dörfler ** Copyright 2004, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
356aa406aSAxel Dörfler ** Distributed under the terms of the OpenBeOS License.
456aa406aSAxel Dörfler */
556aa406aSAxel Dörfler #ifndef PROBE_VIEW_H
656aa406aSAxel Dörfler #define PROBE_VIEW_H
756aa406aSAxel Dörfler 
856aa406aSAxel Dörfler 
9bc005359SAxel Dörfler #include "DataEditor.h"
10bc005359SAxel Dörfler 
1156aa406aSAxel Dörfler #include <View.h>
12416271b7SAxel Dörfler #include <String.h>
1356aa406aSAxel Dörfler #include <Path.h>
1456aa406aSAxel Dörfler 
15416271b7SAxel Dörfler 
16416271b7SAxel Dörfler class BScrollView;
17cf547998SAxel Dörfler class BMenuItem;
1856aa406aSAxel Dörfler 
1956aa406aSAxel Dörfler class HeaderView;
2090828ad1SAxel Dörfler class DataView;
21cf547998SAxel Dörfler class UpdateLooper;
2256aa406aSAxel Dörfler 
2356aa406aSAxel Dörfler 
2456aa406aSAxel Dörfler class ProbeView : public BView {
2556aa406aSAxel Dörfler 	public:
267fff3ed0SAxel Dörfler 		ProbeView(BRect rect, entry_ref *ref, const char *attribute = NULL,
277fff3ed0SAxel Dörfler 			const BMessage *settings = NULL);
2856aa406aSAxel Dörfler 		virtual ~ProbeView();
2956aa406aSAxel Dörfler 
30bc005359SAxel Dörfler 		virtual void DetachedFromWindow();
3156aa406aSAxel Dörfler 		virtual void AttachedToWindow();
325475e6e5SAxel Dörfler 		virtual void AllAttached();
33d556aa00SAxel Dörfler 		virtual void WindowActivated(bool active);
3456aa406aSAxel Dörfler 		virtual void MessageReceived(BMessage *message);
3556aa406aSAxel Dörfler 
366781cbdcSAxel Dörfler 		void AddSaveMenuItems(BMenu *menu, int32 index);
376781cbdcSAxel Dörfler 		void AddPrintMenuItems(BMenu *menu, int32 index);
38416271b7SAxel Dörfler 
3990828ad1SAxel Dörfler 		void UpdateSizeLimits();
40*0adaff85SAxel Dörfler 		bool QuitRequested();
4190828ad1SAxel Dörfler 
42d426c2b9SAxel Dörfler 		DataEditor &Editor() { return fEditor; }
43d426c2b9SAxel Dörfler 
4456aa406aSAxel Dörfler 	private:
45595bb309SAxel Dörfler 		void UpdateAttributesMenu(BMenu *menu);
4635f497aaSAxel Dörfler 		void UpdateSelectionMenuItems(int64 start, int64 end);
47cf547998SAxel Dörfler 		void CheckClipboard();
48*0adaff85SAxel Dörfler 		status_t Save();
49cf547998SAxel Dörfler 
50bc005359SAxel Dörfler 		DataEditor		fEditor;
51cf547998SAxel Dörfler 		UpdateLooper	*fUpdateLooper;
5256aa406aSAxel Dörfler 		HeaderView		*fHeaderView;
5390828ad1SAxel Dörfler 		DataView		*fDataView;
54416271b7SAxel Dörfler 		BScrollView		*fScrollView;
55cf547998SAxel Dörfler 		BMenuItem		*fPasteMenuItem;
56d426c2b9SAxel Dörfler 		BMenuItem		*fUndoMenuItem, *fRedoMenuItem;
5735f497aaSAxel Dörfler 		BMenuItem		*fNativeMenuItem, *fSwappedMenuItem;
58c4473afbSAxel Dörfler 		BMenuItem		*fSaveMenuItem;
5956aa406aSAxel Dörfler };
6056aa406aSAxel Dörfler 
61bc005359SAxel Dörfler #endif	/* PROBE_VIEW_H */
62