egami
C++ Image Processing program
|
00001 00006 #ifndef PROCESSING_PAGE_HPP_INCLUDED 00007 #define PROCESSING_PAGE_HPP_INCLUDED 00008 00009 #include <list> 00010 #include <string> 00011 #include <map> 00012 #include <memory> 00013 00014 #include <gtkmm/scrolledwindow.h> 00015 #include <gtkmm/buttonbox.h> 00016 00017 class Processing_unit; 00018 00025 class Processing_page: public Gtk::ScrolledWindow{ 00026 typedef std::map<std::string, Processing_page*> Instances; 00027 00028 public: 00034 explicit Processing_page(const std::string &id); 00035 00041 void insert(std::shared_ptr<Processing_unit> unit); 00042 00050 static void add_unit_to_page(const std::string &id, std::shared_ptr<Processing_unit> unit); 00051 00052 private: 00053 Gtk::VButtonBox container; 00054 std::list<std::shared_ptr<Processing_unit>> childs; 00056 static Instances instances; 00057 }; 00058 00059 #endif