#pragma once #include enum class ViewMode{ MODE_ICON, MODE_GRID }; class FileWindow : public Gtk::Window{ public: FileWindow(); private: //List Model class ModelColumns : public Gtk::TreeModelColumnRecord{ public: ModelColumns(){ add(m_col_path);add(m_col_display_name);add(m_col_pixbuf);add(m_col_is_dir); } Gtk::TreeModelColumn m_col_path; Gtk::TreeModelColumn m_col_display_name; Gtk::TreeModelColumn> m_col_pixbuf; Gtk::TreeModelColumn m_col_is_dir; }; ModelColumns columns; Gtk::TreeView m_treeview; Gtk::IconView m_iconview; Glib::RefPtr m_selection; Glib::RefPtr m_liststore; //File Proprties Glib::RefPtr file_pixbuf; Glib::RefPtr folder_pixbuf; Glib::ustring parent_str; ViewMode view_mode; //Child Widgets Gtk::Box vbox,btnbox; Gtk::Toolbar m_toolbar,m_viewbar; Gtk::ToolButton up_button,home_button,new_button,delete_button; Gtk::ToolItem view_item,menu_item; Gtk::ScrolledWindow m_sw; Gtk::Button view_button; Gtk::MenuButton menubtn; Gtk::Stack stack; //Initalize Functions void fill_store(); void create_views(); int sort_func(const Gtk::TreeModel::iterator &a,const Gtk::TreeModel::iterator &b); //Signal Handlers void item_activated(const Gtk::TreePath &path); };