xref: /haiku/src/apps/icon-o-matic/gui/IconObjectListView.h (revision e6b30aee0fd7a23d6a6baab9f3718945a0cd838a)
1 /*
2  * Copyright 2006-2007, Haiku Inc. All rights reserved.
3  * Distributed under the terms of the MIT License.
4  *
5  * Authors:
6  *		Stephan Aßmus <superstippi@gmx.de>
7  */
8 
9 #ifndef ICON_OBJECT_LIST_VIEW_H
10 #define ICON_OBJECT_LIST_VIEW_H
11 
12 #include "Observer.h"
13 #include "PropertyListView.h"
14 
15 class CommandStack;
16 class IconObject;
17 class Selection;
18 
19 class IconObjectListView : public PropertyListView,
20 						   public Observer {
21  public:
22 								IconObjectListView();
23 	virtual						~IconObjectListView();
24 
25 	// BView interface
26 	virtual	void				Draw(BRect updateRect);
27 
28 	// PropertyListView interface
29 	virtual	void				PropertyChanged(const Property* previous,
30 												const Property* current);
31 	virtual	void				PasteProperties(const PropertyObject* object);
32 	virtual	bool				IsEditingMultipleObjects();
33 
34 	// Observer interface
35 	virtual	void				ObjectChanged(const Observable* object);
36 
37 	// IconObjectListView
38 			void				SetSelection(Selection* selection);
39 			void				SetCommandStack(CommandStack* stack);
40 
41  private:
42 			void				_SetObject(IconObject* object);
43 
44 			Selection*			fSelection;
45 			CommandStack*		fCommandStack;
46 
47 			IconObject*			fObject;
48 			bool				fIgnoreObjectChange;
49 };
50 
51 #endif // ICON_OBJECT_LIST_VIEW_H
52