xref: /haiku/src/apps/icon-o-matic/gui/IconObjectListView.h (revision b24366c6d8326a768919dde48bb36c0cab131702)
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 			void				FocusNameProperty();
42 
43  private:
44 			void				_SetObject(IconObject* object);
45 
46 			Selection*			fSelection;
47 			CommandStack*		fCommandStack;
48 
49 			IconObject*			fObject;
50 			bool				fIgnoreObjectChange;
51 };
52 
53 #endif // ICON_OBJECT_LIST_VIEW_H
54