xref: /haiku/src/preferences/appearance/CurView.h (revision 268f99dd7dc4bd7474a8bd2742d3f1ec1de6752a)
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 
48 class APRWindow;
49 
50 class BitmapView : public BBox, public BInvoker
51 {
52 public:
53 	BitmapView(const BPoint &pt,BMessage *message,
54 		const BHandler *handler, const BLooper *looper=NULL);
55 	~BitmapView(void);
56 	void SetBitmap(BBitmap *bmp);
GetBitmap(void)57 	BBitmap *GetBitmap(void) const { return bitmap; }
58 	void Draw(BRect r);
59 	void MessageReceived(BMessage *msg);
60 protected:
61 	BBitmap *bitmap;
62 	BRect drawrect;
63 };
64 
65 class CurView : public BView
66 {
67 public:
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);
75 protected:
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