1//------------------------------------------------------------------------------
2//	Copyright (c) 2001-2002, Haiku
3//
4//	Permission is hereby granted, free of charge, to any person obtaining a
5//	copy of this software and associated documentation files (the "Software"),
6//	to deal in the Software without restriction, including without limitation
7//	the rights to use, copy, modify, merge, publish, distribute, sublicense,
8//	and/or sell copies of the Software, and to permit persons to whom the
9//	Software is furnished to do so, subject to the following conditions:
10//
11//	The above copyright notice and this permission notice shall be included in
12//	all copies or substantial portions of the Software.
13//
14//	THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15//	IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16//	FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17//	AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18//	LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19//	FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20//	DEALINGS IN THE SOFTWARE.
21//
22//	File Name:		CurView.cpp
23//	Author:			DarkWyrm <bpmagic@columbus.rr.com>
24//	Description:	System cursor handler
25//
26//------------------------------------------------------------------------------
27#ifndef CUR_VIEW_H_
28#define CUR_VIEW_H_
29
30#include <View.h>
31#include <Message.h>
32#include <ListItem.h>
33#include <ListView.h>
34#include <Button.h>
35#include <ScrollView.h>
36#include <ScrollBar.h>
37#include <String.h>
38#include <Menu.h>
39#include <MenuBar.h>
40#include <MenuItem.h>
41#include <StringView.h>
42#include <Invoker.h>
43#include <CursorSet.h>
44#include <Bitmap.h>
45#include <Box.h>
46#include <Invoker.h>
47
48class APRWindow;
49
50class BitmapView : public BBox, public BInvoker
51{
52public:
53	BitmapView(const BPoint &pt,BMessage *message,
54		const BHandler *handler, const BLooper *looper=NULL);
55	~BitmapView(void);
56	void SetBitmap(BBitmap *bmp);
57	BBitmap *GetBitmap(void) const { return bitmap; }
58	void Draw(BRect r);
59	void MessageReceived(BMessage *msg);
60protected:
61	BBitmap *bitmap;
62	BRect drawrect;
63};
64
65class CurView : public BView
66{
67public:
68	CurView(const BRect &frame, const char *name, int32 resize, int32 flags);
69	~CurView(void);
70	void AllAttached(void);
71	void MessageReceived(BMessage *msg);
72	void SaveSettings(void);
73	void LoadSettings(void);
74	void SetDefaults(void);
75protected:
76	friend APRWindow;
77//	BMenu *LoadCursorSets(void);
78//	void SetCursorSetName(const char *name);
79
80	BButton *apply,*revert,*defaults;
81	BListView *attrlist;
82	color_which attribute;
83	BMessage settings;
84	BString attrstring;
85	BScrollView *scrollview;
86//	BStringView *cursorset_label;
87//	BMenu *cursorset_menu,*settings_menu;
88//	BFilePanel *savepanel;
89//	BString cursorset_name;
90//	BString prev_set_name;
91	CursorSet *cursorset;
92	BitmapView *bmpview;
93};
94
95#endif
96