creativity  v1.3.0
Agent-based model of creativity and piracy
ReaderInfoWindow.hpp
1 #pragma once
2 #include "creativity/gui/InfoWindow.hpp"
3 #include "creativity/gui/BookStore.hpp"
4 #include "creativity/gui/LibraryStore.hpp"
5 #include <eris/types.hpp>
6 #include <gtkmm/treeview.h>
7 #include "glibmm/refptr.h"
8 #include <memory>
9 #include <functional>
10 
11 namespace Gtk { class Window; }
12 
13 namespace creativity { namespace state { class State; } }
14 
15 namespace creativity { namespace gui {
16 
19 class ReaderInfoWindow : public InfoWindow {
20  public:
31  ReaderInfoWindow(std::shared_ptr<const state::State> state, std::shared_ptr<Gtk::Window> main_window,
32  eris::eris_id_t reader_id, std::function<void(eris::eris_id_t)> open_info_dialog);
33 
35  virtual void refresh(std::shared_ptr<const state::State> state) override;
36 
37  private:
38  std::function<void(eris::eris_id_t)> open_info_dialog_;
39 
40  Glib::RefPtr<BookStore> bk_authored_model_;
41  Glib::RefPtr<LibraryStore> bk_library_model_;
42  Gtk::TreeView bk_authored_tree_, bk_library_tree_;
43 };
44 
45 }}
Primary namespace for all Creativity library code.
Definition: config.hpp:4
Definition: BookInfoWindow.hpp:6
Gtk dialog for showing reader or book info.
Definition: InfoWindow.hpp:23
InfoWindow subclass for displaying the details of a reader/author.
Definition: ReaderInfoWindow.hpp:19