xref: /haiku/src/apps/diskprobe/ProbeView.h (revision c4473afbd1a0d823dedd231ea8baf699d50ba260)
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();
4090828ad1SAxel Dörfler 
41d426c2b9SAxel Dörfler 		DataEditor &Editor() { return fEditor; }
42d426c2b9SAxel Dörfler 
4356aa406aSAxel Dörfler 	private:
44595bb309SAxel Dörfler 		void UpdateAttributesMenu(BMenu *menu);
4535f497aaSAxel Dörfler 		void UpdateSelectionMenuItems(int64 start, int64 end);
46cf547998SAxel Dörfler 		void CheckClipboard();
47cf547998SAxel Dörfler 
48bc005359SAxel Dörfler 		DataEditor		fEditor;
49cf547998SAxel Dörfler 		UpdateLooper	*fUpdateLooper;
5056aa406aSAxel Dörfler 		HeaderView		*fHeaderView;
5190828ad1SAxel Dörfler 		DataView		*fDataView;
52416271b7SAxel Dörfler 		BScrollView		*fScrollView;
53cf547998SAxel Dörfler 		BMenuItem		*fPasteMenuItem;
54d426c2b9SAxel Dörfler 		BMenuItem		*fUndoMenuItem, *fRedoMenuItem;
5535f497aaSAxel Dörfler 		BMenuItem		*fNativeMenuItem, *fSwappedMenuItem;
56*c4473afbSAxel Dörfler 		BMenuItem		*fSaveMenuItem;
5756aa406aSAxel Dörfler };
5856aa406aSAxel Dörfler 
59bc005359SAxel Dörfler #endif	/* PROBE_VIEW_H */
60