xref: /haiku/src/bin/desklink/DeskButton.h (revision 820dca4df6c7bf955c46e8f6521b9408f50b2900)
1 /*
2  * Copyright 2003-2007, Haiku. All rights reserved.
3  * Distributed under the terms of the MIT License.
4  *
5  * Authors:
6  *		Jérôme Duval
7  */
8 #ifndef DESK_BUTTON_H
9 #define DESK_BUTTON_H
10 
11 
12 #include <View.h>
13 #include <List.h>
14 #include <Entry.h>
15 
16 
17 class DeskButton : public BView {
18 	public:
19 		DeskButton(BRect frame, entry_ref* ref, const char* name, BList& titleList,
20 			BList& actionList, uint32 resizeMask = B_FOLLOW_ALL,
21 			uint32 flags = B_WILL_DRAW | B_NAVIGABLE);
22 		DeskButton(BMessage* archive);
23 		virtual ~DeskButton();
24 
25 		// archiving overrides
26 		static DeskButton* Instantiate(BMessage *data);
27 		virtual	status_t Archive(BMessage *data, bool deep = true) const;
28 
29 		// misc BView overrides
30 		virtual void AttachedToWindow();
31 		virtual void MouseDown(BPoint);
32 		virtual void Draw(BRect updateRect);
33 		virtual void MessageReceived(BMessage* message);
34 
35 	private:
36 		BBitmap*	fSegments;
37 		entry_ref	fRef;
38 		BList 		fActionList, fTitleList;
39 };
40 
41 #endif	// DESK_BUTTON_H
42