xref: /haiku/src/apps/icon-o-matic/gui/IconObjectListView.h (revision 1acbe440b8dd798953bec31d18ee589aa3f71b73)
1 /*
2  * Copyright 2006, Haiku.
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 	// PropertyListView interface
26 	virtual	void				Draw(BRect updateRect);
27 
28 	virtual	void				PropertyChanged(const Property* previous,
29 												const Property* current);
30 	virtual	void				PasteProperties(const PropertyObject* object);
31 	virtual	bool				IsEditingMultipleObjects();
32 
33 	// Observer interface
34 	virtual	void				ObjectChanged(const Observable* object);
35 
36 	// IconObjectListView
37 			void				SetSelection(Selection* selection);
38 			void				SetCommandStack(CommandStack* stack);
39 
40  private:
41 			void				_SetObject(IconObject* object);
42 
43 			Selection*			fSelection;
44 			CommandStack*		fCommandStack;
45 
46 			IconObject*			fObject;
47 			bool				fIgnoreObjectChange;
48 };
49 
50 #endif // ICON_OBJECT_LIST_VIEW_H
51