HaikuDepot: notify work status from main window
[haiku.git] / src / apps / icon-o-matic / document / IconObject.h
blob77c93f3978b8b2c8377b9dfb3aaefe8102a468ad
1 /*
2 * Copyright 2006, Haiku.
3 * Distributed under the terms of the MIT License.
5 * Authors:
6 * Stephan Aßmus <superstippi@gmx.de>
7 */
9 #ifndef ICON_OBJECT_H
10 #define ICON_OBJECT_H
12 #include <Referenceable.h>
13 #include <String.h>
15 #include "Observable.h"
16 #include "Selectable.h"
18 class BMessage;
19 class PropertyObject;
21 class IconObject : public Observable,
22 public BReferenceable,
23 public Selectable {
24 public:
25 IconObject(const char* name);
26 IconObject(const IconObject& other);
27 IconObject(BMessage* archive);
28 virtual ~IconObject();
30 // Selectable interface
31 virtual void SelectedChanged();
33 // IconObject
34 virtual status_t Unarchive(const BMessage* archive);
35 virtual status_t Archive(BMessage* into,
36 bool deep = true) const;
38 virtual PropertyObject* MakePropertyObject() const;
39 virtual bool SetToPropertyObject(
40 const PropertyObject* object);
42 void SetName(const char* name);
43 const char* Name() const
44 { return fName.String(); }
46 private:
47 BString fName;
50 #endif // ICON_OBJECT_H