00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef GLUON_CREATOR_SELECTIONMANAGER_H
00021 #define GLUON_CREATOR_SELECTIONMANAGER_H
00022
00023 #include <core/singleton.h>
00024
00025 #include "gluoncreator_macros.h"
00026
00027 namespace GluonCore
00028 {
00029 class GluonObject;
00030 }
00031
00032 namespace GluonCreator
00033 {
00034
00035 class GLUONCREATOR_EXPORT SelectionManager : public GluonCore::Singleton<SelectionManager>
00036 {
00037 Q_OBJECT
00038 public:
00039 typedef QList<GluonCore::GluonObject*> SelectionList;
00040 SelectionList selection() const;
00041
00042 public Q_SLOTS:
00043 void setSelection( const SelectionList& selection );
00044 void clearSelection();
00045
00046 Q_SIGNALS:
00047 void selectionChanged( SelectionManager::SelectionList );
00048
00049 private:
00050 friend class GluonCore::Singleton<SelectionManager>;
00051 SelectionManager();
00052 ~SelectionManager();
00053 Q_DISABLE_COPY( SelectionManager )
00054
00055 class SelectionManagerPrivate;
00056 SelectionManagerPrivate* const d;
00057 };
00058
00059 }
00060
00061 #endif // GLUON_CREATOR_SELECTIONMANAGER_H