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
15class CommandStack;
16class IconObject;
17class Selection;
18
19class 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