#ifndef JUCI_DIRECTORIES_H_ #define JUCI_DIRECTORIES_H_ #include #include #include #include "boost/filesystem.hpp" class Directories : public Gtk::ScrolledWindow { public: class Config { public: std::vector ignored; std::vector exceptions; }; class ColumnRecord : public Gtk::TreeModel::ColumnRecord { public: ColumnRecord() { add(id); add(name); add(path); } Gtk::TreeModelColumn id; Gtk::TreeModelColumn name; Gtk::TreeModelColumn path; }; Directories(); void open_folder(const boost::filesystem::path& dir_path); std::string get_cmakelists_variable(const boost::filesystem::path& dir_path, std::string command_name); std::function on_row_activated; private: void add_paths(const boost::filesystem::path& dir_path, const Gtk::TreeModel::Row &row, unsigned depth); Gtk::TreeView tree_view; Glib::RefPtr tree_store; ColumnRecord column_record; bool ignored(std::string path); }; #endif // JUCI_DIRECTORIES_H_