]> git.tdb.fi Git - r2c2.git/blob - source/libr2c2/catalogue.h
Get rid of some obsolete #includes
[r2c2.git] / source / libr2c2 / catalogue.h
1 #ifndef LIBR2C2_CATALOGUE_H_
2 #define LIBR2C2_CATALOGUE_H_
3
4 #include <msp/datafile/collection.h>
5 #include <msp/datafile/collectionsource.h>
6 #include <msp/fs/path.h>
7 #include "layout.h"
8
9 namespace R2C2 {
10
11 class ObjectType;
12
13 class Catalogue: public Msp::DataFile::Collection
14 {
15 public:
16         class Loader: public Msp::DataFile::Collection::Loader
17         {
18         private:
19                 Catalogue &cat;
20
21         public:
22                 Loader(Catalogue &);
23         private:
24                 void layout();
25                 void scale(float, float);
26         };
27
28         sigc::signal<void, Msp::DataFile::CollectionSource &> signal_source_added;
29
30 private:
31         float scale;
32         Layout layout;
33         std::list<Msp::DataFile::CollectionSource *> sources;
34
35 public:
36         Catalogue();
37
38         void add_source(const Msp::FS::Path &);
39         const std::list<Msp::DataFile::CollectionSource *> &get_sources() const { return sources; }
40
41         float get_scale() const { return scale; }
42         Layout &get_layout() { return layout; }
43 };
44
45 } // namespace R2C2
46
47 #endif