#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
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>
private:
void and_();
+ void category(const std::string &);
+
template<typename T>
void condition(typename T::Type);
};
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 &, unsigned);
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