]> git.tdb.fi Git - poefilter.git/blobdiff - source/category.h
Associate categories and appearances at filter level
[poefilter.git] / source / category.h
index 53b1beb342fd09c5828d6e660f00f94053748bb5..dd47191e7bcd9d88a0aa59bceceb3e1e43bd52f7 100644 (file)
@@ -4,10 +4,12 @@
 #include <list>
 #include <string>
 #include <msp/datafile/objectloader.h>
+#include "appearance.h"
 #include "condition.h"
 #include "rarity.h"
 
 class FilterStatement;
+class PoeFilter;
 class Theme;
 
 class Category
@@ -16,10 +18,12 @@ public:
        class Loader: public Msp::DataFile::ObjectLoader<Category>
        {
        private:
+               const PoeFilter &poe;
                CompoundCondition *compound;
+               Appearance::Loader app_loader;
 
        public:
-               Loader(Category &, CompoundCondition * = 0);
+               Loader(Category &, const PoeFilter &, CompoundCondition * = 0);
 
        protected:
                template<typename T>
@@ -47,21 +51,21 @@ public:
        };
 
 private:
+       std::string name;
        Condition *condition;
-       float font_size;
-       std::string border_color;
        unsigned order;
-       unsigned sound_type;
-       unsigned sound_volume;
+       Appearance appearance;
 
 public:
-       Category();
+       Category(const std::string & = std::string());
        Category(const Category &);
        Category &operator=(const Category &);
        ~Category();
 
+       const std::string &get_name() const { return name; }
        unsigned get_order() const { return order; }
-       void create_statements(std::list<FilterStatement> &, const Theme &) const;
+       const Appearance &get_appearance() const { return appearance; }
+       void create_statements(std::list<FilterStatement> &) const;
 };
 
 #endif